FV3 Bundle
fv_nudge_nlm.F90 File Reference
#include <netcdf.inc>
Include dependency graph for fv_nudge_nlm.F90:

Go to the source code of this file.

Modules

module  fv_nwp_nudge_nlm_mod
 

Macros

#define _GET_VAR1   get_var1_double
 

Functions/Subroutines

subroutine, public fv_nwp_nudge_nlm_mod::fv_nwp_nudge (Time, dt, npx, npy, npz, ps_dt, u_dt, v_dt, t_dt, q_dt, zvir, ptop, ak, bk, ts, ps, delp, ua, va, pt, nwat, q, phis, gridstruct, bd, domain)
 
subroutine fv_nwp_nudge_nlm_mod::ps_nudging (dt, factor, npz, ak, bk, ps_obs, mask, tm, ps, phis, delp, ua, va, pt, nwat, q, bd, npx, npy, gridstruct, domain)
 
subroutine fv_nwp_nudge_nlm_mod::ps_bias_correction (ps_dt, is, ie, js, je, isd, ied, jsd, jed, area)
 
real function fv_nwp_nudge_nlm_mod::g0_sum (p, ifirst, ilast, jfirst, jlast, mode, reproduce, isd, ied, jsd, jed, area)
 
subroutine fv_nwp_nudge_nlm_mod::compute_slp (isc, iec, jsc, jec, tm, ps, gz, slp)
 
subroutine fv_nwp_nudge_nlm_mod::get_obs (Time, dt, zvir, ak, bk, ps, ts, ps_obs, delp, pt, nwat, q, u_obs, v_obs, t_obs, q_obs, phis, ua, va, u_dt, v_dt, npx, npy, npz, factor, mask, ptop, bd, gridstruct, domain)
 
subroutine, public fv_nwp_nudge_nlm_mod::fv_nwp_nudge_init (time, axes, npz, zvir, ak, bk, ts, phis, gridstruct, ks, npx, neststruct, bd)
 
subroutine fv_nwp_nudge_nlm_mod::get_ncep_analysis (ps, u, v, t, q, zvir, ts, nfile, fname, bd)
 
subroutine fv_nwp_nudge_nlm_mod::remap_coef (agrid)
 
subroutine fv_nwp_nudge_nlm_mod::ncep2fms (sst)
 
subroutine fv_nwp_nudge_nlm_mod::get_int_hght (npz, ak, bk, ps, delp, ps0, tv)
 
subroutine fv_nwp_nudge_nlm_mod::remap_tq (npz, ak, bk, ps, delp, t, q, kmd, ps0, ta, qa, zvir, ptop)
 
subroutine fv_nwp_nudge_nlm_mod::remap_uv (npz, ak, bk, ps, delp, u, v, kmd, ps0, u0, v0, ptop)
 
subroutine, public fv_nwp_nudge_nlm_mod::fv_nwp_nudge_end
 
subroutine fv_nwp_nudge_nlm_mod::get_tc_mask (time, mask, agrid)
 
subroutine, public fv_nwp_nudge_nlm_mod::breed_slp_inline (nstep, dt, npz, ak, bk, phis, pe, pk, peln, pkz, delp, u, v, pt, q, nwat, zvir, gridstruct, ks, domain_local, bd, hydrostatic)
 
subroutine fv_nwp_nudge_nlm_mod::breed_srf_w10 (time, dt, npz, ak, bk, ps, phis, slp, delp, u, v, gridstruct)
 
subroutine fv_nwp_nudge_nlm_mod::breed_srf_winds (time, dt, npz, u_obs, v_obs, ak, bk, ps, phis, delp, ua, va, u_dt, v_dt, pt, q, nwat, zvir, gridstruct)
 
subroutine fv_nwp_nudge_nlm_mod::tangent_wind (elon, elat, speed, po, pp, ut, vt)
 
