= 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 < LINK MISSING>. 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 . === 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/trunk 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 (for obelix) 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/ ./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. === 3.1 OOL_SEC_STO or SPINUP ANALYTIC === [http://forge.ipsl.jussieu.fr/orchidee/wiki/DevelopmentActivities/ORCHIDEE-CNP/howtoSPINAL] === 3.2 FLUXNET === [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]