wiki:Scripts/SpinUpJobs

Documentation on SPINUP job with libIGCM

Last revision: 2020/02/28, F. Maignan
WARNING: This is a very old description, to be updated soon in line with the updated forcesoil related to soil C discretization in the TRUNK.

User documentation

This page gives a short documentation on the SPINUP configuration in ORCHIDEE_OL sources since OOL_1_9_2 version.

The ORCHIDEE_OL/SPINUP script uses other libIGCM scripts in ORCHIDEE_OL. You should copy this directory to another name and work inside the new one:

> cp -Rp SPINUP MY_SPINUP
> cd MY_SPINUP

Other ORCHIDEE_OL directories may not be modified for the SPINUP to run correctly:

  • OOL_SEC for SECHIBA alone runs,
  • OOL_SEC_STO for SECHIBA and STOMATE (whole ORCHIDEE) runs,
  • TESTSTOMATE for teststomate (STOMATE alone) runs,
  • and FORCESOIL for forcesoil (stomate_soilcarbon function in src_stomate) runs.

All those will be called "subjob" inside the spinup. They will all be copied under the SPINUP directory with different stage names. Some of their parameters will be changed according to the spinup parameters. And they will be launched with a simple "nohup".

Then all these directories must be considered by users as skeleton and must be used or changed with care because otherwise, it will break the spinup. The SPINUP directory itself is a brick of other jobs (see also the FluxnetValidation page on this site).

In SPINUP/COMP directory, you will find spinup.card to manage SPINUP with ORCHIDEE in libIGCM scripts environment.

First, you must consider SPINUP configuration in section [User Choices] :

  • The first two options are:
    #
    ###-- STOMATE flag
    #
    ok_stomate=n
    #
    ###-- CO2 flag
    #
    ok_co2=n
    

and then there are other flags that will change the behaviour of the whole spinup run.

  • The second main section is the algorithm of the spinup itself:
        # SPINUP configuration : 
        # ----------------------
    # Initialisation for spin-up :
    # orchidee with sechiba alone (!!! if ok_stomate == n !!!)
    duree_nostomate=1
    # orchidee with stomate
    duree_inistomate=1
    # teststomate (only if duree_nostomate or duree_inistomate > 0)
    duree_offlineini=1
    
    # Loop configuration for spin-up :
    # The whole job is restarted n_iter times
    n_iter=10
    # orchidee with sechiba (and stomate if ok_stomate=y below)
    duree_sechiba=1
    # teststomate
    duree_stomate=1
    # forcesoil
    duree_carbonsol=1
    
    # Finalization for spin-up :
    # all orchidee
    duree_final=1
    

Here the first three parameters deal with the initialization, if you don't want to start it from some restart. After that, you have the main loop on "n_iter" and at the end the finalization of the spinup.
All those parameters (but the n_iter) are number of years.

  • Finally, you can change:
    • The name of the forcing file. You can for example use ${year} variable of libIGCM to build interanual spinup as in:
      [SubJobForcingFile]
      # Boundary Files for ORCHIDEE subjobs :
      List= (${R_BC}/OOL/${config_UserChoices_TagName}/NCC/ncc_for_${year}.nc, .)
      ListNonDel= ()
      
    • Some parameters inside the subjobs:
      [SubJobParams]
      # You can specify here any parameters to be modified in run.def for SpinUp Subjobs.
      DEBUG_INFO=n
      LONGPRINT=n
      
    • The post-treatment section for SECHIBA and STOMATE runs (Time Series variables):
      [SubJobPost]
      #
      ##-- TimeSeries
      #
      sechiba_TimeSeriesVars=(lai, maxvegetfrac, vegetfrac, nobiofrac, alb_nir, ..., temp_sol, tsol_max, tsol_min, drainage, CO2FLUX)
      # ALMAOUTPUT
      #sechiba_TimeSeriesVars = (vegetfrac, maxvegetfrac, nobiofrac, ..., SnowDepth, dis, GPP)
      stomate_TimeSeriesVars=(CO2FLUX_MONTHLY, LAI, VEGET, VEGET_MAX, NPP, GPP, ..., CONVFLUX, CFLUX_PROD10, CFLUX_PROD100)
      

Sub-directories of the SPINUP configuration

The SPINUP configuration for ORCHIDEE implies a set of jobs running SEQUENTIALLY.

You will find skeleton sub-jobs OOL_SEC_STO and FORCESOIL (for example), and the SPINUP master job.

Only the SPINUP master job is launched and re-submitted, but it create ssub-directories for all spinup steps as in spinup-Quest Spdir in attachment.

You will see sub-directories created by the master job. All jobs restart from the one of the previous step. The output.card is the output of the SPINUP job master (see the last one in attachment).

As all libIGCM jobs, you will find in config.card the two main variables to qualify the job:

JobName=QuestSp
LongName="Spin Up CO2 2degrees for ORCHIDEE. Protocole Quest (years CO2 + VEGET 1860). Harvest + Fire = y"

DateBegin gives the beginning of each step that loops from this date with the same duration:

DateBegin=1901-01-01

You must know that DateEnd in this specific config.card is not given in the beginning, but reflects the number of steps programmed for the spinup and IS MODIFIED by spinup.driver, as in:

DateEnd= 3750-12-31

And the output storage directory for this SPINUP contains two parts:

  • Quest Sp main directory that contains all steps (but not the final one) of the SPINUP in SPIN/Output directory. All those sub-directories are standard libIGCM output directories.
  • QuestSpFIN is the last step and is still in IGCM_OUT/Tag Name/ main directory (as other future jobs will start from this one).
Last modified 4 years ago Last modified on 2020-02-28T16:07:57+01:00

Attachments (7)

Download all attachments as: .zip