midas_sstBias¶
Dependency Diagrams:
- program midas_sstbias¶
- Purpose
Main program to compute Sea Surface Temperature (SST) satellite observations bias estimate.
—
- Algorithm
The bias estimation of SST satellite observations is computed with respect to insitu observations that are considered unbiased. The bias estimation is produced for each sensor separately for day and night time.
–
First, each dataset is put on a regular grid using a small search radius (of ~25 km). It is currently a 1800x900 Gaussian grid. Second, the bias estimation at every gridpoint is computed as an average difference between satellite and insitu observations between all collocated valid satellite and insitu observations within a larger search radius (of ~1500km).
–
The resulting bias estimation \(B_{a}(k)\) at point \(k\) is computed as follows: \(B_{a}(k) = (1 - w(k)) * B_{b}(k) * \beta + w(k) * B_{a}(k)\), where \(B_{b}(k)\) is a background state of the bias estimation computed on the previous day, \(\beta\) is a background term for zero bias in unobserved areas, and \(w(k)\) is a weight which is defined as: \(w(k) = N_{a}(k) / (N_{a}(k) + N_{b})\), where \(N_{a}(k)\) is the number of observations involved in the computation of the current bias estimate \(B_{a}(k)\) at point \(k\) and \(N_{b}\) is a parameter for corresponding number of observations used to compute the background state \(B_{b}(k)\).
Input and Output Files
Description of file
analysisgrid
In - File containing the grid where the bias is computed
seaice_analysis
In - File containing
LG
andVF
fields
obsfiles_$FAM/obs$FAM_$NNNN_$NNNN
In - Observation file for each “family” and MPI task
searchRadius
In - ‘Large’ search radius field to compute biases
trlm_01
In - Background state of the bias estimation
satellite_bias.fst
Out - Bias estimations
auxOutput.fst
Out - Auxiliary output (optional): number of observations and weight fields
–
- Synopsis
Below is a summary of the
SSTbias
program calling sequence:
Initial setups:
Setup horizontal and vertical grid objects for “analysis grid” from
analysisgrid
.Setup
obsSpaceData
object and read observations from files:inn_setupObs
.Setup
columnData
andgridStateVector
modules.Computation
ocm_readMaskFromFile
get the land-ocean mask
oobs_computeObsData
compute pseudo observation valuesand their coordinates and save them in SQLite files.
sstb_getGriddedObs
get all datasets on a regular grid
sstb_getGriddedBias
compute bias estimation for each sensor,for day time or night time on a regular grid, and save the results into an output standard file.
–
- Options
List of namelist blocks that can affect the
SSTbias
program.
The use of
SSTbias
program is controlled by the namelist block&namSSTbiasEstimate
read by theSSTbias
program.
iceFractionThreshold
the sea-ice fraction threshold to define the presence of ice
searchRadius
horizontal search radius for observation gridding
maxBias
max allowed insitu-satellite difference in degrees
numberPointsBG
\(N_{b}\), number of points to compute the background bias estimation
sensorList
name of sensor
weightMin
minimum value of weight
weightMax
maximum value of weight
saveAuxFields
to store or not auxiliary fields: nobs and weight
bgTermZeroBias
background term to zero bias–
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’)
mathphysconstants_mod
: MODULE mathPhysConstants_mod (prefix=’mpc’ 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’)
obsspacedata_mod
: MODULE obsSpaceData_mod (prefix=’obs’ category=’6. High-level data objects’)
gridstatevector_mod
: MODULE gridStateVector_mod (prefix=’gsv’ category=’6. High-level data objects’)
obsfiles_mod
: MODULE obsFiles_mod (prefix=’obsf’ category=’3. Observation input/output’)
innovation_mod
: MODULE innovation_mod (prefix=’inn’ category=’1. High-level functionality’)
sstbias_mod
: MODULE sstBias_mod (prefix=’sstb’ category=’1. High-level functionality’)
columndata_mod
: MODULE columnData_mod (prefix=’col’ category=’6. High-level data objects’)Routines called
ver_printnameandversion()
,mmpi_initialize()
,utl_tmg_start()
,ram_setup()
,sstb_computebias()
,obs_finalize()
,col_deallocate()
,utl_tmg_stop()
,tim_setup()
,obsf_setup()
,tim_getdatestamp()
,tim_setdatestamp()
,utl_abort()
,mpc_printconstants()
,gsv_setup()
,hco_setupfromfile()
,vco_setupfromfile()
,col_setvco()
,inn_setupobs()
,col_setup()
,col_allocate()
,obs_numheader()