subroutine fv_nwp_nudge_nlm_mod::get_slp_obs (time, nobs, lon_obs, lat_obs, w10, mslp, slp_out, r_out, time_obs, x_o, y_o, w10_o, slp_o, r_vor, p_vor, stime, fact)
 
subroutine fv_nwp_nudge_nlm_mod::slp_obs_init
 
real function fv_nwp_nudge_nlm_mod::calday (year, month, day, hour, minute, sec)
 
logical function fv_nwp_nudge_nlm_mod::leap_year (ny)
 
subroutine fv_nwp_nudge_nlm_mod::pmaxmin (qname, a, imax, jmax, fac)
 
subroutine fv_nwp_nudge_nlm_mod::del2_uv (du, dv, cd, kmd, ntimes, bd, npx, npy, gridstruct, domain)
 
subroutine fv_nwp_nudge_nlm_mod::del2_scalar (qdt, cd, kmd, nmax, bd, npx, npy, gridstruct, domain)
 
subroutine fv_nwp_nudge_nlm_mod::rmse_bias (a, rms, bias, area)
 
subroutine fv_nwp_nudge_nlm_mod::corr (a, b, co, area)
 
subroutine fv_nwp_nudge_nlm_mod::std (a, mean, stdv, area)
 

Variables

real(kind=r_grid), parameter fv_nwp_nudge_nlm_mod::radius = cnst_radius
 
character(len=128) fv_nwp_nudge_nlm_mod::version = ''
 
character(len=128) fv_nwp_nudge_nlm_mod::tagname = ''
 
logical, public fv_nwp_nudge_nlm_mod::do_adiabatic_init
 
integer fv_nwp_nudge_nlm_mod::im
 
integer fv_nwp_nudge_nlm_mod::jm
 
integer fv_nwp_nudge_nlm_mod::km
 
real, dimension(:), allocatable fv_nwp_nudge_nlm_mod::ak0
 
real, dimension(:), allocatable fv_nwp_nudge_nlm_mod::bk0
 
real, dimension(:), allocatable fv_nwp_nudge_nlm_mod::lat
 
real, dimension(:), allocatable fv_nwp_nudge_nlm_mod::lon
 
logical fv_nwp_nudge_nlm_mod::module_is_initialized = .false.
 
logical fv_nwp_nudge_nlm_mod::master
 
logical fv_nwp_nudge_nlm_mod::no_obs
 
real fv_nwp_nudge_nlm_mod::deg2rad
 
real fv_nwp_nudge_nlm_mod::rad2deg
 
real fv_nwp_nudge_nlm_mod::time_nudge = 0.
 
integer fv_nwp_nudge_nlm_mod::time_interval = 6*3600
 
integer, parameter fv_nwp_nudge_nlm_mod::nfile_max = 29280
 
integer fv_nwp_nudge_nlm_mod::nfile
 
integer fv_nwp_nudge_nlm_mod::k_breed = 0
 
integer fv_nwp_nudge_nlm_mod::k_trop = 0
 
real fv_nwp_nudge_nlm_mod::p_trop = 950.E2
 
real fv_nwp_nudge_nlm_mod::dps_min = 50.
 
real fv_nwp_nudge_nlm_mod::del2_cd = 0.16
 
real, dimension(:,:,:), allocatable fv_nwp_nudge_nlm_mod::s2c
 
integer, dimension(:,:), allocatable fv_nwp_nudge_nlm_mod::id1
 
integer, dimension(:,:), allocatable fv_nwp_nudge_nlm_mod::id2
 
integer, dimension(:,:), allocatable fv_nwp_nudge_nlm_mod::jdc
 
real, dimension(:,:,:), allocatable fv_nwp_nudge_nlm_mod::ps_dat
 
real(kind=4), dimension(:,:,:,:), allocatable fv_nwp_nudge_nlm_mod::u_dat
 
real(kind=4), dimension(:,:,:,:), allocatable fv_nwp_nudge_nlm_mod::v_dat
 
