bMatrixHI_mod

link to source code

Dependency Diagrams:

bMatrixHI_mod.svg

Direct Dependency Diagram

bMatrixHI_mod_rev.svg

Reverse Dependency Diagram

Description

MODULE bMatrixHI_mod (prefix=’bhi’ category=’2. B and R matrices’)

Purpose

Performs transformation from control vector to analysis increment (and adjoint transformation) using the background-error covariance matrix based on homogeneous and isotropic correlations. This is the Global version. A separate module exists for limited-area applications.

Quick access

Routines

bhi_bsqrt(), bhi_bsqrtad(), bhi_cain(), bhi_cainad(), bhi_calccorr(), bhi_convol(), bhi_expandtompiglobal(), bhi_expandtompiglobal_r4(), bhi_finalize(), bhi_getscalefactor(), bhi_rdspptot(), bhi_rdspstd(), bhi_rdspstd_newfmt(), bhi_rdstd(), bhi_readcorns2(), bhi_reducetompilocal(), bhi_reducetompilocal_r4(), bhi_scalestd(), bhi_setcrosscorr(), bhi_setup(), bhi_spa2gd(), bhi_spa2gdad(), bhi_sucorns2(), bhi_sutg(), bhi_truncatecv(), copyfromstatevector(), copytostatevector(), gasparicohn(), readcorns_sqrt(), writecorns_sqrt()

Needed modules

  • midasmpi_mod: MODULE midasMpi_mod (prefix=’mmpi’ 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’)

  • 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’)

  • timecoord_mod: MODULE timeCoord_mod (prefix=’tim’ 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’)

  • gridvariabletransforms_mod: MODULE gridVariableTransforms_mod (prefix=’gvt’ category=’4. Data Object transformations’)

  • interpolation_mod: MODULE interpolation_mod (prefix=’int’ category=’4. Data Object transformations’)

  • calcheightandpressure_mod: MODULE calcHeightAndPressure_mod (prefix=’czp’ category=’4. Data Object transformations’)

Variables

Subroutines and functions

subroutine  bmatrixhi_mod/bhi_setup(hco_in, vco_in, cvdim_out[, mode_opt])
Arguments
  • hco_in [struct_hco ,in,pointer]

  • vco_in [struct_vco ,in,pointer]

  • cvdim_out [integer ,out]

Options

mode_opt [character ,in,]

Called from

bmat_setup(), ose_compute_hbht_static(), midas_adjointtest

Call to

utl_abort(), vco_setupfromfile(), vco_equal(), gsv_varexist(), gst_setup(), mmpi_setup_latbands(), mmpi_setup_lonbands(), mmpi_setup_m(), mmpi_setup_n(), gst_ilalist_mpiglobal(), gst_ilalist_mpilocal(), bhi_rdspptot(), bhi_readcorns2(), bhi_sutg(), bhi_rdstd(), bhi_rdspstd_newfmt(), bhi_scalestd(), bhi_sucorns2()

subroutine  bmatrixhi_mod/bhi_getscalefactor(scalefactor_out)
Arguments

scalefactor_out (*) [real ,out]

Called from

osd_calcinflation(), ose_compute_hbht_static()

subroutine  bmatrixhi_mod/bhi_scalestd()
Called from

bhi_setup()

subroutine  bmatrixhi_mod/bhi_sucorns2()
Called from

bhi_setup()

Call to

gasparicohn(), utl_fstecr(), gst_getrmu(), utl_abort(), readcorns_sqrt(), writecorns_sqrt()

subroutine  bmatrixhi_mod/writecorns_sqrt()
Called from

bhi_sucorns2()

Call to

utl_fstecr()

subroutine  bmatrixhi_mod/readcorns_sqrt(lfound_sqrt)
Arguments

lfound_sqrt [logical ,out]

Called from

bhi_sucorns2()

Call to

utl_fstlir(), utl_abort()

function  bmatrixhi_mod/gasparicohn(ztlen, zr)
Arguments
  • ztlen [real ,in]

  • zr [real ,in]

Return

gasparicohn [real ]

Called from

bcsc_sucorns2(), bhi_sucorns2()

subroutine  bmatrixhi_mod/bhi_calccorr(zgd, pcscl, klev)
Arguments
  • zgd (mylonend-(mylonbeg)+1,mylatend-(mylatbeg)+1,klev) [real ,out]

  • pcscl (klev) [real ,in]

  • klev [integer ,in,]

Called from

bhi_sutg()

Call to

gst_getrmu(), utl_abort()

subroutine  bmatrixhi_mod/bhi_sutg()
Called from

bhi_setup()

Call to

utl_getfldprm(), utl_fstlir(), utl_abort(), utl_fstecr(), bhi_calccorr(), gst_setid(), gst_reespe(), gst_getnind()

subroutine  bmatrixhi_mod/bhi_convol()
Called from

bhi_readcorns2()

Call to

gst_getrwt(), gst_getrmu(), gst_zleginv(), gst_zlegdir()

subroutine  bmatrixhi_mod/bhi_setcrosscorr(kn)
Arguments

kn [integer ,in]

Called from

bhi_readcorns2()

subroutine  bmatrixhi_mod/bhi_readcorns2()
Called from

bhi_setup()

Call to

utl_fstlir(), utl_abort(), bhi_setcrosscorr(), bhi_convol()

subroutine  bmatrixhi_mod/bhi_rdspstd()
Called from

bhi_rdspstd_newfmt()

Call to

vnl_varlevelfromvarname(), utl_fstlir(), utl_abort(), gst_zleginv()

subroutine  bmatrixhi_mod/bhi_rdstd()
Called from

bhi_setup()

Call to

vnl_varlevelfromvarname(), utl_fstlir(), utl_abort()

