= SPINUP_ANALYTIC = == 1.1 create new experiment folder == {{{ cd ../../config/ORCHIDEE_OL/ cp -fr SPINUP_ANALYTIC/ MY_SPINUP_ANALYTIC/ cd MY_SPINUP_ANALYTIC/ }}} == 1.2 tell libIGCM about the new input files (they are stored on the IMBALANCE-P disk on obelix) == modify the variable "ListNonDel" in COMP/stomate.card: {{{ ListNonDel= (${R_IN}/SRF/reftemp.nc, .),\ (/home/surface3/common/CNP_files/rev00/USDA_SoilSuborder.nc, .), \ (/home/surface3/common/CNP_files/rev00/lithology.nc, .), \ (/home/users/dgoll/ORC_data/N_deposition/LMDzINCA_DEP_2000.nc, .), \ (/home/surface3/common/CNP_files/deposition/deposition.nc, .) }}} REMARK: make sure there are no blanks behind the "\"! REMARK: Although the file with N deposition is used in sechiba we add the file to the stomate.card. This is needed to ensure it is copied when we restart from a simulation with impose_cn. In that case, the N deposition variable will not be present in the sechiba_restart_out.nc but the libIGCM assumes all sechiba variables are present. WARNING: The double entry of deposition will cause a stop on obelix, as the "cp" option are set to not overwrite files (issue not solved yet; please ask Fabienne or Josefine how the cp option in libIGCM can be changed, so that you can overwrite files) '''obelix:''' tell that we use the new “soil_param.nc”; in COMP/sechiba.card: {{{ (/home/surface3/common/CNP_files/rev00/soils_param.nc, .), \ }}} == You want account for inter-annual variability of deposition ? == You can loop over a couple for years of deposition to account for inter annual variability during a spinup using CyclicYear. This done by adding deposition file to COMP/sechiba(!).card: {{{ List= (${R_IN}/SRF/routing.nc, .), \ (/ccc/cont003/home/dsm/p529goll/ORC-CNP_input/soils_param.nc, soils_param.nc), \ (${R_IN}/SRF/cartepente2d_15min.nc, .), \ (${R_IN}/SRF/floodplains.nc, .), \ (${R_IN}/SRF/PFTmap_1850to2005_AR5_LUHa.rc2/PFTmap_IPCC_${year}.nc, PFTmap.nc), \ (/ccc/work/cont003/dsm/p529vui/ORCHIDEE_trunk_CN/LMDzINCA_DEP_2000.nc, .),\ (/ccc/work/cont003/dsm/p529goll/NP_deposition/final/deposition_${CyclicYear}.nc, deposition.nc) }}} as well as(!) in COMP/stomate.card: {{{ ListNonDel= (${R_IN}/SRF/reftemp.nc, .),\ (/home/surface3/common/CNP_files/rev00/USDA_SoilSuborder.nc, .), \ (/home/surface3/common/CNP_files/rev00/lithology.nc, .), \ (/home/users/dgoll/ORC_data/N_deposition/LMDzINCA_DEP_2000.nc, .), \ (/home/surface3/common/CNP_files/rev00/deposition_${CyclicYear}.nc, .) }}} == 1.3 adjust the libIGCM == disable XIOS in COMP/orchidee_ol.card {{{ # Use XIOS as output library instead of IOIPSL XIOS=n }}} make sure XIOS is set to "_AUTOBLOCKER_" (if you set it to "n", libIGCM will trigger a stop) in PARAM/run.def: {{{ # Use XIOS for writing diagnostics file XIOS_ORCHIDEE_OK = _AUTOBLOCKER_ }}} disable XIOS in config.card: {{{ #IOS= (xios, XIOS) }}} [...] {{{ #IOS= (xios_server.exe, xios.x, 1MPI) }}} set the IO frequency to avoid crashes in PARAM/run.def {{{ # Writefrequency in seconds in sechiba_history.nc # default = 86400.0 WRITE_STEP = 1800.0 # Writefrequency in days in stomate_history.nc # default = 10. STOMATE_HIST_DT = 1 }}} Set the 11-layer hydrology & scheme to explicitly to "n" or "y". If it is on "_AUTO_" it will cause a stop of the orchidee executable. For activating the 11-layer hydrology see here [http://forge.ipsl.jussieu.fr/orchidee/wiki/DevelopmentActivities/ORCHIDEE-CNP/activate11HYDRO]. To use the old 2-layer scheme do this: {{{ # Activate the multi-layer diffusion scheme adapted from CWRR # by default the Choisnel hydrology is used. HYDROL_CWRR = n }}} copy a run.def with parameter values for the ORCHIDEE-CAN components as well as for the nutrient components. Make sure you are using the newest version here: {{{ cp /home/surface3/common/CNP_files/revXX/run.def PARAM/run.def }}} these flags are needed for the nutrient cycles in PARAM/run.def, so make sure they are in there and you set them according to your plans: {{{ # to activate P cycle set =y STOMATE_OK_PCYCLE=y STOMATE_IMPOSE_NP=y # to activate N cycle set =y STOMATE_OK_NCYCLE=y STOMATE_IMPOSE_CN=y # make sure we dont fake LD_FAKE_HEIGHT=n # if you spinup the nitrogen and phosphorus; #the mineral N stocks can occasionally get over-depleted due to SOM accumulation; # to avoid that; set this true SPINUP_CNP=y # you can enable mass conservation and stoichiometry checks by =y STOMATE_MASS_CONSERVATION=y STOMATE_DSG_DEBUG=y Nammonium_FILE=LMDzINCA_DEP_2000.nc Nnitrate_FILE=LMDzINCA_DEP_2000.nc Nnitrate_VAR = NOY Nammonium_VAR = NHX Nfert_FILE=NONE Nbnf_FILE=NONE NINPUT_UPDATE=-1 }}} disable river routing if you run on non-global scale in run.def {{{ # Activate river routing RIVER_ROUTING = n }}} for more information on the manipulation of run.def: [http://forge.ipsl.jussieu.fr/orchidee/wiki/Documentation/UserGuide/ManipulationDefFile] == 1.4 activate analytic solution == in COMP/stomate.card: {{{ [UserChoices] # SPINUP_ANALYTIC=y/n : Activate the spinup analytic option to solve the carbon in soil balance SPINUP_ANALYTIC=y }}} == 1.4 adjust the job as usual == modify config.card as usual (see here for more information howto set these parameters in general: [https://forge.ipsl.jussieu.fr/orchidee/wiki/Documentation/UserGuide/SpinupInJobBasic]) I achieved an equilibrium for Europe using sets of 300-350 yr simulations (first step imposing NP concentration, second step prognostic NP concentrations restarting from step 1): {{{ #-- leap(gregorian), noleap, 360d CalendarType=noleap #-- Start and End of Job #-- "YYYY-MM-DD" DateBegin=1960-01-01 DateEnd=2260-12-31 # Forcing data between 1901 and 1920 CyclicBegin=1901 CyclicEnd=1920 }}} '''REMARK (curie only)''': If you want to run ORCHIDEE on spatial subdomain (here the example for a single grid box) you need to adjust the number before MPI line: {{{ #OOL= (orchidee_ol, orchidee_ol, 32MPI) OOL= (orchidee_ol, orchidee_ol, 1MPI) }}} modify run.def as usual (see wiki) plus if you want to archive, for example in the IMBALANCE-P storage; add to config.card: {{{ ARCHIVE=/home/surface3/dgoll }}} == 1.5 create job == {{{ ../../../libIGCM/ins_job }}} == 1.6 adjust job_file (optional) == Header to run a site scale simulation on obelix {{{ ###################### ## OBELIX LSCE ## ###################### #PBS -N test #PBS -m a #PBS -j oe #PBS -q short #PBS -o Script_Output_test.000001 #PBS -S /bin/ksh #PBS -v BATCH_NUM_PROC_TOT=1 #PBS -l nodes=1:ppn=1 }}} to automatically have existing files deleted, set JobType=DEV {{{ #D- Experience type : DEB(ug), DEV(elopment), RUN (default) JobType=DEV }}} to avoid queuing take full advantage of your job time; the value depends on #PBS -q short and computation time of orchidee {{{ #D- Number of execution in one job PeriodNb=60 }}} to have a temp directory you can access on obelix; exchange dgoll with your ID {{{ #D- Define running directory #D- Default=${TMPDIR} ie temporary batch directory #D- #RUN_DIR_PATH=/workdir/or/scratchdir/of/this/machine RUN_DIR_PATH=/home/scratch01/dgoll/RUN_DIR }}} == 1.7 submit the job == on obelix: {{{ qsub Job_ID }}} on curie {{{ ccc_msub Job_ID }}} == 1.8 restart / rerun a job after crash == It is important that you stick to the libIGCM regulations. You /libIGCM/clean_Month to reset run.card or delete run.card if you want to start from scratch. To avoid headaches, it is recommended to always delete all file which you want to redo , for example in the experiment output in IGCM_OUT, etc == 2.0 problems which might occur == === 2.1. executable causes a stop === In general, you should check the out_orchidee_ol and out_execution files for error messages. ==== known problems ==== if you can find in "out_orchidee_ol" a message that a LOGICAL has an inappropriate value, you must set in PARAM/run.def the LOGICAL to "y" or "n", for example: {{{ # Activate the multi-layer diffusion scheme adapted from CWRR # by default the Choisnel hydrology is used. HYDROL_CWRR = n }}}