ensembleStateVector_mod

link to source code

Dependency Diagrams:

ensembleStateVector_mod.svg

Direct Dependency Diagram

ensembleStateVector_mod_rev.svg

Reverse Dependency Diagram

Description

MODULE ensembleStateVector_mod (prefix=’ens’ category=’6. High-level data objects’)

Purpose

Store and manipulate ensemble of state vectors and the ensemble mean.

Quick access

Variables

struct_ens

Routines

ens_add(), ens_allocate(), ens_allocatemean(), ens_allocatestddev(), ens_applymasklam(), ens_computemean(), ens_computestddev(), ens_copy(), ens_copy4dto3d(), ens_copyensmean(), ens_copyensstddev(), ens_copyfromstatework(), ens_copymasktogsv(), ens_copymember(), ens_copytoensmean(), ens_copytostatework(), ens_deallocate(), ens_getdatakind(), ens_gethco(), ens_getkfromlevvarname(), ens_getlatlonbounds(), ens_getlevfromk(), ens_getmask(), ens_getnumk(), ens_getnumlev(), ens_getnummembers(), ens_getnumstep(), ens_getnumsubens(), ens_getoffsetfromvarname(), ens_getonelev_r4(), ens_getonelev_r8(), ens_getonelevmean_r8(), ens_getpathname(), ens_getvarnamefromk(), ens_getvco(), ens_insertmember(), ens_isallocated(), ens_modifyvarname(), ens_normalize(), ens_readensemble(), ens_recenter(), ens_removeglobalmean(), ens_removemean(), ens_varexist(), ens_varnameslist(), ens_writeensemble(), ens_zero()

Needed modules

  • ramdisk_mod: MODULE ramDisk_mod (prefix=’ram’ category=’8. Low-level utilities and constants’)

  • midasmpi_mod: MODULE midasMpi_mod (prefix=’mmpi’ category=’8. Low-level utilities and constants’)

  • filenames_mod: MODULE fileNames_mod (prefix=’fln’ category=’7. Low-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’)

  • interpolation_mod: MODULE interpolation_mod (prefix=’int’ 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’)

  • lamanalysisgridtransforms_mod: MODULE lamAnalysisGridTransforms_mod (prefix=’lgt’ category=’7. Low-level data objects’)

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

  • utilities_mod: MODULE utilities_mod (prefix=’utl’ category=’8. Low-level utilities and constants’)

  • varnamelist_mod: MODULE varNameList_mod (prefix=’vnl’ category=’7. Low-level data objects’)

  • codeprecision_mod: MODULE codePrecision_mod (prefix=’pre’ category=’8. Low-level utilities and constants’)

Types

  • type  ensemblestatevector_mod/unknown_type
    Type fields
    • % null [real ,pointer]

    • % onelevel (*,*,*,*) [real ,pointer]

  • type  ensemblestatevector_mod/unknown_type
    Type fields
    • % null [real ,pointer]

    • % onelevel (*,*,*,*) [real ,pointer]

  • type  ensemblestatevector_mod/unknown_type

Variables

  • ensemblestatevector_mod/struct_ens [public]

Subroutines and functions

function  ensemblestatevector_mod/ens_isallocated(ens)
Purpose

Return true if object has been allocated

Arguments

ens [struct_ens ,in]

Return

isallocated [logical ]

Called from

epp_postprocess(), ens_applymasklam()

subroutine  ensemblestatevector_mod/ens_allocate(ens, nummembers, numstep, hco_comp, vco_ens, datestamplist[, hco_core_opt[, varnames_opt[, datakind_opt[, hinterpolatedegree_opt[, filememberindex1_opt]]]]])
Purpose

Allocate an ensembleStateVector object

Arguments
  • ens [struct_ens ,inout]

  • nummembers [integer ,in]

  • numstep [integer ,in]

  • hco_comp [struct_hco ,in,pointer]

  • vco_ens [struct_vco ,in,pointer]

  • datestamplist (*) [integer ,in]

Options
  • hco_core_opt [struct_hco ,in,pointer]

  • varnames_opt (*) [character ,in,]

  • datakind_opt [integer ,in,]

  • hinterpolatedegree_opt [character ,in,]

  • filememberindex1_opt [integer ,in,]

Called from

