MONC
Modules | Functions/Subroutines | Variables
flux_budget.F90 File Reference

Go to the source code of this file.

Modules

module  flux_budget_mod
 Flux budget component which produces diagnostic data for the flux aspects of the model.
 

Functions/Subroutines

type(component_descriptor_type) function, public flux_budget_mod::flux_budget_get_descriptor ()
 Provides the descriptor back to the caller and is used in component registration. More...
 
subroutine flux_budget_mod::initialisation_callback (current_state)
 Initialisation call back. More...
 
subroutine flux_budget_mod::timestep_callback (current_state)
 Timestep call back, this will deduce the diagnostics for the current (non halo) column. More...
 
subroutine flux_budget_mod::finalisation_callback (current_state)
 Finalisation call back. More...
 
subroutine flux_budget_mod::populate_field_names ()
 Populates the published field names in the appropriate map. More...
 
subroutine flux_budget_mod::field_information_retrieval_callback (current_state, name, field_information)
 Field information retrieval callback, this returns information for a specific components published field. More...
 
subroutine flux_budget_mod::initialise_scalar_diagnostics (current_state)
 Initialises the scalar diagnostics. More...
 
subroutine flux_budget_mod::initialise_qt_diagnostics (current_state)
 Initialises the qt diagnostics. For now we are assuming qt is the same as theta, which needs updating with moisture information. More...
 
subroutine flux_budget_mod::initialise_mse_diagnostics (current_state)
 Initialises the mse diagnostics. For now we are assuming mse is the same as theta, which needs updating with moisture information. More...
 
subroutine flux_budget_mod::initialise_thetal_diagnostics (current_state)
 Initialises the thetal diagnostics. More...
 
subroutine flux_budget_mod::initialise_prognostic_budget_diagnostics (current_state)
 Initialises the prognostic (uu, vv, ww) budget diagnostics. More...
 
subroutine flux_budget_mod::initialise_uw_vw_diagnostics (current_state)
 Initialises the UW and VW diagnostics. More...
 
subroutine flux_budget_mod::initialise_tke_diagnostics (current_state)
 Initialises the TKE diagnostics. More...
 
subroutine flux_budget_mod::initialise_q_flux_diagnostics (current_state)
 Initialises the Q field flux diagnostic areas and enabled flags depending upon the configuration of the model. More...
 
subroutine flux_budget_mod::initialise_theta_flux_diagnostics (current_state)
 Initialises the heat flux diagnostic areas and enabled flags depending upon the configuration of the model. More...
 
subroutine flux_budget_mod::clear_qt ()
 Clears the qt diagnostics. More...
 
subroutine flux_budget_mod::compute_qt_for_column (current_state)
 Computes the qt diagnostics for a specific column. For now we are assuming qt is the same as theta, which needs updating with moisture information as per resdgs. More...
 
subroutine flux_budget_mod::clear_scalars ()
 Clears the scalar diagnostics. More...
 
subroutine flux_budget_mod::compute_scalars_for_column (current_state)
 Computes the scalar diagnostics for a specific column. More...
 
subroutine flux_budget_mod::clear_mse ()
 Clears the mse diagnostics. More...
 
subroutine flux_budget_mod::compute_mse_for_column (current_state)
 Computes the mse diagnostics for a specific column. For now we are assuming mse is the same as theta, which needs updating with moisture information. More...
 
subroutine flux_budget_mod::clear_thetal ()
 Clears the thetal diagnostics. More...
 
subroutine flux_budget_mod::compute_thetal_for_column (current_state)
 Computes the thetal diagnostics for a specific column. More...
 
subroutine flux_budget_mod::clear_prognostic_budgets ()
 Clears the prognostic (uu, vv, ww) budgets. More...
 
subroutine flux_budget_mod::compute_prognostic_budgets_for_column (current_state)
 Computes the prognostic (uu, vv, ww) budgets for a specific column. More...
 
subroutine flux_budget_mod::clear_uw_vw ()
 Clears the uw uv diagnostics. More...
 
subroutine flux_budget_mod::clear_tke ()
 Clears the TKE diagnostics. More...
 
subroutine flux_budget_mod::compute_uw_vw_for_column (current_state)
 Computes the uw uv diagnostics for a specific column. More...
 
subroutine flux_budget_mod::compute_tke_for_column (current_state)
 Computes the TKE diagnostics for a specific column. More...
 
subroutine flux_budget_mod::clear_q_fluxes ()
 Clears the Q flux diagnostics, called at the start of a timestep. More...
 
subroutine flux_budget_mod::compute_q_flux_for_column (current_state)
 Computes the Q flux diagnostics for a specific column. More...
 
subroutine flux_budget_mod::clear_theta_fluxes ()
 Clears the heat flux diagnostics at the start of a timestep. More...
 
subroutine flux_budget_mod::compute_theta_flux_for_column (current_state)
 Computes the heat flux diagnostics for a specific column. More...
 
logical function flux_budget_mod::is_field_heat_flux (name)
 Determines whether a specific published field is a heat flux field. More...
 
logical function flux_budget_mod::is_field_tke_flux (name)
 Determines whether a specific published field is a TKE budget field. More...
 
logical function flux_budget_mod::is_field_q_flux (name)
 Determines whether a specific published field is a q flux field. More...
 
logical function flux_budget_mod::is_field_uw_vw (name)
 Determines whether a specific published field is a uw or uv field. More...
 
logical function flux_budget_mod::is_field_prognostic_budget (name)
 Determines whether a specific published field is a uu, vv or ww field. More...
 
