model_state Module

Module where all the model state variables are declared. THIS CODE IS AUTOMATICALLY GENERATED. DO NOT MODIFY IT DIRECTLY.


Uses

  • module~~model_state~~UsesGraph module~model_state model_state module~horizontal_diffusion horizontal_diffusion module~model_state->module~horizontal_diffusion module~types types module~model_state->module~types module~geometry geometry module~model_state->module~geometry module~spectral spectral module~model_state->module~spectral module~implicit implicit module~model_state->module~implicit module~horizontal_diffusion->module~types module~horizontal_diffusion->module~geometry module~params params module~horizontal_diffusion->module~params iso_fortran_env iso_fortran_env module~types->iso_fortran_env module~geometry->module~types module~geometry->module~params module~spectral->module~types module~spectral->module~geometry module~fourier fourier module~spectral->module~fourier module~spectral->module~params module~implicit->module~horizontal_diffusion module~implicit->module~types module~implicit->module~geometry module~implicit->module~params module~fourier->module~types module~fourier->module~geometry module~fourier->module~params module~legendre legendre module~fourier->module~legendre module~params->module~types module~legendre->module~types module~legendre->module~geometry module~legendre->module~params

Used by

  • module~~model_state~~UsedByGraph module~model_state model_state proc~get_tendencies get_tendencies proc~get_tendencies->module~model_state proc~initialize_geopotential initialize_geopotential proc~initialize_geopotential->module~model_state proc~modelstate_init_sst_anom modelstate_init_sst_anom proc~modelstate_init_sst_anom->module~model_state proc~initialize_boundaries initialize_boundaries proc~initialize_boundaries->module~model_state proc~get_grid_point_tendencies get_grid_point_tendencies proc~get_grid_point_tendencies->module~model_state proc~land_model_init land_model_init proc~land_model_init->module~model_state proc~get_physical_tendencies get_physical_tendencies proc~get_physical_tendencies->module~model_state proc~do_single_step do_single_step proc~do_single_step->module~model_state proc~initialize_coupler initialize_coupler proc~initialize_coupler->module~model_state proc~run_land_model run_land_model proc~run_land_model->module~model_state proc~set_forcing set_forcing proc~set_forcing->module~model_state proc~sea_model_init sea_model_init proc~sea_model_init->module~model_state proc~run_sea_model run_sea_model proc~run_sea_model->module~model_state module~speedy_driver speedy_driver module~speedy_driver->module~model_state module~prognostics prognostics module~prognostics->module~model_state proc~couple_sea_land couple_sea_land proc~couple_sea_land->module~model_state proc~couple_land_atm couple_land_atm proc~couple_land_atm->module~model_state proc~set_geopotential set_geopotential proc~set_geopotential->module~model_state proc~first_step first_step proc~first_step->module~model_state proc~initialize_state initialize_state proc~initialize_state->module~model_state proc~initialize_state->module~prognostics proc~get_zonal_average_fields get_zonal_average_fields proc~get_zonal_average_fields->module~model_state proc~get_spectral_tendencies get_spectral_tendencies proc~get_spectral_tendencies->module~model_state proc~get_shortwave_rad_fluxes get_shortwave_rad_fluxes proc~get_shortwave_rad_fluxes->module~model_state proc~step step proc~step->module~model_state proc~couple_sea_atm couple_sea_atm proc~couple_sea_atm->module~model_state proc~transform_grid2spectral transform_grid2spectral proc~transform_grid2spectral->module~prognostics proc~transform_spectral2grid transform_spectral2grid proc~transform_spectral2grid->module~prognostics proc~apply_grid_filter apply_grid_filter proc~apply_grid_filter->module~prognostics

Contents


Derived Types

type, public :: ModelState_t

Model state

Components