bmat1d_setupbens(), ben_setuponeinstance(), setupensemble(), ben_bsqrt(), ben_bsqrtad(), csg_toolbox(), readensemble(), csl_setup(), epp_postprocess(), epp_selectsubsample(), omf_ominusfens(), midas_adjointtest, midas_diagbmatrix, midas_enspostprocess, midas_ensembleh, midas_letkf

Call to

ens_deallocate(), gsv_varnameslist(), gsv_allocate(), utl_abort()

subroutine  ensemblestatevector_mod/ens_allocatemean(ens)
Purpose

Allocate the ensemble mean arrays within an ensembleStateVector object

Arguments

ens [struct_ens ,inout]

Called from

ens_copytoensmean(), ens_computemean()

subroutine  ensemblestatevector_mod/ens_allocatestddev(ens)
Purpose

Allocate the ensemble stddev arrays within an ensembleStateVector object

Arguments

ens [struct_ens ,inout]

Called from

ens_computestddev()

subroutine  ensemblestatevector_mod/ens_deallocate(ens)
Purpose

Deallocate an ensembleStateVector object

Arguments

ens [struct_ens ,inout]

Called from

bmat1d_setupbens(), ben_finalize(), ben_bsqrt(), ben_bsqrtad(), csg_toolbox(), readensemble(), csl_computebhi(), csl_toolbox(), ens_allocate(), midas_adjointtest, midas_diagbmatrix, midas_letkf

subroutine  ensemblestatevector_mod/ens_modifyvarname(ens, oldvarname, newvarname)
Purpose

Change an existing variable name within the ensemble. This is only used when the contents of a variable are transformed into another variable in place.

Arguments
  • ens [struct_ens ,inout]

  • oldvarname [character ,in]

  • newvarname [character ,in]

Called from

csg_toolbox(), csl_setup(), lprtopr_ens()

Call to

gsv_modifyvarname()

subroutine  ensemblestatevector_mod/ens_copy(ens_in, ens_out)
Purpose

Copy the contents of one ensembleStateVector object into another

Arguments
  • ens_in [struct_ens ,in]

  • ens_out [struct_ens ,inout]

Called from

ben_bsqrt(), epp_postprocess(), midas_adjointtest, midas_letkf

Call to

utl_abort(), gsv_copymask()

subroutine  ensemblestatevector_mod/ens_copy4dto3d(ens_in, ens_out)
Purpose

Copy contents of a 4D ensemble into a 3D ensemble object by extracting the middle time step.

Arguments
  • ens_in [struct_ens ,in]

  • ens_out [struct_ens ,inout]

Called from

midas_letkf

Call to

utl_abort(), gsv_copymask()

subroutine  ensemblestatevector_mod/ens_add(ens_in, ens_inout[, scalefactorin_opt[, scalefactorinout_opt]])
Purpose

Add the contents of the ens_in ensemble to the ens_inOut ensemble.

Arguments
  • ens_in [struct_ens ,in]

  • ens_inout [struct_ens ,inout]

Options
  • scalefactorin_opt [real ,in,]

  • scalefactorinout_opt [real ,in,]

Called from

epp_postprocess()

Call to

utl_abort()

subroutine  ensemblestatevector_mod/ens_zero(ens)
Purpose

Set the main contents of an ensembleStateVector object to zero

Arguments

ens [struct_ens ,inout]

Called from

ben_setuponeinstance(), midas_diagbmatrix

Call to

utl_abort()

subroutine  ensemblestatevector_mod/ens_copytostatework(ens, datatype[, memberindex_opt[, subensindex_opt]])
Purpose

Copy the selected contents of an ensembleStateVector into the ‘work’ stateVector within the object. The possible types of content are: ‘member’, ‘mean’, or ‘stdDev’.

Arguments
  • ens [struct_ens ,inout]

  • datatype [character ,in]

Options
  • memberindex_opt [integer ,in,]

  • subensindex_opt [integer ,in,]

Call to

utl_abort()

subroutine  ensemblestatevector_mod/ens_copyfromstatework(ens, datatype[, memberindex_opt[, subensindex_opt]])
Purpose

This is the inverse operation as ens_copyToStateWork.

Arguments
  • ens [struct_ens ,inout]

  • datatype [character ,in]

Options
  • memberindex_opt [integer ,in,]

  • subensindex_opt [integer ,in,]

Call to

utl_abort()

function  ensemblestatevector_mod/ens_getonelev_r4(ens, kindex)
Purpose

