Adding a model in coupled or forced mode

ECLIS has room for an additionnal model, either coupled or stand-alone. Learn how to configure it

Article mis en ligne le 8 avril 2013
dernière modification le 23 juillet 2019

par senesi

For the sake of running an ice sheet model, ECLIS was upgraded, in version 6.0, to run any additional model either alone or coupled to Arpege and/or Nemo and/or Trip through Oasis, provided it complies with a few constraints (but only one additional model yet). You just have to set a few variables and to provide a few simple scripts to use this feature

An AGRIF configuration has been run using this feature

We first describe the settings in the coupled context. The last paragraph introduces additional information for the forced context. As for other CNRM-CM components, it is possible to provide forcing data to the model also in coupled mode (just fill in the relevant parameters)

The constraints for adding a component model in CNRM-CM or running it alone in ECLIS are that the model must :

  • for the coupled mode, communicate with the other component models using Oasis
  • have a unique file with a fixed name for each of : its namelist, its input restart, its output restart (with a different filename) and its listing.
  • be able to run for NDAY days from date YEAR MONTH DAY ; he will know these values by reading its namelist, which will be updated before each run using script UPDNAMNIS (see below)
  • have its own,non ambiguous filename for its ouput listing
  • have its time step in its namelist
  • access its fixed data files as if it were local to the current directory (and have it organized in a single directory)
  • have its output files bear sufficiently unambiguous names that a dedicated script (provided with the experiment ID and with the date of run start) can list them

If the model uses other, additional files that are not pure outputs, plugins must be used for managing it.

The model can be multi-tasked (with MPI only, yet). If yes, it must read its proc number in its namelist or get it dynamically using MPI routines.

The ECLIS parameters that have to be set all include the label NIS, which used to stand for Northern Ice Sheet. They are :

  • NISEXE : model binary path
  • NISREST : path for model initial restart for this experiment ; should be on MACHINE_RESTART
  • CPLNISRES (for coupled mode only) : path for initial restart for feeding Oasis at first coupling time step (like the model will do for the other coupling time steps) ; can be an empty string if the model does not send any data through Oasis
  • DATA_NIS : directory holding model fixed data ; all its files will be made available to the binary at run time through symbolic links ; can be an empty string if not applicable
  • NISNAMREF : path for model base namelist ; will be copied at experiment install time
  • UPDNAMNIS : path for a script for updating the base namelist copy for each monthly run ; will be invoked with arguments : NISNAM EXPID YEAR MONTH DAY NDAY NPROC_NIS
  • NISNAM : model namelist filename, as expected by the model in the model run directory
  • NISRESIN : fixed name of model input restart, as expected by the model binary
  • NISRESOUT : fixed name of model output restart, as generated by the model binary
  • NISLISTOUT : fixed name of the model listing ; it will be made available in the relance directory
  • POSTNIS : script for post-processing the model outputs ; its is launched for every model run (so, monthly) with arguments EXPID and YYMMDATE and must echoe the list of post-processed files that should be archived ; this is the place for grouping small files, and for house keeping of model outputs ; listed files will be moved by ECLIS before running next month
  • NISGTS : ksh script echoing the model timestep value (in seconds) when invoked on its namelist
  • NISCPLNAME : name under which the model will identify itself in communications with the coupler (default is ’grisli’)

The following ECLIS parameters have a default value, which you may change :

  • LNISREST = 1 : Is there a restart file ? (0/1)
  • LNISOUT = 1 ; can be set to 0 if you do not want to archive model outputs
  • NISTAR = 0 : should NIS restarts be tar-ed ? (0/1)
  • NPROC_NIS = 1 : number of processors dedicated to the model
  • NISOUTARCH = EXPARCHDIR/nis/output ; directory for archiving model outputs
  • NISRESARCH = EXPARCHDIR/nis/restart, directory for archiving model restarts
  • CPLNISRESIO = nis.nc (for the coupled mode only) ; name of the coupler restart for this model, at run stage ; same name as in your coupler namelist ; must be used in the namelist even if no input from the model to the coupler (because it is used as an anchor for editing LAG value)
  • NISRESGEN = EXPID.rst.nis.P_DDDD_ ; pattern for naming model restarts in archive
  • CPLNISRESGEN = EXPID.cpl.nis.P_DDDD_.nc (for the coupled mode only) ; name of the coupler restart for this model,in archive

In addition, ECLIS will :

  • set the "lag" value in the namcouple, for the model, to the model time step value
  • set the coupling period in the namcouple, for this model, to the general coupling period value
  • archive model listings if parameter SAVE_LISTING includes letter "N"

Last, you must design a coupling namelist which takes your coupling needs into account. Its section CHANNEL must include this line at his end : _nproc_nis_ flag, where flag is 1 if the model actually communicates with Oasis. You also have to create a coupler restart for initially feeding the coupler (at first time step) with the same kind of field that your model will generate in its run. Grids and coupling weights must also be generated, of course.

For running this model in forced mode, or to provide it with forcing data in coupling mode, you also have to set a few parameters :

  • NISFORCINGS : a string which lists the short labels (hereafter LAB) that you chose to identify the various forcing files
  • FORNISlabel : for each label listed in NISFORCINGS, indicates the corresponding path of forcing files on the archive machine. Use YYYY and MM as placeholders for year and month.
  • NISFORlabel : for each label listed in NISFORCINGS, indicates the filename under which the model binary will read forcing data. It may include YYYY and MM as placeholders for year and month, if necessary
  • NISYEAR_label : for each label listed in NISFORCINGS, indicates the
    forcing evolution scenario should apply ; see explanations given for Arpege forcing parameterrs for YEAR_XXX
  • NISFORYEAR : default value for all NISYEAR_label values
  • NISFRC (optionnal) : a directory on the supercomputer file system that will be used as a buffer (or cache) for forcing files fetched from the archive ; it is useful to set it if you want to save on file transfers with the archive machine, and use next parameter ; default value is $FTEXP/nis_forcings ; this also allows to avoid any forcing file transfer if NISFRC is set to the permanent location of your forcing files. In that case, FORNISlabel values may be paths relative to NISFRC.
  • NISFRC_KEEP (optionnal) : tells if, for each processed month, the forcing data that may be already present in the directory described above should be used (rather than fetched again from the archive machine), and should be let there after use ; default is 1 (for yes : use available data, do not fetch it again)

The attached tar file includes toy examples of the needed scripts


Dans la même rubrique

Breaks in Eclis upward compatibility
le 19 février 2019
par senesi
Eclis and Xios
le 19 février 2019
par senesi
Running ECLIS on cluster Aneto
le 1er février 2016
par senesi
Running ECLIS on a PC or server at CNRM
le 6 janvier 2016
par senesi
Présentation d’ECLIS
le 15 octobre 2013
par senesi