The module 'fv_dynamics' is the top-level routine for the dynamical core. More...
Functions/Subroutines | |
subroutine, public | fv_dynamics (npx, npy, npz, nq_tot, ng, bdt, consv_te, fill, reproduce_sum, kappa, cp_air, zvir, ptop, ks, ncnst, n_split, q_split, u, v, w, delz, hydrostatic, pt, delp, q, ps, pe, pk, peln, pkz, phis, q_con, omga, ua, va, uc, vc, ak, bk, mfx, mfy, cx, cy, ze0, hybrid_z, gridstruct, flagstruct, neststruct, idiag, bd, parent_grid, domain, diss_est, time_total) |
subroutine | rayleigh_super (dt, npx, npy, npz, ks, pm, phis, tau, u, v, w, pt, ua, va, delz, agrid, cp, rg, ptop, hydrostatic, conserve, rf_cutoff, gridstruct, domain, bd) |
subroutine | rayleigh_friction (dt, npx, npy, npz, ks, pm, tau, u, v, w, pt, ua, va, delz, cp, rg, ptop, hydrostatic, conserve, rf_cutoff, gridstruct, domain, bd) |
subroutine | compute_aam (npz, is, ie, js, je, isd, ied, jsd, jed, gridstruct, bd, ptop, ua, va, u, v, delp, aam, ps, m_fac) |
The subroutine 'compute_aam' computes vertically (mass) integrated Atmospheric Angular Momentum. More... | |
Variables | |
logical | rf_initialized = .false. |
logical | pt_initialized = .false. |
logical | bad_range = .false. |
real, dimension(:), allocatable | rf |
integer | kmax =1 |
integer | k_rf = 0 |
real | agrav |
The module 'fv_dynamics' is the top-level routine for the dynamical core.
It executes on the dt_atmos (or p_split) loop.
|
private |
The subroutine 'compute_aam' computes vertically (mass) integrated Atmospheric Angular Momentum.
[in,out] | u | D grid zonal wind (m/s) |
[in,out] | v | D grid meridional wind (m/s) |
Definition at line 1445 of file fv_dynamics.F90.
subroutine, public fv_dynamics_mod::fv_dynamics | ( | integer, intent(in) | npx, |
integer, intent(in) | npy, | ||
integer, intent(in) | npz, | ||
integer, intent(in) | nq_tot, | ||
integer, intent(in) | ng, | ||
real, intent(in) | bdt, | ||
real, intent(in) | consv_te, | ||
logical, intent(in) | fill, | ||
logical, intent(in) | reproduce_sum, | ||
real, intent(in) | kappa, | ||
real, intent(in) | cp_air, | ||
real, intent(in) | zvir, | ||
real, intent(in) | ptop, | ||
integer, intent(in) | ks, | ||
integer, intent(in) | ncnst, | ||
integer, intent(in) | n_split, | ||
integer, intent(in) | q_split, | ||
real, dimension(bd%isd:bd%ied ,bd%jsd:bd%jed+1,npz), intent(inout) | u, | ||
real, dimension(bd%isd:bd%ied+1,bd%jsd:bd%jed ,npz), intent(inout) | v, | ||
real, dimension( bd%isd: ,bd%jsd: ,1:), intent(inout) | w, | ||
real, dimension(bd%is:,bd%js:,1:), intent(inout) | delz, | ||
logical, intent(in) | hydrostatic, | ||
real, dimension( bd%isd:bd%ied ,bd%jsd:bd%jed ,npz), intent(inout) | pt, | ||
real, dimension(bd%isd:bd%ied ,bd%jsd:bd%jed ,npz), intent(inout) | delp, | ||
real, dimension( bd%isd:bd%ied ,bd%jsd:bd%jed ,npz, ncnst), intent(inout) | q, | ||
real, dimension (bd%isd:bd%ied ,bd%jsd:bd%jed), intent(inout) | ps, | ||
real, dimension (bd%is-1:bd%ie+1, npz+1,bd%js-1:bd%je+1), intent(inout) | pe, | ||
real, dimension (bd%is:bd%ie,bd%js:bd%je, npz+1), intent(inout) | pk, | ||
real, dimension(bd%is:bd%ie,npz+1,bd%js:bd%je), intent(inout) | peln, | ||
real, dimension (bd%is:bd%ie,bd%js:bd%je,npz), intent(inout) | pkz, | ||
real, dimension(bd%isd:bd%ied,bd%jsd:bd%jed), intent(inout) | phis, | ||
real, dimension(bd%isd:, bd%jsd:, 1:), intent(inout) | q_con, | ||
real, dimension(bd%isd:bd%ied,bd%jsd:bd%jed,npz), intent(inout) | omga, | ||
real, dimension(bd%isd:bd%ied ,bd%jsd:bd%jed ,npz), intent(inout) | ua, | ||
real, dimension(bd%isd:bd%ied ,bd%jsd:bd%jed ,npz), intent(inout) | va, | ||
real, dimension(bd%isd:bd%ied+1,bd%jsd:bd%jed ,npz), intent(inout) | uc, | ||
real, dimension(bd%isd:bd%ied ,bd%jsd:bd%jed+1,npz), intent(inout) | vc, | ||
real, dimension(npz+1), intent(in) | ak, | ||
real, dimension(npz+1), intent(in) | bk, | ||
real, dimension(bd%is:bd%ie+1, bd%js:bd%je, npz), intent(inout) | mfx, | ||
real, dimension(bd%is:bd%ie , bd%js:bd%je+1, npz), intent(inout) | mfy, | ||
real, dimension(bd%is:bd%ie+1, bd%jsd:bd%jed, npz), intent(inout) | cx, | ||
real, dimension(bd%isd:bd%ied ,bd%js:bd%je+1, npz), intent(inout) | cy, | ||
real, dimension(bd%is:, bd%js: ,1:), intent(inout) | ze0, | ||
logical, intent(in) | hybrid_z, | ||
type(fv_grid_type), intent(inout), target | gridstruct, | ||
type(fv_flags_type), intent(inout) | flagstruct, | ||
type(fv_nest_type), intent(inout) | neststruct, | ||
type(fv_diag_type), intent(in) | idiag, | ||
type(fv_grid_bounds_type), intent(in) | bd, | ||
type(fv_atmos_type), intent(in), pointer | parent_grid, | ||
type(domain2d), intent(inout) | domain, | ||
real, dimension(bd%isd:bd%ied ,bd%jsd:bd%jed,npz), intent(inout) | diss_est, | ||
real, intent(in), optional | time_total | ||
) |
[in] | bdt | Large time-step |
[in] | nq_tot | transported tracers |
[in] | n_split | small-step horizontal dynamics |
[in] | q_split | tracer |
[in] | hybrid_z | Using hybrid_z for remapping |
[in,out] | u | D grid zonal wind (m/s) |
[in,out] | v | D grid meridional wind (m/s) |
[in,out] | w | W (m/s) |
[in,out] | pt | temperature (K) |
[in,out] | delp | pressure thickness (pascal) |
[in,out] | q | specific humidity and constituents |
[in,out] | delz | delta-height (m); non-hydrostatic only |
[in,out] | ze0 | height at edges (m); non-hydrostatic |
[in,out] | ps | Surface pressure (pascal) |
[in,out] | pe | edge pressure (pascal) |
[in,out] | pk | pe**kappa |
[in,out] | peln | ln(pe) |
[in,out] | pkz | finite-volume mean pk |
[in,out] | phis | Surface geopotential (g*Z_surf) |
[in,out] | omga | Vertical pressure velocity (pa/s) |
[in,out] | uc | (uc,vc) mostly used as the C grid winds |
Definition at line 181 of file fv_dynamics.F90.
|
private |
[in] | tau | time scale (days) |
[in,out] | u | D grid zonal wind (m/s) |
[in,out] | v | D grid meridional wind (m/s) |
[in,out] | w | cell center vertical wind (m/s) |
[in,out] | pt | temp |
[in,out] | delz | delta-height (m); non-hydrostatic only |
Definition at line 1307 of file fv_dynamics.F90.
|
private |
[in] | tau | time scale (days) |
[in,out] | u | D grid zonal wind (m/s) |
[in,out] | v | D grid meridional wind (m/s) |
[in,out] | w | cell center vertical wind (m/s) |
[in,out] | pt | temp |
[in,out] | delz | delta-height (m); non-hydrostatic only |
[in] | phis | Surface geopotential (g*Z_surf) |
Definition at line 1131 of file fv_dynamics.F90.
real fv_dynamics_mod::agrav |
Definition at line 161 of file fv_dynamics.F90.
logical fv_dynamics_mod::bad_range = .false. |
Definition at line 156 of file fv_dynamics.F90.
integer fv_dynamics_mod::k_rf = 0 |
Definition at line 159 of file fv_dynamics.F90.
integer fv_dynamics_mod::kmax =1 |
Definition at line 158 of file fv_dynamics.F90.
logical fv_dynamics_mod::pt_initialized = .false. |
Definition at line 155 of file fv_dynamics.F90.
real, dimension(:), allocatable fv_dynamics_mod::rf |
Definition at line 157 of file fv_dynamics.F90.
logical fv_dynamics_mod::rf_initialized = .false. |
Definition at line 154 of file fv_dynamics.F90.