mirror of
https://github.com/TREX-CoE/trexio.git
synced 2024-11-04 05:03:58 +01:00
Merge branch 'master' of github.com:TREX-CoE/trexio
This commit is contained in:
commit
b852a060d1
18
README.md
18
README.md
@ -46,6 +46,22 @@ TREX library for efficient I/O.
|
|||||||
7. `sudo make install`
|
7. `sudo make install`
|
||||||
|
|
||||||
|
|
||||||
|
## Linking to your program
|
||||||
|
|
||||||
|
The `make install` command takes care of installing the TREXIO shared library on the user machine.
|
||||||
|
Once installed, add `-ltrexio` to the list of compiler options.
|
||||||
|
In some cases (e.g. when using custom `prefix` during configuration), the TREXIO library might end up installed in a directory, which is absent in the default `$LIBRARY_PATH`.
|
||||||
|
In order to link the program against TREXIO, the search paths in the current shell can be modified as follows: `export LIBRARY_PATH=$LIBRARY_PATH:<path_to_trexio>/lib` (same holds for `$LD_LIBRARY_PATH`). Do not forget to change `<path_to_trexio>`.
|
||||||
|
If your compilation relies on some build tools (like Autotools or CMake), feel free to use the built-in functions to locate and link external dependencies automatically.
|
||||||
|
|
||||||
|
In Fortran applications, make sure that the `trexio_f.f90` module file is included in the source tree.
|
||||||
|
You might have to manually copy it into your program source directory.
|
||||||
|
The `trexio_f.f90` module file can be found in the `include/` directory of the TREXIO source code distribution.
|
||||||
|
|
||||||
|
**Note:** there is no need to include `trexio.h` header file during compilation of Fortran programs.
|
||||||
|
Only the installed library and the Fortran module file are required.
|
||||||
|
|
||||||
|
|
||||||
## Naming convention
|
## Naming convention
|
||||||
|
|
||||||
The primary TREXIO API is composed of the following functions:
|
The primary TREXIO API is composed of the following functions:
|
||||||
@ -81,7 +97,7 @@ For example, the tutorial covering TREXIO basics using benzene molecule as an ex
|
|||||||
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/TREX-CoE/trexio-tutorials/HEAD?filepath=notebooks%2Ftutorial_benzene.ipynb)
|
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/TREX-CoE/trexio-tutorials/HEAD?filepath=notebooks%2Ftutorial_benzene.ipynb)
|
||||||
|
|
||||||
|
|
||||||
## Technical documentation
|
## Documentation
|
||||||
|
|
||||||
[Documentation generated from TREXIO org-mode files.](https://trex-coe.github.io/trexio/)
|
[Documentation generated from TREXIO org-mode files.](https://trex-coe.github.io/trexio/)
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# Process this file with autoconf to produce a configure script.
|
# Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
AC_PREREQ([2.69])
|
AC_PREREQ([2.69])
|
||||||
AC_INIT([trexio], [1.0.0], [https://github.com/TREX-CoE/trexio/issues])
|
AC_INIT([trexio], [1.1.0], [https://github.com/TREX-CoE/trexio/issues])
|
||||||
AM_INIT_AUTOMAKE([subdir-objects color-tests parallel-tests silent-rules 1.11])
|
AM_INIT_AUTOMAKE([subdir-objects color-tests parallel-tests silent-rules 1.11])
|
||||||
AM_MAINTAINER_MODE()
|
AM_MAINTAINER_MODE()
|
||||||
LT_PREREQ([2.2])
|
LT_PREREQ([2.2])
|
||||||
|
@ -11,8 +11,7 @@ can be used to convert data from one input/output file format into another.
|
|||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- python3 (>= 3.6)
|
- python3 (>= 3.6)
|
||||||
- numpy
|
- numpy (>= 1.17.3)
|
||||||
- C compiler (gcc/icc)
|
|
||||||
|
|
||||||
|
|
||||||
## Installation from PyPI
|
## Installation from PyPI
|
||||||
@ -31,6 +30,7 @@ For more details, see the corresponding part of the [Python documentation](https
|
|||||||
|
|
||||||
## Additional requirements (for installation from source)
|
## Additional requirements (for installation from source)
|
||||||
|
|
||||||
|
- C compiler (gcc/icc)
|
||||||
- HDF5 library (>= 1.8)
|
- HDF5 library (>= 1.8)
|
||||||
- pkgconfig (Python package)
|
- pkgconfig (Python package)
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
# prefixes
|
# prefixes
|
||||||
cat prefix_front.c > trexio.c
|
cat prefix_front.c > trexio.c
|
||||||
cat prefix_front.h > trexio.h
|
cat prefix_front.h > trexio.h
|
||||||
|
|
||||||
# grep some usefull constants from the config.h
|
# grep some usefull constants from the config.h
|
||||||
echo "" >> trexio.h
|
echo "" >> trexio.h
|
||||||
grep "TREXIO_PACKAGE_VERSION" ../../include/config.h >> trexio.h
|
grep "TREXIO_PACKAGE_VERSION" ../../include/config.h >> trexio.h
|
||||||
@ -11,10 +12,24 @@ grep "TREXIO_VERSION_MINOR" ../../include/config.h >> trexio.h
|
|||||||
grep "TREXIO_VERSION_PATCH" ../../include/config.h >> trexio.h
|
grep "TREXIO_VERSION_PATCH" ../../include/config.h >> trexio.h
|
||||||
echo "" >> trexio.h
|
echo "" >> trexio.h
|
||||||
|
|
||||||
|
# parse the config-defined version attributes to pass them to Fortran module file
|
||||||
|
VERSION_VAL=`grep "TREXIO_PACKAGE_VERSION" ../../include/config.h | cut -d " " -f 3`
|
||||||
|
VERSION_MAJOR_VAL=`grep "TREXIO_VERSION_MAJOR" ../../include/config.h | cut -d " " -f 3`
|
||||||
|
VERSION_MINOR_VAL=`grep "TREXIO_VERSION_MINOR" ../../include/config.h | cut -d " " -f 3`
|
||||||
|
VERSION_PATCH_VAL=`grep "TREXIO_VERSION_PATCH" ../../include/config.h | cut -d " " -f 3`
|
||||||
|
|
||||||
cat prefix_s_front.h > trexio_s.h
|
cat prefix_s_front.h > trexio_s.h
|
||||||
cat prefix_fortran.f90 > trexio_f.f90
|
cat prefix_fortran.f90 > trexio_f.f90
|
||||||
cat prefix_python.py > trexio.py
|
cat prefix_python.py > trexio.py
|
||||||
|
|
||||||
|
# append version string and attributes to the Fortran module file
|
||||||
|
echo "" >> trexio_f.f90
|
||||||
|
echo "character(len = 12) :: TREXIO_PACKAGE_VERSION = ${VERSION_VAL}" >> trexio_f.f90
|
||||||
|
echo "integer(4) :: TREXIO_VERSION_MAJOR = ${VERSION_MAJOR_VAL}" >> trexio_f.f90
|
||||||
|
echo "integer(4) :: TREXIO_VERSION_MINOR = ${VERSION_MINOR_VAL}" >> trexio_f.f90
|
||||||
|
echo "integer(4) :: TREXIO_VERSION_PATCH = ${VERSION_PATCH_VAL}" >> trexio_f.f90
|
||||||
|
echo "" >> trexio_f.f90
|
||||||
|
|
||||||
# c front end
|
# c front end
|
||||||
cat populated/pop_*.c >> trexio.c
|
cat populated/pop_*.c >> trexio.c
|
||||||
cat populated/pop_*.h >> trexio.h
|
cat populated/pop_*.h >> trexio.h
|
||||||
|
@ -2,6 +2,12 @@ program test_trexio
|
|||||||
use trexio
|
use trexio
|
||||||
implicit none
|
implicit none
|
||||||
|
|
||||||
|
print * , "============================================"
|
||||||
|
print'(a,a)' , " TREXIO VERSION STRING : ", TREXIO_PACKAGE_VERSION
|
||||||
|
print'(a,i3)', " TREXIO MAJOR VERSION : ", TREXIO_VERSION_MAJOR
|
||||||
|
print'(a,i3)', " TREXIO MINOR VERSION : ", TREXIO_VERSION_MINOR
|
||||||
|
print * , "============================================"
|
||||||
|
|
||||||
call system('rm -rf test_write_f.dir')
|
call system('rm -rf test_write_f.dir')
|
||||||
print *, 'call test_write(''test_write_f.dir'', TREXIO_TEXT)'
|
print *, 'call test_write(''test_write_f.dir'', TREXIO_TEXT)'
|
||||||
call test_write('test_write_f.dir', TREXIO_TEXT)
|
call test_write('test_write_f.dir', TREXIO_TEXT)
|
||||||
|
Loading…
Reference in New Issue
Block a user