analysisErrorOI_mod¶
Dependency Diagrams:
Description
MODULE analysisErrorOI_mod (prefix=’aer’ category=’1. High-level functionality’)
- Purpose
Calculate the analysis-error standard deviation. The method used is Optimal Interpolation, where it is assumed that only a subset of the total number of observations influence the analysis at a given grid point.
Quick access
- Types
- Routines
aer_analysiserror()
,aer_computeanlerrorstd()
,aer_dayssincelastobs()
,aer_propagateanalysiserror()
,aer_propagatedslo()
,findobs()
Needed modules
columndata_mod
: MODULE columnData_mod (prefix=’col’ category=’6. High-level data objects’)
gridstatevector_mod
: MODULE gridStateVector_mod (prefix=’gsv’ category=’6. High-level data objects’)
gridstatevectorfileio_mod
: MODULE gridStateVectorFileIO_mod (prefix=’gio’ category=’4. Data Object transformations’)
kdtree2_mod
: MODULE kdTree2_mod (prefix=’kdtree2’ category=’8. Low-level utilities and constants’)
midasmpi_mod
: MODULE midasMpi_mod (prefix=’mmpi’ category=’8. Low-level utilities and constants’)
obsspacedata_mod
: MODULE obsSpaceData_mod (prefix=’obs’ category=’6. High-level data objects’)
physicsfunctions_mod
: MODULE physicsFunctions_mod (prefix=’phf’ category=’8. Low-level utilities and constants’)
statetocolumn_mod
: MODULE stateToColumn_mod (prefix=’s2c’ category=’4. Data Object transformations’)
varnamelist_mod
: MODULE varNameList_mod (prefix=’vnl’ category=’7. Low-level data objects’)
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’)
obsoperators_mod
: MODULE obsOperators_mod (prefix=’oop’ category=’5. Observation operators’)
message_mod
: MODULE message_mod (prefix=’msg’ category=’8. Low-level utilities and constants’)
oceanmask_mod
: MODULE oceanMask_mod (prefix=’ocm’ category=’7. Low-level data objects’)
timecoord_mod
: MODULE timeCoord_mod (prefix=’tim’ category=’7. Low-level data objects’)Types
- type analysiserroroi_mod/struct_neighborhood¶
- Type fields
% bodyindex (*) [integer ,pointer]
% headerindex (*) [integer ,pointer]
% numobs [integer ]
% procindex (*) [integer ,pointer]
Variables
Subroutines and functions
- subroutine analysiserroroi_mod/aer_analysiserror(obsspacedata, hco_ptr, vco_ptr)¶
- Purpose
Calculate analysis-error variance.
- Arguments
obsspacedata [struct_obs ,inout] :: observation data structure
hco_ptr [struct_hco ,in,pointer] :: horizontal grid definition
vco_ptr [struct_vco ,in,pointer] :: vertical grid definition
- Called from
- Call to
utl_isnamelistpresent()
,msg()
,utl_abort()
,gsv_varnameslist()
,gsv_allocate()
,gio_readfromfile()
,ocm_readmaskfromfile()
,aer_propagateanalysiserror()
,gsv_copymask()
,gsv_modifydate()
,tim_getdatestamp()
,gio_writetofile()
,col_setvco()
,col_allocate()
,obs_numheader()
,s2c_tl()
,gsv_zero()
,gsv_deallocate()
,findobs()
,aer_computeanlerrorstd()
,col_deallocate()
,aer_dayssincelastobs()
- subroutine analysiserroroi_mod/findobs(obsspacedata, statevectortrlerrorstd, numobs, variablename, lcorr, influentobs)¶
- Purpose
Find all observations used for the analysis.
- Arguments
obsspacedata [struct_obs ,in] :: observation data structure
statevectortrlerrorstd [struct_gsv ,in] :: state containing background error stddev
numobs (*,*) [integer ,out] :: number of observations found
variablename [character ,in] :: ‘GL’ for seaice or ‘TM’ for SST
lcorr (*,*) [real ,in] :: horizontal background-error correlation length scale
influentobs (*,*) [struct_neighborhood ,inout,pointer] :: details about observations to use in update
- Called from
- Call to
utl_abort()
,obs_numheader()
,obs_numbody()
,obs_bodyelem_i()
,obs_headelem_i()
,obs_headelem_r()
,s2c_getfootprintradius()
,kdtree2_3dposition()
,kdtree2_create()
,s2c_getweightsandgridpointindexes()
,kdtree2_r_nearest()
- subroutine analysiserroroi_mod/aer_dayssincelastobs(obsspacedata, hco_ptr, vco_ptr, inputfilename, outputfilename, variablename, propagatedslo, hourssincelastanalysis)¶
- Purpose
Update the field “days since last obs” with the newly assimilated obs.
- Arguments
obsspacedata [struct_obs ,inout] :: observation data structure
hco_ptr [struct_hco ,in,pointer] :: horizontal grid definition
vco_ptr [struct_vco ,in,pointer] :: vertical grid definition
inputfilename [character ,in] :: input file name
outputfilename [character ,in] :: output file name
variablename [character ,in] :: name of variable being treated
propagatedslo [logical ,in] :: propagate (increase) Days Since Last Obs in time
hourssincelastanalysis [integer ,in] :: number of hours between analysis times
- Called from
- Call to
gsv_allocate()
,obs_numheader()
,aer_propagatedslo()
,gio_readfromfile()
,gsv_copymask()
,col_setvco()
,col_allocate()
,s2c_tl()
,gsv_getnumlev()
,vnl_varlevelfromvarname()
,obs_headelem_i()
,obs_bodyelem_i()
,s2c_getweightsandgridpointindexes()
,gio_writetofile()
,col_deallocate()
,gsv_deallocate()
- subroutine analysiserroroi_mod/aer_propagateanalysiserror(statevectorerrorstd, oceanmask, variablename, analysisetiket, errorgrowth, hco_ptr, vco_ptr)¶
- Purpose
read analysis error standard deviation field and propagate it forward in time
- Arguments
statevectorerrorstd [struct_gsv ,inout] :: Input: analysis std error; Output: background std error.
oceanmask [struct_ocm ,in] :: ocean-land mask (1=water, 0=land)
variablename [character ,in] :: variable name
analysisetiket [character ,in] :: analysis etiket in the input std file
errorgrowth [real ,in] :: seaice: fraction of ice per hour, SST: estimated growth
hco_ptr [struct_hco ,in,pointer] :: horizontal coordinates structure, pointer
vco_ptr [struct_vco ,in,pointer] :: vertical coordinates structure, pointer
- Called from
- Call to
- subroutine analysiserroroi_mod/aer_propagatedslo(statevectorerrorstd, inputfilename, outputfilename, hourssincelastanalysis, hco_ptr)¶
- Purpose
propagate the field “days since last obs” in time.
- Arguments
statevectorerrorstd [struct_gsv ,inout] :: read “analysis” into it and increase by hoursSinceLastAnalysis
inputfilename [character ,in] :: input file name
outputfilename [character ,in] :: output file name
hourssincelastanalysis [integer ,in] :: hours since last analysis (namelist variable)
hco_ptr [struct_hco ,in,pointer] :: horizontal grid definition
- Called from
- Call to
gio_readfromfile()
,gsv_modifydate()
,tim_getdatestamp()
,gio_writetofile()
- subroutine analysiserroroi_mod/aer_computeanlerrorstd(obsspacedata, statevectoranlerrorstd, statevectortrlerrorstd, analysisvariable, maxanalysiserrorstddev, influentobs, lcorr)¶
- Purpose
compute analysis error standard deviation for one analysis variable (grid point) at a time
- Arguments
obsspacedata [struct_obs ,in] :: obsSpaceData structure
statevectoranlerrorstd [struct_gsv ,inout] :: state vector for analysis error std deviation
statevectortrlerrorstd [struct_gsv ,in] :: state vector for background error std deviation
analysisvariable [character ,in] :: variable name (‘GL’ or ‘TM’)
maxanalysiserrorstddev [real ,in] :: maximum limit imposed on analysis error stddev
influentobs (*,*) [struct_neighborhood ,in,pointer] :: details about observations to use in update
lcorr (*,*) [real ,in] :: horizontal background-error length scale
- Called from
- Call to
msg()
,utl_tmg_start()
,obs_numbody()
,oop_icescaling()
,obs_bodyelem_r()
,gsv_getnumlev()
,vnl_varlevelfromvarname()
,s2c_getweightsandgridpointindexes()
,utl_abort()
,phf_calcdistance()
,utl_matinverse()
,utl_tmg_stop()