calcStatsLam_mod¶
Dependency Diagrams:
Description
MODULE calcStatsLam_mod (prefix=’csl’ category=’1. High-level functionality’)
- Purpose
To compute homogeneous and isotropic background error covariances from forecast error estimate in model variable space (limited-area version).
Quick access
- Routines
applyhorizloc()
,applyvertloc()
,calcbsqrt()
,calchorizscale()
,calclocalcorrelations()
,calcspectralstats()
,calctotvertcorrel()
,calcvertcorrel()
,csl_computebhi()
,csl_setup()
,csl_toolbox()
,horizcorrelfunction()
,normalizepowerspectrum()
,scalestddev()
,setspvertcorrel()
,writecontrolvarinfo()
,writediagstats()
,writehorizscale()
,writepowerspectrum()
,writepressureprofiles()
,writespvertcorrel()
,writetotvertcorrel()
,writevarstats()
Needed modules
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’)
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’)
lamspectraltransform_mod
: MODULE lamSpectralTransform_mod (prefix=’lst’ category=’4. Data Object transformations’)
lamanalysisgridtransforms_mod
: MODULE lamAnalysisGridTransforms_mod (prefix=’lgt’ category=’7. Low-level data objects’)
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’)
localizationfunction_mod
: MODULE localizationFunction_mod (prefix=’lfn’ category=’2. B and R matrices’)
utilities_mod
: MODULE utilities_mod (prefix=’utl’ category=’8. Low-level utilities and constants’)
menetrierdiag_mod
: MODULE menetrierDiag_mod (prefix=’bmd’ category=’1. High-level functionality’)
ensemblestatevector_mod
: MODULE ensembleStateVector_mod (prefix=’ens’ category=’6. High-level data objects’)
gridvariabletransforms_mod
: MODULE gridVariableTransforms_mod (prefix=’gvt’ category=’4. Data Object transformations’)
varnamelist_mod
: MODULE varNameList_mod (prefix=’vnl’ category=’7. Low-level data objects’)
gridbinning_mod
: MODULE gridBinning_mod (prefix=’gbi’ category=’4. Data Object transformations’)
timecoord_mod
: MODULE timeCoord_mod (prefix=’tim’ category=’7. Low-level data objects’)
midasmpi_mod
: MODULE midasMpi_mod (prefix=’mmpi’ category=’8. Low-level utilities and constants’)
calcheightandpressure_mod
: MODULE calcHeightAndPressure_mod (prefix=’czp’ category=’4. Data Object transformations’)Types
- type calcstatslam_mod/unknown_type¶
- Type fields
% gridtype [character ]
% ip1 (*) [integer ,allocatable]
% nlev [integer ]
% nomvar (2) [character ]
% varlevindexend [integer ]
% varlevindexstart [integer ]
- type calcstatslam_mod/unknown_type
- Type fields
% controlvariable (nmaxcontrolvar) [struct_cv ]
% momentumcontrolvar (2) [character ]
% ncontrolvariable [integer ]
% nvarlev [integer ]
Variables
Subroutines and functions
- subroutine calcstatslam_mod/csl_setup(nens_in, hco_ens_in, vco_ens_in, ip2_in)¶
- Purpose
To initialize this module
- Arguments
nens_in [integer ,in]
hco_ens_in [struct_hco ,in,pointer]
vco_ens_in [struct_vco ,in,pointer]
ip2_in [integer ,in]
- Called from
- Call to
utl_abort()
,lgt_createlamtemplategrids()
,hco_setupfromfile()
,lgt_setupfromhco()
,ens_allocate()
,ens_readensemble()
,ens_varexist()
,ens_varnameslist()
,vnl_varlevelfromvarname()
,ens_getnumlev()
,ens_getoffsetfromvarname()
,ens_getnumk()
,ens_writeensemble()
,ens_modifyvarname()
,ens_computemean()
,ens_removemean()
,ens_computestddev()
- subroutine calcstatslam_mod/csl_computebhi()¶
- Purpose
To compute an homogeneous and isotopic B matrix
- Called from
- Call to
ens_varnameslist()
,gsv_allocate()
,ens_getnumstep()
,ens_gethco()
,ens_getvco()
,tim_getdatestamp()
,gbi_setup()
,ens_normalize()
,calcspectralstats()
,calchorizscale()
,calctotvertcorrel()
,setspvertcorrel()
,calcbsqrt()
,scalestddev()
,writevarstats()
,ens_copyensmean()
,ens_copyensstddev()
,writediagstats()
,ens_deallocate()
,gsv_deallocate()
- subroutine calcstatslam_mod/csl_toolbox()¶
- Purpose
High-level control of various diagnostic tools
- Called from
- Call to
ens_normalize()
,calcvertcorrel()
,calcspectralstats()
,horizcorrelfunction()
,ens_varnameslist()
,gsv_allocate()
,ens_getnumstep()
,ens_gethco()
,ens_getvco()
,tim_getdatestamp()
,ens_copyensstddev()
,gio_writetofile()
,gsv_deallocate()
,calclocalcorrelations()
,bmd_setup()
,bmd_localizationradii()
,utl_abort()
,writepressureprofiles()
,ens_deallocate()
- subroutine calcstatslam_mod/calcspectralstats(ensperts, spvertcorrel, powerspectrum, normb)¶
- Purpose
To compute background-error covariances in spectral space from an ensemble of gridded data
- Arguments
ensperts [struct_ens ,inout]
spvertcorrel (bhi%nvarlev,bhi%nvarlev,ntrunc)+1) [real ,out]
powerspectrum (bhi%nvarlev,ntrunc)+1) [real ,out]
normb (bhi%nvarlev,bhi%nvarlev,ntrunc)+1) [real ,out]
- Called from
- Call to
lst_setup()
,ens_getlatlonbounds()
,ens_getonelev_r4()
,lst_vartransform()
,applyvertloc()
,normalizepowerspectrum()
,applyhorizloc()
- subroutine calcstatslam_mod/normalizepowerspectrum(powerspectrum, normpowerspectrum)¶
- Purpose
To convert spectral variances into spectral correlations
- Arguments
powerspectrum (bhi%nvarlev,ntrunc)+1) [real ,in]
normpowerspectrum (bhi%nvarlev,ntrunc)+1) [real ,out]
- Called from
- Call to
- subroutine calcstatslam_mod/calchorizscale(horizscale, spcovariance)¶
- Purpose
To compute horizontal lenght scales based on the power spectra
- Arguments
horizscale (bhi%nvarlev) [real ,out]
spcovariance (bhi%nvarlev,bhi%nvarlev,ntrunc)+1) [real ,in]
- Called from
- subroutine calcstatslam_mod/calctotvertcorrel(totvertcorrel, spvertcorrel, powerspectrum)¶
- Purpose
To compute the total vertical correlations (i.e. gridpoint equivalent)
- Arguments
totvertcorrel (bhi%nvarlev,bhi%nvarlev) [real ,out]
spvertcorrel (bhi%nvarlev,bhi%nvarlev,ntrunc)+1) [real ,in]
powerspectrum (bhi%nvarlev,ntrunc)+1) [real ,in]
- Called from
- subroutine calcstatslam_mod/calcbsqrt(bsqrt, b)¶
- Purpose
To compute the sqare-root of B
- Arguments
bsqrt (bhi%nvarlev,bhi%nvarlev,ntrunc)+1) [real ,out]
b (bhi%nvarlev,bhi%nvarlev,ntrunc)+1) [real ,in]
- Called from
- Call to
- subroutine calcstatslam_mod/setspvertcorrel(spvertcorrel)¶
- Purpose
To discard some user-defined cross-correlations
- Arguments
spvertcorrel (bhi%nvarlev,bhi%nvarlev,ntrunc)+1) [real ,inout]
- Called from
- subroutine calcstatslam_mod/calcvertcorrel(ensperts)¶
- Purpose
To compute vertical correlations from an ensemble of gridded data
- Arguments
ensperts [struct_ens ,inout]
- Called from
- Call to
ens_getlatlonbounds()
,ens_getonelev_r4()
,writetotvertcorrel()
- subroutine calcstatslam_mod/horizcorrelfunction(normb)¶
- Purpose
To compute and write the horizontal correlation function of every variables and levels in the correlation formulation of the B matrix (i.e. C matrix)
- Arguments
normb (bhi%nvarlev,bhi%nvarlev,ntrunc)+1) [real ,in]
- Called from
- Call to
ens_varnameslist()
,gsv_allocate()
,ens_getnumstep()
,ens_getvco()
,tim_getdatestamp()
,lst_setup()
,lst_vartransform()
,gio_writetofile()
,gsv_deallocate()
- subroutine calcstatslam_mod/applyhorizloc(normpowerspectrum)¶
- Purpose
To apply horizontal localization to the spectral correlations
- Arguments
normpowerspectrum (bhi%nvarlev,ntrunc)+1) [real ,inout]
- Called from
- Call to
lst_setup()
,lst_vartransform()
,lfn_setup()
,lfn_createbiperfunction()
,normalizepowerspectrum()
- subroutine calcstatslam_mod/applyvertloc(spvertcorrel)¶
- Purpose
To apply vertical localization to the spectral correlations
- Arguments
spvertcorrel (bhi%nvarlev,bhi%nvarlev,ntrunc)+1) [real ,inout]
- Called from
- Call to
- subroutine calcstatslam_mod/scalestddev(statevector_stddev)¶
- Purpose
To scale the gridpoint background-error standard deviations
- Arguments
statevector_stddev [struct_gsv ,inout]
- Called from
- Call to
gsv_getnumk()
,gsv_getvarnamefromk()
,gsv_getlevfromk()
,vnl_varlevelfromvarname()
- subroutine calcstatslam_mod/writevarstats(bsqrt, statevector_stddev)¶
- Purpose
To write data needed for VAR applications, i.e C^1/2 and stdDev
- Arguments
bsqrt (bhi%nvarlev,bhi%nvarlev,ntrunc)+1) [real ,in]
statevector_stddev [struct_gsv ,in]
- Called from
- Call to
gio_writetofile()
,writecontrolvarinfo()
,writespvertcorrel()
- subroutine calcstatslam_mod/writediagstats(normb, spvertcorrel, totvertcorrel, statevector_mean, statevector_stddevgridpoint, powerspectrum, horizscale)¶
- Purpose
To write other relevant data computed during the calculation of Bhi that are not needed for VAR applications
- Arguments
normb (bhi%nvarlev,bhi%nvarlev,ntrunc)+1) [real ,in]
spvertcorrel (bhi%nvarlev,bhi%nvarlev,ntrunc)+1) [real ,in]
totvertcorrel (bhi%nvarlev,bhi%nvarlev) [real ,in]
statevector_mean [struct_gsv ,in]
statevector_stddevgridpoint [struct_gsv ,in]
powerspectrum (bhi%nvarlev,ntrunc)+1) [real ,in]
horizscale (bhi%nvarlev) [real ,in]
- Called from
- Call to
gio_writetofile()
,writespvertcorrel()
,writetotvertcorrel()
,writepowerspectrum()
,writehorizscale()
- subroutine calcstatslam_mod/writespvertcorrel(spvertcorrel, iun, nomvar_in, etiket_in)¶
- Purpose
To write vertical correlations in spectral space
- Arguments
spvertcorrel (bhi%nvarlev,bhi%nvarlev,ntrunc)+1) [real ,in]
iun [integer ,in]
nomvar_in [character ,in]
etiket_in [character ,in]
- Called from
- subroutine calcstatslam_mod/writetotvertcorrel(totvertcorrel, iun, nomvar_in, etiket_in)¶
- Purpose
To write the total vertical correlations (i.e. gridpoint equivalent)
- Arguments
totvertcorrel (bhi%nvarlev,bhi%nvarlev) [real ,in]
iun [integer ,in]
nomvar_in [character ,in]
etiket_in [character ,in]
- Called from
- subroutine calcstatslam_mod/writepowerspectrum(powerspectrum, iun, etiket_in, cv_type)¶
- Purpose
To write the power spectrum
- Arguments
powerspectrum (bhi%nvarlev,ntrunc)+1) [real ,in]
iun [integer ,in]
etiket_in [character ,in]
cv_type [integer ,in]
- Called from
- subroutine calcstatslam_mod/writehorizscale(horizscale, iun, etiket_in, cv_type)¶
- Purpose
To write the horizontal lenght scales
- Arguments
horizscale (bhi%nvarlev) [real ,in]
iun [integer ,in]
etiket_in [character ,in]
cv_type [integer ,in]
- Called from
- subroutine calcstatslam_mod/writecontrolvarinfo(iun)¶
- Purpose
To write the control variable related info
- Arguments
iun [integer ,in]
- Called from
- subroutine calcstatslam_mod/writepressureprofiles()¶
- Purpose
To write the MM and TH pressure profiles used for vertical localization
- Called from
- subroutine calcstatslam_mod/calclocalcorrelations(ensperts)¶
- Purpose
To compute the local horizontal correlation for some ‘reference’ grid points
- Arguments
ensperts [struct_ens ,inout]
- Called from
- Call to
ens_varnameslist()
,gsv_allocate()
,ens_getnumstep()
,ens_gethco()
,ens_getvco()
,tim_getdatestamp()
,gsv_zero()
,ens_copymember()
,gsv_transposetilestovarslevs()
,gsv_scale()
,gio_writetofile()
,gsv_deallocate()