TypeVisibility AttributesNameInitial
logical, private :: initialized =.false.
class(ModGeometry_t), private, allocatable:: mod_geometry
logical, private :: mod_geometry_initialized =.false.
class(ModSpectral_t), private, allocatable:: mod_spectral
logical, private :: mod_spectral_initialized =.false.
class(ModImplicit_t), private, allocatable:: mod_implicit
logical, private :: mod_implicit_initialized =.false.
complex(kind=8), private, allocatable, dimension(:, :, :, :):: vor
logical, private :: vor_initialized =.false.
complex(kind=8), private, allocatable, dimension(:, :, :, :):: div
logical, private :: div_initialized =.false.
complex(kind=8), private, allocatable, dimension(:, :, :, :):: t
logical, private :: t_initialized =.false.
complex(kind=8), private, allocatable, dimension(:, :, :):: ps
logical, private :: ps_initialized =.false.
complex(kind=8), private, allocatable, dimension(:, :, :, :, :):: tr
logical, private :: tr_initialized =.false.
complex(kind=8), private, allocatable, dimension(:, :, :):: phi
logical, private :: phi_initialized =.false.
complex(kind=8), private, allocatable, dimension(:, :):: phis
logical, private :: phis_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: u_grid
logical, private :: u_grid_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: v_grid
logical, private :: v_grid_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: t_grid
logical, private :: t_grid_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: q_grid
logical, private :: q_grid_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: phi_grid
logical, private :: phi_grid_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: ps_grid
logical, private :: ps_grid_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: precnv
logical, private :: precnv_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: precls
logical, private :: precls_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: snowcv
logical, private :: snowcv_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: snowls
logical, private :: snowls_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: cbmf
logical, private :: cbmf_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: tsr
logical, private :: tsr_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: ssrd
logical, private :: ssrd_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: ssr
logical, private :: ssr_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: slrd
logical, private :: slrd_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: slr
logical, private :: slr_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: olr
logical, private :: olr_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: slru
logical, private :: slru_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: ustr
logical, private :: ustr_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: vstr
logical, private :: vstr_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: shf
logical, private :: shf_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: evap
logical, private :: evap_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: hfluxn
logical, private :: hfluxn_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: tt_rsw
logical, private :: tt_rsw_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: phi0
logical, private :: phi0_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: orog
logical, private :: orog_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: phis0
logical, private :: phis0_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: alb0
logical, private :: alb0_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: forog
logical, private :: forog_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: fmask_orig
logical, private :: fmask_orig_initialized =.false.
real(kind=8), private, allocatable, dimension(:):: xgeop1
logical, private :: xgeop1_initialized =.false.
real(kind=8), private, allocatable, dimension(:):: xgeop2
logical, private :: xgeop2_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: stl12
logical, private :: stl12_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: snowd12
logical, private :: snowd12_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: soilw12
logical, private :: soilw12_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: veg_low
logical, private :: veg_low_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: veg_high
logical, private :: veg_high_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: soil_wc_l1
logical, private :: soil_wc_l1_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: soil_wc_l2
logical, private :: soil_wc_l2_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: soil_wc_l3
logical, private :: soil_wc_l3_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: sst12
logical, private :: sst12_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: sea_ice_frac12
logical, private :: sea_ice_frac12_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: sst_anom
logical, private :: sst_anom_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: flux_solar_in
logical, private :: flux_solar_in_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: flux_ozone_lower
logical, private :: flux_ozone_lower_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: flux_ozone_upper
logical, private :: flux_ozone_upper_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: zenit_correction
logical, private :: zenit_correction_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: stratospheric_correction
logical, private :: stratospheric_correction_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: qcloud_equiv
logical, private :: qcloud_equiv_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: rhcapl
logical, private :: rhcapl_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: cdland
logical, private :: cdland_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: stlcl_obs
logical, private :: stlcl_obs_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: snowdcl_obs
logical, private :: snowdcl_obs_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: soilwcl_obs
logical, private :: soilwcl_obs_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: land_temp
logical, private :: land_temp_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: snow_depth
logical, private :: snow_depth_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: soil_avail_water
logical, private :: soil_avail_water_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: stl_lm
logical, private :: stl_lm_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: fmask_land
logical, private :: fmask_land_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: bmask_land
logical, private :: bmask_land_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: rhcaps
logical, private :: rhcaps_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: rhcapi
logical, private :: rhcapi_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: cdsea
logical, private :: cdsea_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: cdice
logical, private :: cdice_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: fmask_sea
logical, private :: fmask_sea_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: bmask_sea
logical, private :: bmask_sea_initialized =.false.
real(kind=p), private, allocatable, dimension(:):: deglat_s
logical, private :: deglat_s_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: hfseacl
logical, private :: hfseacl_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :, :):: sstom12
logical, private :: sstom12_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: sstcl_ob
logical, private :: sstcl_ob_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: sicecl_ob
logical, private :: sicecl_ob_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: ticecl_ob
logical, private :: ticecl_ob_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: sstan_ob
logical, private :: sstan_ob_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: sstcl_om
logical, private :: sstcl_om_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: sst_am
logical, private :: sst_am_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: sstan_am
logical, private :: sstan_am_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: sice_am
logical, private :: sice_am_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: tice_am
logical, private :: tice_am_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: sst_om
logical, private :: sst_om_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: sice_om
logical, private :: sice_om_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: tice_om
logical, private :: tice_om_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: ssti_om
logical, private :: ssti_om_initialized =.false.
real(kind=p), private, allocatable, dimension(:, :):: wsst_ob
logical, private :: wsst_ob_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: fband
logical, private :: fband_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: alb_land
logical, private :: alb_land_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: alb_sea
logical, private :: alb_sea_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: alb_surface
logical, private :: alb_surface_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :):: snowc
logical, private :: snowc_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: rad_flux
logical, private :: rad_flux_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :, :):: rad_tau2
logical, private :: rad_tau2_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :, :):: rad_st4a
logical, private :: rad_st4a_initialized =.false.
real(kind=8), private, allocatable, dimension(:, :, :):: rad_strat_corr
logical, private :: rad_strat_corr_initialized =.false.
real, private, allocatable, dimension(:):: lon
logical, private :: lon_initialized =.false.
real, private, allocatable, dimension(:):: lat
logical, private :: lat_initialized =.false.
real, private, allocatable, dimension(:):: lev
logical, private :: lev_initialized =.false.
integer, private :: current_step
logical, private :: increase_co2
logical, private :: compute_shortwave
real(kind=8), private :: air_absortivity_co2
logical, private :: land_coupling_flag
logical, private :: sst_anomaly_coupling_flag
real(kind=8), private :: ablco2_ref

type, public :: ModelState_Ptr_t

Components

TypeVisibility AttributesNameInitial
type(ModelState_t), private, pointer:: p=> NULL()

Subroutines

public subroutine ModelState_allocate(state)

Allocate Model State variables

Arguments

Type IntentOptional AttributesName
type(ModelState_t), intent(out) :: state

public subroutine ModelState_allocate_sst_anom(state, n_months)

Allocate sst_anom

Arguments

Type IntentOptional AttributesName
type(ModelState_t), intent(inout) :: state
integer, intent(in) :: n_months

public subroutine ModelState_deallocate(state)

Deallocate model state variables

Arguments

Type IntentOptional AttributesName
type(ModelState_t), intent(inout) :: state