FV3 Bundle
fv_nesting_nlm_mod Module Reference

Functions/Subroutines

subroutine, public setup_nested_grid_bcs (npx, npy, npz, zvir, ncnst, u, v, w, pt, delp, delz, q, uc, vc, pkz, nested, inline_q, make_nh, ng, gridstruct, flagstruct, neststruct, nest_timestep, tracer_nest_timestep, domain, bd, nwat)
 
subroutine setup_pt_bc (pt_BC, pkz_BC, sphum_BC, npx, npy, npz, zvir, bd)
 
subroutine setup_pt_nh_bc (pt_BC, delp_BC, delz_BC, sphum_BC, q_BC, nq, ifdef USE_COND
 
subroutine set_nh_bcs_t0 (neststruct)
 
subroutine set_bcs_t0 (ncnst, hydrostatic, neststruct)
 
subroutine, public twoway_nesting (Atm, ngrids, grids_on_this_pe, zvir)
 
subroutine twoway_nest_update (npx, npy, npz, zvir, ncnst, sphum, u, v, w, omga, pt, delp, q, uc, vc, pkz, delz, ps, ptop, gridstruct, flagstruct, neststruct, parent_grid, bd, conv_theta_in)
 
subroutine level_sum (q, area, domain, bd, npz, L_sum)
 
subroutine after_twoway_nest_update (npx, npy, npz, ng, ncnst, u, v, w, delz, pt, delp, q, ps, pe, pk, peln, pkz, phis, ua, va, ptop, gridstruct, flagstruct, domain, bd)
 
subroutine update_remap_tqw (npz, ak, bk, ps, delp, t, q, w, hydrostatic, kmd, ps0, zvir, ptop, nq, kord_tm, kord_tr, kord_wz, is, ie, js, je, isd, ied, jsd, jed, do_q)
 
subroutine update_remap_uv (npz, ak, bk, ps, u, v, kmd, ps0, kord_mt, is, ie, js, je, isd, ied, jsd, jed, ptop)
 

Variables

logical rf_initialized = .false.
 
logical bad_range
 
real, dimension(:), allocatable rf
 
real, dimension(:), allocatable rw
 
integer kmax =1
 
real, dimension(:,:), allocatable te_2d_coarse
 
real, dimension(:,:,:), allocatable dp1_coarse
 
type(fv_nest_bc_type_3d) u_buf
 
type(fv_nest_bc_type_3d) v_buf
 
type(fv_nest_bc_type_3d) uc_buf
 
type(fv_nest_bc_type_3d) vc_buf
 
type(fv_nest_bc_type_3d) delp_buf
 
type(fv_nest_bc_type_3d) delz_buf
 
type(fv_nest_bc_type_3d) pt_buf
 
type(fv_nest_bc_type_3d) pkz_buf
 
type(fv_nest_bc_type_3d) w_buf
 
type(fv_nest_bc_type_3d) divg_buf
 
type(fv_nest_bc_type_3d), dimension(:), allocatable q_buf
 
real, dimension(:,:,:), allocatable, target dum_west
 
real, dimension(:,:,:), allocatable, target dum_east
 
real, dimension(:,:,:), allocatable, target dum_north
 
real, dimension(:,:,:), allocatable, target dum_south
 

Function/Subroutine Documentation

◆ after_twoway_nest_update()

subroutine fv_nesting_nlm_mod::after_twoway_nest_update ( integer, intent(in)  npx,
integer, intent(in)  npy,
integer, intent(in)  npz,
integer, intent(in)  ng,
integer, intent(in)  ncnst,
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%isd: ,bd%jsd: ,1: ), intent(inout)  delz,
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%ied ,bd%jsd:bd%jed ,npz), intent(inout)  ua,
real, dimension(bd%isd:bd%ied ,bd%jsd:bd%jed ,npz), intent(inout)  va,
real, intent(in)  ptop,
type(fv_grid_type), intent(in)  gridstruct,
type(fv_flags_type), intent(in)  flagstruct,
type(domain2d), intent(inout)  domain,
type(fv_grid_bounds_type), intent(in)  bd 
)
private

Definition at line 1462 of file fv_nesting_nlm.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ level_sum()

subroutine fv_nesting_nlm_mod::level_sum ( real, dimension( bd%isd:bd%ied ,bd%jsd:bd%jed ,npz), intent(in)  q,
real, dimension( bd%isd:bd%ied ,bd%jsd:bd%jed), intent(in)  area,
type(domain2d), intent(in)  domain,
type(fv_grid_bounds_type), intent(in)  bd,
integer, intent(in)  npz,
real, dimension( npz ), intent(out)  L_sum 
)
private

Definition at line 1429 of file fv_nesting_nlm.F90.

Here is the caller graph for this function:

◆ set_bcs_t0()

subroutine fv_nesting_nlm_mod::set_bcs_t0 ( integer, intent(in)  ncnst,
logical, intent(in)  hydrostatic,
type(fv_nest_type), intent(inout)  neststruct 
)
private

