interpolation_mod¶
Dependency Diagrams:
![]()
Direct Dependency Diagram¶
![]()
Reverse Dependency Diagram¶
Description
MODULE interpolation_mod (prefix=’int’ category=’4. Data Object transformations’)
- Purpose
The grid-point state vector interpolation.
Quick access
- Variables
- Routines
int_cxgaig(),int_ezgdef(),int_hinterp_gsv(),int_hinterpscalar_gsv(),int_hinterpscalar_r4_2d(),int_hinterpscalar_r8_2d(),int_hinterpuv_gsv(),int_hinterpuv_r4_2d(),int_hinterpuv_r8_2d(),int_interp_gsv(),int_readnml(),int_setezopt(),int_sintcloudtogrid_gsv(),int_tinterp_gsv(),int_vinterp_col(),int_vinterp_gsv(),logp_r4(),logp_r8(),vinterp_gsv_r4(),vinterp_gsv_r8()Needed modules
midasmpi_mod: MODULE midasMpi_mod (prefix=’mmpi’ category=’8. Low-level utilities and constants’)
gridstatevector_mod: MODULE gridStateVector_mod (prefix=’gsv’ category=’6. High-level data objects’)
columndata_mod: MODULE columnData_mod (prefix=’col’ category=’6. High-level data objects’)
calcheightandpressure_mod: MODULE calcHeightAndPressure_mod (prefix=’czp’ category=’4. Data Object transformations’)
varnamelist_mod: MODULE varNameList_mod (prefix=’vnl’ category=’7. Low-level data objects’)
verticalcoord_mod: MODULE verticalCoord_mod (prefix=’vco’ category=’7. Low-level data objects’)
horizontalcoord_mod: MODULE horizontalCoord_mod (prefix=’hco’ category=’7. Low-level data objects’)
mathphysconstants_mod: MODULE mathPhysConstants_mod (prefix=’mpc’ category=’8. Low-level utilities and constants’)
utilities_mod: MODULE utilities_mod (prefix=’utl’ category=’8. Low-level utilities and constants’)
message_mod: MODULE message_mod (prefix=’msg’ category=’8. Low-level utilities and constants’)
kdtree2_mod: MODULE kdTree2_mod (prefix=’kdtree2’ category=’8. Low-level utilities and constants’)Variables
- interpolation_mod/int_hinterpscalar [public]¶
Subroutines and functions
- subroutine interpolation_mod/int_readnml()¶
- Purpose
Read the namelist block NAMINT.
- Namelist parameters
- vInterpCopyLowestLevel
if true, will overwrite values at the lowest levels to avoid extrapolation
- maxBoxSize
maximum size in terms of grid points used for filling in undefined values from neighbours when doing interpolation from a cloud of points to a grid
- checkCloudToGridUnassigned
abort if any unmasked points are not assigned after doing cloudToGrid interpolation
- Called from
int_vinterp_gsv(),int_tinterp_gsv(),int_hinterpscalar_gsv(),int_hinterpscalar_r4_2d(),int_hinterpscalar_r8_2d(),int_hinterpuv_gsv(),int_hinterpuv_r4_2d(),int_hinterpuv_r8_2d()- Call to
- subroutine interpolation_mod/int_interp_gsv(statevector_in, statevector_out[, statevectorref_opt[, checkmodeltop_opt]])¶
- Purpose
high-level interpolation subroutine that proceed with horizontal and vertical interpolation
- Arguments
statevector_in [struct_gsv ,in] :: Statevector input
statevector_out [struct_gsv ,inout] :: Statevector output (with target grids)
- Options
statevectorref_opt [struct_gsv ,in,] :: Reference statevector with fields P0, TT and HU
checkmodeltop_opt [logical ,in,] :: If true, model top consistency checked
- Called from
epp_addrandompert(),gvt_setupreffromstatevector(),inc_computehighresanalysis(),inc_interpolateandadd(),midas_randompert- Call to
msg(),gsv_isallocated(),utl_abort(),gsv_varnameslist(),gsv_allocate(),gsv_getdatakind(),gsv_transposetilestovarslevs(),int_hinterp_gsv(),gsv_deallocate(),gsv_transposevarslevstotiles(),int_vinterp_gsv()
- subroutine interpolation_mod/int_hinterp_gsv(statevector_in, statevector_out)¶
- Purpose
Horizontal interpolation
- Arguments
statevector_in [struct_gsv ,inout] :: Statevector input
statevector_out [struct_gsv ,inout] :: Statevector with target horiz and vert grids and result
- Called from
ens_readensemble(),readfromfileandinterptotiles(),readfromfileandinterp1proc(),int_interp_gsv()- Call to
msg(),hco_equal(),gsv_copy(),vco_equal(),utl_abort(),gsv_varexist(),gsv_getvarnamefromk(),gsv_isassocheightsfc()
- subroutine interpolation_mod/int_vinterp_gsv(statevector_in, statevector_out[, statevectorref_opt[, ps_in_hpa_opt[, checkmodeltop_opt]]])¶
- Purpose
Vertical interpolation. Interpolation coordinates are either height or log(P) based on target vertical descriptor vcode. * When target vertical coordinates are pressure (interpolating
to GEM-P), log(P) is used;
When they are height (interpolating to GEM-H), height is used.
Call to
calcHeightAndPressure_modwill return required interpolation coordinates (log is then applied when required).- Arguments
statevector_in [struct_gsv ,in,target] :: Statevector input
statevector_out [struct_gsv ,inout] :: Statevector with target horiz/vert grids and result
- Options
statevectorref_opt [struct_gsv ,in,target] :: Reference statevector with P0, TT and HU
ps_in_hpa_opt [logical ,in,] :: If true, surface pressure is in hPa, not Pa
checkmodeltop_opt [logical ,in,] :: Model top consistency will be checked
- Called from
ens_readensemble(),readfromfileandinterptotiles(),readfromfileandinterp1proc(),inc_computehighresanalysis(),int_interp_gsv()- Call to
msg(),int_readnml(),gsv_getdatakind(),vinterp_gsv_r8(),vinterp_gsv_r4(),utl_abort()
- subroutine interpolation_mod/vinterp_gsv_r8(statevector_in, statevector_out[, statevectorref_opt[, ps_in_hpa_opt[, checkmodeltop_opt]]])¶
- Purpose
Vertical interpolation,
real(8)version.- Arguments
statevector_in [struct_gsv ,in,target] :: Statevector input
statevector_out [struct_gsv ,inout] :: Statevector with target horiz/vert grids and result
- Options
statevectorref_opt [struct_gsv ,in,target] :: Reference statevector with P0, TT and HU
ps_in_hpa_opt [logical ,in,] :: If true, surface pressure is in hPa, not Pa
checkmodeltop_opt [logical ,in,] :: Model top consistency will be checked
- Called from
- Call to
msg(),gsv_getvco(),vco_equal(),utl_abort(),gsv_copy(),hco_equal(),gsv_getdatakind(),gsv_isassocheightsfc(),gsv_getheightsfc(),czp_ensurecompatibletops(),gsv_allocate(),gsv_varexist(),vnl_varlevelfromvarname(),gsv_getnumlev(),czp_calcreturnpressure_gsv_nl(),czp_calcreturnheight_gsv_nl(),logp_r8(),gsv_deallocate()
- subroutine interpolation_mod/logp_r8(presinlogout)¶
- Purpose
compute log of pressurce field, real(8) version
- Arguments
presinlogout (*,*,*,*) [real ,inout]
- Called from
- subroutine interpolation_mod/vinterp_gsv_r4(statevector_in, statevector_out[, statevectorref_opt[, ps_in_hpa_opt[, checkmodeltop_opt]]])¶
- Purpose
Vertical interpolation,
real(4)version.- Arguments
statevector_in [struct_gsv ,in,target] :: Statevector input
statevector_out [struct_gsv ,inout] :: Statevector with the target horiz/vert grids and result
- Options
statevectorref_opt [struct_gsv ,in,target] :: Reference statevector with P0, TT and HU
ps_in_hpa_opt [logical ,in,] :: If true, surface pressure in in hPa, not Pa
checkmodeltop_opt [logical ,in,] :: Model top consistency will be checked
- Called from
- Call to
msg(),gsv_getvco(),vco_equal(),utl_abort(),gsv_copy(),hco_equal(),gsv_getdatakind(),gsv_isassocheightsfc(),gsv_getheightsfc(),czp_ensurecompatibletops(),gsv_allocate(),gsv_varexist(),vnl_varlevelfromvarname(),gsv_getnumlev(),czp_calcreturnpressure_gsv_nl(),czp_calcreturnheight_gsv_nl(),logp_r4(),gsv_deallocate()
- subroutine interpolation_mod/logp_r4(presinlogout)¶
- Purpose
compute log of pressurce field
- Arguments
presinlogout (*,*,*,*) [real ,inout]
- Called from
- subroutine interpolation_mod/int_tinterp_gsv(statevector_in, statevector_out)¶
- Purpose
Time interpolation from statevector with low temporal resolution to statevector with high temporal resolution.
- Arguments
statevector_in [struct_gsv ,in] :: Statevector input
statevector_out [struct_gsv ,inout] :: Statevector with target temporal structure and results
- Called from
- Call to
msg(),int_readnml(),vco_equal(),utl_abort(),hco_equal(),gsv_copy(),gsv_getdatakind()
- subroutine interpolation_mod/int_vinterp_col(column_in, column_out, varname[, usecolumnpressure_opt])¶
- Purpose
Vertical interpolation of a columData object
- Arguments
column_in [struct_columndata ,in] :: ColumnData input
column_out [struct_columndata ,inout] :: ‘)
varname [character ,in] :: variable name to be interpolated
- Options
usecolumnpressure_opt [logical ,in,] :: if .true. use P_* instead of the pressure provided by calcHeightAndPressure_mod
- Called from
- Call to
msg(),vnl_varlevelfromvarname(),col_varexist(),col_getnumlev(),col_getnumcol(),czp_calcreturnpressure_col_nl(),czp_calcreturnheight_col_nl(),col_getcolumn(),utl_abort(),vco_levelmatchinglist()
- subroutine interpolation_mod/int_setezopt(interpdegree[, extrapdegree_opt])¶
- Purpose
Wrapper subroutine for rmnlib routine setezopt.
- Arguments
interpdegree [character ,in]
- Options
extrapdegree_opt [character ,in,]
- Called from
int_hinterpscalar_gsv(),int_hinterpscalar_r4_2d(),int_hinterpscalar_r8_2d(),int_hinterpuv_gsv(),int_hinterpuv_r4_2d(),int_hinterpuv_r8_2d()- Call to
- function interpolation_mod/int_hinterpscalar_gsv(statevectorout, statevectorin, varname, levindex, stepindex, interpdegree[, extrapdegree_opt])¶
- Purpose
Horizontal interpolation of 2D scalar field that use stateVector objects for input and output. Accessed through int_hInterpScalar.
- Arguments
statevectorout [struct_gsv ,inout]
statevectorin [struct_gsv ,inout]
varname [character ,in]
levindex [integer ,in]
stepindex [integer ,in]
interpdegree [character ,in]
- Options
extrapdegree_opt [character ,in,]
- Return
ierr [integer ]
- Call to
msg(),int_readnml(),gsv_getdatakind(),utl_abort(),int_sintcloudtogrid_gsv(),int_setezopt(),gsv_getheightsfc()
- function interpolation_mod/int_hinterpscalar_r4_2d(fieldout_r4, fieldin_r4, interpdegree[, extrapdegree_opt])¶
- Purpose
Horizontal interpolation of 2D scalar field that use real(4) arrays for input and output. Accessed through int_hInterpScalar.
- Arguments
fieldout_r4 (*,*) [real ,inout]
fieldin_r4 (*,*) [real ,in]
interpdegree [character ,in]
- Options
extrapdegree_opt [character ,in,]
- Return
ierr [integer ]
- Call to
- function interpolation_mod/int_sintcloudtogrid_gsv(statevectorgrid, statevectorcloud, varname, levindex, stepindex)¶
- Purpose
Perform horizontal interpolation for 1 level and time step (and variable) in the case where the input data is a cloud of points (i.e. a Y grid) and the output is on a regular grid. Accessed through int_hInterpScalar.
- Note
When varName==’ALL’, the argument levIndex is actually kIndex
- Arguments
statevectorgrid [struct_gsv ,inout]
statevectorcloud [struct_gsv ,inout]
varname [character ,in]
levindex [integer ,in]
stepindex [integer ,in]
- Return
ierr [integer ]
- Called from
- Call to
utl_tmg_start(),msg(),gsv_getlevfromk(),kdtree2_3dposition(),kdtree2_create(),kdtree2_r_nearest(),utl_abort(),kdtree2_destroy(),utl_tmg_stop()
- function interpolation_mod/int_hinterpscalar_r8_2d(fieldout_r8, fieldin_r8, interpdegree[, extrapdegree_opt])¶
- Purpose
Horizontal interpolation of 2D scalar field that use real(8) arrays for input and output. Accessed through int_hInterpScalar.
- Arguments
fieldout_r8 (*,*) [real ,inout]
fieldin_r8 (*,*) [real ,in]
interpdegree [character ,in]
- Options
extrapdegree_opt [character ,in,]
- Return
ierr [integer ]
- Call to
- function interpolation_mod/int_hinterpuv_gsv(statevectorout, statevectorin, varname, levindex, stepindex, interpdegree[, extrapdegree_opt])¶
- Purpose
Horizontal interpolation of 2D vector field that use stateVector objects for input and output. Accessed through int_hInterpUV.
- Arguments
statevectorout [struct_gsv ,inout]
statevectorin [struct_gsv ,inout]
varname [character ,in]
levindex [integer ,in]
stepindex [integer ,in]
interpdegree [character ,in]
- Options
extrapdegree_opt [character ,in,]
- Return
ierr [integer ]
- Call to
msg(),int_readnml(),utl_abort(),int_setezopt(),gsv_getdatakind()
- function interpolation_mod/int_hinterpuv_r4_2d(uuout, vvout, uuin, vvin, interpdegree[, extrapdegree_opt])¶
- Purpose
Horizontal interpolation of 2D vector field that use real(4) arrays for input and output. Accessed through int_hInterpUV.
- Arguments
uuout (*,*) [real ,inout]
vvout (*,*) [real ,inout]
uuin (*,*) [real ,in]
vvin (*,*) [real ,in]
interpdegree [character ,in]
- Options
extrapdegree_opt [character ,in,]
- Return
ierr [integer ]
- Call to
- function interpolation_mod/int_hinterpuv_r8_2d(uuout, vvout, uuin, vvin, interpdegree[, extrapdegree_opt])¶
- Purpose
Horizontal interpolation of 2D vector field that use real(8) arrays for input and output. Accessed through int_hInterpUV.
- Arguments
uuout (*,*) [real ,inout]
vvout (*,*) [real ,inout]
uuin (*,*) [real ,in]
vvin (*,*) [real ,in]
interpdegree [character ,in]
- Options
extrapdegree_opt [character ,in,]
- Return
ierr [integer ]
- Call to
- function interpolation_mod/int_ezgdef(ni, nj, grtyp, grtypref, ig1, ig2, ig3, ig4, ax, ay)¶
- Purpose
Subroutine wrapper for rmnlib procedure ezgdef.
- Arguments
ni [integer ,in]
nj [integer ,in]
grtyp [character ,in]
grtypref [character ,in]
ig1 [integer ,in]
ig2 [integer ,in]
ig3 [integer ,in]
ig4 [integer ,in]
ax (*) [real ,in]
ay (*) [real ,in]
- Return
vezgdef [integer ]
- Called from
- Call to
- subroutine interpolation_mod/int_cxgaig(grtyp, ig1, ig2, ig3, ig4, xlat0, xlon0, dlat, dlon)¶
- Purpose
Subroutine wrapper for rmnlib procedure cxgaig.
- Arguments
grtyp [character ,in]
ig1 [integer ,in]
ig2 [integer ,in]
ig3 [integer ,in]
ig4 [integer ,in]
xlat0 [real ,in]
xlon0 [real ,in]
dlat [real ,in]
dlon [real ,in]
- Called from