midas_pseudoSSTobs¶
Dependency Diagrams:
- program midas_pseudosstobs¶
- Purpose
Main program to produce pseudo SST observations in ice-covered areas. Pseudo SST observations are needed to prevent the propagation of analysis increments to the ice-covered areas, that may result in undesirable sea-ice melting.
—
- Algorithm
Pseudo SST observations are assigned to the ice-covered water points. First, a global sea-ice analysis is read. The sea-ice analysis file contains a mandatory sea-water fraction field. The grid and land-ocean mask are read from the
analysisgrid
file.–
Second, the number of ice-covered water points, including concerned inland water points, are computed. If the number of ice-covered water points is zero, an empty observation SQLite file is created. If not, the computation of pseudo observations starts.
–
First, the index array of ice-covered water points are randomly shuffled to prevent the insertion of pseudo observations at the same locations that would lead to spatial correlation of observations. Second, the pseudo observations of sea surface temperature \(T\) are inserted at every ice-covered inland water point \(k\), where the value of observations is computed as follows: \(T(k)=(1 - w(k)) * T_{fw} + w(k) * T_{s}\), where \(w(k)\) is the sea-water fraction at the point \(k\), \(T_{fw}\) is the temperature of fresh water below the ice, \(T_{s}\) is a temperature of the sea water below the ice. The pseudo observations are inserted into every \(N\)-th point of sea water ice-covered points, where the value of observation is defined as \(T_{s}\).
–
The computed observation values along with the corresponding coordinates are put into
obsSpaceData
. Finally, output SQLite files are created.–
Input and Output Files
Description of file
analysisgrid
In - File defining sea-ice global grid
seaice_analysis
In - File containing
LG
andVF
fields
obsfiles_sst_pseudo.updated/obssst_pseudo_$NNNN_$NNNN
Out - Pseudo obs file for each MPI task
–
- Synopsis
Below is a summary of the
pseudoSSTobs
program calling sequence:
Initial setups:
Setup horizontal and vertical grid objects for “analysis grid” from
analysisgrid
.Setup
obsSpaceData
object.Setup
gridStateVector
module.Computation
utl_randomOrderInt
random shuffle the ice-covered point indices
oobs_computeObsData
compute pseudo observation locations and valuesand save them in SQLite files.
–
- Options
List of namelist blocks that can affect the
pseudoSSTobs
program.
The use of
pseudoSSTobs
program is controlled by the namelist block&pseudoSSTobs
read by thepseudoSSTobs
program.
iceFractionThreshold
the sea-ice fraction threshold to definethe presence of ice at each particular point
outputSST
the value of \(T_{s}\) in K;
outputFreshWaterST
the value of \(T_{fw}\) in K;
seaiceThinning
pseudo observations are inserted into each \(N\)-th point,this parameter controls the observation thinning
outputFileName
controls the output file names
etiket
etiket to put into the table “resume” of output SQLite file
seaWaterThreshold
a threshold to distinguish sea and fresh water–
Module
Namelist
Description of what is controlled
oceanObservations_mod
pseudoSSTobs
parameters of pseudo SST observations
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’)
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’)
midasmpi_mod
: MODULE midasMpi_mod (prefix=’mmpi’ category=’8. Low-level utilities and constants’)
oceanobservations_mod
: MODULE oceanObservations_mod (prefix=’oobs’ category=’1. High-level functionality’)
gridstatevector_mod
: MODULE gridStateVector_mod (prefix=’gsv’ category=’6. High-level data objects’)
obsspacedata_mod
: MODULE obsSpaceData_mod (prefix=’obs’ category=’6. High-level data objects’)Routines called
ver_printnameandversion()
,mmpi_initialize()
,utl_tmg_start()
,ram_setup()
,oobs_pseudosst()
,utl_tmg_stop()
,utl_abort()
,hco_setupfromfile()
,vco_setupfromfile()
,gsv_setup()
,obs_class_initialize()