FV3DYCORE  Version 2.0.0
atmosphere.F90 File Reference
#include <fms_platform.h>
#include <file_version.h>

Go to the source code of this file.

Modules

module  atmosphere_mod
 The module 'atmosphere' provides the interface for the Cubed-Sphere FV dynamical core.
 

Functions/Subroutines

subroutine, public atmosphere_mod::atmosphere_init (Time_init, Time, Time_step, Grid_box, area)
 The subroutine 'atmosphere_init' is an API to initialize the FV3 dynamical core, including the grid structures, memory, initial state (self-initialization or restart), and diagnostics. More...
 
subroutine atmosphere_mod::p_adi (km, ng, ifirst, ilast, jfirst, jlast, ptop, delp, pt, ps, pe, peln, pk, pkz, hydrostatic)
 The subroutine 'p_adi' computes (ps, pk, pe, peln, pkz) given (ptop, delp). More...
 
subroutine, public atmosphere_mod::atmosphere_dynamics (Time)
 The subroutine 'atmosphere_dynamics' is an API for the main driver of the FV3 dynamical core responsible for executing a "dynamics" step. More...
 
subroutine, public atmosphere_mod::atmosphere_end (Time, Grid_box, restart_endfcst)
 The subroutine 'atmosphere_end' is an API for the termination of the FV3 dynamical core responsible for writing out a restart and final diagnostic state. More...
 
subroutine, public atmosphere_mod::atmosphere_restart (timestamp)
 The subroutine 'atmosphere_restart' is an API to save restart information at a given timestamp. This API is used to provide intermediate restart capability to the atmospheric driver. More...
 
subroutine, public atmosphere_mod::atmosphere_resolution (i_size, j_size, global)
 The subroutine 'atmospehre_resolution' is an API to return the local extents of the current MPI-rank or the global extents of the current cubed-sphere tile. More...
 
subroutine, public atmosphere_mod::atmosphere_pref (p_ref)
 The subroutine 'atmosphere_pref' is an API to return the reference pressure. More...
 
subroutine, public atmosphere_mod::atmosphere_control_data (i1, i2, j1, j2, kt, p_hydro, hydro, tile_num)
 
subroutine, public atmosphere_mod::atmosphere_grid_ctr (lon, lat)
 The subroutine 'atmosphere_grid_ctr' is an API that returns the longitude and latitude cell centers of the current MPI-rank. More...
 
subroutine, public atmosphere_mod::atmosphere_grid_bdry (blon, blat, global)
 The subroutine 'atmosphere_grid_bdry' is an API to returns the longitude and latitude finite volume edges (grid box) for the current MPI-rank. More...
 
subroutine, public atmosphere_mod::set_atmosphere_pelist ()
 
subroutine, public atmosphere_mod::atmosphere_domain (fv_domain, layout, regional, nested, pelist)
 The subroutine 'atmosphere_domain' is an API to return the "domain2d" variable associated with the coupling grid and the decomposition for the current cubed-sphere tile. Coupling is done using the mass/temperature grid with no halos. More...
 
subroutine, public atmosphere_mod::atmosphere_diag_axes (axes)
 The subroutine 'atmosphere_diag_axes' is an API to return the axis indices for the atmospheric (mass) grid. More...
 
subroutine, public atmosphere_mod::atmosphere_etalvls (ak, bk, flip)
 The subroutine 'atmosphere_etalvls' is an API to return the ak/bk pairs used to compute the eta or pressure levels. By default, the vertical dimension assumes the standard FV3 convention of TOA (k=1) to Surface (k=npz). More...
 
subroutine, public atmosphere_mod::atmosphere_hgt (hgt, position, relative, flip)
 The subroutine 'atmosphere_hgt' is an API to return the height coordinate. By default, the vertical dimension assumes the standard FV3 convention of TOA (k=1) to Surface (k=npz). There are options to choose location [level (interface) or layer] and absolute vs. relative height (zero-based). More...
 
subroutine, public atmosphere_mod::atmosphere_scalar_field_halo (data, halo, isize, jsize, ksize, data_p)
 The subroutine 'atmosphere_scalar_field_halo' is an API to return halo information of the current MPI_rank for an input scalar field. Up to three point haloes can be returned by this API which includes special handling for the cubed-sphere tile corners. Output will be in (i,j,k) while input can be in (i,j,k) or horizontally-packed form (ix,k). More...
 
