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

Go to the source code of this file.

Modules

module  stepfields_mod
 Does the field stepping Stepping is called at the end of processing a column and steps the x-2 column.
 

Functions/Subroutines

type(component_descriptor_type) function, public stepfields_mod::stepfields_get_descriptor ()
 Provides the descriptor back to the caller and is used in component registration. More...
 
subroutine stepfields_mod::initialisation_callback (current_state)
 Initialisation callback. More...
 
subroutine stepfields_mod::finalisation_callback (current_state)
 Finalisation callback. More...
 
subroutine stepfields_mod::timestep_callback (current_state)
 Called at each timestep and will perform swapping and smoothing as required. More...
 
subroutine stepfields_mod::step_all_fields (current_state)
 Steps all fields. More...
 
subroutine stepfields_mod::determine_local_flow_minmax (current_state, local_y, local_x)
 Determines the minimum and maximum values for the local flow field. These are before the stepping, and are all reduced later on in the cfl test. More...
 
subroutine stepfields_mod::reset_local_minmax_values (current_state)
 Resets the local min and max values for the flow fields. More...
 
subroutine stepfields_mod::remove_negative_rounding_errors_for_single_field (x_local_index, y_local_index, x_prev, y_prev, field, local_grid)
 Removes the negative rounding errors from a specific single field. This works two columns behind and then catches up on the last column. More...
 
subroutine stepfields_mod::remove_negative_rounding_errors_in_slice (y_local_index, x_prev, y_prev, field, local_grid)
 Removes the negative rounding errors from a slice of a single field. This works two columns behind and then catches up on the last column. More...
 
subroutine stepfields_mod::step_single_field (x_local_index, y_local_index, x_prev, y_prev, field, zfield, sfield, local_grid, flow_field, direction, dtm, gal, c1, c2, do_timesmoothing, sav)
 Steps a single specific field. This will step on the yth column of the x-2 slice and x-1 and x if this is the last slice. More...
 
subroutine stepfields_mod::perform_timesmooth_for_field (field, zfield, local_grid, x_index, y_index, c1, c2)
 Performs initial timesmoothing for a theta or Q field using Robert filter. This is finished off in swapsmooth. More...
 
subroutine stepfields_mod::step_column_in_slice (y_local_index, x_prev, y_prev, field, zfield, sfield, local_grid, flow_field, direction, dtm, gal, c1, c2, do_timesmoothing, sav)
 Will step a column in a specific slice. If y_prev is large enough then will step the y-1 column and if this is the last column of the slice then will also step the current column. More...
 
subroutine stepfields_mod::step_field (x_local_index, y_local_index, field, zfield, sfield, local_grid, flow_field, direction, dtm, gal, sav)
 Will do the actual field stepping. More...
 
subroutine stepfields_mod::compute_component_tendencies (current_state, cxn, cyn, txn, tyn)
 Computation of component tendencies. More...
 
subroutine stepfields_mod::field_information_retrieval_callback (current_state, name, field_information)
 Field information retrieval callback, this returns information for a specific component's published field. More...
 
subroutine stepfields_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 stepfields_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

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