ORCHIDEE/OR4L OR4L
(Creación página del OR4L) |
(Rellenando la página OR4L) |
||
Línea 1: | Línea 1: | ||
= OR4L = |
= OR4L = |
||
L. Fita's work-flow management for ORCHIDEE model |
L. Fita's work-flow management for ORCHIDEE model |
||
+ | |||
+ | ORCHIDEE work-flow management is done via 3 scripts (these are the specifics for hydra [CIMA cluster]): |
||
+ | * <code>EXPERIMENTparameters.txt</code>: General ASCII file which configures the experiment and chain of simulations (chunks). This is the unique file to modify |
||
+ | * <code>run_experiments.pbs</code>: PBS-queue job which prepares the experiment of the environment |
||
+ | * <code>run_OR.pbs</code>: PBS-queue job which launch the ORCHIDEE model and a range the output |
||
+ | |||
+ | An experiment which contains a period of simulation is divided by '''chunks''' small pieces of times which are manageable by the model. The work-flow follows these steps using <code>run_experiments.pbs</code>: |
||
+ | # Copy and link all the required files for a given '''chunk''' of the whole period of simulation following the content of <code>EXPERIMENTparameters.txt</code> |
||
+ | # Launches <code>run_OR.pbs</code> which will simulated the period of the given '''chunk''' |
||
+ | # Launches the next <code>run_experiments.pbs</code> (which waits until the end of <code>run_OR.pbs</code>) |
||
+ | |||
+ | All the scripts are located in <code>hydra</code> at: |
||
+ | <pre> |
||
+ | /share/tools/work-flows/OR4L/hydra |
||
+ | </pre> |
||
+ | |||
+ | == EXPERIMENTSparameters.txt == |
||
+ | This ASCII file configures all the simulation. It assumes: |
||
+ | * Required files, forcings, storage, compiled version of the code might be at different machines. |
||
+ | * There is a folder with a given template version of the <code>run.def</code> which will be used and changed accordingly to the requirement of the experiments |
||
+ | |||
+ | # Experiment name |
||
+ | ExpName = DiPolo |
||
+ | # Simulation name |
||
+ | SimName = OKstomate_CRUNCEP_spinup |
||
+ | |||
+ | # python binary |
||
+ | pyBIN=/home/lluis.fita/bin/anaconda2/bin/python |
||
+ | |||
+ | # Start from the beginning (keeping folder structure) |
||
+ | scratch = false |
||
+ | |||
+ | # Experiment starting date |
||
+ | exp_start_date = 19580101000000 |
||
+ | # Experiment ending date |
||
+ | exp_end_date = 20150101000000 |
||
+ | # Chunk Length [N]@[unit] |
||
+ | # [unit]=[year, month, week, day, hour, minute, second] |
||
+ | chunk_length = 1@year |
||
+ | |||
+ | # Hosts |
||
+ | # list of different hosts and specific user |
||
+ | # [USER]@[HOST] |
||
+ | # NOTE: this will only work if public keys have been set-up |
||
+ | ## |
||
+ | # Running host (including domain definition) |
||
+ | #runHOST=lluis.fita@hydra |
||
+ | # Host with compiled code, namelist templates |
||
+ | codeHOST=lluis.fita@hydra |
||
+ | # forcing Host with forcings (atmospherics and morphologicals) |
||
+ | forcingHOST=lluis.fita@hydra |
||
+ | # output Host with storage of output (including restarts) |
||
+ | #outHOST=lluis.fita@skogul |
||
+ | outHOST=lluis.fita@hydra |
||
+ | |||
+ | # Folder with the `run.def' and `xml' of the experiment |
||
+ | domainHOME = /home/lluis.fita/salidas/estudios/dominmios/DiPolo/daily |
||
+ | # Running folder |
||
+ | runHOME = /home/lluis.fita/estudios/DiPolo/sims |
||
+ | # Folder with the compiled source of ORCHIDEE |
||
+ | orHOME = /share/modipsl_dbg/bin/ |
||
+ | # Storage folder of the output |
||
+ | #storageHOME = /datoslluis/estudios/DiPolo/sims/output |
||
+ | storageHOME = /home/lluis.fita/salidas/estudios/DiPolo/sims/output |
||
+ | |||
+ | # Modules to load ('None' for any) |
||
+ | modulesLOAD = None |
||
+ | |||
+ | # Simulation kind |
||
+ | # 'offline': Realistic off-line run, with initial conditions at each change of year |
||
+ | # 'periodic': Realistic off-line run, with the same initial conditions for each year |
||
+ | kindSIM = offline |
||
+ | |||
+ | # Model reference output names (to be used as checking file names) |
||
+ | nameLISTfile = run.def # namelist |
||
+ | nameRSTfile = sechiba_rest_out.nc # restart file |
||
+ | nameOUTfile = sechiba_history.nc # output file |
||
+ | |||
+ | # Extensions configuration of the model |
||
+ | configEXTS = def:xml |
||
+ | |||
+ | # restart file names |
||
+ | # ':' list of [tmplrstfilen|[NNNNN1]?[val1]#[...[NNNNNn]?[valn]]@[tmpllinkname]|[NNNNN1]?[val1]#[...[NNNNNn]?[valn]] |
||
+ | # [tmplrstfilen]: template name of the restart file (if necessary with [NNNNN] variables to be substituted) |
||
+ | # [NNNNN]: section of the file name to be automatically substituted |
||
+ | # `[YYYY]': year in 4 digits |
||
+ | # `[YY]': year in 2 digits |
||
+ | # `[MM]': month in 2 digits |
||
+ | # `[DD]': day in 2 digits |
||
+ | # `[HH]': hour in 2 digits |
||
+ | # `[SS]': second in 2 digits |
||
+ | # `[JJJ]': julian day in 3 digits |
||
+ | # [val]: value to use (which is systematically defined in `run_OR.pbs') |
||
+ | # `%Y%': year in 4 digits |
||
+ | # `%y%': year in 2 digits |
||
+ | # `%m%': month in 2 digits |
||
+ | # `%d%': day in 2 digits |
||
+ | # `%h%': hour in 2 digits |
||
+ | # `%s%': second in 2 digits |
||
+ | # `%j%': julian day in 3 digits |
||
+ | # [tmpllinkname]: template name of the link of the restart file (if necessary with [NNNNN] variables to be substituted) |
||
+ | rstFILES=sechiba_rest_out.nc@sechiba_rst.nc:stomate_rest_out.nc@stomate_rst.nc |
||
+ | |||
+ | # Folder with the input morphological forcing data |
||
+ | indataHOME = /share/ORCHIDEE/data/IGCM/SRF |
||
+ | # ':' separated list of [morphfilen]|[NNNNN1]?[val1]#[...[NNNNNn]?[valn]]@[tpmllinkname]|[NNNNN1]?[val1]#[...[NNNNNn]?[valn]] |
||
+ | # [morphfilen]: morphological forcing file (relative to ${indataHOME}) (if necessary with [NNNNN] variables to be substituted) |
||
+ | # [tmpllinkname]: template name of the link of the restart file (if necessary with [NNNNN] variables to be substituted) |
||
+ | indataFILES = albedo/alb_bg_modisopt_2D_ESA_v2.nc@alb_bg_modisopt_2D_ESA.nc:cartepente2d_15min.nc@cartepente2d_15min.nc:carteveg5km.nc@carteveg5km.nc:floodplains.nc@floodplains.nc:lai2D.nc@lai2D.nc:PFTMAPS/CMIP6/ESA-LUH2/historical/v1.2/withNoBio/13PFTmap_[YYYY]_ESA_LUH2v2h_withNoBio_v1.2.nc|YYYY?%Y%@PFTmap_025.nc:PFTmap_IPCC_1850.nc@PFTmap_IPCC.nc:reftemp.nc@reftemp.nc:soils_param.nc@soils_param.nc:soils_param_usda.nc@soils_param_usda.nc:soils_param_usdatop.nc@soils_param_usdatop.nc:routing.nc@routing.nc |
||
+ | |||
+ | # Folder which contents the atmospheric data to force the model |
||
+ | iniatmosHOME = /share/ORCHIDEE/data/IGCM/SRF/METEO/CRU-NCEP/v5.4/halfdeg |
||
+ | # ':' list of [atmosfilen]|[NNNNN1]?[val1]:[...[NNNNNn]?[valn]]@[tpmllinkname]|[NNNNN1]?[val1]#[...[NNNNNn]?[valn]] |
||
+ | # [filenTMPL]: template of the atmospheric data file name with [NNNN] variables to be substitued |
||
+ | # [tmpllinkname]: template name of the link of the restart file (if necessary with [NNNNN] variables to be substituted) |
||
+ | filenameTMPL = cruncep_halfdeg_[YYYY].nc|YYYY?%Y%@atmos_forcing.nc |
||
+ | |||
+ | ## configuration files (':' separated list) |
||
+ | ORdef = run.def |
||
+ | ORxml = context_orchidee.xml:field_def_orchidee.xml:file_def_orchidee.xml:iodef.xml |
||
+ | |||
+ | ## def,xml changes ([fileA]@[parm1]:[val1];...;[parmN]:[valN]|...|[fileZ]@....) |
||
+ | nlparametres = run.def@STOMATE_OK_STOMATE:y;STOMATE_OK_CO2:y |
||
+ | |||
+ | # Name of the exectuable |
||
+ | nameEXEC=orchidee_ol |
||
+ | |||
+ | # netCDF Files which will not be kept anywhere |
||
+ | NokeptfileNAMES='' |
||
+ | |||
+ | # Headers of netCDF files need to be kept |
||
+ | HkeptfileNAMES=sechiba_history:stomate_history:sechiba_history_4dim:sechiba_history_alma |
||
+ | |||
+ | # Headers of netCDF restart files need to be kept |
||
+ | HrstfileNAMES=sechiba_rest_out:stomate_rest_out |
||
+ | |||
+ | # Extras. rebuild program folder |
||
+ | binREBUILD = /share/modipsl_IOIPSLtools/bin |
||
+ | |||
+ | # ORCHIDEE parallel run configuration |
||
+ | ## Number of nodes |
||
+ | Nnodes = 1 |
||
+ | ## Number of mpi procs |
||
+ | Nmpiprocs = 16 |
||
+ | ## Number of shared memory threads ('None' for no openMP threads) |
||
+ | Nopenthreads = None |
||
+ | ## Memory size of shared memory threads |
||
+ | SIZEopenthreads = 200M |
||
+ | |||
+ | ## Generic |
||
+ | errormsg=ERROR -- error -- ERROR -- error |
||
+ | warnmsg=WARNING -- warning -- WARNING -- warning |
Revisión de 15:15 11 oct 2017
OR4L
L. Fita's work-flow management for ORCHIDEE model
ORCHIDEE work-flow management is done via 3 scripts (these are the specifics for hydra [CIMA cluster]):
-
EXPERIMENTparameters.txt
: General ASCII file which configures the experiment and chain of simulations (chunks). This is the unique file to modify -
run_experiments.pbs
: PBS-queue job which prepares the experiment of the environment -
run_OR.pbs
: PBS-queue job which launch the ORCHIDEE model and a range the output
An experiment which contains a period of simulation is divided by chunks small pieces of times which are manageable by the model. The work-flow follows these steps using run_experiments.pbs
:
- Copy and link all the required files for a given chunk of the whole period of simulation following the content of
EXPERIMENTparameters.txt
- Launches
run_OR.pbs
which will simulated the period of the given chunk - Launches the next
run_experiments.pbs
(which waits until the end ofrun_OR.pbs
)
All the scripts are located in hydra
at:
/share/tools/work-flows/OR4L/hydra
EXPERIMENTSparameters.txt
This ASCII file configures all the simulation. It assumes:
- Required files, forcings, storage, compiled version of the code might be at different machines.
- There is a folder with a given template version of the
run.def
which will be used and changed accordingly to the requirement of the experiments
- Experiment name
ExpName = DiPolo
- Simulation name
SimName = OKstomate_CRUNCEP_spinup
- python binary
pyBIN=/home/lluis.fita/bin/anaconda2/bin/python
- Start from the beginning (keeping folder structure)
scratch = false
- Experiment starting date
exp_start_date = 19580101000000
- Experiment ending date
exp_end_date = 20150101000000
- Chunk Length [N]@[unit]
- [unit]=[year, month, week, day, hour, minute, second]
chunk_length = 1@year
- Hosts
- list of different hosts and specific user
- [USER]@[HOST]
- NOTE: this will only work if public keys have been set-up
- Running host (including domain definition)
- runHOST=lluis.fita@hydra
- Host with compiled code, namelist templates
codeHOST=lluis.fita@hydra
- forcing Host with forcings (atmospherics and morphologicals)
forcingHOST=lluis.fita@hydra
- output Host with storage of output (including restarts)
- outHOST=lluis.fita@skogul
outHOST=lluis.fita@hydra
- Folder with the `run.def' and `xml' of the experiment
domainHOME = /home/lluis.fita/salidas/estudios/dominmios/DiPolo/daily
- Running folder
runHOME = /home/lluis.fita/estudios/DiPolo/sims
- Folder with the compiled source of ORCHIDEE
orHOME = /share/modipsl_dbg/bin/
- Storage folder of the output
- storageHOME = /datoslluis/estudios/DiPolo/sims/output
storageHOME = /home/lluis.fita/salidas/estudios/DiPolo/sims/output
- Modules to load ('None' for any)
modulesLOAD = None
- Simulation kind
- 'offline': Realistic off-line run, with initial conditions at each change of year
- 'periodic': Realistic off-line run, with the same initial conditions for each year
kindSIM = offline
- Model reference output names (to be used as checking file names)
nameLISTfile = run.def # namelist nameRSTfile = sechiba_rest_out.nc # restart file nameOUTfile = sechiba_history.nc # output file
- Extensions configuration of the model
configEXTS = def:xml
- restart file names
- ':' list of [tmplrstfilen|[NNNNN1]?[val1]#[...[NNNNNn]?[valn]]@[tmpllinkname]|[NNNNN1]?[val1]#[...[NNNNNn]?[valn]]
- [tmplrstfilen]: template name of the restart file (if necessary with [NNNNN] variables to be substituted)
- [NNNNN]: section of the file name to be automatically substituted
- `[YYYY]': year in 4 digits
- `[YY]': year in 2 digits
- `[MM]': month in 2 digits
- `[DD]': day in 2 digits
- `[HH]': hour in 2 digits
- `[SS]': second in 2 digits
- `[JJJ]': julian day in 3 digits
- [val]: value to use (which is systematically defined in `run_OR.pbs')
- `%Y%': year in 4 digits
- `%y%': year in 2 digits
- `%m%': month in 2 digits
- `%d%': day in 2 digits
- `%h%': hour in 2 digits
- `%s%': second in 2 digits
- `%j%': julian day in 3 digits
- [tmpllinkname]: template name of the link of the restart file (if necessary with [NNNNN] variables to be substituted)
rstFILES=sechiba_rest_out.nc@sechiba_rst.nc:stomate_rest_out.nc@stomate_rst.nc
- Folder with the input morphological forcing data
indataHOME = /share/ORCHIDEE/data/IGCM/SRF
- ':' separated list of [morphfilen]|[NNNNN1]?[val1]#[...[NNNNNn]?[valn]]@[tpmllinkname]|[NNNNN1]?[val1]#[...[NNNNNn]?[valn]]
- [morphfilen]: morphological forcing file (relative to ${indataHOME}) (if necessary with [NNNNN] variables to be substituted)
- [tmpllinkname]: template name of the link of the restart file (if necessary with [NNNNN] variables to be substituted)
indataFILES = albedo/alb_bg_modisopt_2D_ESA_v2.nc@alb_bg_modisopt_2D_ESA.nc:cartepente2d_15min.nc@cartepente2d_15min.nc:carteveg5km.nc@carteveg5km.nc:floodplains.nc@floodplains.nc:lai2D.nc@lai2D.nc:PFTMAPS/CMIP6/ESA-LUH2/historical/v1.2/withNoBio/13PFTmap_[YYYY]_ESA_LUH2v2h_withNoBio_v1.2.nc|YYYY?%Y%@PFTmap_025.nc:PFTmap_IPCC_1850.nc@PFTmap_IPCC.nc:reftemp.nc@reftemp.nc:soils_param.nc@soils_param.nc:soils_param_usda.nc@soils_param_usda.nc:soils_param_usdatop.nc@soils_param_usdatop.nc:routing.nc@routing.nc
- Folder which contents the atmospheric data to force the model
iniatmosHOME = /share/ORCHIDEE/data/IGCM/SRF/METEO/CRU-NCEP/v5.4/halfdeg
- ':' list of [atmosfilen]|[NNNNN1]?[val1]:[...[NNNNNn]?[valn]]@[tpmllinkname]|[NNNNN1]?[val1]#[...[NNNNNn]?[valn]]
- [filenTMPL]: template of the atmospheric data file name with [NNNN] variables to be substitued
- [tmpllinkname]: template name of the link of the restart file (if necessary with [NNNNN] variables to be substituted)
filenameTMPL = cruncep_halfdeg_[YYYY].nc|YYYY?%Y%@atmos_forcing.nc
- configuration files (':' separated list)
ORdef = run.def ORxml = context_orchidee.xml:field_def_orchidee.xml:file_def_orchidee.xml:iodef.xml
- def,xml changes ([fileA]@[parm1]:[val1];...;[parmN]:[valN]|...|[fileZ]@....)
nlparametres = run.def@STOMATE_OK_STOMATE:y;STOMATE_OK_CO2:y
- Name of the exectuable
nameEXEC=orchidee_ol
- netCDF Files which will not be kept anywhere
NokeptfileNAMES=
- Headers of netCDF files need to be kept
HkeptfileNAMES=sechiba_history:stomate_history:sechiba_history_4dim:sechiba_history_alma
- Headers of netCDF restart files need to be kept
HrstfileNAMES=sechiba_rest_out:stomate_rest_out
- Extras. rebuild program folder
binREBUILD = /share/modipsl_IOIPSLtools/bin
- ORCHIDEE parallel run configuration
- Number of nodes
Nnodes = 1
- Number of mpi procs
Nmpiprocs = 16
- Number of shared memory threads ('None' for no openMP threads)
Nopenthreads = None
- Memory size of shared memory threads
SIZEopenthreads = 200M
- Generic
errormsg=ERROR -- error -- ERROR -- error warnmsg=WARNING -- warning -- WARNING -- warning