interpolation_mod¶
Dependency Diagrams:
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_mod
will 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