Return a 4D pointer to a single level of a real4 ensemble. The dimensions of the pointer are: (memberIndex, stepIndex, lonIndex, latIndex)

Arguments
  • ens [struct_ens ,inout]

  • kindex [integer ,in]

Return

onelevlevel (*,*,*,*) [real ,pointer]

Called from

adv_ensemble_tl_r4(), setupensemble(), ben_getperturbation(), ensemblescaledecomposition(), addensmember(), addensmemberad(), calccorrelations2(), calcpowerspec(), spectralfilter2(), calcspectralstats(), calcvertcorrel(), enkf_letkfanalyses(), epp_rtps(), epp_rtpp(), epp_addrandompert(), ens_applymasklam(), gbi_stddev_ens(), hutolq_ens(), lprtopr_ens(), logch_ens(), qlim_saturationlimit_ens(), qlim_rttovlimit_ens(), qlim_setmin_ens(), calcvertlocalizationradii(), vms_computemodesfromens()

function  ensemblestatevector_mod/ens_getonelev_r8(ens, kindex)
Purpose

Return a 4D pointer to a single level of a real8 ensemble. The dimensions of the pointer are: (memberIndex, stepIndex, lonIndex, latIndex)

Arguments
  • ens [struct_ens ,in]

  • kindex [integer ,in]

Return

onelevlevel (*,*,*,*) [real ,pointer]

Called from

adv_ensemble_tl_r8(), adv_ensemble_ad(), addensmember(), addensmemberad(), lsp_lsqrt(), lsp_lsqrtad(), midas_adjointtest, midas_diagbmatrix

function  ensemblestatevector_mod/ens_getonelevmean_r8(ens, subensindex, kindex)
Purpose

Return a 3D pointer to a single level the ensemble mean. The dimensions of the pointer are: (stepIndex, lonIndex, latIndex)

Arguments
  • ens [struct_ens ,inout]

  • subensindex [integer ,in]

  • kindex [integer ,in]

Return

field (*,*,*) [real ,pointer]

Called from

ben_getensmean()

subroutine  ensemblestatevector_mod/ens_copyensmean(ens, statevector[, subensindex_opt])
Purpose

Copy the ensemble mean into the supplied stateVector.

Arguments
  • ens [struct_ens ,inout]

  • statevector [struct_gsv ,inout]

Options

subensindex_opt [integer ,in,]

Called from

ben_setuponeinstance(), csl_computebhi(), enkf_letkfanalyses(), epp_postprocess(), midas_ensembleh, midas_letkf

Call to

gsv_isallocated(), gsv_varnameslist(), gsv_allocate(), tim_getdatestamp()

subroutine  ensemblestatevector_mod/ens_copytoensmean(ens, statevector[, subensindex_opt])
Purpose

Copy the supplied stateVector into the ensemble mean.

Arguments
  • ens [struct_ens ,inout]

  • statevector [struct_gsv ,inout]

Options

subensindex_opt [integer ,in,]

Called from

midas_ensembleh

Call to

gsv_isallocated(), utl_abort(), ens_allocatemean()

subroutine  ensemblestatevector_mod/ens_copyensstddev(ens, statevector)
Purpose

Copy the ensemble StdDev into the supplied stateVector.

Arguments
  • ens [struct_ens ,inout]

  • statevector [struct_gsv ,inout]

Called from

ben_setuponeinstance(), csg_toolbox(), csl_computebhi(), csl_toolbox(), epp_postprocess(), calchorizlocalizationradii(), calcvertlocalizationradii()

Call to

gsv_isallocated(), gsv_varnameslist(), gsv_allocate(), tim_getdatestamp()

subroutine  ensemblestatevector_mod/ens_copymember(ens, statevector, memberindex)
Purpose

Copy a selected ensemble member into the supplied stateVector.

Arguments
  • ens [struct_ens ,in]

  • statevector [struct_gsv ,inout]

  • memberindex [integer ,in]

Called from

bmat1d_setupbens(), ben_setuponeinstance(), ensemblediagnostic(), csg_toolbox(), readensemble(), calclocalcorrelations(), calclocalvertcorrmatrix(), calcvertmodesspec(), vertmodesfilter(), epp_addrandompert(), epp_selectsubsample(), uvtopsichi_ens(), uvtovortdiv_ens(), calchorizlocalizationradii(), omf_ominusfens(), midas_adjointtest, midas_diagbmatrix, midas_ensembleh, midas_letkf

Call to