Definition at line 863 of file fv_nesting_nlm.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_nh_bcs_t0()

subroutine fv_nesting_nlm_mod::set_nh_bcs_t0 ( type(fv_nest_type), intent(inout)  neststruct)
private

Definition at line 845 of file fv_nesting_nlm.F90.

Here is the caller graph for this function:

◆ setup_nested_grid_bcs()

subroutine, public fv_nesting_nlm_mod::setup_nested_grid_bcs ( integer, intent(in)  npx,
integer, intent(in)  npy,
integer, intent(in)  npz,
real, intent(in)  zvir,
integer, intent(in)  ncnst,
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%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%jsd: ,1:), intent(inout)  delz,
real, dimension( bd%isd:bd%ied ,bd%jsd:bd%jed ,npz, ncnst), intent(inout)  q,
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 (bd%is:bd%ie,bd%js:bd%je,npz), intent(inout)  pkz,
logical, intent(in)  nested,
logical, intent(in)  inline_q,
logical, intent(in)  make_nh,
integer, intent(in)  ng,
type(fv_grid_type), intent(inout)  gridstruct,
type(fv_flags_type), intent(inout)  flagstruct,
type(fv_nest_type), intent(inout), target  neststruct,
integer, intent(inout)  nest_timestep,
integer, intent(inout)  tracer_nest_timestep,
type(domain2d), intent(inout)  domain,
type(fv_grid_bounds_type), intent(in)  bd,
integer, intent(in)  nwat 
)

Definition at line 78 of file fv_nesting_nlm.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setup_pt_bc()

subroutine fv_nesting_nlm_mod::setup_pt_bc ( type(fv_nest_bc_type_3d), intent(inout), target  pt_BC,
type(fv_nest_bc_type_3d), intent(in), target  pkz_BC,
type(fv_nest_bc_type_3d), intent(in), target  sphum_BC,
integer, intent(in)  npx,
integer, intent(in)  npy,
integer, intent(in)  npz,
real, intent(in)  zvir,
type(fv_grid_bounds_type), intent(in)  bd 
)
private

Definition at line 337 of file fv_nesting_nlm.F90.

Here is the caller graph for this function:

◆ setup_pt_nh_bc()

subroutine fv_nesting_nlm_mod::setup_pt_nh_bc ( type(fv_nest_bc_type_3d), intent(inout), target  pt_BC,
type(fv_nest_bc_type_3d), intent(in), target  delp_BC,
type(fv_nest_bc_type_3d), intent(in), target  delz_BC,
type(fv_nest_bc_type_3d), intent(in), target  sphum_BC,
type(fv_nest_bc_type_3d), dimension(nq), intent(in), target  q_BC,
integer, intent(in)  nq,
  ifdef,
  USE_COND 
)
private

Definition at line 446 of file fv_nesting_nlm.F90.

Here is the caller graph for this function:

◆ twoway_nest_update()

subroutine fv_nesting_nlm_mod::twoway_nest_update ( integer, intent(in)  npx,
integer, intent(in)  npy,
integer, intent(in)  npz,
real, intent(in)  zvir,
integer, intent(in)  ncnst,
integer, intent(in)  sphum,
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%isd:bd%ied,bd%jsd:bd%jed,npz), intent(inout)  omga,
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+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 (bd%is:bd%ie,bd%js:bd%je,npz), intent(inout)  pkz,
real, dimension(bd%isd: ,bd%jsd: ,1: ), intent(inout)  delz,
real, dimension (bd%isd:bd%ied ,bd%jsd:bd%jed), intent(inout)  ps,
real, intent(in)  ptop,
type(fv_grid_type), intent(inout)  gridstruct,
type(fv_flags_type), intent(inout)  flagstruct,
type(fv_nest_type), intent(inout)  neststruct,
type(fv_atmos_type), intent(inout)  parent_grid,
type(fv_grid_bounds_type), intent(in)  bd,
logical, intent(in), optional  conv_theta_in 
)
private

Definition at line 1012 of file fv_nesting_nlm.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ twoway_nesting()

subroutine, public fv_nesting_nlm_mod::twoway_nesting ( type(fv_atmos_type), dimension(ngrids), intent(inout)  Atm,
integer, intent(in)  ngrids,
logical, dimension(ngrids), intent(in)  grids_on_this_pe,
real, intent(in)  zvir 
)

Definition at line 958 of file fv_nesting_nlm.F90.

Here is the call graph for this function:

◆ update_remap_tqw()

subroutine fv_nesting_nlm_mod::update_remap_tqw ( integer, intent(in)  npz,
real, dimension(npz+1), intent(in)  ak,
real, dimension(npz+1), intent(in)  bk,
real, dimension(isd:ied,jsd:jed), intent(in)  ps,
real, dimension(isd:ied,jsd:jed,npz), intent(in)  delp,
real, dimension(isd:ied,jsd:jed,npz), intent(inout)  t,
real, dimension(isd:ied,jsd:jed,npz,nq), intent(inout)  q,
real, dimension(isd:ied,jsd:jed,npz), intent(inout)  w,
logical, intent(in)  hydrostatic,
integer, intent(in)  kmd,
real, dimension(isd:ied,jsd:jed), intent(in)  ps0,
real, intent(in)  zvir,
real, intent(in)  ptop,
integer, intent(in)  nq,
integer, intent(in)  kord_tm,
integer, intent(in)  kord_tr,
integer, intent(in)  kord_wz,
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,
logical, intent(in)  do_q 
)
private