logical function flux_budget_mod::is_field_thetal (name)
 Determines whether a specific published field is a thetal field. More...
 
logical function flux_budget_mod::is_field_mse (name)
 Determines whether a specific published field is a mse field. More...
 
logical function flux_budget_mod::is_field_qt (name)
 Determines whether a specific published field is a mse field. More...
 
logical function flux_budget_mod::is_field_scalar (name)
 Determines whether a specific published field is a scalar field. More...
 
subroutine flux_budget_mod::field_value_retrieval_callback (current_state, name, field_value)
 Field value retrieval callback, this returns the value of a specific published field. More...
 
subroutine flux_budget_mod::set_published_field_value (field_value, real_1d_field, real_2d_field)
 Sets the published field value from the temporary diagnostic values held by this component. More...
 
subroutine flux_budget_mod::set_published_field_enabled_state (collection, field_name, enabled_state)
 Sets the published value enabled state in the provided collection map. More...
 
logical function flux_budget_mod::get_published_field_enabled_state (collection, field_name)
 Retrieves whether a published field is enabled or not. More...
 

Variables

real(kind=default_precision), dimension(:), allocatable flux_budget_mod::th_flux_values
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::th_gradient
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::th_diff
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::th_buoyancy
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::th_tendency
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::uw_advection
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::vw_advection
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::uw_viscosity
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::vw_viscosity
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::uw_buoyancy
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::vw_buoyancy
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::uw_tendency
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::vw_tendency
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::uw_w
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::vw_w
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::tu_su
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::uu_advection
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::uu_viscosity
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::wu_u
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::tv_sv
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::vv_advection
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::vv_viscosity
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::wv_v
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::tw_sw
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::ww_advection
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::ww_viscosity
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::ww_buoyancy
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::u_thetal
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::us_thetal
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::u_thetal_advection
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::u_thetal_viscosity_diffusion
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::wu_thetal
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::v_thetal
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::vs_thetal
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::v_thetal_advection
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::v_thetal_viscosity_diffusion
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::wv_thetal
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::w_thetal
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::ws_thetal
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::w_thetal_advection
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::w_thetal_viscosity_diffusion
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::w_thetal_buoyancy
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::ww_thetal
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::thetal_thetal
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::sthetal_thetal
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::thetal_thetal_advection
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::thetal_thetal_diffusion
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::wthetal_thetal
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::u_mse
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::us_mse
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::u_mse_advection
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::u_mse_viscosity_diffusion
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::wu_mse
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::v_mse
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::vs_mse
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::v_mse_advection
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::v_mse_viscosity_diffusion
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::wv_mse
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::w_mse
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::ws_mse
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::w_mse_advection
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::w_mse_viscosity_diffusion
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::w_mse_buoyancy
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::ww_mse
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::mse_mse
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::smse_mse
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::mse_mse_advection
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::mse_mse_diffusion
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::wmse_mse
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::us_qt
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::u_qt_advection
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::u_qt_viscosity_diffusion
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::wu_qt
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::vs_qt
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::v_qt_advection
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::v_qt_viscosity_diffusion
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::wv_qt
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::w_qt
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::ws_qt
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::w_qt_advection
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::w_qt_viscosity_diffusion
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::w_qt_buoyancy
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::ww_qt
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::qt_qt
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::sqt_qt
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::qt_qt_advection
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::qt_qt_diffusion
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::wqt_qt
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::sres
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::wke
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::buoy
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::wp
 
real(kind=default_precision), dimension(:), allocatable flux_budget_mod::tend
 
real(kind=default_precision) flux_budget_mod::mflux
 
real(kind=default_precision) flux_budget_mod::wmfcrit
 
real(kind=default_precision), dimension(:,:), allocatable flux_budget_mod::q_flux_values
 
real(kind=default_precision), dimension(:,:), allocatable flux_budget_mod::q_gradient
 
real(kind=default_precision), dimension(:,:), allocatable flux_budget_mod::q_diff
 
real(kind=default_precision), dimension(:,:), allocatable flux_budget_mod::q_buoyancy
 
real(kind=default_precision), dimension(:,:), allocatable flux_budget_mod::q_tendency
 
type(hashmap_type) flux_budget_mod::heat_flux_fields
 
type(hashmap_type) flux_budget_mod::q_flux_fields
 
type(hashmap_type) flux_budget_mod::uw_vw_fields
 
type(hashmap_type) flux_budget_mod::prognostic_budget_fields
 
type(hashmap_type) flux_budget_mod::thetal_fields
 
type(hashmap_type) flux_budget_mod::mse_fields
 
type(hashmap_type) flux_budget_mod::qt_fields
 
type(hashmap_type) flux_budget_mod::scalar_fields
 
type(hashmap_type) flux_budget_mod::tke_fields
 
logical flux_budget_mod::some_theta_flux_diagnostics_enabled
 
logical flux_budget_mod::some_q_flux_diagnostics_enabled
 
logical flux_budget_mod::some_uw_vw_diagnostics_enabled
 
logical flux_budget_mod::some_prognostic_budget_diagnostics_enabled
 
logical flux_budget_mod::some_thetal_diagnostics_enabled
 
logical flux_budget_mod::some_mse_diagnostics_enabled
 
logical flux_budget_mod::some_qt_diagnostics_enabled
 
logical flux_budget_mod::some_tke_diagnostics_enabled
 
integer flux_budget_mod::diagnostic_generation_frequency