Version 19 (modified by cthomas, 5 years ago) (diff)

Notes on NEMOVAR


Operation of the NEMOVAR program is controlled by the Rose suite labelled puma-aa164, which is a copy of puma-aa145.

Suite structure

The structure of the suite is the standard one:

  • suite.rc: suite structure and operation
  • basic suite info
  • rose-suite.conf: configuration of variables used in suite (including paths)
  • meta/rose-meta.conf: information about the variables defined in rose-suite.conf


These are the variables that are defined in rose-suite.conf and used in suite.rc.

  • START_POINT: Start point of run
  • RUN_LENGTH: Length of run
  • CYCLE_LENGTH: Length of cycle
  • WALL_CLOCK_LIMIT: Wall clock limit
  • CALENDAR: Calendar used (default '365day')
  • CICE_COL: Number of CICE columns
  • CICE_MAXBK: Maximum number of blocks per processor for CICE
  • CICE_ROW: Number of CICE rows
  • COMPUTE_HOST: Host to use for compilation and/or model run
  • EXTRACT_HOST: Host to use for code extraction
  • NEMO_IPROC: Number of NEMO processes E-W
  • NEMO_JPROC: Number of NEMO processes N-S
  • RUNID: Prefix run ID for output files
  • BUILD: Build model?
  • RUN: Run model?
  • GROUP: User group

Directories included

The following directories are included in rose-suite.conf:

  • file:app/daily_fluxes
  • file:app/daily_observations
  • file:app/fixed_ancillary
  • file:app/fixed_restarts
  • file:app/nemovar
  • file:app/nemo_cice
  • file:app/fcm_make_nemo

By default each directory points towards a location on SVN. The locations are all subdirectories of the apps directory:


Each directory can be checked out locally and modified, in which case the path specified in rose-suite.conf must be changed to point to the local version.

The directories all contain a rose-app.conf file along with other files/subdirectories. Each directory is discussed in more detail below.


This corresponds to the subdirectory operational_atmospheric_forcing. This app copies the daily flux files.

  • app-interface.conf: defines IN_ADDITIONAL_DAYS and OUTDIR_FLUXES
  • opt/rose-app-FOAM_v13.conf: defines INPUT_DIR (this is overridden by rose-app.conf)
  • bin/prepare_fluxes: Script to copy flux files from INPUT_DIR to OUTDIR_FLUXES and unzip them
  • rose-app.conf: sets the default command to prepare_fluxes, redefines INPUT_DIR







Suite operation

This is a rough description of what happens when the suite runs. An example cylc dependency tree can be seen on this page. The suite operates in two stages: the first stage involves compilation and setup and the second stage is where the cycling occurs.

First stage:

  • build nemo
  • run fixed_ancillary (pulls in ancillary information)
  • run fixed_restarts (the background)
  • if all successful, run nemo_cice_obsoper (the observation operator step)

Remaining stages:

  • run daily_fluxes
  • if all successful, run nemo_cice_obsoper (produces innovations & forecast background)
  • DAILY_OBSERVATIONS 'suicides' if nemo_cice_obsoper succeeds
  • if nemo_cice_obsoper succeeds, run nemovar (produces increments)
  • if nemovar succeeds, run nemo_cice_iau at a restart 'P1D' (incremental analysis update - produces analysis restarts)
  • if nemo_cice_iau succeeds, run nemo_cice_obsoper again


When rose suite-run is executed a cylc task is started. This populates the $HOME/cylc-run/puma-aa164 directory