= HOWTO install/compile/run ORCHIDEE-CNP for stand-alone 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. ---- == 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 space; here an 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 }}} Since 2022, you are asked for a username and password during the installation which are {{{ username: icmc_users # Ask a collegue for the passwd or send an email to orchidee-help@listes.ipsl.fr }}} 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 system has some efficiency flaws (i.e. it copies boundary files for ORCHIDEE input, instead of using links). To use links instead of hard copy you can take a few simple steps to make libIGCM more efficient. See description here [http://forge.ipsl.jussieu.fr/orchidee/wiki/DevelopmentActivities/ORCHIDEE-CNP/LibIGCMmod01] === 1.3 Exchange the trunk ORCHIDEE with ORCHIDEE-CN-P === for ORCHIDEE-CNP v1.2 (with CENTURY soil model): {{{ cd ../modeles rm -fr ORCHIDEE svn co svn://forge.ipsl.jussieu.fr/orchidee/branches/ORCHIDEE-CN-P/ORCHIDEE ORCHIDEE cd ../util ; ./ins_make }}} for ORCHIDEE-CNP v1.3 (with MIMICS soil model): {{{ cd ../modeles rm -fr ORCHIDEE svn co svn://forge.ipsl.jussieu.fr/orchidee/branches/ORCHIDEE-CN-P-MIMICS/ORCHIDEE ORCHIDEE cd ../util ; ./ins_make }}} ==== 1.3a on obelix ==== Following the compilers upgrade recently made at LSCE (4/29/2021), it is needed to change the debug flags to the following: modipsl/modeles/ORCHIDEE/arch/arch-ifort_LSCE.fcm {{{ %DEBUG_FFLAGS -fpe0 -O0 -g -traceback -fp-stack-check -ftrapuv -check bounds -check all -check noarg_temp_created }}} === 1.4 Exchange the XIOS version === {{{ cd ../modeles rm -fr XIOS svn co -r 1866 https://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/trunk@1866 XIOS cd ../util ; ./ins_make }}} For some (unkown) reason you might need to pre-compile XIOS (in case compilation as desribed below in step 2 crashes); 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 == There are different setups possible with libIGCM ([http://forge.ipsl.jussieu.fr/igcmg_doc/wiki/Doc]), but only few are maintained for CNP. Before you start, please contact D. Goll for the newest configurations. We are currently tweaking the model for better computational and scientific performance. === 3.1 OOL_SEC_STO === OUTDATED INFORMATION This is the main configuration which allows you to run all kind of runs: [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]