gsv_varnameslist(), gsv_isallocated(), utl_abort(), gsv_getdatakind(), ens_varexist(), gsv_getnumlev(), vnl_varlevelfromvarname(), ens_getoffsetfromvarname()

subroutine  ensemblestatevector_mod/ens_insertmember(ens, statevector, memberindex)
Purpose

Copy the supplied stateVector in the selected ensemble member.

Arguments
  • ens [struct_ens ,inout]

  • statevector [struct_gsv ,inout]

  • memberindex [integer ,in]

Called from

vertmodesfilter(), epp_selectsubsample(), uvtopsichi_ens(), uvtovortdiv_ens()

Call to

gsv_isallocated(), utl_abort(), gsv_varnameslist(), gsv_getdatakind(), gsv_getnumlev(), vnl_varlevelfromvarname(), ens_getoffsetfromvarname()

subroutine  ensemblestatevector_mod/ens_getmask(ens, oceanmask)
Purpose

Copy the instance of oceanMask from inside the ens object to the supplied instance of oceanMask.

Arguments
  • ens [struct_ens ,inout]

  • oceanmask [struct_ocm ,inout]

Called from

midas_letkf

Call to

ocm_copymask()

subroutine  ensemblestatevector_mod/ens_copymasktogsv(ens, statevector)
Purpose

Copy the instance of oceanMask from inside the ens object to the instance inside the supplied stateVector object.

Arguments
  • ens [struct_ens ,inout]

  • statevector [struct_gsv ,inout]

Called from

epp_postprocess()

Call to

gsv_copymask()

function  ensemblestatevector_mod/ens_varexist(ens, varname)
Purpose

Return true if the specified variable name exists in the ensemble.

Arguments
  • ens [struct_ens ,in]

  • varname [character ,in]

Return

varexist [logical ]

Called from

setupensemble(), csg_toolbox(), csl_setup(), epp_addrandompert(), ens_copymember(), ens_getoffsetfromvarname(), gvt_transform_ens(), lprtopr_ens(), qlim_saturationlimit_ens(), qlim_rttovlimit_ens(), qlim_setmin_ens(), cloudexistinensemble()

Call to

gsv_varexist()

subroutine  ensemblestatevector_mod/ens_varnameslist(varnames[, ens_opt])
Purpose

Return a list of the variable names that exist in the ensemble.

Arguments

varnames (*) [character ,inout,pointer]

Options

ens_opt [struct_ens ,in,]

Called from

horizcorrelfunction(), calclocalcorrelations(), calclocalvertcorrmatrix(), calcvertmodesspec(), vertmodesfilter(), csl_setup(), csl_computebhi(), csl_toolbox(), epp_postprocess(), epp_addrandompert(), gbi_stddev_ens(), calchorizlocalizationradii(), vms_computemodesfromens()

Call to

utl_abort(), gsv_varnameslist()

function  ensemblestatevector_mod/ens_getnumlev(ens, varlevel[, varname_opt])
Purpose

Return the number of vertical levels of the ensemble.

Arguments
  • ens [struct_ens ,in]

  • varlevel [character ,in]

Options

varname_opt [character ,in,]

Return

nlev [integer ]

Called from

adv_ensemble_tl(), adv_ensemble_ad(), addensmemberad(), csl_setup(), enkf_letkfanalyses(), ens_recenter(), qlim_saturationlimit_ens(), qlim_rttovlimit_ens(), qlim_setmin_ens()

Call to

vco_getnumlev()

function  ensemblestatevector_mod/ens_getnummembers(ens)
Purpose

Return the number of members in the ensemble.

Arguments

ens [struct_ens ,in]

Return

nummembers [integer ]

Called from

enkf_letkfanalyses(), epp_postprocess(), epp_rtps(), epp_rtpp(), epp_addrandompert(), epp_hybridrecentering(), ens_applymasklam(), gbi_stddev_ens(), hutolq_ens(), lprtopr_ens(), uvtopsichi_ens(), uvtovortdiv_ens(), logch_ens(), qlim_saturationlimit_ens(), qlim_rttovlimit_ens(), qlim_setmin_ens(), vms_computemodesfromens()

function  ensemblestatevector_mod/ens_getnumsubens(ens)
Purpose

Return the number of sub-ensembles in the ensemble.

Arguments

ens [struct_ens ,in]

Return

nummembers [integer ]

function  ensemblestatevector_mod/ens_getnumk(ens)
Purpose