Definition at line 1555 of file fv_nesting_nlm.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_remap_uv()

subroutine fv_nesting_nlm_mod::update_remap_uv ( integer, intent(in)  npz,
real, dimension(npz+1), intent(in)  ak,
real, dimension(npz+1), intent(in)  bk,
real, dimension(isd:ied,jsd:jed), intent(in)  ps,
real, dimension(isd:ied,jsd:jed+1,npz), intent(inout)  u,
real, dimension(isd:ied+1,jsd:jed,npz), intent(inout)  v,
integer, intent(in)  kmd,
real, dimension(isd:ied,jsd:jed), intent(in)  ps0,
integer, intent(in)  kord_mt,
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,
real, intent(in)  ptop 
)
private

Definition at line 1643 of file fv_nesting_nlm.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ bad_range

logical fv_nesting_nlm_mod::bad_range

Definition at line 49 of file fv_nesting_nlm.F90.

◆ delp_buf

type(fv_nest_bc_type_3d) fv_nesting_nlm_mod::delp_buf

Definition at line 58 of file fv_nesting_nlm.F90.

◆ delz_buf

type(fv_nest_bc_type_3d) fv_nesting_nlm_mod::delz_buf

Definition at line 58 of file fv_nesting_nlm.F90.

◆ divg_buf

type(fv_nest_bc_type_3d) fv_nesting_nlm_mod::divg_buf

Definition at line 58 of file fv_nesting_nlm.F90.

◆ dp1_coarse

real, dimension(:,:,:), allocatable fv_nesting_nlm_mod::dp1_coarse

Definition at line 54 of file fv_nesting_nlm.F90.

◆ dum_east

real, dimension(:,:,:), allocatable, target fv_nesting_nlm_mod::dum_east

Definition at line 61 of file fv_nesting_nlm.F90.

◆ dum_north

real, dimension(:,:,:), allocatable, target fv_nesting_nlm_mod::dum_north

Definition at line 61 of file fv_nesting_nlm.F90.

◆ dum_south

real, dimension(:,:,:), allocatable, target fv_nesting_nlm_mod::dum_south

Definition at line 61 of file fv_nesting_nlm.F90.

◆ dum_west

real, dimension(:,:,:), allocatable, target fv_nesting_nlm_mod::dum_west

Definition at line 61 of file fv_nesting_nlm.F90.

◆ kmax

integer fv_nesting_nlm_mod::kmax =1

Definition at line 51 of file fv_nesting_nlm.F90.

◆ pkz_buf

type(fv_nest_bc_type_3d) fv_nesting_nlm_mod::pkz_buf

Definition at line 58 of file fv_nesting_nlm.F90.

◆ pt_buf

type(fv_nest_bc_type_3d) fv_nesting_nlm_mod::pt_buf

Definition at line 58 of file fv_nesting_nlm.F90.

◆ q_buf

type(fv_nest_bc_type_3d), dimension(:), allocatable fv_nesting_nlm_mod::q_buf

Definition at line 59 of file fv_nesting_nlm.F90.

◆ rf

real, dimension(:), allocatable fv_nesting_nlm_mod::rf

Definition at line 50 of file fv_nesting_nlm.F90.

◆ rf_initialized

logical fv_nesting_nlm_mod::rf_initialized = .false.

Definition at line 48 of file fv_nesting_nlm.F90.

◆ rw

real, dimension(:), allocatable fv_nesting_nlm_mod::rw

Definition at line 50 of file fv_nesting_nlm.F90.

◆ te_2d_coarse

real, dimension(:,:), allocatable fv_nesting_nlm_mod::te_2d_coarse

Definition at line 53 of file fv_nesting_nlm.F90.

◆ u_buf

type(fv_nest_bc_type_3d) fv_nesting_nlm_mod::u_buf

Definition at line 58 of file fv_nesting_nlm.F90.

◆ uc_buf

type(fv_nest_bc_type_3d) fv_nesting_nlm_mod::uc_buf

Definition at line 58 of file fv_nesting_nlm.F90.

◆ v_buf

type(fv_nest_bc_type_3d) fv_nesting_nlm_mod::v_buf

Definition at line 58 of file fv_nesting_nlm.F90.

◆ vc_buf

type(fv_nest_bc_type_3d) fv_nesting_nlm_mod::vc_buf

Definition at line 58 of file fv_nesting_nlm.F90.

◆ w_buf

type(fv_nest_bc_type_3d) fv_nesting_nlm_mod::w_buf

Definition at line 58 of file fv_nesting_nlm.F90.