Some pointers about standalone installation of the XIOS library
This page is mostly for "do-it-yourself" people interested in installing the XIOS library, as this step is automated in the install_lmdz.sh script (if run with the -xios option). Note also that the download and installation by install_lmdz.sh is done via the use of a dedicated "install_xios.bash" script available here: https://web.lmd.jussieu.fr/~lmdz/pub/script_install/install_xios.bash , which could also be used in a standalone installation (run install_xios.bash -h and/or inspect the script).
Prerequisites
There are a couple of prerequisites to installing and using the XIOS library:
- An MPI library must be available
- A NetCDF4-HDF5 library, preferably compiled with MPI enabled, must be available
The rest of this page assume all prerequisites are met. People interested in building an appropriate NetCDF library on their Linux machine might be interested in the following installation script: https://web.lmd.jussieu.fr/~lmdz/pub/script_install/install_netcdf4_hdf5.bash (which might need some adaptations to work in your specific case).
Downloading and compiling the XIOS library
The XIOS source code is available for download using svn (subversion), e.g.:
svn co http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/trunk XIOS
- To compile the library, one must first have adequate architecture "arch" files at hand, just like for the GCM (see the page about these)). In principle both arch.env and arch.path files could be the same as for the GCM; arch.fcm will of course differ, as XIOS source code is in C++ (along with a Fortran interface). If using a "known" machine (e.g. Occigen, Irene-Rome, Ciclad) then ready-to-use up-to-date arch files for that machine should be present in the arch directory. If not you will have to create your own (it is advised to use the existing ones as templates!)
- Assuming some_machine arch files (i.e. files arch-some_machine.env, arch-some_machine.path, arch-some_machine.fcm) are present in the arch subdirectory, compiling the XIOS is done using the dedicated make_xios script, e.g.:
./make_xios --prod --arch some_machine --job 8
If the compilation steps went well then the lib directory should contain file libxios.a and the bin directory should contain
fcm_env.ksh generic_testcase.exe xios_server.exe
Compiling LMDZ6 with the XIOS library
To compile with XIOS enabled, one must specify the option
-io xios
to the makelmdz_fcm script.
05/08/2022