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

Go to the source code of this file.

Modules

module  diffusion_mod
 Diffusion on the TH and Q fields.
 

Functions/Subroutines

type(component_descriptor_type) function, public diffusion_mod::diffusion_get_descriptor ()
 Provides the descriptor back to the caller and is used in component registration. More...
 
subroutine diffusion_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 diffusion_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 diffusion_mod::initialisation_callback (current_state)
 Sets up the stencil_mod (used in interpolation) and allocates data for the flux fields. More...
 
subroutine diffusion_mod::finalisation_callback (current_state)
 
subroutine diffusion_mod::timestep_callback (current_state)
 At each timestep will compute the diffusion source terms for TH and Q fields per column if these fields are active. More...
 
subroutine diffusion_mod::perform_q_diffusion (current_state, local_y, local_x)
 Computes the diffusion source terms for each Q field. More...
 
subroutine diffusion_mod::perform_th_diffusion (current_state, local_y, local_x)
 Computes the diffusion source terms for the theta field. More...
 
subroutine diffusion_mod::general_diffusion (current_state, field, source_field, local_y, local_x, diagnostics)
 General diffusion computation for any field which is provided as arguments. Works in a column. More...
 
subroutine diffusion_mod::perform_local_data_copy_for_diff (current_state, halo_depth, involve_corners, source_data)
 Does local data copying for diffusion coefficient variable halo swap. More...
 
subroutine diffusion_mod::copy_halo_buffer_to_diff (current_state, neighbour_description, dim, target_index, neighbour_location, current_page, source_data)
 Copies the halo buffer to halo location for the diffusion coefficient field. More...
 
subroutine diffusion_mod::copy_halo_buffer_to_diff_corners (current_state, neighbour_description, corner_loc, x_target_index, y_target_index, neighbour_location, current_page, source_data)
 Copies the corner halo buffer to the diffusion coefficient field corners. More...
 
subroutine diffusion_mod::save_precomponent_tendencies (current_state, cxn, cyn, txn, tyn)
 Save the 3d tendencies coming into the component. More...
 
subroutine diffusion_mod::compute_component_tendencies (current_state, cxn, cyn, txn, tyn)
 Computation of component tendencies. More...
 
subroutine diffusion_mod::set_published_field_value (field_value, real_1d_field, real_2d_field, real_3d_field)
 Sets the published field value from the temporary diagnostic values held by this component. More...
 

Variables

real(kind=default_precision), dimension(:), allocatable diffusion_mod::th_diffusion
 
real(kind=default_precision), dimension(:,:), allocatable diffusion_mod::q_diffusion
 
real(kind=default_precision), dimension(:,:,:), allocatable diffusion_mod::tend_3d_th
 
real(kind=default_precision), dimension(:,:,:), allocatable diffusion_mod::tend_3d_qv
 
real(kind=default_precision), dimension(:,:,:), allocatable diffusion_mod::tend_3d_ql
 
real(kind=default_precision), dimension(:,:,:), allocatable diffusion_mod::tend_3d_qi
 
real(kind=default_precision), dimension(:,:,:), allocatable diffusion_mod::tend_3d_qr
 
real(kind=default_precision), dimension(:,:,:), allocatable diffusion_mod::tend_3d_qs
 
real(kind=default_precision), dimension(:,:,:), allocatable diffusion_mod::tend_3d_qg
 
real(kind=default_precision), dimension(:,:,:), allocatable diffusion_mod::tend_3d_tabs
 
logical diffusion_mod::l_tend_3d_th
 
logical diffusion_mod::l_tend_3d_qv
 
logical diffusion_mod::l_tend_3d_ql
 
logical diffusion_mod::l_tend_3d_qi
 
logical diffusion_mod::l_tend_3d_qr
 
logical diffusion_mod::l_tend_3d_qs
 
logical diffusion_mod::l_tend_3d_qg
 
logical diffusion_mod::l_tend_3d_tabs
 
real(kind=default_precision), dimension(:), allocatable diffusion_mod::tend_pr_tot_th
 
real(kind=default_precision), dimension(:), allocatable diffusion_mod::tend_pr_tot_qv
 
real(kind=default_precision), dimension(:), allocatable diffusion_mod::tend_pr_tot_ql
 
real(kind=default_precision), dimension(:), allocatable diffusion_mod::tend_pr_tot_qi
 
real(kind=default_precision), dimension(:), allocatable diffusion_mod::tend_pr_tot_qr
 
real(kind=default_precision), dimension(:), allocatable diffusion_mod::tend_pr_tot_qs
 
real(kind=default_precision), dimension(:), allocatable diffusion_mod::tend_pr_tot_qg
 
real(kind=default_precision), dimension(:), allocatable diffusion_mod::tend_pr_tot_tabs
 
logical diffusion_mod::l_tend_pr_tot_th
 
logical diffusion_mod::l_tend_pr_tot_qv
 
logical diffusion_mod::l_tend_pr_tot_ql
 
logical diffusion_mod::l_tend_pr_tot_qi
 
logical diffusion_mod::l_tend_pr_tot_qr
 
logical diffusion_mod::l_tend_pr_tot_qs
 
logical diffusion_mod::l_tend_pr_tot_qg
 
logical diffusion_mod::l_tend_pr_tot_tabs
 
integer diffusion_mod::iqv =0
 
integer diffusion_mod::iql =0
 
integer diffusion_mod::iqr =0
 
integer diffusion_mod::iqi =0
 
integer diffusion_mod::iqs =0
 
integer diffusion_mod::iqg =0
 
integer diffusion_mod::diagnostic_generation_frequency