FV3DYCORE  Version1.0.0
sw_core.F90 File Reference

Go to the source code of this file.

Modules

module  sw_core_mod
 The module 'sw_core' advances the forward step of the Lagrangian dynamics as described by [lin1997explicit], [lin2004vertically], and [harris2013two].
 

Functions/Subroutines

subroutine, public sw_core_mod::c_sw (delpc, delp, ptc, pt, u, v, w, uc, vc, ua, va, wc, ut, vt, divg_d, nord, dt2, hydrostatic, dord4, bd, gridstruct, flagstruct)
 The subroutine 'c_sw' performs a half-timestep advance of the C-grid winds. More...
 
subroutine, public sw_core_mod::d_sw (delpc, delp, ptc, pt, u, v, w, uc, vc, ua, va, divg_d, xflux, yflux, cx, cy, crx_adv, cry_adv, xfx_adv, yfx_adv, q_con, z_rat, kgb, heat_source, diss_est, zvir, sphum, nq, q, k, km, inline_q, dt, hord_tr, hord_mt, hord_vt, hord_tm, hord_dp, nord, nord_v, nord_w, nord_t, dddmp, d2_bg, d4_bg, damp_v, damp_w, damp_t, d_con, hydrostatic, gridstruct, flagstruct, bd)
 The subroutine 'd_sw' peforms a full-timestep advance of the D-grid winds and other prognostic varaiables. More...
 
subroutine, public sw_core_mod::del6_vt_flux (nord, npx, npy, damp, q, d2, fx2, fy2, gridstruct, bd)
 The subroutine 'del6_vt_flux' applies 2nd, 4th, or 6th-order damping to fluxes ("vorticity damping") More...
 
subroutine, public sw_core_mod::divergence_corner (u, v, ua, va, divg_d, gridstruct, flagstruct, bd)
 The subroutine 'divergence_corner' computes the cell-mean divergence on the "dual grid", the native-grid positioning of the divergence. More...
 
subroutine, public sw_core_mod::divergence_corner_nest (u, v, ua, va, divg_d, gridstruct, flagstruct, bd)
 
subroutine sw_core_mod::smag_corner (dt, u, v, ua, va, smag_c, bd, npx, npy, gridstruct, ng)
 The subroutine 'smag_corner' computes Smagorinsky damping. More...
 
subroutine sw_core_mod::xtp_u (is, ie, js, je, isd, ied, jsd, jed, c, u, v, flux, iord, dx, rdx, npx, npy, grid_type, nested, lim_fac, regional)
 
subroutine sw_core_mod::ytp_v (is, ie, js, je, isd, ied, jsd, jed, c, u, v, flux, jord, dy, rdy, npx, npy, grid_type, nested, lim_fac, regional)
 
subroutine sw_core_mod::d2a2c_vect (u, v, ua, va, uc, vc, ut, vt, dord4, gridstruct, bd, npx, npy, nested, grid_type, regional)
 
real function sw_core_mod::edge_interpolate4 (ua, dxa)
 
subroutine sw_core_mod::fill3_4corners (q1, q2, q3, dir, bd, npx, npy, sw_corner, se_corner, ne_corner, nw_corner)
 The subroutine 'fill3_4corners' fills the 4 corners of the scalar fileds only as needed by 'c_core'. More...
 
subroutine sw_core_mod::fill2_4corners (q1, q2, dir, bd, npx, npy, sw_corner, se_corner, ne_corner, nw_corner)
 The subroutine ' fill2_4corners' fills the 4 corners of the scalar fileds only as needed by 'c_core'. More...
 
subroutine, public sw_core_mod::fill_4corners (q, dir, bd, npx, npy, sw_corner, se_corner, ne_corner, nw_corner)
 The subroutine 'fill_4corners' fills the 4 corners of the scalar fields only as needed by c_core. More...
 

Variables

real, parameter sw_core_mod::r3 = 1./3.
 
real, parameter sw_core_mod::t11 =27./28.
 
real, parameter sw_core_mod::t12 =-13./28.
 
real, parameter sw_core_mod::t13 =3./7.
 
real, parameter sw_core_mod::t14 =6./7.
 
real, parameter sw_core_mod::t15 =3./28.
 
real, parameter sw_core_mod::s11 =11./14.
 
real, parameter sw_core_mod::s13 =-13./14.
 
real, parameter sw_core_mod::s14 =4./7.
 
real, parameter sw_core_mod::s15 =3./14.
 
real, parameter sw_core_mod::near_zero = 1.E-9
 for KE limiter More...
 
real, parameter sw_core_mod::big_number = 1.E30
 
real, parameter sw_core_mod::p1 = 7./12.
 0.58333333 More...
 
real, parameter sw_core_mod::p2 = -1./12.
 
real, parameter sw_core_mod::a1 = 0.5625
 
real, parameter sw_core_mod::a2 = -0.0625
 
real, parameter sw_core_mod::c1 = -2./14.
 
real, parameter sw_core_mod::c2 = 11./14.
 
real, parameter sw_core_mod::c3 = 5./14.
 
real, parameter sw_core_mod::b1 = 1./30.
 
real, parameter sw_core_mod::b2 = -13./60.
 
real, parameter sw_core_mod::b3 = -13./60.
 
real, parameter sw_core_mod::b4 = 0.45
 
real, parameter sw_core_mod::b5 = -0.05