midas_sstTrial

link to source code

Dependency Diagrams:

midas_sstTrial.svg

Direct Dependency Diagram

program  midas_ssttrial
Purpose

Main program to compute SST background state.

Algorithm

The background state of SST is computed from the previous SST analysis field using a relaxation towards climatology as follows: \(X_{b}(t) = (X_{a}(t-1) - X_{clim}(t-1)) * \alpha + X_{clim}(t)\), where \(X_{b}(t)\) is a resulting background state at time \(t\), \(X_{a}(t-1)\) is analysis state at time \(t-1\), \(\alpha\) is a relaxation coefficient, \(X_{clim}(t)\) is a climatology state at time \(t\), computed as an interpolation in time between climatological field of the current and the following month for the current day of the month.

Input and Output Files

Description of file

analysis

In - SST analysis field

climatology

In - 12 monthly climatological SST fields

trial

Out - SST background (trial) field

Synopsis

Below is a summary of the SSTtrial program calling sequence:

  • Initial setups:

  • Setup horizontal and vertical grid objects for “analysis grid” from analysis.

  • Setup gridStateVector modules.

  • Initialize a time objects tim_setup

  • Initialize datastamps from climatology file

  • Computation

  • obgd_getClimatology to read SST climatological fields from a standard file, to interpolate the field in time fot the current day \(t\) in current month \(m\) as follows \(X_{clim}(t) = X_{clim}(m) + (t - 1) /(N - 1) * (X_{clim}(m+1) - X_{clim}(m))\), where \(N\) is a number of days in the current month

  • obgd_computeSSTrial to compute the background field and save it into a standard file

Options

List of namelist blocks that can affect the SSTtrial program.

  • The use of SSTtrial program is controlled by the namelist block &NAMSSTTRIAL read by the SSTtrial program.

    • etiketAnalysis etiket to put into output standard file

    • datestampClim list of twelve datestamps of climatological fields in the climatology file

    • alphaClim a parameter defining the relaxation towards climatology.

Needed modules

  • version_mod: MODULE version_mod (prefix=’ver’ category=’8. Low-level utilities and constants’)

  • ramdisk_mod: MODULE ramDisk_mod (prefix=’ram’ category=’8. Low-level utilities and constants’)

  • utilities_mod: MODULE utilities_mod (prefix=’utl’ category=’8. Low-level utilities and constants’)

  • midasmpi_mod: MODULE midasMpi_mod (prefix=’mmpi’ category=’8. Low-level utilities and constants’)

  • horizontalcoord_mod: MODULE horizontalCoord_mod (prefix=’hco’ category=’7. Low-level data objects’)

  • verticalcoord_mod: MODULE verticalCoord_mod (prefix=’vco’ category=’7. Low-level data objects’)

  • timecoord_mod: MODULE timeCoord_mod (prefix=’tim’ category=’7. Low-level data objects’)

  • gridstatevector_mod: MODULE gridStateVector_mod (prefix=’gsv’ category=’6. High-level data objects’)

  • oceanbackground_mod: MODULE oceanBackground_mod (prefix=’obgd’ category=’1. High-level functionality’)

Routines called

ver_printnameandversion(), mmpi_initialize(), utl_tmg_start(), ram_setup(), obgd_computesstrial(), utl_tmg_stop(), utl_abort(), tim_setup(), tim_getdatestamp(), gsv_setup(), hco_setupfromfile(), vco_setupfromfile()