FV3 Bundle
fv_climate_nudge_nlm_mod Module Reference

Data Types

interface  assignment(=)
 
interface  remap_xy
 
type  var_state_type
 

Functions/Subroutines

subroutine, public fv_climate_nudge_init (Time, axes, flag)
 
subroutine, public fv_climate_nudge (Time, dt, is, ie, js, je, npz, pfull, lon, lat, phis, ptop, ak, bk, ps, u, v, t, q, psdt, udt, vdt, tdt, qdt)
 
subroutine get_factor (nlev, pfull, factor)
 
subroutine var_state_init (is, ie, js, je, npz, State)
 
subroutine var_state_assignment (State1, State2)
 
subroutine var_state_del (State)
 
subroutine, public fv_climate_nudge_end
 
subroutine prt_minmax_2d (str, a)
 
subroutine prt_minmax_3d (str, a)
 
subroutine remap_coef (isd, ied, jsd, jed, lon_in, lat_in, is, ie, js, je, lon_out, lat_out, id1, id2, jdc, s2c)
 
subroutine remap_xy_3d (isd, ied, jsd, jed, km, q_in, is, ie, js, je, id1, id2, jdc, s2c, q_out)
 
subroutine remap_xy_2d (isd, ied, jsd, jed, q_in, is, ie, js, je, id1, id2, jdc, s2c, q_out)
 
subroutine remap_ps (is, ie, js, je, km, gz_dat, ph_dat, pn_dat, tp_dat, phis, ps)
 
subroutine remap_3d (is, ie, js, je, km, npz, pe0, qn0, pe1, qn1, n, ptop)
 

Variables

integer, dimension(:,:), allocatable id1
 
integer, dimension(:,:), allocatable id2
 
integer, dimension(:,:), allocatable jdc
 
real(fvprc), dimension(:,:,:), allocatable s2c
 
integer nlon_obs
 
integer nlat_obs
 
integer nlev_obs
 
integer ntime_obs
 
integer jsd
 
integer jed
 
real(fvprc), dimension(:), allocatable lon_obs
 
real(fvprc), dimension(:), allocatable lat_obs
 
real(fvprc), dimension(:), allocatable ak_obs
 
real(fvprc), dimension(:), allocatable bk_obs
 
type(time_type), dimension(:), allocatable timelist
 
type(var_state_type), dimension(2) state
 
logical do_state_alloc = .true.
 
logical module_is_initialized = .false.
 
integer freq = 0
 
real(fvprc) u_tau = -1.
 
real(fvprc) v_tau = -1.
 
real(fvprc) t_tau = -1.
 
real(fvprc) q_tau = -1.
 
real(fvprc) ps_tau = -1.
 
integer skip_top_v = 2
 
integer skip_bot_v = 0
 
integer skip_top_t = 0
 
integer skip_bot_t = 21
 
integer skip_top_q = 8
 
integer skip_bot_q = 0
 
logical use_pdep_nudge = .false.
 
logical use_sub_domain = .false.
 
integer verbose = 0
 
