= HOWTO install/compile/run ORCHIDEE-CN-P for offline use with libIGCM. = This howto is based on the information which can be found in the ORCHIDEE wiki regarding the trunk version of ORCHIDEE. Please check the wiki for information regarding the respective commands listed here. See attachment for the file get_ORCNP.ksh for a script which does some(!, please check as I dont update this script) of the steps listed here automatically. ---- ---- == WARNING: the following assumes you run on obelix or curie == If you want to run on ada, please see the additional modification needed on the MICT wiki [https://forge.ipsl.jussieu.fr/orchidee/wiki/DevelopmentActivities/Branches/ORCHIDEE-MICT-IMBALANCE-P/SimulationsonAda]. For other machines, we currently have no support available. == 1. install libIGCM & ORCHIDEE-CN-P == === 1.1 where to install === You should install the model NOT in the home directory; it is even too small to handle diagnostics like "out_execution" or "out_orchidee". You can use , for example, your work directory: curie: {{{ /ccc/work/cont003/dsm/ }}} or project storage; here example for the IMBALANCE-P project on obelix: {{{ /home/surface3/dgoll }}} === 1.2 install libIGCM & trunk ORCHIDEE === I use revision 2728 of libIGCM on obelix and curie (revision 2961 does not work): {{{ svn -r2728 co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl cd modipsl/util ./model ORCHIDEE_trunk }}} REMARK: When you are running on ada, you need to install revision 3609. For ada additional modifications are needed which are documented on the MICT wiki page: [https://forge.ipsl.jussieu.fr/orchidee/wiki/DevelopmentActivities/Branches/ORCHIDEE-MICT-IMBALANCE-P/SimulationsonAda] REMARK: The default libIGCM copies all boundary files for ORCHIDEE instead of using links. This results in a reduction in computational efficiency as the copying of large files takes time. To use links instead of hard copy you can take a few simple steps. See description here [http://forge.ipsl.jussieu.fr/orchidee/wiki/DevelopmentActivities/ORCHIDEE-CNP/LibIGCMmod01] === 1.3 Exchange the trunk ORCHIDEE with ORCHIDEE-CN-P === {{{ cd ../modeles rm -fr ORCHIDEE svn co svn://forge.ipsl.jussieu.fr/orchidee/branches/ORCHIDEE-CN-P/ORCHIDEE ORCHIDEE cd ../util ; ./ins_make }}} === 1.4 Exchange the XIOS with the XIOS2 === {{{ cd ../modeles rm -fr XIOS svn co http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/branchs/xios-2.5 XIOS cd ../util ; ./ins_make }}} For some (currently unkown) reason you need to pre-compile XIOS; make sure you a) chose the right argument for --arch option (for obelix it is ifort_LSCE , for curie it is X64_CURIE) and b) you have loaded the module netcdf/4p or netcdf/4.3.3.1_hdf5_parallel (curie) which can be done like this (or better add this line to your ~/.profile to have it automatically loaded when entering the machine). Here example for obelix: {{{ module load netcdf/4p }}} {{{ cd ../modeles/XIOS/ }}} now you can compile: {{{ ./make_xios --prod --arch ifort_LSCE --full --j 8 }}} Pro-tip: use the following command to see all available architectures; you need to figure out on your own which architecture fits which machine: {{{ ./make_xios --avail }}} === 1.5 Adjust IOIPSL === '''ORCHIDEE-CNP r4512 and newer''' for ORCHIDEE newer than r4512 you need to use a modified version of IOIPSL. Follow the description here: [https://forge.ipsl.jussieu.fr/orchidee/wiki/DevelopmentActivities/Branches/ORCHIDEE-MICT-IMBALANCE-P/Compile#After8.4.0rev4057] '''for ORCHIDEE-CNP before r4512''' adjust IOIPSL to be able to write more variables into the output by increase the value of max_var by 50 in modeles/IOIPSL/src/restcom.f90 {{{ & max_var=550, max_file=50, max_dim=NF90_MAX_VAR_DIMS }}} === 1.6 Exchange libIGCM configurations for ORCHIDEE === You can exchange the libIGCM configuration to have some example configuration adapted for ORCHIDEE-CNP: {{{ cd modipsl/config rm -rf ORCHIDEE_OL svn co svn://forge.ipsl.jussieu.fr/orchidee/branches/ORCHIDEE-CN-P/ORCHIDEE_OL ORCHIDEE_OL cd ../util ; ./ins_make }}} ---- ---- == 2. Compilation of ORCHIDEE-CN-P == === 2.1 compile orchidee === ==== A: on obelix ==== Compile ORCHIDEE: {{{ cd ../config/ORCHIDEE_OL gmake with_xios }}} ==== B: on curie ==== WARNING: before you do anything on curie; make sure you have copied the p86ipsl login environment to your home according to [https://forge.ipsl.jussieu.fr/igcmg_doc/wiki/DocBenvBtgcc]: {{{ cp ~p86ipsl/.bashrc_curie ~/. cp ~p86ipsl/.bash_profile ~/. }}} Then compile the standard way: {{{ cd ../config/ORCHIDEE_OL gmake without_xios }}} === DEVELOPER INFORMATION 2.3 Re-compile after code modifications === When you re-compile ORCHIDEE after you changed the code, the compiler will only recompile the modules(?)/subroutines(?) which you modified. Sometimes this doesn't work properly and your executable will crash. You will have no indications that the crash is connected to the compilations. Thus, it is a good idea to prophylactically to a full clean before you compile the code: First to this in modeles/ORCHIDEE/: {{{ ./makeorchidee_fcm -clean }}} then this in config/ORCHIDEE_OL {{{ make clean }}} Now, you can compile the model as described in 2.2 ---- ---- == 3. Run ORCHIDEE == The spinup of the biogeochemical cycles is more complicated than for trunk due to the coupling of soil and vegetation. The current best strategy can be found here: [https://docs.google.com/presentation/d/1dU5RDNR9Zsve-jaVl80-yPOgfiFiv3hXcjWBeYHIM34/edit?usp=sharing] There are different setups possible with libIGCM ([http://forge.ipsl.jussieu.fr/igcmg_doc/wiki/Doc]). Please check the documentation of libIGCM for more information, here I just tell you what you need to do - in generalB. Before you start, please contact D. Goll for the newest configurations. We are currently tweaking the model for better computational and scientific performance / cannot keep track here. === 3.1 OOL_SEC_STO or SPINUP ANALYTIC === [http://forge.ipsl.jussieu.fr/orchidee/wiki/DevelopmentActivities/ORCHIDEE-CNP/howtoSPINAL] === 3.2 FLUXNET === WARNING: These scripts are broken and are not maintained anymore for the CNP version. you must use the OOL_SEC_STO to run site simulations or your own scripts. [http://forge.ipsl.jussieu.fr/orchidee/wiki/DevelopmentActivities/ORCHIDEE-CNP/howtoFLUXNET] === 3.3 MISC === ==== Missing history files although the run successfully finished ==== [https://forge.ipsl.jussieu.fr/orchidee/wiki/Documentation/UserGuide/ReBuild] ==== FLUXNET sites are not all starting ==== [http://forge.ipsl.jussieu.fr/orchidee/wiki/DevelopmentActivities/ORCHIDEE-CNP/howtoFLUXNET/errors] ==== activate 11-layer hydrology ==== [http://forge.ipsl.jussieu.fr/orchidee/wiki/DevelopmentActivities/ORCHIDEE-CNP/activate11HYDRO] ==== information to the configuration of soil hydrology for (sub)tropical regions ==== [https://forge.ipsl.jussieu.fr/orchidee/wiki/DevelopmentActivities/ORCHIDEE-CNP/hydrology] ==== use site specific soil characteristics (all setups) ==== [http://forge.ipsl.jussieu.fr/orchidee/wiki/DevelopmentActivities/ORCHIDEE-CNP/Sites]