subroutine, public atmosphere_mod::atmosphere_diss_est (npass)
 
subroutine, public atmosphere_mod::atmosphere_nggps_diag (Time, init, ltavg, avg_max_length)
 The subroutine 'atmosphere_nggps_diag' is an API to trigger output of diagnostics in NCEP/EMC format. More...
 
subroutine, public atmosphere_mod::get_bottom_mass (t_bot, tr_bot, p_bot, z_bot, p_surf, slp)
 
subroutine, public atmosphere_mod::get_bottom_wind (u_bot, v_bot)
 
subroutine, public atmosphere_mod::atmosphere_get_bottom_layer (Atm_block, DYCORE_Data)
 The subroutine 'atmosphere_get_bottom_layer' is an API to provide the bottom layer quantities needed for coupling with other external components. The data will be provided in a DDT which is a packed, blocked structure. More...
 
subroutine, public atmosphere_mod::get_stock_pe (index, value)
 
subroutine, public atmosphere_mod::atmosphere_state_update (Time, IPD_Data, IAU_Data, Atm_block, flip_vc)
 The subroutine 'atmosphere_state_update' is an API to apply tendencies and compute a consistent prognostic state. More...
 
subroutine atmosphere_mod::adiabatic_init (zvir, nudge_dz, time)
 The subroutine 'adiabatic_init' is an optional step during initialization to pre-condition a solution via backward-forward steps with capability for various nudgings. More...
 
subroutine, public atmosphere_mod::atmos_phys_driver_statein (IPD_Data, Atm_block, flip_vc)
 The subroutine 'atmos_phys_driver_statein' is an API to populate the IPD_DataStatein container with the prognostic state at the end of the advection (dynamics) step of integration. Performs a mass adjustment to be consistent with the GFS physics and if necessary, converts quantities to hydrostatic representation. More...
 
subroutine atmosphere_mod::atmos_phys_qdt_diag (q, phys_diag, nq, dt, begin)
 

Variables

character(len=20) atmosphere_mod::mod_name = 'fvGFS/atmosphere_mod'
 
type(time_type) atmosphere_mod::time_step_atmos
 
real atmosphere_mod::dt_atmos
 
real atmosphere_mod::zvir
 
integer atmosphere_mod::npx
 
integer atmosphere_mod::npy
 
integer atmosphere_mod::npz
 
integer atmosphere_mod::ncnst
 
integer atmosphere_mod::pnats
 
integer atmosphere_mod::isc
 
integer atmosphere_mod::iec
 
integer atmosphere_mod::jsc
 
integer atmosphere_mod::jec
 
integer atmosphere_mod::isd
 
integer atmosphere_mod::ied
 
integer atmosphere_mod::jsd
 
integer atmosphere_mod::jed
 
integer atmosphere_mod::nq
 
integer atmosphere_mod::sec
 
integer atmosphere_mod::seconds
 
integer atmosphere_mod::days
 
integer atmosphere_mod::id_dynam
 
integer atmosphere_mod::id_fv_diag
 
integer atmosphere_mod::id_subgridz
 
logical atmosphere_mod::cold_start = .false.
 
integer, dimension(:), allocatable atmosphere_mod::id_tracerdt_dyn
 
integer atmosphere_mod::sphum
 
integer atmosphere_mod::liq_wat
 
integer atmosphere_mod::rainwat
 
integer atmosphere_mod::ice_wat
 
integer atmosphere_mod::snowwat
 
integer atmosphere_mod::graupel
 
integer, public atmosphere_mod::mygrid = 1
 
integer atmosphere_mod::p_split = 1
 
integer, dimension(:), allocatable atmosphere_mod::pelist
 
logical, dimension(:), allocatable atmosphere_mod::grids_on_this_pe
 
type(fv_atmos_type), dimension(:), allocatable, target, public atmosphere_mod::atm
 
integer atmosphere_mod::id_udt_dyn
 
integer atmosphere_mod::id_vdt_dyn
 
real, parameter atmosphere_mod::w0_big = 60.
 
real, dimension(:,:,:), allocatable atmosphere_mod::u_dt
 
real, dimension(:,:,:), allocatable atmosphere_mod::v_dt
 
real, dimension(:,:,:), allocatable atmosphere_mod::t_dt
 
real, dimension(:,:), allocatable atmosphere_mod::pref
 
real, dimension(:), allocatable atmosphere_mod::dum1d
 
logical atmosphere_mod::first_diag = .true.