The module 'fv_mapz' contains the vertical mapping routines [lin2004vertically]. More...
Functions/Subroutines | |
subroutine, public | lagrangian_to_eulerian (last_step, consv, ps, pe, delp, pkz, pk, mdt, pdt, npx, npy, km, is, ie, js, je, isd, ied, jsd, jed, nq, nwat, sphum, q_con, u, v, w, delz, pt, q, hs, r_vir, cp, akap, cappa, kord_mt, kord_wz, kord_tr, kord_tm, peln, te0_2d, ng, ua, va, omga, te, ws, fill, reproduce_sum, out_dt, dtdt, ptop, ak, bk, pfull, gridstruct, domain, do_sat_adj, hydrostatic, hybrid_z, do_omega, adiabatic, do_adiabatic_init, c2l_ord, bd, fv_debug, moist_phys) |
The subroutine 'Lagrangian_to_Eulerian' remaps deformed Lagrangian layers back to the reference Eulerian coordinate. More... | |
subroutine, public | compute_total_energy (is, ie, js, je, isd, ied, jsd, jed, km, u, v, w, delz, pt, delp, q, qc, pe, peln, hs, rsin2_l, cosa_s_l, r_vir, cp, rg, hlv, te_2d, ua, va, teq, moist_phys, nwat, sphum, liq_wat, rainwat, ice_wat, snowwat, graupel, hydrostatic, id_te) |
The subroutine 'compute_total_energy' performs the FV3-consistent computation of the global total energy. More... | |
subroutine | pkez (km, ifirst, ilast, jfirst, jlast, j, pe, pk, akap, peln, pkz, ptop) |
subroutine | remap_z (km, pe1, q1, kn, pe2, q2, i1, i2, iv, kord) |
subroutine | map_scalar (km, pe1, q1, qs, kn, pe2, q2, i1, i2, j, ibeg, iend, jbeg, jend, iv, kord, q_min) |
subroutine | map1_ppm (km, pe1, q1, qs, kn, pe2, q2, i1, i2, j, ibeg, iend, jbeg, jend, iv, kord) |
subroutine | mapn_tracer (nq, km, pe1, pe2, q1, dp2, kord, j, i1, i2, isd, ied, jsd, jed, q_min, fill) |
subroutine | map1_q2 (km, pe1, q1, kn, pe2, q2, dp2, i1, i2, iv, kord, j, ibeg, iend, jbeg, jend, q_min) |
subroutine, public | remap_2d (km, pe1, q1, kn, pe2, q2, i1, i2, iv, kord) |
subroutine | scalar_profile (qs, a4, delp, km, i1, i2, iv, kord, qmin) |
subroutine | cs_profile (qs, a4, delp, km, i1, i2, iv, kord) |
subroutine | cs_limiters (im, extm, a4, iv) |
subroutine | ppm_profile (a4, delp, km, i1, i2, iv, kord) |
subroutine | ppm_limiters (dm, a4, itot, lmt) |
subroutine | steepz (i1, i2, km, a4, df2, dm, dq, dp, d4) |
subroutine, public | rst_remap (km, kn, is, ie, js, je, isd, ied, jsd, jed, nq, ntp, delp_r, u_r, v_r, w_r, delz_r, pt_r, q_r, qdiag_r, delp, u, v, w, delz, pt, q, qdiag, ak_r, bk_r, ptop, ak, bk, hydrostatic, make_nh, domain, square_domain) |
The subroutine 'rst_remap' remaps all variables required for a restart. More... | |
subroutine, public | mappm (km, pe1, q1, kn, pe2, q2, i1, i2, iv, kord, ptop) |
The subroutine 'mappm' is a general-purpose routine for remapping one set of vertical levels to another. More... | |
subroutine, public | moist_cv (is, ie, isd, ied, jsd, jed, km, j, k, nwat, sphum, liq_wat, rainwat, ice_wat, snowwat, graupel, q, qd, cvm, t1) |
The subroutine 'moist_cv' computes the FV3-consistent moist heat capacity under constant volume, including the heating capacity of water vapor and condensates. More... | |
subroutine, public | moist_cp (is, ie, isd, ied, jsd, jed, km, j, k, nwat, sphum, liq_wat, rainwat, ice_wat, snowwat, graupel, q, qd, cpm, t1) |
The subroutine 'moist_cp' computes the FV3-consistent moist heat capacity under constant pressure, including the heating capacity of water vapor and condensates. More... | |
Variables | |
real, parameter | consv_min = 0.001 |
below which no correction applies More... | |
real, parameter | t_min = 184. |
below which applies stricter constraint More... | |
real, parameter | r3 = 1./3. |
real, parameter | r23 = 2./3. |
real, parameter | r12 = 1./12. |
real, parameter | cv_vap = 3.*rvgas |
1384.5 More... | |
real, parameter | cv_air = cp_air - rdgas |
= rdgas * (7/2-1) = 2.5*rdgas=717.68 More... | |
real, parameter | c_ice = 1972. |
heat capacity of ice at -15.C More... | |
real, parameter | c_liq = 4.1855e+3 |
GFS: heat capacity of water at 0C. More... | |
real, parameter | cp_vap = cp_vapor |
real, parameter | tice = 273.16 |
real, parameter | w_max = 60. |
real, parameter | w_min = -30. |
logical, parameter | w_limiter = .false. |
real(kind=4), public | e_flux = 0. |
The module 'fv_mapz' contains the vertical mapping routines [lin2004vertically].
subroutine, public fv_mapz_mod::compute_total_energy | ( | integer, intent(in) | is, |
integer, intent(in) | ie, | ||
integer, intent(in) | js, | ||
integer, intent(in) | je, | ||
integer, intent(in) | isd, | ||
integer, intent(in) | ied, | ||
integer, intent(in) | jsd, | ||
integer, intent(in) | jed, | ||
integer, intent(in) | km, | ||
real, dimension(isd:ied, jsd:jed+1,km), intent(inout) | u, | ||
real, dimension(isd:ied+1,jsd:jed, km), intent(inout) | v, | ||
real, dimension(isd:,jsd:,1:), intent(in) | w, | ||
real, dimension(is:,js:,1:), intent(in) | delz, | ||
real, dimension(isd:ied,jsd:jed,km), intent(in) | pt, | ||
real, dimension(isd:ied,jsd:jed,km), intent(in) | delp, | ||
real, dimension(isd:ied,jsd:jed,km,*), intent(in) | q, | ||
real, dimension(isd:ied,jsd:jed,km), intent(in) | qc, | ||
real, dimension(is-1:ie+1,km+1,js-1:je+1), intent(in) | pe, | ||
real, dimension(is:ie,km+1,js:je), intent(in) | peln, | ||
real, dimension(isd:ied,jsd:jed), intent(in) | hs, | ||
real, dimension(isd:ied, jsd:jed), intent(in) | rsin2_l, | ||
real, dimension(isd:ied, jsd:jed), intent(in) | cosa_s_l, | ||
real, intent(in) | r_vir, | ||
real, intent(in) | cp, | ||
real, intent(in) | rg, | ||
real, intent(in) | hlv, | ||
real, dimension(is:ie,js:je), intent(out) | te_2d, | ||
real, dimension(isd:ied,jsd:jed,km), intent(inout) | ua, | ||
real, dimension(isd:ied,jsd:jed,km), intent(inout) | va, | ||
real, dimension(is:ie,js:je), intent(out) | teq, | ||
logical, intent(in) | moist_phys, | ||
integer, intent(in) | nwat, | ||
integer, intent(in) | sphum, | ||
integer, intent(in) | liq_wat, | ||
integer, intent(in) | rainwat, | ||
integer, intent(in) | ice_wat, | ||
integer, intent(in) | snowwat, | ||
integer, intent(in) | graupel, | ||
logical, intent(in) | hydrostatic, | ||
integer, intent(in) | id_te | ||
) |
The subroutine 'compute_total_energy' performs the FV3-consistent computation of the global total energy.
It includes the potential, internal (latent and sensible heat), kinetic terms.
[in] | w | vertical velocity (m/s) |
[in] | hs | surface geopotential |
[in] | pe | pressure at layer edges |
[in] | peln | log(pe) |
[out] | te_2d | vertically integrated TE |
[out] | teq | Moist TE Local |
Definition at line 960 of file fv_mapz.F90.
|
private |
[in,out] | a4 | PPM array |
Definition at line 2523 of file fv_mapz.F90.
|
private |
[in] | km | vertical dimension |
[in] | iv | iv =-1: winds iv = 0: positive definite scalars iv = 1: others |
[in] | delp | layer pressure thickness |
[in,out] | a4 | Interpolated values |
Definition at line 2120 of file fv_mapz.F90.
subroutine, public fv_mapz_mod::lagrangian_to_eulerian | ( | logical, intent(in) | last_step, |
real, intent(in) | consv, | ||
real, dimension(isd:ied,jsd:jed), intent(inout) | ps, | ||
real, dimension(is-1:ie+1,km+1,js-1:je+1), intent(inout) | pe, | ||
real, dimension(isd:ied,jsd:jed,km), intent(inout) | delp, | ||
real, dimension(is:ie,js:je,km), intent(out) | pkz, | ||
real, dimension(is:ie,js:je,km+1), intent(inout) | pk, | ||
real, intent(in) | mdt, | ||
real, intent(in) | pdt, | ||
integer, intent(in) | npx, | ||
integer, intent(in) | npy, | ||
integer, intent(in) | km, | ||
integer, intent(in) | is, | ||
integer, intent(in) | ie, | ||
integer, intent(in) | js, | ||
integer, intent(in) | je, | ||
integer, intent(in) | isd, | ||
integer, intent(in) | ied, | ||
integer, intent(in) | jsd, | ||
integer, intent(in) | jed, | ||
integer, intent(in) | nq, | ||
integer, intent(in) | nwat, | ||
integer, intent(in) | sphum, | ||
real, dimension(isd:,jsd:,1:), intent(inout) | q_con, | ||
real, dimension(isd:ied ,jsd:jed+1,km), intent(inout) | u, | ||
real, dimension(isd:ied+1,jsd:jed ,km), intent(inout) | v, | ||
real, dimension(isd: ,jsd: ,1:), intent(inout) | w, | ||
real, dimension(is:,js:,1:), intent(inout) | delz, | ||
real, dimension(isd:ied ,jsd:jed ,km), intent(inout) | pt, | ||
real, dimension(isd:ied,jsd:jed,km,*), intent(inout) | q, | ||
real, dimension(isd:ied,jsd:jed), intent(in) | hs, | ||
real, intent(in) | r_vir, | ||
real, intent(in) | cp, | ||
real, intent(in) | akap, | ||
real, dimension(isd:,jsd:,1:), intent(inout) | cappa, | ||
integer, intent(in) | kord_mt, | ||
integer, intent(in) | kord_wz, | ||
integer, dimension(nq), intent(in) | kord_tr, | ||
integer, intent(in) | kord_tm, | ||
real, dimension(is:ie,km+1,js:je), intent(inout) | peln, | ||
real, dimension(is:ie,js:je), intent(inout) | te0_2d, | ||
integer, intent(in) | ng, | ||
real, dimension(isd:ied,jsd:jed,km), intent(inout) | ua, | ||
real, dimension(isd:ied,jsd:jed,km), intent(inout) | va, | ||
real, dimension(isd:ied,jsd:jed,km), intent(inout) | omga, | ||
real, dimension(isd:ied,jsd:jed,km), intent(out) | te, | ||
real, dimension(is:ie,js:je), intent(in) | ws, | ||
logical, intent(in) | fill, | ||
logical, intent(in) | reproduce_sum, | ||
logical, intent(in) | out_dt, | ||
real, dimension(is:ie,js:je,km), intent(inout) | dtdt, | ||
real, intent(in) | ptop, | ||
real, dimension(km+1), intent(in) | ak, | ||
real, dimension(km+1), intent(in) | bk, | ||
real, dimension(km), intent(in) | pfull, | ||
type(fv_grid_type), intent(in), target | gridstruct, | ||
type(domain2d), intent(inout) | domain, | ||
logical, intent(in) | do_sat_adj, | ||
logical, intent(in) | hydrostatic, | ||
logical, intent(in) | hybrid_z, | ||
logical, intent(in) | do_omega, | ||
logical, intent(in) | adiabatic, | ||
logical, intent(in) | do_adiabatic_init, | ||
integer, intent(in) | c2l_ord, | ||
type(fv_grid_bounds_type), intent(in) | bd, | ||
logical, intent(in) | fv_debug, | ||
logical, intent(in) | moist_phys | ||
) |
The subroutine 'Lagrangian_to_Eulerian' remaps deformed Lagrangian layers back to the reference Eulerian coordinate.
It also includes the entry point for calling fast microphysical processes. This is typically calle on the k_split loop.
[in] | mdt | remap time step |
[in] | pdt | phys time step |
[in] | nq | number of tracers (including h2o) |
[in] | sphum | index for water vapor (specific humidity) |
[in] | ied | starting & ending X-Dir index |
[in] | jed | starting & ending Y-Dir index |
[in] | kord_mt | Mapping order for the vector winds |
[in] | kord_wz | Mapping order/option for w |
[in] | kord_tr | Mapping order for tracers |
[in] | kord_tm | Mapping order for thermodynamics |
[in] | consv | factor for TE conservation |
[in] | hs | surface geopotential |
[in] | fill | fill negative tracers |
[in,out] | pk | pe to the kappa |
[in,out] | delp | pressure thickness |
[in,out] | pe | pressure at layer edges |
[in,out] | ps | surface pressure |
[in,out] | u | u-wind (m/s) |
[in,out] | v | v-wind (m/s) |
[in,out] | w | vertical velocity (m/s) |
[in,out] | pt | cp*virtual potential temperature as input; output: temperature |
[in,out] | ua | u-wind (m/s) on physics grid |
[in,out] | va | v-wind (m/s) on physics grid |
[in,out] | omga | vertical press. velocity (pascal/sec) |
[in,out] | peln | log(pe) |
[out] | pkz | layer-mean pk for converting t to pt |
Definition at line 143 of file fv_mapz.F90.
|
private |
[in] | i1 | Starting longitude |
[in] | i2 | Finishing longitude |
[in] | iv | Mode: 0 == constituents 1 == ??? 2 == remap temp with cs scheme |
[in] | kord | Method order |
[in] | j | Current latitude |
[in] | km | Original vertical dimension |
[in] | kn | Target vertical dimension |
[in] | qs | bottom BC |
[in] | pe1 | pressure at layer edges from model top to bottom surface in the original vertical coordinate |
[in] | pe2 | pressure at layer edges from model top to bottom surface in the new vertical coordinate |
[in] | q1 | Field input |
[in,out] | q2 | Field output |
Definition at line 1333 of file fv_mapz.F90.
|
private |
[in] | iv | Mode: 0 == constituents 1 == ??? |
[in] | km | Original vertical dimension |
[in] | kn | Target vertical dimension |
[in] | pe1 | pressure at layer edges from model top to bottom surface in the original vertical coordinate |
[in] | pe2 | pressure at layer edges from model top to bottom surface in the new vertical coordinate |
[in] | q1 | Field input |
[in,out] | q2 | Field output |
Definition at line 1535 of file fv_mapz.F90.
|
private |
[in] | i1 | Starting longitude |
[in] | i2 | Finishing longitude |
[in] | iv | Mode: 0 == constituents 1 == temp 2 == remap temp with cs scheme |
[in] | kord | Method order |
[in] | j | Current latitude |
[in] | km | Original vertical dimension |
[in] | kn | Target vertical dimension |
[in] | qs | bottom BC |
[in] | pe1 | pressure at layer edges from model top to bottom surface in the original vertical coordinate |
[in] | pe2 | pressure at layer edges from model top to bottom surface in the new vertical coordinate |
[in] | q1 | Field input |
[in,out] | q2 | Field output |
Definition at line 1243 of file fv_mapz.F90.
|
private |
[in] | km | vertical dimension |
[in] | pe1 | pressure at layer edges from model top to bottom surface in the original vertical coordinate |
[in] | pe2 | pressure at layer edges from model top to bottom surface in the new vertical coordinate |
Definition at line 1421 of file fv_mapz.F90.
subroutine, public fv_mapz_mod::mappm | ( | integer, intent(in) | km, |
real, dimension(i1:i2,km+1), intent(in) | pe1, | ||
real, dimension(i1:i2,km), intent(in) | q1, | ||
integer, intent(in) | kn, | ||
real, dimension(i1:i2,kn+1), intent(in) | pe2, | ||
real, dimension(i1:i2,kn), intent(out) | q2, | ||
integer, intent(in) | i1, | ||
integer, intent(in) | i2, | ||
integer, intent(in) | iv, | ||
integer, intent(in) | kord, | ||
real, intent(in) | ptop | ||
) |
The subroutine 'mappm' is a general-purpose routine for remapping one set of vertical levels to another.
[in] | pe2 | pe1: pressure at layer edges from model top to bottom surface in the ORIGINAL vertical coordinate pe2: pressure at layer edges from model top to bottom surface in the NEW vertical coordinate |
Definition at line 3281 of file fv_mapz.F90.
subroutine, public fv_mapz_mod::moist_cp | ( | integer, intent(in) | is, |
integer, intent(in) | ie, | ||
integer, intent(in) | isd, | ||
integer, intent(in) | ied, | ||
integer, intent(in) | jsd, | ||
integer, intent(in) | jed, | ||
integer, intent(in) | km, | ||
integer, intent(in) | j, | ||
integer, intent(in) | k, | ||
integer, intent(in) | nwat, | ||
integer, intent(in) | sphum, | ||
integer, intent(in) | liq_wat, | ||
integer, intent(in) | rainwat, | ||
integer, intent(in) | ice_wat, | ||
integer, intent(in) | snowwat, | ||
integer, intent(in) | graupel, | ||
real, dimension(isd:ied,jsd:jed,km,nwat), intent(in) | q, | ||
real, dimension(is:ie), intent(out) | qd, | ||
real, dimension(is:ie), intent(out) | cpm, | ||
real, dimension(is:ie), intent(in), optional | t1 | ||
) |
The subroutine 'moist_cp' computes the FV3-consistent moist heat capacity under constant pressure, including the heating capacity of water vapor and condensates.
Definition at line 3539 of file fv_mapz.F90.
subroutine, public fv_mapz_mod::moist_cv | ( | integer, intent(in) | is, |
integer, intent(in) | ie, | ||
integer, intent(in) | isd, | ||
integer, intent(in) | ied, | ||
integer, intent(in) | jsd, | ||
integer, intent(in) | jed, | ||
integer, intent(in) | km, | ||
integer, intent(in) | j, | ||
integer, intent(in) | k, | ||
integer, intent(in) | nwat, | ||
integer, intent(in) | sphum, | ||
integer, intent(in) | liq_wat, | ||
integer, intent(in) | rainwat, | ||
integer, intent(in) | ice_wat, | ||
integer, intent(in) | snowwat, | ||
integer, intent(in) | graupel, | ||
real, dimension(isd:ied,jsd:jed,km,nwat), intent(in) | q, | ||
real, dimension(is:ie), intent(out) | qd, | ||
real, dimension(is:ie), intent(out) | cvm, | ||
real, dimension(is:ie), intent(in), optional | t1 | ||
) |
The subroutine 'moist_cv' computes the FV3-consistent moist heat capacity under constant volume, including the heating capacity of water vapor and condensates.
See [emanuel1994atmospheric] for information on variable heat capacities.
Definition at line 3418 of file fv_mapz.F90.
|
private |
[in] | ilast | Latitude strip |
[in] | jlast | Latitude strip |
[in,out] | peln | log (pe) |
Definition at line 1101 of file fv_mapz.F90.
|
private |
[in] | dm | Linear slope |
[in] | itot | Total Longitudes |
[in] | lmt | 0: Standard PPM constraint 1: Improved full monotonicity constraint (Lin) 2: Positive definite constraint 3: do nothing (return immediately) |
[in,out] | a4 | PPM array AA <– a4(1,i) AL <– a4(2,i) AR <– a4(3,i) A6 <– a4(4,i) |
Definition at line 2859 of file fv_mapz.F90.
|
private |
[in] | iv | iv =-1: winds iv = 0: positive definite scalars iv = 1: others iv = 2: temp (if remap_t) and w (iv=-2) |
[in] | i1 | Starting longitude |
[in] | i2 | Finishing longitude |
[in] | km | Vertical dimension |
[in] | kord | Order (or more accurately method no.): |
[in] | delp | Layer pressure thickness |
[in,out] | a4 | Interpolated values |
Definition at line 2602 of file fv_mapz.F90.
subroutine, public fv_mapz_mod::remap_2d | ( | integer, intent(in) | km, |
real, dimension(i1:i2,km+1), intent(in) | pe1, | ||
real, dimension(i1:i2,km), intent(in) | q1, | ||
integer, intent(in) | kn, | ||
real, dimension(i1:i2,kn+1), intent(in) | pe2, | ||
real, dimension(i1:i2,kn), intent(out) | q2, | ||
integer, intent(in) | i1, | ||
integer, intent(in) | i2, | ||
integer, intent(in) | iv, | ||
integer, intent(in) | kord | ||
) |
[in] | iv | Mode: 0 == constituents 1 ==others |
[in] | km | Original vertical dimension |
[in] | kn | Target vertical dimension |
[in] | pe1 | Pressure at layer edges from model top to bottom surface in the original vertical coordinate |
[in] | pe2 | Pressure at layer edges from model top to bottom surface in the new vertical coordinate |
[in] | q1 | Field input |
[out] | q2 | Field output |
Definition at line 1624 of file fv_mapz.F90.
|
private |
[in] | i1 | Starting longitude |
[in] | i2 | Finishing longitude |
[in] | kord | Method order |
[in] | km | Original vertical dimension |
[in] | kn | Target vertical dimension |
[in] | pe1 | height at layer edges from model top to bottom surface |
[in] | pe2 | height at layer edges from model top to bottom surface |
[in] | q1 | Field input |
[in,out] | q2 | Field output |
Definition at line 1159 of file fv_mapz.F90.
subroutine, public fv_mapz_mod::rst_remap | ( | integer, intent(in) | km, |
integer, intent(in) | kn, | ||
integer, intent(in) | is, | ||
integer, intent(in) | ie, | ||
integer, intent(in) | js, | ||
integer, intent(in) | je, | ||
integer, intent(in) | isd, | ||
integer, intent(in) | ied, | ||
integer, intent(in) | jsd, | ||
integer, intent(in) | jed, | ||
integer, intent(in) | nq, | ||
integer, intent(in) | ntp, | ||
real, dimension(is:ie,js:je,km), intent(in) | delp_r, | ||
real, dimension(is:ie, js:je+1,km), intent(in) | u_r, | ||
real, dimension(is:ie+1,js:je ,km), intent(in) | v_r, | ||
real, dimension(is:ie,js:je,km), intent(in) | w_r, | ||
real, dimension(is:ie,js:je,km), intent(inout) | delz_r, | ||
real, dimension(is:ie,js:je,km), intent(inout) | pt_r, | ||
real, dimension(is:ie,js:je,km,1:ntp), intent(in) | q_r, | ||
real, dimension(is:ie,js:je,km,ntp+1:nq), intent(in) | qdiag_r, | ||
real, dimension(isd:ied,jsd:jed,kn), intent(out) | delp, | ||
real, dimension(isd:ied ,jsd:jed+1,kn), intent(out) | u, | ||
real, dimension(isd:ied+1,jsd:jed ,kn), intent(out) | v, | ||
real, dimension(isd: ,jsd: ,1:), intent(out) | w, | ||
real, dimension(is:,js:,1:), intent(out) | delz, | ||
real, dimension(isd:ied ,jsd:jed ,kn), intent(out) | pt, | ||
real, dimension(isd:ied,jsd:jed,kn,1:ntp), intent(out) | q, | ||
real, dimension(isd:ied,jsd:jed,kn,ntp+1:nq), intent(out) | qdiag, | ||
real, dimension(km+1), intent(in) | ak_r, | ||
real, dimension(km+1), intent(in) | bk_r, | ||
real, intent(in) | ptop, | ||
real, dimension(kn+1), intent(in) | ak, | ||
real, dimension(kn+1), intent(in) | bk, | ||
logical, intent(in) | hydrostatic, | ||
logical, intent(in) | make_nh, | ||
type(domain2d), intent(inout) | domain, | ||
logical, intent(in) | square_domain | ||
) |
The subroutine 'rst_remap' remaps all variables required for a restart.
npz_restart /= npz (i.e., when the number of vertical levels is changed at restart)
[in] | km | Restart z-dimension |
[in] | kn | Run time dimension |
[in] | ntp | Number of tracers (including H2O) |
[in] | ied | Starting & ending X-Dir index |
[in] | jed | Starting & ending Y-Dir index |
[in] | delp_r | Pressure thickness |
[in] | u_r | u-wind (m/s) |
[in] | v_r | v-wind (m/s) |
[out] | delp | Pressure thickness |
[out] | u | u-wind (m/s) |
[out] | v | v-wind (m/s) |
[out] | w | Vertical velocity (m/s) |
[out] | pt | Temperature |
[out] | delz | Delta-height (m) |
Definition at line 2999 of file fv_mapz.F90.
|
private |
[in] | km | vertical dimension |
[in] | iv | iv =-1: winds iv = 0: positive definite scalars iv = 1: others |
[in] | delp | Layer pressure thickness |
[in,out] | a4 | Interpolated values |
Definition at line 1713 of file fv_mapz.F90.
|
private |
[in] | dp | Grid size |
[in] | dq | Backward diff of q |
[in] | d4 | Backward sum: dp(k)+ dp(k-1) |
[in] | df2 | First guess mismatch |
[in] | dm | Monotonic mismatch |
[in,out] | a4 | First guess/steepened |
Definition at line 2939 of file fv_mapz.F90.
real, parameter fv_mapz_mod::c_ice = 1972. |
heat capacity of ice at -15.C
Definition at line 114 of file fv_mapz.F90.
real, parameter fv_mapz_mod::c_liq = 4.1855e+3 |
GFS: heat capacity of water at 0C.
Definition at line 115 of file fv_mapz.F90.
real, parameter fv_mapz_mod::consv_min = 0.001 |
below which no correction applies
Definition at line 108 of file fv_mapz.F90.
real, parameter fv_mapz_mod::cp_vap = cp_vapor |
Definition at line 117 of file fv_mapz.F90.
real, parameter fv_mapz_mod::cv_air = cp_air - rdgas |
= rdgas * (7/2-1) = 2.5*rdgas=717.68
Definition at line 112 of file fv_mapz.F90.
real, parameter fv_mapz_mod::cv_vap = 3.*rvgas |
1384.5
Definition at line 111 of file fv_mapz.F90.
real(kind=4), public fv_mapz_mod::e_flux = 0. |
Definition at line 124 of file fv_mapz.F90.
real, parameter fv_mapz_mod::r12 = 1./12. |
Definition at line 110 of file fv_mapz.F90.
real, parameter fv_mapz_mod::r23 = 2./3. |
Definition at line 110 of file fv_mapz.F90.
real, parameter fv_mapz_mod::r3 = 1./3. |
Definition at line 110 of file fv_mapz.F90.
real, parameter fv_mapz_mod::t_min = 184. |
below which applies stricter constraint
Definition at line 109 of file fv_mapz.F90.
real, parameter fv_mapz_mod::tice = 273.16 |
Definition at line 118 of file fv_mapz.F90.
logical, parameter fv_mapz_mod::w_limiter = .false. |
Definition at line 122 of file fv_mapz.F90.
real, parameter fv_mapz_mod::w_max = 60. |
Definition at line 120 of file fv_mapz.F90.
real, parameter fv_mapz_mod::w_min = -30. |
Definition at line 121 of file fv_mapz.F90.