real(kind=4), dimension(:,:,:,:), allocatable fv_nwp_nudge_nlm_mod::t_dat
 
real(kind=4), dimension(:,:,:,:), allocatable fv_nwp_nudge_nlm_mod::q_dat
 
real(kind=4), dimension(:,:,:), allocatable fv_nwp_nudge_nlm_mod::gz3
 
real, dimension(:,:), allocatable fv_nwp_nudge_nlm_mod::gz0
 
character(len=128) fv_nwp_nudge_nlm_mod::input_fname_list =""
 
character(len=128) fv_nwp_nudge_nlm_mod::analysis_file_first =""
 
character(len=128) fv_nwp_nudge_nlm_mod::analysis_file_last =""
 
real fv_nwp_nudge_nlm_mod::p_relax = 30.E2
 
real fv_nwp_nudge_nlm_mod::p_norelax = 0.0
 
character(len=128), dimension(nfile_max) fv_nwp_nudge_nlm_mod::file_names
 
character(len=128) fv_nwp_nudge_nlm_mod::track_file_name
 
integer fv_nwp_nudge_nlm_mod::nfile_total = 0
 
real fv_nwp_nudge_nlm_mod::p_wvp = 100.E2
 
integer fv_nwp_nudge_nlm_mod::kord_data = 8
 
real fv_nwp_nudge_nlm_mod::mask_fac = 0.25
 
logical, public fv_nwp_nudge_nlm_mod::t_is_tv = .false.
 
logical fv_nwp_nudge_nlm_mod::use_pt_inc = .false.
 
logical fv_nwp_nudge_nlm_mod::use_high_top = .false.
 
logical fv_nwp_nudge_nlm_mod::add_bg_wind = .true.
 
logical fv_nwp_nudge_nlm_mod::conserve_mom = .true.
 
logical fv_nwp_nudge_nlm_mod::conserve_hgt = .true.
 
logical fv_nwp_nudge_nlm_mod::tc_mask = .false.
 
logical fv_nwp_nudge_nlm_mod::strong_mask = .false.
 
logical fv_nwp_nudge_nlm_mod::ibtrack = .true.
 
logical fv_nwp_nudge_nlm_mod::nudge_debug = .false.
 
logical fv_nwp_nudge_nlm_mod::do_ps_bias = .false.
 
logical fv_nwp_nudge_nlm_mod::nudge_ps = .false.
 
logical fv_nwp_nudge_nlm_mod::nudge_q = .false.
 
logical fv_nwp_nudge_nlm_mod::nudge_winds = .true.
 
logical fv_nwp_nudge_nlm_mod::nudge_virt = .true.
 
logical fv_nwp_nudge_nlm_mod::nudge_hght = .true.
 
logical fv_nwp_nudge_nlm_mod::time_varying = .true.
 
logical fv_nwp_nudge_nlm_mod::print_end_breed = .true.
 
logical fv_nwp_nudge_nlm_mod::print_end_nudge = .true.
 
real fv_nwp_nudge_nlm_mod::tau_ps = 21600.
 
real fv_nwp_nudge_nlm_mod::tau_q = 86400.
 
real fv_nwp_nudge_nlm_mod::tau_winds = 21600.
 
real fv_nwp_nudge_nlm_mod::tau_virt = 43200.
 
real fv_nwp_nudge_nlm_mod::tau_hght = 43200.
 
real fv_nwp_nudge_nlm_mod::q_min = 1.E-8
 
integer fv_nwp_nudge_nlm_mod::jbeg
 
integer fv_nwp_nudge_nlm_mod::jend
 
integer fv_nwp_nudge_nlm_mod::nf_uv = 0
 
integer fv_nwp_nudge_nlm_mod::nf_ps = 0
 
integer fv_nwp_nudge_nlm_mod::nf_t = 2
 
integer fv_nwp_nudge_nlm_mod::nf_ht = 1
 