subroutine  bmatrixhi_mod/bhi_rdspstd_newfmt()
Called from

bhi_setup()

Call to

bhi_rdspstd(), vnl_varlevelfromvarname(), utl_fstlir(), utl_abort(), gst_zleginv()

subroutine  bmatrixhi_mod/bhi_rdspptot()
Called from

bhi_setup()

Call to

utl_fstlir(), gst_zleginv()

subroutine  bmatrixhi_mod/bhi_truncatecv(controlvector_inout, ntrunccut)
Arguments
  • controlvector_inout (*) [real ,inout,pointer]

  • ntrunccut [integer ,in] :: ‘)

Call to

utl_abort(), gst_getnind()

subroutine  bmatrixhi_mod/bhi_bsqrt(controlvector_in, statevector[, statevectorref_opt])
Arguments
  • controlvector_in (cvdim_mpilocal) [real ,in]

  • statevector [struct_gsv ,inout]

Options

statevectorref_opt [struct_gsv ,in,]

Called from

bmat_sqrtb(), midas_adjointtest

Call to

bhi_cain(), bhi_spa2gd(), copytostatevector(), gsv_varexist()

subroutine  bmatrixhi_mod/bhi_bsqrtad(statevector, controlvector_out[, statevectorref_opt])
Arguments
  • statevector [struct_gsv ,inout]

  • controlvector_out (cvdim_mpilocal) [real ,inout]

Options

statevectorref_opt [struct_gsv ,in,]

Called from

bmat_sqrtbt(), midas_adjointtest

Call to

gsv_varexist(), copyfromstatevector(), bhi_spa2gdad(), bhi_cainad()

subroutine  bmatrixhi_mod/copytostatevector(statevector, gd)
Arguments
  • statevector [struct_gsv ,inout]

  • gd (mylonend-(mylonbeg)+1,mylatend-(mylatbeg)+1,nkgdim) [real ,in]

Called from

bhi_bsqrt()

Call to

gsv_varexist(), gsv_getdatakind(), gsv_getnumlev(), vnl_varlevelfromvarname()

subroutine  bmatrixhi_mod/copyfromstatevector(statevector, gd)
Arguments
  • statevector [struct_gsv ,inout]

  • gd (mylonend-(mylonbeg)+1,mylatend-(mylatbeg)+1,nkgdim) [real ,out]

Called from

bhi_bsqrtad()

Call to

gsv_varexist(), gsv_getdatakind(), gsv_getnumlev(), vnl_varlevelfromvarname()

subroutine  bmatrixhi_mod/bhi_reducetompilocal(cv_mpilocal, cv_mpiglobal)
Arguments
  • cv_mpilocal (cvdim_mpilocal) [real ,out]

  • cv_mpiglobal (*) [real ,in]

Called from

bmat_reducetompilocal()

Call to

gst_getnind(), utl_abort()

subroutine  bmatrixhi_mod/bhi_reducetompilocal_r4(cv_mpilocal, cv_mpiglobal)
Arguments
  • cv_mpilocal (cvdim_mpilocal) [real ,out]

  • cv_mpiglobal (*) [real ,in]

Called from

bmat_reducetompilocal_r4()

Call to

gst_getnind(), utl_abort()

subroutine  bmatrixhi_mod/bhi_expandtompiglobal(cv_mpilocal, cv_mpiglobal)
Arguments
  • cv_mpilocal (cvdim_mpilocal) [real ,in]

  • cv_mpiglobal (*) [real ,out]

Called from

bmat_expandtompiglobal()

Call to

gst_getnind()

subroutine  bmatrixhi_mod/bhi_expandtompiglobal_r4(cv_mpilocal, cv_mpiglobal)
Arguments
  • cv_mpilocal (cvdim_mpilocal) [real ,in]

  • cv_mpiglobal (*) [real ,out]

Called from

bmat_expandtompiglobal_r4()

Call to

gst_getnind()

subroutine  bmatrixhi_mod/bhi_cain(controlvector_in, hicontrolvector_out)
Arguments
  • controlvector_in (cvdim_mpilocal) [real ,in]

  • hicontrolvector_out (nla_mpilocal,2,nkgdimsqrt) [real ,out]

Called from

bhi_bsqrt()

Call to

gst_getnind()

subroutine  bmatrixhi_mod/bhi_cainad(hicontrolvector_in, controlvector_out)
Arguments
  • hicontrolvector_in (nla_mpilocal,2,nkgdimsqrt) [real ,in]

  • controlvector_out (cvdim_mpilocal) [real ,out]

Called from

bhi_bsqrtad()

Call to

gst_getnind()

subroutine  bmatrixhi_mod/bhi_spa2gd(hicontrolvector_in, gd_out)
Arguments
  • hicontrolvector_in (nla_mpilocal,2,nkgdimsqrt) [real ,in]

  • gd_out (mylonend-(mylonbeg)+1,mylatend-(mylatbeg)+1,nkgdim) [real ,out]

Called from

bhi_bsqrt()

Call to

gst_getnind(), gst_setid(), gst_speree(), gst_getrmu(), gst_reespe(), gst_getrnnp1(), gst_spgd()

subroutine  bmatrixhi_mod/bhi_spa2gdad(gd_in, hicontrolvector_out)
Arguments
  • gd_in (mylonend-(mylonbeg)+1,mylatend-(mylatbeg)+1,nkgdim) [real ,in]

  • hicontrolvector_out (nla_mpilocal,2,nkgdimsqrt) [real ,inout]

Called from

bhi_bsqrtad()

Call to

gst_setid(), gst_spgda(), gst_getrnnp1(), gst_speree(), gst_getrmu(), gst_reespe(), gst_getnind()

subroutine  bmatrixhi_mod/bhi_finalize()
Called from

bmat_finalize()