type(time_typetime_next
 
integer id_udt
 
integer id_vdt
 
integer id_tdt
 
integer id_qdt
 
integer id_psdt
 
integer id_uerr
 
integer id_verr
 
integer id_terr
 
integer id_qerr
 
integer id_pserr
 
integer id_uobs
 
integer id_vobs
 
integer id_tobs
 
integer id_qobs
 
integer id_psobs
 
logical do_u
 
logical do_v
 
logical do_t
 
logical do_q
 
logical, public do_ps
 
logical get_wind
 
logical get_temp
 
logical get_qhum
 
integer id_index
 
integer id_coeff
 
real(fvprc), parameter zvir = RVGAS/RDGAS-1.
 

Function/Subroutine Documentation

◆ fv_climate_nudge()

subroutine, public fv_climate_nudge_nlm_mod::fv_climate_nudge ( type(time_type), intent(in)  Time,
real(fvprc), intent(in)  dt,
integer, intent(in)  is,
integer, intent(in)  ie,
integer, intent(in)  js,
integer, intent(in)  je,
integer, intent(in)  npz,
real(fvprc), dimension (npz), intent(in)  pfull,
real(fvprc), dimension (is:ie,js:je), intent(in)  lon,
real(fvprc), dimension (is:ie,js:je), intent(in)  lat,
real(fvprc), dimension(is:ie,js:je), intent(in)  phis,
real(fvprc), intent(in)  ptop,
real(fvprc), dimension (npz+1), intent(in)  ak,
real(fvprc), dimension (npz+1), intent(in)  bk,
real(fvprc), dimension (is:ie,js:je), intent(inout)  ps,
real(fvprc), dimension(is:ie,js:je,npz), intent(inout)  u,
real(fvprc), dimension(is:ie,js:je,npz), intent(inout)  v,
real(fvprc), dimension(is:ie,js:je,npz), intent(inout)  t,
real(fvprc), dimension(is:ie,js:je,npz,1), intent(inout)  q,
real(fvprc), dimension(is:ie,js:je), intent(inout)  psdt,
real(fvprc), dimension(is:ie,js:je,npz), intent(inout)  udt,
real(fvprc), dimension(is:ie,js:je,npz), intent(inout)  vdt,
real(fvprc), dimension(is:ie,js:je,npz), intent(inout)  tdt,
real(fvprc), dimension(is:ie,js:je,npz,1), intent(inout)  qdt 
)

Definition at line 260 of file fv_climate_nudge_nlm.F90.

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

◆ fv_climate_nudge_end()

subroutine, public fv_climate_nudge_nlm_mod::fv_climate_nudge_end ( )

Definition at line 728 of file fv_climate_nudge_nlm.F90.

Here is the call graph for this function:

◆ fv_climate_nudge_init()

subroutine, public fv_climate_nudge_nlm_mod::fv_climate_nudge_init ( type (time_type), intent(in)  Time,
integer, dimension(3), intent(in)  axes,
logical, intent(out), optional  flag 
)

Definition at line 97 of file fv_climate_nudge_nlm.F90.

Here is the call graph for this function:

◆ get_factor()

subroutine fv_climate_nudge_nlm_mod::get_factor ( integer, intent(in)  nlev,
real(fvprc), dimension(nlev), intent(in)  pfull,
real(fvprc), dimension(nlev,3), intent(out)  factor 
)
private

Definition at line 565 of file fv_climate_nudge_nlm.F90.

Here is the caller graph for this function:

◆ prt_minmax_2d()

subroutine fv_climate_nudge_nlm_mod::prt_minmax_2d ( character(len=*), intent(in)  str,
real(fvprc), dimension(:,:), intent(in)  a 
)
private

Definition at line 749 of file fv_climate_nudge_nlm.F90.

Here is the caller graph for this function:

◆ prt_minmax_3d()

subroutine fv_climate_nudge_nlm_mod::prt_minmax_3d ( character(len=*), intent(in)  str,
real(fvprc), dimension(:,:,:), intent(in)  a 
)
private

Definition at line 766 of file fv_climate_nudge_nlm.F90.

Here is the caller graph for this function:

◆ remap_3d()

subroutine fv_climate_nudge_nlm_mod::remap_3d ( integer, intent(in)  is,
integer, intent(in)  ie,
integer, intent(in)  js,
integer, intent(in)  je,
integer, intent(in)  km,
integer, intent(in)  npz,
real(fvprc), dimension(is:ie,js:je,km+1), intent(in)  pe0,
real(fvprc), dimension(is:ie,js:je,km), intent(in)  qn0,
real(fvprc), dimension(is:ie,js:je,npz+1), intent(in)  pe1,
real(fvprc), dimension(is:ie,js:je,npz), intent(out)  qn1,
integer, intent(in)  n,
real(fvprc), intent(in)  ptop 
)
private

Definition at line 1020 of file fv_climate_nudge_nlm.F90.

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

◆ remap_coef()

subroutine fv_climate_nudge_nlm_mod::remap_coef ( integer, intent(in)  isd,
integer, intent(in)  ied,
integer, intent(in)  jsd,
integer, intent(in)  jed,
real(fvprc), dimension(isd:ied), intent(in)  lon_in,
real(fvprc), dimension(jsd:jed), intent(in)  lat_in,
integer, intent(in)  is,
integer, intent(in)  ie,
integer, intent(in)  js,
integer, intent(in)  je,
real(fvprc), dimension(is:ie,js:je), intent(in)  lon_out,
real(fvprc), dimension(is:ie,js:je), intent(in)  lat_out,
integer, dimension(is:ie,js:je ), intent(out)  id1,
integer, dimension(is:ie,js:je ), intent(out)  id2,
integer, dimension(is:ie,js:je ), intent(out)  jdc,
real(fvprc), dimension(is:ie,js:je,4), intent(out)  s2c 
)
private

Definition at line 788 of file fv_climate_nudge_nlm.F90.

Here is the caller graph for this function:

◆ remap_ps()

subroutine fv_climate_nudge_nlm_mod::remap_ps ( integer, intent(in)  is,
integer, intent(in)  ie,
integer, intent(in)  js,
integer, intent(in)  je,
integer, intent(in)  km,
real(fvprc), dimension(is:ie,js:je), intent(in)  gz_dat,
real(fvprc), dimension(is:ie,js:je,km+1), intent(in)  ph_dat,
real(fvprc), dimension(is:ie,js:je,km+1), intent(in)  pn_dat,
real(fvprc), dimension(is:ie,js:je,km), intent(in)  tp_dat,
real(fvprc), dimension (is:ie,js:je), intent(in)  phis,
real(fvprc), dimension (is:ie,js:je), intent(out)  ps 
)
private

Definition at line 962 of file fv_climate_nudge_nlm.F90.

Here is the caller graph for this function:

◆ remap_xy_2d()

subroutine fv_climate_nudge_nlm_mod::remap_xy_2d ( integer, intent(in)  isd,
integer, intent(in)  ied,
integer, intent(in)  jsd,
integer, intent(in)  jed,
real(fvprc), dimension(isd:ied,jsd:jed), intent(in)  q_in,
integer, intent(in)  is,
integer, intent(in)  ie,
integer, intent(in)  js,
integer, intent(in)  je,
integer, dimension(is:ie,js:je ), intent(in)  id1,
integer, dimension(is:ie,js:je ), intent(in)  id2,
integer, dimension(is:ie,js:je ), intent(in)  jdc,
real(fvprc), dimension(is:ie,js:je,4), intent(in)  s2c,
real(fvprc), dimension(is:ie,js:je), intent(out)  q_out 
)
private

Definition at line 932 of file fv_climate_nudge_nlm.F90.

Here is the call graph for this function:

◆ remap_xy_3d()

subroutine fv_climate_nudge_nlm_mod::remap_xy_3d ( integer, intent(in)  isd,
integer, intent(in)  ied,
integer, intent(in)  jsd,
integer, intent(in)  jed,
integer, intent(in)  km,
real(fvprc), dimension(isd:ied,jsd:jed,km), intent(in)  q_in,
integer, intent(in)  is,
integer, intent(in)  ie,
integer, intent(in)  js,
integer, intent(in)  je,
integer, dimension(is:ie,js:je ), intent(in)  id1,
integer, dimension(is:ie,js:je ), intent(in)  id2,
integer, dimension(is:ie,js:je ), intent(in)  jdc,
real(fvprc), dimension(is:ie,js:je,4), intent(in)  s2c,
real(fvprc), dimension(is:ie,js:je,km), intent(out)  q_out 
)
private

Definition at line 892 of file fv_climate_nudge_nlm.F90.

Here is the caller graph for this function:

◆ var_state_assignment()

subroutine fv_climate_nudge_nlm_mod::var_state_assignment ( type(var_state_type), intent(inout)  State1,
type(var_state_type), intent(in)  State2 
)
private

Definition at line 679 of file fv_climate_nudge_nlm.F90.

Here is the call graph for this function:

◆ var_state_del()

subroutine fv_climate_nudge_nlm_mod::var_state_del ( type(var_state_type), intent(inout)  State)
private

Definition at line 703 of file fv_climate_nudge_nlm.F90.

Here is the caller graph for this function:

◆ var_state_init()

subroutine fv_climate_nudge_nlm_mod::var_state_init ( integer, intent(in)  is,
integer, intent(in)  ie,
integer, intent(in)  js,
integer, intent(in)  je,
integer, intent(in)  npz,
type(var_state_type), intent(inout)  State 
)
private

Definition at line 653 of file fv_climate_nudge_nlm.F90.

Here is the caller graph for this function:

Variable Documentation

◆ ak_obs

real(fvprc), dimension(:), allocatable fv_climate_nudge_nlm_mod::ak_obs
private

Definition at line 52 of file fv_climate_nudge_nlm.F90.

◆ bk_obs

real(fvprc), dimension(:), allocatable fv_climate_nudge_nlm_mod::bk_obs
private

Definition at line 52 of file fv_climate_nudge_nlm.F90.

◆ do_ps

logical, public fv_climate_nudge_nlm_mod::do_ps

Definition at line 85 of file fv_climate_nudge_nlm.F90.

◆ do_q

logical fv_climate_nudge_nlm_mod::do_q
private

Definition at line 85 of file fv_climate_nudge_nlm.F90.

◆ do_state_alloc

logical fv_climate_nudge_nlm_mod::do_state_alloc = .true.
private

Definition at line 55 of file fv_climate_nudge_nlm.F90.

◆ do_t

logical fv_climate_nudge_nlm_mod::do_t
private

Definition at line 85 of file fv_climate_nudge_nlm.F90.

◆ do_u

logical fv_climate_nudge_nlm_mod::do_u
private

Definition at line 85 of file fv_climate_nudge_nlm.F90.

◆ do_v

logical fv_climate_nudge_nlm_mod::do_v
private

Definition at line 85 of file fv_climate_nudge_nlm.F90.

◆ freq

integer fv_climate_nudge_nlm_mod::freq = 0
private

Definition at line 58 of file fv_climate_nudge_nlm.F90.

◆ get_qhum

logical fv_climate_nudge_nlm_mod::get_qhum
private

Definition at line 86 of file fv_climate_nudge_nlm.F90.

◆ get_temp

logical fv_climate_nudge_nlm_mod::get_temp
private

Definition at line 86 of file fv_climate_nudge_nlm.F90.

◆ get_wind

logical fv_climate_nudge_nlm_mod::get_wind
private

Definition at line 86 of file fv_climate_nudge_nlm.F90.

◆ id1

integer, dimension(:,:), allocatable fv_climate_nudge_nlm_mod::id1
private

Definition at line 47 of file fv_climate_nudge_nlm.F90.

◆ id2

integer, dimension(:,:), allocatable fv_climate_nudge_nlm_mod::id2
private

Definition at line 47 of file fv_climate_nudge_nlm.F90.

◆ id_coeff

integer fv_climate_nudge_nlm_mod::id_coeff
private

Definition at line 88 of file fv_climate_nudge_nlm.F90.

◆ id_index

integer fv_climate_nudge_nlm_mod::id_index
private

Definition at line 88 of file fv_climate_nudge_nlm.F90.

◆ id_psdt

integer fv_climate_nudge_nlm_mod::id_psdt
private

Definition at line 82 of file fv_climate_nudge_nlm.F90.

◆ id_pserr

integer fv_climate_nudge_nlm_mod::id_pserr
private

Definition at line 83 of file fv_climate_nudge_nlm.F90.

◆ id_psobs

integer fv_climate_nudge_nlm_mod::id_psobs
private

Definition at line 84 of file fv_climate_nudge_nlm.F90.

◆ id_qdt

integer fv_climate_nudge_nlm_mod::id_qdt
private

Definition at line 82 of file fv_climate_nudge_nlm.F90.

◆ id_qerr

integer fv_climate_nudge_nlm_mod::id_qerr
private

Definition at line 83 of file fv_climate_nudge_nlm.F90.

◆ id_qobs

integer fv_climate_nudge_nlm_mod::id_qobs
private

Definition at line 84 of file fv_climate_nudge_nlm.F90.

◆ id_tdt

integer fv_climate_nudge_nlm_mod::id_tdt
private

Definition at line 82 of file fv_climate_nudge_nlm.F90.

◆ id_terr

integer fv_climate_nudge_nlm_mod::id_terr
private

Definition at line 83 of file fv_climate_nudge_nlm.F90.

◆ id_tobs

integer fv_climate_nudge_nlm_mod::id_tobs
private

Definition at line 84 of file fv_climate_nudge_nlm.F90.

◆ id_udt

integer fv_climate_nudge_nlm_mod::id_udt
private

Definition at line 82 of file fv_climate_nudge_nlm.F90.

◆ id_uerr

integer fv_climate_nudge_nlm_mod::id_uerr
private

Definition at line 83 of file fv_climate_nudge_nlm.F90.

◆ id_uobs

integer fv_climate_nudge_nlm_mod::id_uobs
private

Definition at line 84 of file fv_climate_nudge_nlm.F90.

◆ id_vdt

integer fv_climate_nudge_nlm_mod::id_vdt
private

Definition at line 82 of file fv_climate_nudge_nlm.F90.

◆ id_verr

integer fv_climate_nudge_nlm_mod::id_verr
private

Definition at line 83 of file fv_climate_nudge_nlm.F90.

◆ id_vobs

integer fv_climate_nudge_nlm_mod::id_vobs
private

Definition at line 84 of file fv_climate_nudge_nlm.F90.

◆ jdc

integer, dimension(:,:), allocatable fv_climate_nudge_nlm_mod::jdc
private

Definition at line 47 of file fv_climate_nudge_nlm.F90.

◆ jed

integer fv_climate_nudge_nlm_mod::jed
private

Definition at line 51 of file fv_climate_nudge_nlm.F90.

◆ jsd

integer fv_climate_nudge_nlm_mod::jsd
private

Definition at line 51 of file fv_climate_nudge_nlm.F90.

◆ lat_obs

real(fvprc), dimension(:), allocatable fv_climate_nudge_nlm_mod::lat_obs
private

Definition at line 52 of file fv_climate_nudge_nlm.F90.

◆ lon_obs

real(fvprc), dimension(:), allocatable fv_climate_nudge_nlm_mod::lon_obs
private

Definition at line 52 of file fv_climate_nudge_nlm.F90.

◆ module_is_initialized

logical fv_climate_nudge_nlm_mod::module_is_initialized = .false.
private

Definition at line 56 of file fv_climate_nudge_nlm.F90.

◆ nlat_obs

integer fv_climate_nudge_nlm_mod::nlat_obs
private

Definition at line 50 of file fv_climate_nudge_nlm.F90.

◆ nlev_obs

integer fv_climate_nudge_nlm_mod::nlev_obs
private

Definition at line 50 of file fv_climate_nudge_nlm.F90.

◆ nlon_obs

integer fv_climate_nudge_nlm_mod::nlon_obs
private

Definition at line 50 of file fv_climate_nudge_nlm.F90.

◆ ntime_obs

integer fv_climate_nudge_nlm_mod::ntime_obs
private

Definition at line 50 of file fv_climate_nudge_nlm.F90.

◆ ps_tau

real(fvprc) fv_climate_nudge_nlm_mod::ps_tau = -1.
private

Definition at line 63 of file fv_climate_nudge_nlm.F90.

◆ q_tau

real(fvprc) fv_climate_nudge_nlm_mod::q_tau = -1.
private

Definition at line 62 of file fv_climate_nudge_nlm.F90.

◆ s2c

real(fvprc), dimension(:,:,:), allocatable fv_climate_nudge_nlm_mod::s2c
private

Definition at line 48 of file fv_climate_nudge_nlm.F90.

◆ skip_bot_q

integer fv_climate_nudge_nlm_mod::skip_bot_q = 0
private

Definition at line 69 of file fv_climate_nudge_nlm.F90.

◆ skip_bot_t

integer fv_climate_nudge_nlm_mod::skip_bot_t = 21
private

Definition at line 67 of file fv_climate_nudge_nlm.F90.

◆ skip_bot_v

integer fv_climate_nudge_nlm_mod::skip_bot_v = 0
private

Definition at line 65 of file fv_climate_nudge_nlm.F90.

◆ skip_top_q

integer fv_climate_nudge_nlm_mod::skip_top_q = 8
private

Definition at line 68 of file fv_climate_nudge_nlm.F90.

◆ skip_top_t

integer fv_climate_nudge_nlm_mod::skip_top_t = 0
private

Definition at line 66 of file fv_climate_nudge_nlm.F90.

◆ skip_top_v

integer fv_climate_nudge_nlm_mod::skip_top_v = 2
private

Definition at line 64 of file fv_climate_nudge_nlm.F90.

◆ state

type(var_state_type), dimension(2) fv_climate_nudge_nlm_mod::state
private

Definition at line 54 of file fv_climate_nudge_nlm.F90.

◆ t_tau

real(fvprc) fv_climate_nudge_nlm_mod::t_tau = -1.
private

Definition at line 61 of file fv_climate_nudge_nlm.F90.

◆ time_next

type(time_type) fv_climate_nudge_nlm_mod::time_next
private

Definition at line 81 of file fv_climate_nudge_nlm.F90.

◆ timelist

type(time_type), dimension(:), allocatable fv_climate_nudge_nlm_mod::timelist
private

Definition at line 53 of file fv_climate_nudge_nlm.F90.

◆ u_tau

real(fvprc) fv_climate_nudge_nlm_mod::u_tau = -1.
private

Definition at line 59 of file fv_climate_nudge_nlm.F90.

◆ use_pdep_nudge

logical fv_climate_nudge_nlm_mod::use_pdep_nudge = .false.
private

Definition at line 70 of file fv_climate_nudge_nlm.F90.

◆ use_sub_domain

logical fv_climate_nudge_nlm_mod::use_sub_domain = .false.
private

Definition at line 71 of file fv_climate_nudge_nlm.F90.

◆ v_tau

real(fvprc) fv_climate_nudge_nlm_mod::v_tau = -1.
private

Definition at line 60 of file fv_climate_nudge_nlm.F90.

◆ verbose

integer fv_climate_nudge_nlm_mod::verbose = 0
private

Definition at line 72 of file fv_climate_nudge_nlm.F90.

◆ zvir

real(fvprc), parameter fv_climate_nudge_nlm_mod::zvir = RVGAS/RDGAS-1.
private

Definition at line 90 of file fv_climate_nudge_nlm.F90.