= 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. ---- ---- == 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 (revision 2961 does not work): {{{ svn -r2728 co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl cd modipsl/util ./model ORCHIDEE_trunk }}} === 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 cd ../util ; ./ins_make }}} ---- ---- == 2. Compilation of ORCHIDEE-CN-P == === 2.1 modify IOIPSL === 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 }}} === 2.2 compile orchidee === ==== A: on obelix ==== First do a "normal" make to compile XIOS & IPOSL components which are needed; don't worry if the compilation of ORCHIDEE crashes {{{ cd ../config/ORCHIDEE_OL gmake without_xios }}} then compile (do compile always with "-parallel mpi" as this executable can be run in sequential mode, too. But not vice versa) {{{ cd ../../modeles/ORCHIDEE ./makeorchidee_fcm -driver -arch ifort_LSCE -noxios -parallel mpi }}} DSG: It might be needed to do it the other way round. ==== 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 }}} I usually re-compile ORCHIDEE again with makeorchidee_fcm to set options as I need them to have (don't forget to disable xios). {{{ cd ../../modeles/ORCHIDEE ./makeorchidee_fcm -driver -parallel mpi -arch X64_CURIE -driver -noxios }}} === 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. Please check the documentation of libIGCM for more information, here I just tell you what you need to do. === 3.2 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] === GENERAL: activate 11-layer hydrology === [http://forge.ipsl.jussieu.fr/orchidee/wiki/DevelopmentActivities/ORCHIDEE-CNP/activate11HYDRO]