bCovarSetupChem_mod¶
Dependency Diagrams:
![]()
Direct Dependency Diagram¶
![]()
Reverse Dependency Diagram¶
Description
MODULE bCovarSetupChem_mod (prefix=’bcsc’ category=’6. High-level data objects’)
- Purpose
Contains routines for the reading and preparation of background-error covariance elements. Correlation matrices based on horizontally homogeneous/isotropic correlations.
- Comments
Covariances uncoupled from weather variable.
Handles univariate and multivariate covariances. See routines bcsc_readcorns2 and bcsc_sucorns2.
For multiple univariate variables (or univarite blocks of one to multiple variables), one can alternatively have multiple sets of covariance matrices within this module instead of a single covariance matrix setup (similarly to what was done for corvert*).
Quick access
- Variables
- Routines
bcsc_addbgstddev(),bcsc_convol(),bcsc_corvertsetup(),bcsc_finalize(),bcsc_getbgstddev(),bcsc_getcovarch(),bcsc_getscalefactor(),bcsc_rdspstd(),bcsc_rdspstd_newfmt(),bcsc_rdstats(),bcsc_rdstd(),bcsc_rdstd3d(),bcsc_rdstddev(),bcsc_readcorns2(),bcsc_resetcorvert(),bcsc_resethcorrlen(),bcsc_retrievebgstddev(),bcsc_scalestd(),bcsc_setupch(),bcsc_statsexistforvarname(),bcsc_sucorns2(),readcorns(),writecorns()Needed modules
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’)
earthconstants_mod: MODULE earthConstants_mod (prefix=’ec’ category=’8. Low-level utilities and constants’)
obssubspacedata_mod: MODULE obsSubSpaceData_mod (prefix=’oss’ category=’6. High-level data objects’)
gridstatevector_mod: MODULE gridStateVector_mod (prefix=’gsv’ category=’6. High-level data objects’)
globalspectraltransform_mod: MODULE globalSpectralTransform_mod (prefix=’gst’ category=’4. Data Object transformations’)
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’)
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’)
calcheightandpressure_mod: MODULE calcHeightAndPressure_mod (prefix=’czp’ category=’4. Data Object transformations’)Types
- type bcovarsetupchem_mod/unknown_type¶
- Type fields
% corns (*,*,*) [real ,allocatable]
% corvert (*,*,*) [real ,allocatable]
% corverti (*,*,*) [real ,allocatable]
% hcorrlen (*,*) [real ,allocatable]
% initialized [logical ]
% lat (*) [real ,allocatable]
% lon (*) [real ,allocatable]
% ni [integer ]
% nj [integer ]
% nkgdim [integer ]
% nlev [integer ]
% nsposit (*) [integer ,allocatable]
% ntrunc [integer ]
% numvar2d [integer ]
% numvar3d [integer ]
% stddev (*,*,*) [real ,allocatable]
% varnamelist (*) [character ,allocatable]
% vlev (*) [real ,allocatable]
Variables
- bcovarsetupchem_mod/struct_bcsc_bgstats [public]¶
Subroutines and functions
- subroutine bcovarsetupchem_mod/bcsc_setupch(hco_in, vco_in, covarneeded, mode)¶
- Purpose
Set up for constituents static background error covariances.
- Arguments
hco_in [struct_hco ,in,pointer]
vco_in [struct_vco ,in,pointer]
covarneeded [logical ,out]
mode [character ,in] :: ‘Analysis’ or ‘BackgroundCheck’
- Called from
- Call to
gsv_varexist(),vnl_varkindfromvarname(),utl_abort(),gst_setup(),bcsc_rdstats(),bcsc_sucorns2()
- subroutine bcovarsetupchem_mod/bcsc_getscalefactor(scalefactorout)¶
- Purpose
To set scaling factors for background error std. dev.
- Arguments
scalefactorout (*,*) [real ,out] :: Error std. dev. scale factor
- Called from
- subroutine bcovarsetupchem_mod/bcsc_rdstats()¶
- Purpose
To read chemical constituents background stats file.
- Called from
- Call to
utl_abort(),vco_setupfromfile(),vco_equal(),bcsc_readcorns2(),bcsc_rdstddev(),bcsc_scalestd()
- subroutine bcovarsetupchem_mod/bcsc_scalestd()¶
- Purpose
To scale error standard-deviation values.
- Called from
- Call to
- subroutine bcovarsetupchem_mod/bcsc_readcorns2()¶
- Purpose
To read correlation information and to form the correlation matrix.
- Notes
Can read distinct block diagonal matrices with or without cross-correlations.
- Called from
- Call to
- subroutine bcovarsetupchem_mod/bcsc_convol()¶
- Called from
- Call to
gst_getrmu(),gst_zleginv(),gst_zlegdir(),utl_fstlir(),gst_getzleg(),utl_fstecr()
- subroutine bcovarsetupchem_mod/bcsc_rdstddev()¶
- Purpose
To read stddev and to set as 3D fields.
- Called from
- Call to
utl_fstlir(),bcsc_rdstd3d(),bcsc_rdstd(),bcsc_rdspstd(),utl_abort()
- subroutine bcovarsetupchem_mod/bcsc_rdspstd()¶
- Called from
- Call to
- subroutine bcovarsetupchem_mod/bcsc_rdspstd_newfmt()¶
- subroutine bcovarsetupchem_mod/bcsc_rdstd()¶
- Purpose
To read 2D stddev and to store as 3D
- Called from
- Call to
- subroutine bcovarsetupchem_mod/bcsc_rdstd3d()¶
- Purpose
To read 3D stddev.
Originally based on bcsc_rdspstd_newfmt
- Called from
- Call to
vnl_varlevelfromvarname(),utl_abort(),utl_fstlir(),gsv_field3d_hbilin()
- subroutine bcovarsetupchem_mod/bcsc_sucorns2()¶
- Called from
- Call to
gasparicohn(),bcsc_corvertsetup(),readcorns(),utl_abort(),writecorns()
- subroutine bcovarsetupchem_mod/bcsc_corvertsetup()¶
- Purpose
To compute total vertical correlations (bcsc_corvert) and its inverse (bgStats%corverti; currently for each block matrix).
- Note
Currently assumes no (or neglects) cross-correlations
- Called from
- Call to
- subroutine bcovarsetupchem_mod/writecorns(nmat, cletiket, nlev)¶
- Arguments
nmat [integer ,in]
cletiket [character ,in]
nlev [integer ,in]
- Called from
- Call to
- subroutine bcovarsetupchem_mod/readcorns(lfound, nmat, cletiket)¶
- Arguments
lfound (*) [logical ,out]
nmat [integer ,in]
cletiket [character ,in]
- Called from
- Call to
- function bcovarsetupchem_mod/gasparicohn(ztlen, zr)¶
- Arguments
ztlen [real ,in]
zr [real ,in]
- Return
gasparicohn [real ]
- subroutine bcovarsetupchem_mod/bcsc_finalize()¶
- Called from
- subroutine bcovarsetupchem_mod/bcsc_getcovarch(bgstatsout[, transformvarkind_opt])¶
- Purpose
Pass on covariances in bgStats
- Arguments
bgstatsout [struct_bcsc_bgstats ,out] :: Structure with covariance elements
- Options
transformvarkind_opt [character ,out,] :: Name of variable transform to apply to chemistry variables
- Called from
- Call to
- subroutine bcovarsetupchem_mod/bcsc_resetcorvert(nlev_t, vlev_t)¶
- Purpose
Vertically interpolate error correlation matrix fields to generate approximate matrices/vectors in trial field vertical levels via interpolation. No need to make matrix positive definite for this approximation.
- Arguments
nlev_t [integer ,in] :: Number of vertical levels for trial fields
vlev_t (*) [real ,in,pointer] :: Trial field vertical levels
- subroutine bcovarsetupchem_mod/bcsc_resethcorrlen(nlev_t, vlev_t)¶
- Purpose
To interpolate horizontal correlation length to trial field vertical levels.
- Arguments
nlev_t [integer ,in] :: Number of target vertical levels
vlev_t (*) [real ,in] :: Target vertical levels
- function bcovarsetupchem_mod/bcsc_statsexistforvarname(varname)¶
- Purpose
To check whether covariances have been made available for the specified variable
- Arguments
varname [character ,in]
- Return
bcsc_statsexistforvarname [logical ]
- subroutine bcovarsetupchem_mod/bcsc_getbgstddev(varname, maxsize, xlat, xlong, stddevout[, vlev_opt])¶
- Purpose
To interpolate error std. dev. to obs location.
- Arguments
varname [character ,in] :: Variable name
maxsize [integer ,in] :: Max array size
xlat [real ,in] :: Target latitude
xlong [real ,in] :: Target longitude
stddevout (*) [real ,out] :: Error std. dev.
- Options
vlev_opt (*) [real ,in,] :: Target vertical levels
- Call to
- subroutine bcovarsetupchem_mod/bcsc_addbgstddev(headerindex, stddevin, obsdatamaxsize)¶
- Purpose
To add background stddev profiles (and inverse) to bgStddev which can be retrieved later using a header index.
- Arguments
headerindex [integer ,in]
stddevin (*,*) [real ,in]
obsdatamaxsize [integer ,in]
- Call to
- function bcovarsetupchem_mod/bcsc_retrievebgstddev(dim1, dim2, headerindex)¶
- Purpose
To retrieve previously saved background stddev profiles in bgStddev from the header index of the observation.
- Arguments
dim1 [integer ,in] :: Dimensions of output array
dim2 [integer ,in] :: Dimensions of output array
headerindex [integer ,in] :: Index of observation
- Return
stddevout (dim1,dim2) [real ]
- Call to