Return the number of kIndex (a.k.a. varLevs) values of the ensemble.

Arguments

ens [struct_ens ,in]

Return

numk [integer ]

Called from

adv_ensemble_tl_r8(), adv_ensemble_tl_r4(), adv_ensemble_ad(), setupensemble(), ben_getperturbation(), ben_getensmean(), ensemblescaledecomposition(), addensmember(), addensmemberad(), calccorrelations2(), calcpowerspec(), spectralfilter2(), csl_setup(), epp_rtps(), epp_rtpp(), epp_addrandompert(), ens_applymasklam(), gbi_stddev_ens(), hutolq_ens(), logch_ens(), midas_adjointtest

function  ensemblestatevector_mod/ens_getdatakind(ens)
Purpose

Return the floating point kind of the ensemble (4 or 8).

Arguments

ens [struct_ens ,in]

Return

datakind [integer ]

Called from

adv_ensemble_tl(), adv_ensemble_ad(), ensemblediagnostic(), qlim_saturationlimit_ens(), qlim_rttovlimit_ens(), qlim_setmin_ens()

function  ensemblestatevector_mod/ens_getpathname(ens)
Purpose

Return the path name for the ensemble files.

Arguments

ens [struct_ens ,in]

Return

pathname [character ]

Called from

calclocalvertcorrmatrix()

function  ensemblestatevector_mod/ens_getoffsetfromvarname(ens, varname)
Purpose

Return the offset of the kIndex for the specified variable name.

Arguments
  • ens [struct_ens ,in]

  • varname [character ,in]

Return

offset [integer ]

Called from

csl_setup(), ens_copymember(), ens_insertmember(), vms_computemodesfromens()

Call to

ens_varexist(), utl_abort(), gsv_getoffsetfromvarname()

function  ensemblestatevector_mod/ens_getlevfromk(ens, kindex)
Purpose

Return the level index from the kIndex value.

Arguments
  • ens [struct_ens ,in]

  • kindex [integer ,in]

Return

levindex [integer ]

Called from

adv_ensemble_tl_r8(), adv_ensemble_tl_r4(), adv_ensemble_ad(), setupensemble(), ben_getperturbation(), ben_getensmean(), addensmember(), addensmemberad(), calclocalvertcorrmatrix(), ens_recenter()

Call to

gsv_getlevfromk()

function  ensemblestatevector_mod/ens_getkfromlevvarname(ens, levindex, varname)
Purpose

Return the kIndex value for the specified level index and variable name.

Arguments
  • ens [struct_ens ,in]

  • levindex [integer ,in]

  • varname [character ,in]

Return

kindex [integer ]

Called from

lprtopr_ens(), qlim_saturationlimit_ens(), qlim_rttovlimit_ens(), qlim_setmin_ens()

Call to

gsv_getoffsetfromvarname()

function  ensemblestatevector_mod/ens_getvarnamefromk(ens, kindex)
Purpose

Return the variable name from the specified kIndex value.

Arguments
  • ens [struct_ens ,in]

  • kindex [integer ,in]

Return

varname [character ]

Called from

adv_ensemble_tl_r8(), adv_ensemble_tl_r4(), adv_ensemble_ad(), setupensemble(), ben_getperturbation(), ben_getensmean(), addensmember(), addensmemberad(), calclocalvertcorrmatrix(), epp_addrandompert(), ens_recenter(), hutolq_ens(), logch_ens()

Call to

gsv_getvarnamefromk()

function  ensemblestatevector_mod/ens_getvco(ens)
Purpose

Return a pointer to the verticalCoord object associate with the ensemble.

Arguments

ens [struct_ens ,in]

Return

vco_ptr [struct_vco ,pointer]

Called from

horizcorrelfunction(), calclocalcorrelations(), calclocalvertcorrmatrix(), calcvertmodesspec(), vertmodesfilter(), csl_computebhi(), csl_toolbox(), enkf_letkfanalyses(), epp_postprocess(), epp_addrandompert(), epp_selectsubsample(), epp_hybridrecentering(), gbi_stddev_ens(), uvtopsichi_ens(), uvtovortdiv_ens(), qlim_saturationlimit_ens(), qlim_rttovlimit_ens(), calchorizlocalizationradii(), vms_computemodesfromens()

function  ensemblestatevector_mod/ens_gethco(ens)
Purpose