integer fv_nwp_nudge_nlm_mod::kstart = 2
 
integer fv_nwp_nudge_nlm_mod::kbot_winds = 0
 
integer fv_nwp_nudge_nlm_mod::kbot_t = 0
 
integer fv_nwp_nudge_nlm_mod::kbot_q = 0
 
logical fv_nwp_nudge_nlm_mod::analysis_time
 
logical fv_nwp_nudge_nlm_mod::breed_srf_w = .false.
 
real fv_nwp_nudge_nlm_mod::grid_size = 28.E3
 
real fv_nwp_nudge_nlm_mod::tau_vt_slp = 1200.
 
real fv_nwp_nudge_nlm_mod::tau_vt_wind = 1200.
 
real fv_nwp_nudge_nlm_mod::tau_vt_rad = 4.0
 
real fv_nwp_nudge_nlm_mod::pt_lim = 0.2
 
real fv_nwp_nudge_nlm_mod::slp_env = 101010.
 
real fv_nwp_nudge_nlm_mod::pre0_env = 100000.
 
real, parameter fv_nwp_nudge_nlm_mod::tm_max = 315.
 
real fv_nwp_nudge_nlm_mod::r_lo = 2.0
 
real fv_nwp_nudge_nlm_mod::r_hi = 5.0
 
real fv_nwp_nudge_nlm_mod::r_fac = 1.2
 
real fv_nwp_nudge_nlm_mod::r_min = 200.E3
 
real fv_nwp_nudge_nlm_mod::r_inc = 25.E3
 
real, parameter fv_nwp_nudge_nlm_mod::del_r = 50.E3
 
real fv_nwp_nudge_nlm_mod::elapsed_time = 0.0
 
real fv_nwp_nudge_nlm_mod::nudged_time = 1.E12
 
integer fv_nwp_nudge_nlm_mod::year_track_data
 
integer, parameter fv_nwp_nudge_nlm_mod::max_storm = 140
 
integer, parameter fv_nwp_nudge_nlm_mod::nobs_max = 125
 
integer fv_nwp_nudge_nlm_mod::nstorms = 0
 
integer, dimension(max_storm) fv_nwp_nudge_nlm_mod::nobs_tc
 
integer fv_nwp_nudge_nlm_mod::min_nobs = 16
 
real fv_nwp_nudge_nlm_mod::min_mslp = 1009.E2
 
real(kind=4), dimension(nobs_max, max_storm) fv_nwp_nudge_nlm_mod::x_obs
 
real(kind=4), dimension(nobs_max, max_storm) fv_nwp_nudge_nlm_mod::y_obs
 
real(kind=4), dimension(nobs_max, max_storm) fv_nwp_nudge_nlm_mod::wind_obs
 
real(kind=4), dimension(nobs_max, max_storm) fv_nwp_nudge_nlm_mod::mslp_obs
 
real(kind=4), dimension(nobs_max, max_storm) fv_nwp_nudge_nlm_mod::mslp_out
 
real(kind=4), dimension(nobs_max, max_storm) fv_nwp_nudge_nlm_mod::rad_out
 
real(kind=4), dimension(nobs_max, max_storm) fv_nwp_nudge_nlm_mod::time_tc
 
integer fv_nwp_nudge_nlm_mod::id_ht_err
 
integer fv_nwp_nudge_nlm_mod::is
 
integer fv_nwp_nudge_nlm_mod::ie
 
integer fv_nwp_nudge_nlm_mod::js
 
integer fv_nwp_nudge_nlm_mod::je
 
integer fv_nwp_nudge_nlm_mod::isd
 
integer fv_nwp_nudge_nlm_mod::ied
 
integer fv_nwp_nudge_nlm_mod::jsd
 
integer fv_nwp_nudge_nlm_mod::jed
 

Macro Definition Documentation

◆ _GET_VAR1

#define _GET_VAR1   get_var1_double