calcHeightAndPressure_mod¶
Dependency Diagrams:
Description
MODULE calcHeightAndPressure_mod (prefix=’czp’ category=’4. Data Object transformations’)
- Purpose
Subroutines for computing height and/or pressure on statevectors and columns depending on the vgrid kind. Nonlinear, tangent-linear and adjoint versions of these transformations are included in separate subroutines. Depending on the vertical representation of the state or column, pressure or height values are either computed or retrieved using the vgrid (https://gitlab.science.gc.ca/RPN-SI/vgrid) library. When computation is required (for instance to compute height on a GEM-P, represented on pressure coordinates), thermodynamical variables are required, typically P0, TT and HU. Height and pressure values are obtained for both thermodynamical and momentum levels and labeled Z_T (P_T) and Z_M (P_M).
Quick access
- Variables
czp_calcheight_ad
,czp_calcheight_nl
,czp_calcheight_tl
,czp_calcpressure_ad
,czp_calcpressure_nl
,czp_calcpressure_tl
,czp_calczandp_ad
,czp_calczandp_nl
,czp_calczandp_tl
,czp_fetch1ddpdps
,czp_fetch1dlevels
,czp_fetch3dlevels
- Routines
calcheight_col_ad()
,calcheight_col_nl()
,calcheight_col_nl_vcode2100x()
,calcheight_col_nl_vcode5xxx()
,calcheight_col_tl()
,calcheight_gsv_ad()
,calcheight_gsv_nl()
,calcheight_gsv_nl_vcode2100x_r4()
,calcheight_gsv_nl_vcode2100x_r8()
,calcheight_gsv_nl_vcode5xxx()
,calcheight_gsv_tl()
,calcheightcoeff_col()
,calcheightcoeff_gsv()
,calcpressure_col_ad()
,calcpressure_col_nl()
,calcpressure_col_nl_vcode2100x()
,calcpressure_col_nl_vcode5xxx()
,calcpressure_col_tl()
,calcpressure_gsv_ad()
,calcpressure_gsv_nl()
,calcpressure_gsv_nl_vcode2100x()
,calcpressure_gsv_nl_vcode5xxx_r4()
,calcpressure_gsv_nl_vcode5xxx_r8()
,calcpressure_gsv_tl()
,calczandp_col_ad()
,calczandp_col_nl()
,calczandp_col_tl()
,calczandp_gsv_ad()
,calczandp_gsv_nl()
,calczandp_gsv_tl()
,czp_calcreturnheight_col_nl()
,czp_calcreturnheight_gsv_nl()
,czp_calcreturnpressure_col_nl()
,czp_calcreturnpressure_gsv_nl()
,czp_ensurecompatibletops()
,fetch1ddpdps_r8()
,fetch1dlevels_r8()
,fetch3dlevels_r4()
,fetch3dlevels_r8()
,gpscompressibility_hu()
,gpscompressibility_p0_1()
,gpscompressibility_p0_2()
,gpscompressibility_tt()
,gz2alt_r4()
,gz2alt_r8()
Needed modules
codeprecision_mod
: MODULE codePrecision_mod (prefix=’pre’ category=’8. Low-level utilities and constants’)
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’)
physicsfunctions_mod
: MODULE physicsFunctions_mod (prefix=’phf’ category=’8. Low-level utilities and constants’)
verticalcoord_mod
: MODULE verticalCoord_mod (prefix=’vco’ category=’7. Low-level data objects’)
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’)
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’)
gps_mod
: MODULE gps_mod (prefix=’gps’ category=’5. Observation operators’)
horizontalcoord_mod
: MODULE horizontalCoord_mod (prefix=’hco’ category=’7. Low-level data objects’)
vgrid_descriptors
Variables
- calcheightandpressure_mod/czp_calcheight_ad [public]¶
- calcheightandpressure_mod/czp_calcheight_nl [public]¶
- calcheightandpressure_mod/czp_calcheight_tl [public]¶
- calcheightandpressure_mod/czp_calcpressure_ad [public]¶
- calcheightandpressure_mod/czp_calcpressure_nl [public]¶
- calcheightandpressure_mod/czp_calcpressure_tl [public]¶
- calcheightandpressure_mod/czp_calczandp_ad [public]¶
- calcheightandpressure_mod/czp_calczandp_nl [public]¶
- calcheightandpressure_mod/czp_calczandp_tl [public]¶
- calcheightandpressure_mod/czp_fetch1ddpdps [public]¶
- calcheightandpressure_mod/czp_fetch1dlevels [public]¶
- calcheightandpressure_mod/czp_fetch3dlevels [public]¶
Subroutines and functions
- subroutine calcheightandpressure_mod/calczandp_gsv_nl(statevector)¶
- Purpose
Pressure and height computation on the grid in proper order depending on the vgrid kind. Depending on the vcode, the routine will check the existence of P_* (vcode=5xxx) or Z_* (vcode=2100x) first and proceed with pressure (height) computation. Then, if the other variables are also present, it will secondly compute height (pressure). Hence if only P_* (Z_*) is present, only these are computed. If the first variable P_* (Z_*) is not present, nothing is done.
- Arguments
statevector [struct_gsv ,inout] :: statevector that will contain the Z_*/P_* fields
- Call to
msg()
,gsv_getvco()
,gsv_varexist()
,calcpressure_gsv_nl()
,calcheight_gsv_nl()
- subroutine calcheightandpressure_mod/calczandp_gsv_tl(statevector, statevectorref)¶
- Purpose
Pressure and height increment computation on the grid in proper order depending on the vgrid kind. Depending on the vcode, the routine will check the existence of P_* (vcode=5xxx) or Z_* (vcode=2100x) first and proceed with pressure (height) computation. Then, if the other variables are also present, it will secondly compute height (pressure). Hence if only P_* (Z_*) is present, only these are computed. If the first variable P_* (Z_*) is not present, nothing is done.
- Arguments
statevector [struct_gsv ,inout] :: statevector that will contain the Z_*/P_* increments
statevectorref [struct_gsv ,in] :: statevector containing needed reference fields
- Call to
msg()
,gsv_getvco()
,gsv_varexist()
,gsv_containsnonzerovalues()
,utl_abort()
,calcpressure_gsv_tl()
,calcheight_gsv_tl()
- subroutine calcheightandpressure_mod/calczandp_gsv_ad(statevector, statevectorref)¶
- Purpose
Pressure and height increment adjoint computation on the grid in proper order depending on the vgrid kind Depending on the vcode, the routine will check the existence of Z_* (vcode=5xxx) or P_* (vcode=2100x) first and proceed with height (pressure) adjoint computation. Then, if the other variables are also present, it will secondly proceed with adjoint computation of pressure (height). Hence if only Z_* (P_*) is present, only these are computed. If the first variable Z_* (P_*) is not present, nothing is done.
- Arguments
statevector [struct_gsv ,inout] :: statevector that will contain the Z_*/P_* increments
statevectorref [struct_gsv ,in] :: statevector containing needed reference fields
- Call to
msg()
,gsv_getvco()
,gsv_varexist()
,gsv_containsnonzerovalues()
,utl_abort()
,calcheight_gsv_ad()
,calcpressure_gsv_ad()
- subroutine calcheightandpressure_mod/calcheight_gsv_nl(statevector)¶
- Purpose
Compute or retrieve heights and store values in statevector.
- Arguments
statevector [struct_gsv ,inout]
- Called from
- Call to
utl_tmg_start()
,msg()
,gsv_getvco()
,gsv_getdatakind()
,calcheight_gsv_nl_vcode5xxx()
,calcheight_gsv_nl_vcode2100x_r4()
,calcheight_gsv_nl_vcode2100x_r8()
,utl_tmg_stop()
- subroutine calcheightandpressure_mod/czp_calcreturnheight_gsv_nl(statevector[, ptin_r4_opt[, pmin_r4_opt[, ptin_r8_opt[, pmin_r8_opt[, ztout_r4_opt[, zmout_r4_opt[, ztout_r8_opt[, zmout_r8_opt]]]]]]]])¶
- Purpose
Compute or retrieve heights and return values in pointer arguments. Proceeds to vcode dispatching.
- Arguments
statevector [struct_gsv ,in]
- Options
ptin_r4_opt (*,*,*,*) [real ,in,pointer]
pmin_r4_opt (*,*,*,*) [real ,in,pointer]
ptin_r8_opt (*,*,*,*) [real ,in,pointer]
pmin_r8_opt (*,*,*,*) [real ,in,pointer]
ztout_r4_opt (*,*,*,*) [real ,inout,pointer]
zmout_r4_opt (*,*,*,*) [real ,inout,pointer]
ztout_r8_opt (*,*,*,*) [real ,inout,pointer]
zmout_r8_opt (*,*,*,*) [real ,inout,pointer]
- Called from
- Call to
utl_tmg_start()
,msg()
,gsv_getvco()
,gsv_getdatakind()
,utl_abort()
,calcheight_gsv_nl_vcode5xxx()
,calcheight_gsv_nl_vcode2100x_r4()
,calcheight_gsv_nl_vcode2100x_r8()
,utl_tmg_stop()
- subroutine calcheightandpressure_mod/calcheight_gsv_nl_vcode2100x_r4(statevector, z_t, z_m)¶
- Purpose
Retrieve heights for GEM-H statevector, return height values in pointer arguments. real(4) version
- Arguments
statevector [struct_gsv ,in] :: ‘)
z_t (*,*,*,*) [real ,inout,pointer]
z_m (*,*,*,*) [real ,inout,pointer]
- Called from
- Call to
msg()
,gsv_varexist()
,utl_abort()
,gsv_getheightsfc()
,fetch3dlevels_r4()
,gz2alt_r4()
- function calcheightandpressure_mod/gz2alt_r4(statevector, gzheight)¶
- Purpose
Iterative conversion of geopotential height to geometric altitude. (solution proposed by J. Aparicio) real(4) version.
- Arguments
statevector [struct_gsv ,in]
gzheight (*,*,*) [real ,in,pointer]
- Return
alt (*,*,*) [real ,allocatable]
- Called from
- Call to
- subroutine calcheightandpressure_mod/calcheight_gsv_nl_vcode2100x_r8(statevector, z_t, z_m)¶
- Purpose
Retrieve heights for GEM-H statevector, return height values in pointer arguments. real(8) version
- Arguments
statevector [struct_gsv ,in]
z_t (*,*,*,*) [real ,inout,pointer]
z_m (*,*,*,*) [real ,inout,pointer]
- Called from
- Call to
- function calcheightandpressure_mod/gz2alt_r8(statevector, gzheight)¶
- Purpose
Iterative conversion of geopotential height to geometric altitude. (solution proposed by J. Aparicio) real(8) version.
- Arguments
statevector [struct_gsv ,in]
gzheight (*,*,*) [real ,in,pointer]
- Return
alt (*,*,*) [real ,allocatable]
- Called from
- Call to
- subroutine calcheightandpressure_mod/calcheight_gsv_nl_vcode5xxx(statevector[, ptin_r4_opt[, pmin_r4_opt[, ptin_r8_opt[, pmin_r8_opt[, ztout_r4_opt[, zmout_r4_opt[, ztout_r8_opt[, zmout_r8_opt]]]]]]]])¶
- Purpose
Compute heights for GEM-P statevector, return height values in pointer arguments. Assumptions: 1) nlev_T = nlev_M+1 (for vcode=5002) 2) alt_T(nlev_T) = alt_M(nlev_M), both at the surface 3) a thermo level exists at the top, higher than the highest
momentum level
the placement of the thermo levels means that alt_T is the average of 2 nearest alt_M (according to Ron and Claude)
- Arguments
statevector [struct_gsv ,in]
- Options
ptin_r4_opt (*,*,*,*) [real ,in,pointer]
pmin_r4_opt (*,*,*,*) [real ,in,pointer]
ptin_r8_opt (*,*,*,*) [real ,in,pointer]
pmin_r8_opt (*,*,*,*) [real ,in,pointer]
ztout_r4_opt (*,*,*,*) [real ,inout,pointer]
zmout_r4_opt (*,*,*,*) [real ,inout,pointer]
ztout_r8_opt (*,*,*,*) [real ,inout,pointer]
zmout_r8_opt (*,*,*,*) [real ,inout,pointer]
- Called from
- Call to
msg()
,gsv_getnumlev()
,gsv_getvco()
,utl_abort()
,gsv_getheightsfc()
,gpscompressibility()
,phf_fotvt8()
,phf_gravityalt()
- subroutine calcheightandpressure_mod/calcheight_gsv_tl(statevector, statevectorref)¶
- Purpose
Tangent height computation on statevector.
- Arguments
statevector [struct_gsv ,inout]
statevectorref [struct_gsv ,in]
- Called from
- Call to
utl_tmg_start()
,msg()
,gsv_getvco()
,gsv_varexist()
,utl_abort()
,utl_tmg_stop()
- subroutine calcheightandpressure_mod/calcheight_gsv_ad(statevector, statevectorref)¶
- Purpose
Adjoint of height computation on statevector.
- Arguments
statevector [struct_gsv ,inout]
statevectorref [struct_gsv ,in]
- Called from
- Call to
utl_tmg_start()
,msg()
,gsv_getvco()
,gsv_varexist()
,utl_abort()
,utl_tmg_stop()
- subroutine calcheightandpressure_mod/calcpressure_gsv_nl(statevector[, ps_in_hpa_opt])¶
- Purpose
Pressure computation, values stored in statevector.
- Arguments
statevector [struct_gsv ,inout]
- Options
ps_in_hpa_opt [logical ,in,] :: If true, conversion from hPa to mbar done for surface pressure
- Called from
- Call to
utl_tmg_start()
,msg()
,gsv_getvco()
,gsv_getdatakind()
,calcpressure_gsv_nl_vcode5xxx_r4()
,calcpressure_gsv_nl_vcode5xxx_r8()
,calcpressure_gsv_nl_vcode2100x()
,utl_tmg_stop()
- subroutine calcheightandpressure_mod/czp_calcreturnpressure_gsv_nl(statevector[, ztin_r4_opt[, zmin_r4_opt[, ztin_r8_opt[, zmin_r8_opt[, ptout_r4_opt[, pmout_r4_opt[, ptout_r8_opt[, pmout_r8_opt[, ps_in_hpa_opt]]]]]]]]])¶
- Purpose
Compute or retrieve pressures and return values in pointer arguments. Proceeds to vcode dispatching.
- Arguments
statevector [struct_gsv ,in]
- Options
ztin_r4_opt (*,*,*,*) [real ,in,pointer]
zmin_r4_opt (*,*,*,*) [real ,in,pointer]
ztin_r8_opt (*,*,*,*) [real ,in,pointer]
zmin_r8_opt (*,*,*,*) [real ,in,pointer]
ptout_r4_opt (*,*,*,*) [real ,inout,pointer]
pmout_r4_opt (*,*,*,*) [real ,inout,pointer]
ptout_r8_opt (*,*,*,*) [real ,inout,pointer]
pmout_r8_opt (*,*,*,*) [real ,inout,pointer]
ps_in_hpa_opt [logical ,in,] :: If true, conversion from hPa to mbar done for surface pressure
- Called from
- Call to
utl_tmg_start()
,msg()
,gsv_getvco()
,gsv_getdatakind()
,utl_abort()
,calcpressure_gsv_nl_vcode5xxx_r4()
,calcpressure_gsv_nl_vcode5xxx_r8()
,calcpressure_gsv_nl_vcode2100x()
,utl_tmg_stop()
- subroutine calcheightandpressure_mod/calcpressure_gsv_nl_vcode2100x(statevector[, ztin_r4_opt[, zmin_r4_opt[, ztin_r8_opt[, zmin_r8_opt[, ptout_r4_opt[, pmout_r4_opt[, ptout_r8_opt[, pmout_r8_opt]]]]]]]])¶
- Purpose
Compute pressure and return values in pointer arguments. GEM-H statevector input.
- Arguments
statevector [struct_gsv ,in]
- Options
ztin_r4_opt (*,*,*,*) [real ,in,pointer]
zmin_r4_opt (*,*,*,*) [real ,in,pointer]
ztin_r8_opt (*,*,*,*) [real ,in,pointer]
zmin_r8_opt (*,*,*,*) [real ,in,pointer]
ptout_r4_opt (*,*,*,*) [real ,inout,pointer]
pmout_r4_opt (*,*,*,*) [real ,inout,pointer]
ptout_r8_opt (*,*,*,*) [real ,inout,pointer]
pmout_r8_opt (*,*,*,*) [real ,inout,pointer]
- Called from
- Call to
msg()
,gsv_getnumlev()
,utl_abort()
,gsv_getheightsfc()
,phf_fotvt8()
,gpscompressibility()
,phf_gravityalt()
- subroutine calcheightandpressure_mod/calcpressure_gsv_nl_vcode5xxx_r8(statevector, p_t, p_m[, ps_in_hpa_opt])¶
- Purpose
Pressure retrieval for GEM-P real(8) statevector, values values returned in pointers.
- Arguments
statevector [struct_gsv ,in]
p_t (*,*,*,*) [real ,inout,pointer]
p_m (*,*,*,*) [real ,inout,pointer]
- Options
ps_in_hpa_opt [logical ,in,] :: If true, conversion from hPa to mbar done for surface pressure
- Called from
- Call to
- subroutine calcheightandpressure_mod/calcpressure_gsv_nl_vcode5xxx_r4(statevector, p_t, p_m[, ps_in_hpa_opt])¶
- Purpose
Pressure retrieval for GEM-P real(4) statevector, values values returned in pointers.
- Arguments
statevector [struct_gsv ,in]
p_t (*,*,*,*) [real ,inout,pointer]
p_m (*,*,*,*) [real ,inout,pointer]
- Options
ps_in_hpa_opt [logical ,in,] :: If true, conversion from hPa to mbar done for surface pressure
- Called from
- Call to
- subroutine calcheightandpressure_mod/calcpressure_gsv_tl(statevector, statevectorref)¶
- Purpose
Tangent of pressure computation.
- Arguments
statevector [struct_gsv ,inout] :: statevector that will contain the P_T/P_M increments
statevectorref [struct_gsv ,in] :: statevector containing needed reference fields
- Called from
- Call to
utl_tmg_start()
,msg()
,gsv_getvco()
,gsv_varexist()
,utl_abort()
,utl_tmg_stop()
- subroutine calcheightandpressure_mod/calcpressure_gsv_ad(statevector, statevectorref)¶
- Purpose
Adjoint of pressure computation.
- Arguments
statevector [struct_gsv ,inout] :: statevector that will contain increment of P_T/P_M
statevectorref [struct_gsv ,in] :: statevector containing needed reference fields
- Called from
- Call to
utl_tmg_start()
,msg()
,gsv_getvco()
,gsv_varexist()
,utl_abort()
,utl_tmg_stop()
- subroutine calcheightandpressure_mod/calczandp_col_nl(column)¶
- Purpose
Compute pressure and height in the column in proper order depending on the vgrid kind
- Arguments
column [struct_columndata ,inout] :: column that will contain the Z_*/P_* fields
- Call to
msg()
,col_varexist()
,calcpressure_col_nl()
,calcheight_col_nl()
- subroutine calcheightandpressure_mod/calczandp_col_tl(columninc, columnincref)¶
- Purpose
Compute pressure and height increment in the column in proper order depending on the vgrid kind
- Arguments
columninc [struct_columndata ,inout] :: column that will contain the Z_*/P_* increments
columnincref [struct_columndata ,in] :: column containing needed reference fields
- Call to
msg()
,col_varexist()
,calcpressure_col_tl()
,calcheight_col_tl()
,utl_abort()
- subroutine calcheightandpressure_mod/calczandp_col_ad(columninc, columnincref)¶
- Purpose
Adjoint of pressure and height increment computation in the column in proper order depending on the vgrid kind
- Arguments
columninc [struct_columndata ,inout] :: column that will contain the Z_*/P_* increments
columnincref [struct_columndata ,in] :: column containing needed reference fields
- Call to
msg()
,col_varexist()
,calcheight_col_ad()
,calcpressure_col_ad()
,utl_abort()
- subroutine calcheightandpressure_mod/calcheight_col_nl(column)¶
- Purpose
Compute or retrieve heights on the column.
- Arguments
column [struct_columndata ,inout] :: column that will contain the Z_M/Z_T fields
- Called from
- Call to
msg()
,col_getallcolumns()
,czp_calcreturnheight_col_nl()
,col_getcolumn()
- subroutine calcheightandpressure_mod/czp_calcreturnheight_col_nl(column, z_t, z_m)¶
- Purpose
Return heights on the column.
- Arguments
column [struct_columndata ,in] :: reference column containing temperature and geopotential
z_t (*,*) [real ,inout,pointer] :: computed column height values on thermodynamic levels
z_m (*,*) [real ,inout,pointer] :: computed column height values on momentum levels
- Called from
- Call to
msg()
,col_getvco()
,col_varexist()
,utl_abort()
,calcheight_col_nl_vcode5xxx()
,calcheight_col_nl_vcode2100x()
- subroutine calcheightandpressure_mod/calcheight_col_nl_vcode2100x(column, z_t, z_m)¶
- Purpose
Return heights on a GEM-H column.
- Arguments
column [struct_columndata ,in] :: reference column containing temperature and geopotential
z_t (*,*) [real ,inout,pointer] :: computed column height values on thermodynamic levels
z_m (*,*) [real ,inout,pointer] :: computed column height values on momentum levels
- Called from
- Call to
- subroutine calcheightandpressure_mod/calcheight_col_nl_vcode5xxx(column, z_t, z_m)¶
- Purpose
Compute heights for GEM-P columns, return height values in pointer arguments.
- Arguments
column [struct_columndata ,in] :: reference column containing temperature and geopotential
z_t (*,*) [real ,inout,pointer] :: computed column height values on thermodynamic levels
z_m (*,*) [real ,inout,pointer] :: computed column height values on momentum levels
- Called from
- Call to
- subroutine calcheightandpressure_mod/calcheight_col_tl(columninc, columnincref)¶
- Purpose
Tangent height computation on the column.
- Arguments
columninc [struct_columndata ,inout]
columnincref [struct_columndata ,in]
- Called from
- Call to
utl_tmg_start()
,msg()
,col_getvco()
,col_varexist()
,utl_abort()
,utl_tmg_stop()
- subroutine calcheightandpressure_mod/calcheight_col_ad(columninc, columnincref)¶
- Purpose
Adjoint of height computation on the column.
- Arguments
columninc [struct_columndata ,inout]
columnincref [struct_columndata ,in]
- Called from
- Call to
utl_tmg_start()
,msg()
,col_getvco()
,col_varexist()
,utl_abort()
,utl_tmg_stop()
- subroutine calcheightandpressure_mod/calcpressure_col_nl(column)¶
- Purpose
Pressure computation on the column.
- Arguments
column [struct_columndata ,inout]
- Called from
- Call to
msg()
,col_getallcolumns()
,czp_calcreturnpressure_col_nl()
,col_getcolumn()
- subroutine calcheightandpressure_mod/czp_calcreturnpressure_col_nl(column, p_t, p_m)¶
- Purpose
Pressure computation on the column, return values in pointers.
- Arguments
column [struct_columndata ,in] :: reference column
p_t (*,*) [real ,inout,pointer] :: computed column pressure values on thermodynamic levels
p_m (*,*) [real ,inout,pointer] :: computed column pressure values on momentum levels
- Called from
- Call to
msg()
,col_getvco()
,col_varexist()
,utl_abort()
,calcpressure_col_nl_vcode5xxx()
,calcpressure_col_nl_vcode2100x()
- subroutine calcheightandpressure_mod/calcpressure_col_nl_vcode2100x(column, p_t, p_m)¶
- Purpose
Compute pressure and return values in pointer arguments. GEM-H column input.
- Arguments
column [struct_columndata ,in] :: reference column
p_t (*,*) [real ,inout,pointer] :: computed column pressure values on thermodynamic levels
p_m (*,*) [real ,inout,pointer] :: computed column pressure values on momentum levels
- Called from
- Call to
msg()
,col_getnumcol()
,col_getnumlev()
,col_getelem()
,col_getheight()
,phf_fotvt8()
,gpscompressibility()
,phf_gravityalt()
- subroutine calcheightandpressure_mod/calcpressure_col_nl_vcode5xxx(column, p_t, p_m)¶
- Arguments
column [struct_columndata ,in] :: reference column
p_t (*,*) [real ,inout,pointer] :: computed column pressure values on thermodynamic levels
p_m (*,*) [real ,inout,pointer] :: computed column pressure values on momentum levels
- Called from
- Call to
msg()
,col_getnumcol()
,col_getvco()
,col_varexist()
,utl_abort()
,col_getelem()
,fetch3dlevels_r8()
- subroutine calcheightandpressure_mod/calcpressure_col_tl(columninc, columnincref)¶
- Purpose
Tangent pressure computation on the column.
- Arguments
columninc [struct_columndata ,inout] :: column that will contain the P_T/P_M increments
columnincref [struct_columndata ,in] :: column containing needed reference fields
- Called from
- Call to
- subroutine calcheightandpressure_mod/calcpressure_col_ad(columninc, columnincref)¶
- Purpose
Adjoint of pressure computation on the column.
- Arguments
columninc [struct_columndata ,inout] :: column that will contain increments of P_M/P_T
columnincref [struct_columndata ,in] :: column containing needed reference fields
- Called from
- Call to
- subroutine calcheightandpressure_mod/fetch3dlevels_r8(vco, sfcfld[, sfcfldls_opt[, fldm_opt[, fldt_opt]]])¶
- Purpose
Main vgd_levels wrapper for field queries. Return vertical coordinate fields for both momentum and thermodynamic levels; real(8) flavor.
- Arguments
vco [struct_vco ,in] :: Vertical descriptor
sfcfld (*,*) [real ,in] :: Surface field reference for coordinate
- Options
sfcfldls_opt (*,*) [real ,in,] :: Large scale surface field reference for coordinate (SLEVE)
fldm_opt (*,*,*) [real ,inout,pointer] :: Momemtum levels field
fldt_opt (*,*,*) [real ,inout,pointer] :: Thermodynamic levels field
- Called from
calcheight_gsv_nl_vcode2100x_r8()
,calcpressure_gsv_nl_vcode5xxx_r8()
,calcheight_col_nl_vcode2100x()
,calcpressure_col_nl_vcode5xxx()
,czp_ensurecompatibletops()
- Call to
- subroutine calcheightandpressure_mod/fetch3dlevels_r4(vco, sfcfld[, sfcfldls_opt[, fldm_opt[, fldt_opt]]])¶
- Purpose
Main vgd_levels wrapper for field query. Return vertical coordinate fields for both momentum and thermodynamic levels; real(4) flavor.
- Arguments
vco [struct_vco ,in] :: Vertical descriptor
sfcfld (*,*) [real ,in] :: Surface field reference for coordinate
- Options
sfcfldls_opt (*,*) [real ,in,] :: Large scale surface field reference for coordinate (SLEVE)
fldm_opt (*,*,*) [real ,inout,pointer] :: Momemtum levels field
fldt_opt (*,*,*) [real ,inout,pointer] :: Thermodynamic levels field
- Called from
calcheight_gsv_nl_vcode2100x_r4()
,calcpressure_gsv_nl_vcode5xxx_r4()
- Call to
- subroutine calcheightandpressure_mod/fetch1dlevels_r8(vco, sfcvalue[, profm_opt[, proft_opt]])¶
- Purpose
Main vgd_levels wrapper for profile query. Return vertical coordinate profile for both momentum and thermodynamic levels; real(8) flavor.
- Arguments
vco [struct_vco ,in] :: Vertical descriptor
sfcvalue [real ,in] :: Surface field reference for coordinate
- Options
profm_opt (*) [real ,inout,pointer] :: Momemtum levels profile
proft_opt (*) [real ,inout,pointer] :: Thermodynamic levels profile
- Call to
- subroutine calcheightandpressure_mod/fetch1ddpdps_r8(vco, sfcvalue[, profm_opt[, proft_opt]])¶
- Purpose
Main vgd_levels wrapper for iderivative profile query. Return vertical coordinate profile for both momentum and thermodynamic levels; real(8) flavor.
- Arguments
vco [struct_vco ,in] :: Vertical descriptor
sfcvalue [real ,in] :: Surface field reference for coordinate
- Options
profm_opt (*) [real ,inout,pointer] :: Momemtum levels profile
proft_opt (*) [real ,inout,pointer] :: Thermodynamic levels profile
- Call to
- subroutine calcheightandpressure_mod/czp_ensurecompatibletops(vco_sourcegrid, vco_destgrid)¶
- Purpose
This function checks if the top of a destination grid is ~equal or lower than the top of the source grid the code aborts if this is not the case
- Arguments
vco_sourcegrid [struct_vco ,in,pointer] :: vertical coordinate source grid
vco_destgrid [struct_vco ,in,pointer] :: vertical coordinate destination grid
- Called from
- Call to
- subroutine calcheightandpressure_mod/calcheightcoeff_gsv(statevector)¶
- Purpose
Calculating the coefficients of height for czp_calcHeight_tl/czp_calcHeight_ad
- Arguments
statevector [struct_gsv ,in]
- Call to
msg()
,gsv_getvco()
,gsv_getnumlev()
,gpscompressibility()
,gpscompressibility_tt()
,gpscompressibility_hu()
,gpscompressibility_p0_1()
,gpscompressibility_p0_2()
,phf_gravityalt()
,phf_fottva()
,phf_fotvt8()
,phf_folnqva()
,utl_abort()
- subroutine calcheightandpressure_mod/calcheightcoeff_col(column)¶
- Purpose
Calculating the coefficients of height for czp_calcHeight_tl/czp_calcHeight_ad
- Arguments
column [struct_columndata ,in]
- Call to
msg()
,col_getvco()
,col_getnumlev()
,col_getnumcol()
,col_getallcolumns()
,gpscompressibility()
,gpscompressibility_tt()
,gpscompressibility_hu()
,gpscompressibility_p0_1()
,gpscompressibility_p0_2()
,phf_gravityalt()
,phf_fottva()
,phf_fotvt8()
,phf_folnqva()
,utl_abort()
- function calcheightandpressure_mod/gpscompressibility(p, t, q)¶
- Arguments
p [real ,in]
t [real ,in]
q [real ,in]
- Return
gpscompressibility [real ]
- Call to
- function calcheightandpressure_mod/gpscompressibility_tt(p, t, q)¶
- Arguments
p [real ,in]
t [real ,in]
q [real ,in]
- Return
gpscompressibility_tt [real ]
- Called from
- Call to
- function calcheightandpressure_mod/gpscompressibility_hu(p, t, q)¶
- Arguments
p [real ,in]
t [real ,in]
q [real ,in]
- Return
gpscompressibility_hu [real ]
- Called from
- Call to
- function calcheightandpressure_mod/gpscompressibility_p0_1(p, t, q, dpdp0)¶
gpscompressibility_P0_1 has dpdp0 dependency
- Arguments
p [real ,in]
t [real ,in]
q [real ,in]
dpdp0 [real ,in]
- Return
gpscompressibility_p0_1 [real ]
- Called from
- Call to
- function calcheightandpressure_mod/gpscompressibility_p0_2(p, t, q)¶
gpscompressibility_P0_2 has NO dpdp0 dependency
- Arguments
p [real ,in]
t [real ,in]
q [real ,in]
- Return
gpscompressibility_p0_2 [real ]
- Called from
- Call to