Return a pointer to the horizontalCoord object associate with the ensemble.

Arguments

ens [struct_ens ,in]

Return

hco_ptr [struct_hco ,pointer]

Called from

calclocalcorrelations(), calclocalvertcorrmatrix(), calcvertmodesspec(), vertmodesfilter(), csl_computebhi(), csl_toolbox(), enkf_letkfanalyses(), epp_postprocess(), epp_addrandompert(), epp_selectsubsample(), epp_hybridrecentering(), gbi_stddev_ens(), uvtopsichi_ens(), uvtovortdiv_ens(), calchorizlocalizationradii(), vms_computemodesfromens()

subroutine  ensemblestatevector_mod/ens_getlatlonbounds(ens, mylonbeg, mylonend, mylatbeg, mylatend)
Purpose

Return the longitude and latitude index bounds for this mpi task.

Arguments
  • ens [struct_ens ,in]

  • mylonbeg [integer ,out]

  • mylonend [integer ,out]

  • mylatbeg [integer ,out]

  • mylatend [integer ,out]

Called from

calcspectralstats(), calcvertcorrel(), epp_rtps(), epp_rtpp(), epp_addrandompert(), ens_applymasklam(), gbi_stddev_ens(), hutolq_ens(), lprtopr_ens(), logch_ens(), qlim_saturationlimit_ens(), qlim_rttovlimit_ens(), qlim_setmin_ens(), calcvertlocalizationradii(), vms_computemodesfromens()

function  ensemblestatevector_mod/ens_getnumstep(ens)
Purpose

Return the number of time steps stored in the ensemble.

Arguments

ens [struct_ens ,in]

Return

numstep [integer ]

Called from

horizcorrelfunction(), calclocalcorrelations(), calclocalvertcorrmatrix(), calcvertmodesspec(), vertmodesfilter(), csl_computebhi(), csl_toolbox(), gbi_stddev_ens(), hutolq_ens(), lprtopr_ens(), logch_ens(), qlim_saturationlimit_ens(), qlim_rttovlimit_ens(), qlim_setmin_ens(), calchorizlocalizationradii()

subroutine  ensemblestatevector_mod/ens_computemean(ens[, computesubensmeans_opt[, numsubens_opt]])
Purpose

Internally compute the ensemble mean.

Arguments

ens [struct_ens ,inout]

Options
  • computesubensmeans_opt [logical ,in,]

  • numsubens_opt [integer ,out,]

Called from

setupensemble(), csg_toolbox(), csl_setup(), enkf_letkfanalyses(), epp_postprocess(), ens_computestddev(), ens_recenter(), midas_ensembleh, midas_letkf

Call to

utl_abort(), ens_allocatemean()

subroutine  ensemblestatevector_mod/ens_computestddev(ens[, containsscaledperts_opt])
Purpose

Internally compute the ensemble stdDev.

Arguments

ens [struct_ens ,inout]

Options

containsscaledperts_opt [logical ,in,]

Called from

ben_setuponeinstance(), csg_toolbox(), csl_setup(), epp_postprocess(), ens_normalize()

Call to

ens_computemean(), ens_allocatestddev(), utl_abort()

subroutine  ensemblestatevector_mod/ens_normalize(ens)
Purpose

Normalize the ensemble by the 3D ensemble stdDev.

Arguments

ens [struct_ens ,inout]

Called from

ben_setuponeinstance(), csg_toolbox(), csl_computebhi(), csl_toolbox()

Call to

ens_computestddev()

subroutine  ensemblestatevector_mod/ens_removemean(ens)
Purpose

Subtract the ensemble mean from each member.

Arguments

ens [struct_ens ,inout]

Called from

setupensemble(), csg_toolbox(), csl_setup()

subroutine  ensemblestatevector_mod/ens_removeglobalmean(ens)
Purpose

Subtract the 2D global mean from each member.

Arguments

ens [struct_ens ,inout]

Called from

csg_toolbox()

Call to

utl_abort()

subroutine  ensemblestatevector_mod/ens_recenter(ens, recenteringmean[, recenteringcoeff_opt[, recenteringcoeffland_opt[, recenteringcoeffscalar_opt[, alternativeensemblemean_opt[, ensemblecontrolmember_opt[, scalefactor_opt[, nummemberstorecenter_opt]]]]]]])
Purpose

To compute: ..math:

x_recentered =
        scaleFactor*x_original
      + recenteringCoeff*(  x_recenteringMean
                          - scaleFactor*x_ensembleMean
                         )
Arguments
  • ens [struct_ens ,inout]

  • recenteringmean [struct_gsv ,in]

Options
  • recenteringcoeff_opt (*,*) [real ,in,]

  • recenteringcoeffland_opt (*) [real ,in,]

  • recenteringcoeffscalar_opt [real ,in,]

  • alternativeensemblemean_opt [struct_gsv ,in,]

  • ensemblecontrolmember_opt [struct_gsv ,in,]

  • scalefactor_opt (*) [real ,in,]

  • nummemberstorecenter_opt [integer ,in,]

Called from

epp_postprocess(), epp_hybridrecentering(), midas_letkf

Call to

ens_computemean(), utl_abort(), ens_getnumlev(), gsv_getdatakind(), vnl_varlevelfromvarname(), ens_getvarnamefromk(), ens_getlevfromk(), vnl_varkindfromvarname()

subroutine  ensemblestatevector_mod/ens_readensemble(ens, enspathname, biperiodic[, vco_file_opt[, varnames_opt[, checkmodeltop_opt[, containsfullfield_opt[, ignoredate_opt]]]]])
Purpose

Read the ensemble from disk in parallel and do mpi communication so that all members for a given lat-lon tile are present on each mpi task.

Arguments
  • ens [struct_ens ,inout]

  • enspathname [character ,in]

  • biperiodic [logical ,in]

Options
  • vco_file_opt [struct_vco ,in,pointer]

  • varnames_opt (*) [character ,in,]

  • checkmodeltop_opt [logical ,in,]

  • containsfullfield_opt [logical ,in,]

  • ignoredate_opt [logical ,in,]

Called from

bmat1d_setupbens(), setupensemble(), csg_toolbox(), readensemble(), csl_setup(), omf_ominusfens(), midas_enspostprocess, midas_ensembleh, midas_letkf

Call to

utl_abort(), fln_ensfilename(), gsv_varnameslist(), hco_setupfromfile(), vco_setupfromfile(), vco_mpibcast(), gsv_gethco(), gsv_getvco(), hco_equal(), vco_equal(), gsv_allocate(), gio_readfile(), ram_remove(), int_hinterp_gsv(), int_vinterp_gsv(), gsv_hpad(), gsv_copy(), gio_fileunitstostateunits(), lgt_mach_r4(), gsv_copymask(), gsv_isallocated(), gsv_deallocate(), gsv_communicatetimeparams(), ocm_communicatemask(), hco_deallocate(), vco_deallocate()

subroutine  ensemblestatevector_mod/ens_writeensemble(ens, enspathname, ensfilenameprefix, etiket, typvar[, etiketappendmembernumber_opt[, varnames_opt[, ip3_opt[, containsfullfield_opt[, numbits_opt[, resettimeparams_opt]]]]]])
Purpose

Write the ensemble to disk by doing mpi transpose so that each mpi task can write a single member in parallel.

Arguments
  • ens [struct_ens ,inout]

  • enspathname [character ,in]

  • ensfilenameprefix [character ,in]

  • etiket [character ,in]

  • typvar [character ,in]

Options
  • etiketappendmembernumber_opt [logical ,in,]

  • varnames_opt (*) [character ,in,]

  • ip3_opt [integer ,in,]

  • containsfullfield_opt [logical ,in,]

  • numbits_opt [integer ,in,]

  • resettimeparams_opt [logical ,in,]

Called from

ben_writeamplitude(), csl_setup(), epp_postprocess(), midas_letkf

Call to

utl_abort(), gsv_varnameslist(), gsv_resettimeparams(), tim_getstamplist(), tim_getdatestamp(), gsv_gethco(), gsv_getvco(), gsv_allocate(), gsv_copymask(), fln_ensanlfilename(), fln_ensfilename(), gio_writetofile(), gsv_deallocate()

subroutine  ensemblestatevector_mod/ens_applymasklam(ensincrement, statevectoranalincmask)
Purpose

To apply a mask to an ensemble state vector for LAM grid

Arguments
  • ensincrement [struct_ens ,inout]

  • statevectoranalincmask [struct_gsv ,in]

Called from

epp_postprocess()

Call to

ens_isallocated(), gsv_isallocated(), utl_abort(), ens_getnummembers(), ens_getnumk(), ens_getlatlonbounds(), ens_getonelev_r4()