wiki:Ajeterici/Configurations/SpinUpJobs

Version 1 (modified by nvuilsce, 12 years ago) (diff)

--

Documentation on spin-up job with libIGCM

User documentation

This page gives a short documentation on the spin-up job in ORCHIDEE_OL sources since OOL_1_9_2 version.

If you just want to run a simple job without spin-up scheme you should copy the entire directory to another name and work inside the new one. For example for ORCHIDEE_OL :

> cp -Rp OOL_SEC_STO MY_OOL_SEC_STO
> cd MY_OOL_SEC_STO

The ORCHIDEE_OL/SPINUP script use other libIGCM scripts in ORCHIDEE_OL. You should also 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 thoses will be called "subjob" inside the spinup. They will are copy inside the spinup directory with differente stage names. Some of their parameters will be changed according to the spinup parameters. And will be launched with a simple "nohup".

Then all these directories must be considered by users as skeleton and must be use or change with care because otherwise, it will break the spinup. The SPINUP directory itself is a brick of other jobs (see 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 [UserChoices] :

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

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

  • The second main configuration 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 (TimeSeries 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)
      

Directories of spin-up job

SPINUP for ORCHIDEE is a set of jobs running SEQUENTIALLY.

in ORCHIDEE_OL source, you will find squeleton jobs OOL_SEC_STO, FORCESOIL (for example). And the SPINUP master job.

Only the spinup master job is launch and re-submit, but it create sub-directories for all spinup steps as in spinup-QuestSpdir in attachment.

You will see subdirs created by the master job. All job restart from the one of the previous step. The output.card is the output of the master spinup job (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"

The date begin gives the beginning of each step that loop from this date with the same duration :

DateBegin=1901-01-01

You must know that the End date in this specific config.card is not give in the beginning, but reflect the number of step programmed for the spinup and IS MODIFIED by spinup.driver, as in :

DateEnd= 3750-12-31

And the DMNFS (output storage) directory for this SPINUP contain two parts :

  • QuestSp 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/TagName/ main directory (as other future jobs will start from this one).