35 type(model_state_type),
target,
intent(inout) :: current_state
38 fcoriol=options_get_real(current_state%options_database,
"fcoriol")
49 type(model_state_type),
target,
intent(inout) :: current_state
65 type(model_state_type),
target,
intent(inout) :: current_state
66 integer,
intent(in) :: local_y, local_x
69 real(kind=DEFAULT_PRECISION) :: sctmp1, sctmp2
71 if (current_state%use_anelastic_equations)
then 73 do k=2, current_state%local_grid%size(z_index)
74 sctmp1=current_state%global_grid%configuration%vertical%tzc1(k)*2.0_default_precision*&
75 current_state%global_grid%configuration%vertical%dthref(k-1)
76 sctmp2=current_state%global_grid%configuration%vertical%tzc2(k)*2.0_default_precision*&
77 current_state%global_grid%configuration%vertical%dthref(k)
78 current_state%sth%data(k, local_y, local_x)=current_state%sth%data(k, local_y, local_x)-(sctmp1*&
79 current_state%w%data(k-1, local_y, local_x) + sctmp2*current_state%w%data(k, local_y, local_x))
89 type(model_state_type),
target,
intent(inout) :: current_state
90 integer,
intent(in) :: local_y, local_x
95 if (current_state%passive_q)
then 96 if (current_state%use_anelastic_equations)
then 97 do k=2, current_state%local_grid%size(z_index)
98 current_state%sth%data(k, local_y, local_x)=current_state%sth%data(k, local_y, local_x)+&
99 current_state%global_grid%configuration%vertical%thref(k)*
fcoriol_over_g*&
104 do k=2, current_state%local_grid%size(z_index)
105 current_state%sth%data(k, local_y, local_x)=current_state%sth%data(k, local_y, local_x)+&
111 call log_master_log(log_error,
"The combination if baroclinicity and active q is not yet allowed")
real(kind=default_precision) fcoriol
integer, parameter, public log_error
Only log ERROR messages.
integer, parameter, public default_precision
MPI communication type which we use for the prognostic and calculation data.
integer, parameter, public z_index
Grid index parameters.
real(kind=default_precision), public g
Contains common definitions for the data and datatypes used by MONC.
The ModelState which represents the current state of a run.
subroutine, public log_master_log(level, message)
Will log just from the master process.
real(kind=default_precision) rate_change_geostrophic_wind_y
real(kind=default_precision) rate_change_geostrophic_wind_x
subroutine initialisation_callback(current_state)
Initialisation callback to set up the variables and data needed by the component. ...
real(kind=default_precision) multiplicative_factor_x
Description of a component.
logical baroclinicity_use_geostrophic_shear
subroutine timestep_callback(current_state)
Timestep callback, will call the two separate procedures to do their advection if needed...
Scientific constant values used throughout simulations. Each has a default value and this can be over...
subroutine vertical_advection_of_reference_state(current_state, local_y, local_x)
Vertical advection of the reference state. It doesn't seem consistent to do the advection in this way...
Interfaces and types that MONC components must specify.
real(kind=default_precision) multiplicative_factor_y
real(kind=default_precision) function, public options_get_real(options_database, key, index)
Retrieves a real value from the database that matches the provided key.
Functionality to support the different types of grid and abstraction between global grids and local o...
Specific theta advection, which involves the vertical advection of reference state and advection of m...
Manages the options database. Contains administration functions and deduce runtime options from the c...
real(kind=default_precision) fcoriol_over_g
logical function, public options_get_logical(options_database, key, index)
Retrieves a logical value from the database that matches the provided key.
type(component_descriptor_type) function, public thadvection_get_descriptor()
Provides a description of this component for the core to register.
subroutine advection_of_mean_baroclinicity(current_state, local_y, local_x)
Performs advection of the mean baroclinicity if appropriate.
The model state which represents the current state of a run.