wiki:Projects/NEMOVAR/Notes

Version 28 (modified by cthomas, 4 years ago) (diff)

Notes on NEMOVAR

Introduction

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
  • rose-suite.info: basic suite info
  • rose-suite.conf: configuration of variables used in the suite (including paths)
  • meta/rose-meta.conf: information about the variables defined in rose-suite.conf

Variables

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 following directory:

svn://puma.nerc.ac.uk/NEMOCICE_svn/UKMO/branches/dev/annette/r5062_standalone_apps_MONSooN/config/Rose/apps/

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.

daily_fluxes

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
  • rose-app.conf: sets the default command to prepare_fluxes, defines INPUT_DIR
  • bin/prepare_fluxes: Script to copy flux files from INPUT_DIR to OUTDIR_FLUXES and unzip them
  • opt/rose-app-FOAM_v13.conf: defines INPUT_DIR (this is overridden by rose-app.conf)

daily_observations

This corresponds to the subdirectory hindcast_observations. This app copies the daily observation files.

  • app-interface.conf:
  • rose-app.conf:
  • bin/NemoQcProg_ExtractAndProcess:
  • bin/NemoScr_ObsPreProc:
  • opt/rose-app-altimeter.conf:
  • opt/rose-app-ghrsst_avhrr.conf:
  • opt/rose-app-ghrsst_metop.conf:
  • opt/rose-app-profile.conf:
  • opt/rose-app-seaice1.conf:
  • opt/rose-app-seaice2.conf:
  • opt/rose-app-surface.conf:

fixed_ancillary

This corresponds to the subdirectory GO5_orca025_ancillary. This app copies ancillary files into the output directory.

  • rose-app.conf: defines a variety of environment variables (pointing to NEMO data directories) and creates softlinks The environment variables are: NEMO_ANCIL, NEMO_FORCE, NEMO_GRIDS, NEMO_INPUTS, NEMO_EXECS and NEMO_IODEF
  • bin/copy_ancilliary: empty
  • bin/operational_ancilliary: creates a large number of softlinks

fixed_restarts

This corresponds to the subdirectory initial_restarts. This app copies the initial restarts.

  • rose-app.conf: defines RESTART_DIR
  • bin/copy_restarts: creates a link from RESTART_DIR to OUTDIR_RESTARTS

nemovar

This corresponds to the subdirectory nemovar. This app configures NEMOVAR.

  • rose-app.conf: defines a large number of namelist parameters
  • app-interface.conf: defines INDIR_ANCILLARY, INDIR_ALTBIAS, INDIR_INNOVATIONS, OUTDIR_ALTBIAS and OUTDIR_INCREMENTS
  • bin/helper_functions.sh:
  • bin/init_nemovar.sh:
  • bin/run_nemovar.sh:
  • bin/run_sstbias.sh:
  • file/iodef.xml:
  • file/xmlio_server.def:
  • opt/rose-app-orca025.conf:
  • opt/rose-app-sstbias-orca025.conf:

nemo_cice

This corresponds to the subdirectory GO5_nemo_GSI6_cice. This app configures NEMO-CICE.

  • rose-app.conf: defines a large number of namelist parameters
  • app-interface.conf: defines INDIR_EXEC, INDIR_ANCILLARY, INDIR_FLUXES, INDIR_BACKGROUND_RESTARTS, obsoper variables (INDIR_OBSERVATIONS, INDIR_ALTBIAS, OUTDIR_INNOVATIONS, OUTDIR_ASSIM_BACKGROUND), iau varibales (INDIR_INCREMENTS, OUTDIR_ANALYSIS_RESTARTS)
  • bin/helper_functions.sh
  • bin/run_nemo_cice: patched version removes handle_observations and processing profb
  • bin/update_nemo_nl
  • meta/rose-meta.conf
  • opt/rose-app-iau.conf
  • opt/rose-app-obsoper.conf

fcm_make_nemo

This corresponds to the subdirectory fcm_make_puma_GO5_nemo_GSI6_cice. This app builds NEMO and related programs.

  • rose-app.conf: empty
  • file/fcm-make.cfg: links to other .cfg files
  • file/fcm-make-GO5.cfg: for compiling NEMO
  • file/fcm-make-GSI5.cfg: for compiling CICE
  • file/pwr6-xlf-opt.cfg: similar to a Makefile

NEMO-CICE

namelist

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
  • run DAILY_OBSERVATIONS
  • 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

Runtime

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

Output

Random questions

  • Where is OUTDIR_RESTARTS set?