MONC
|
Specific theta advection, which involves the vertical advection of reference state and advection of mean baroclinicity. More...
Functions/Subroutines | |
type(component_descriptor_type) function, public | thadvection_get_descriptor () |
Provides a description of this component for the core to register. More... | |
subroutine | initialisation_callback (current_state) |
Initialisation callback to set up the variables and data needed by the component. More... | |
subroutine | finalisation_callback (current_state) |
subroutine | timestep_callback (current_state) |
Timestep callback, will call the two separate procedures to do their advection if needed. More... | |
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 if TVD advection of the deviation from the reference state has been selected. Separate vertical advection of the reference state was introduced to improve energy conservation when carrying out idealized gravity wave simulations in a deep, dry isothermal layer, for which the difference in potential temp between top and bottom was of order 100K. In less extreme cases the benefits are unlikely to be significant and with TVD advection energy conservation has been compromised so the best way forward might be to recombine the reference state into l_th. More... | |
subroutine | advection_of_mean_baroclinicity (current_state, local_y, local_x) |
Performs advection of the mean baroclinicity if appropriate. More... | |
subroutine | save_precomponent_tendencies (current_state, cxn, cyn, txn, tyn) |
Save the 3d tendencies coming into the component. More... | |
subroutine | compute_component_tendencies (current_state, cxn, cyn, txn, tyn) |
Computation of component tendencies. More... | |
subroutine | 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 | field_value_retrieval_callback (current_state, name, field_value) |
Field value retrieval callback, this returns the value of a specific published field. More... | |
subroutine | 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 | baroclinicity_use_geostrophic_shear |
logical | l_advect_mean_baroclinicity |
real(kind=default_precision) | fcoriol |
real(kind=default_precision) | fcoriol_over_g |
real(kind=default_precision) | rate_change_geostrophic_wind_x |
real(kind=default_precision) | rate_change_geostrophic_wind_y |
real(kind=default_precision) | multiplicative_factor_x |
real(kind=default_precision) | multiplicative_factor_y |
real(kind=default_precision), dimension(:,:,:), allocatable | tend_3d_th |
real(kind=default_precision), dimension(:,:,:), allocatable | tend_3d_tabs |
logical | l_tend_3d_th |
logical | l_tend_3d_tabs |
real(kind=default_precision), dimension(:), allocatable | tend_pr_tot_th |
real(kind=default_precision), dimension(:), allocatable | tend_pr_tot_tabs |
logical | l_tend_pr_tot_th |
logical | l_tend_pr_tot_tabs |
integer | diagnostic_generation_frequency |
Specific theta advection, which involves the vertical advection of reference state and advection of mean baroclinicity.
|
private |
Performs advection of the mean baroclinicity if appropriate.
current_state | The current model state |
local_y | The local Y of the column |
local_x | The local X of the column |
Definition at line 201 of file thadvection.F90.
|
private |
Computation of component tendencies.
current_state | Current model state |
cxn | The current slice, x, index |
cyn | The current column, y, index. |
txn | target_x_index |
tyn | target_y_index |
Definition at line 254 of file thadvection.F90.
|
private |
Field information retrieval callback, this returns information for a specific component's published field.
current_state | Current model state |
name | The name of the field to retrieve information for |
field_information | Populated with information about the field |
strcomp | Starting index within 1st argument string that matches substring (2nd argument); 0 if not a match. |
Definition at line 284 of file thadvection.F90.
|
private |
Field value retrieval callback, this returns the value of a specific published field.
current_state | Current model state |
name | The name of the field to retrieve the value for |
field_value | Populated with the value of the field |
Definition at line 335 of file thadvection.F90.
|
private |
|
private |
Initialisation callback to set up the variables and data needed by the component.
current_state | The current model state |
Definition at line 60 of file thadvection.F90.
|
private |
Save the 3d tendencies coming into the component.
current_state | Current model state |
cxn | The current slice, x, index |
cyn | The current column, y, index. |
txn | target_x_index |
tyn | target_y_index |
Definition at line 233 of file thadvection.F90.
|
private |
Sets the published field value from the temporary diagnostic values held by this component.
field_value | Populated with the value of the field |
real_1d_field | Optional one dimensional real of values to publish |
real_2d_field | Optional two dimensional real of values to publish |
Definition at line 360 of file thadvection.F90.
type(component_descriptor_type) function, public thadvection_mod::thadvection_get_descriptor |
Provides a description of this component for the core to register.
Definition at line 39 of file thadvection.F90.
|
private |
Timestep callback, will call the two separate procedures to do their advection if needed.
current_state | The current model state |
target_(x/y)_index | This is the index with the halos subtracted. This is needed so that diagnostic does not include halos and to prevent array out-of-bounds |
Definition at line 135 of file thadvection.F90.
|
private |
Vertical advection of the reference state. It doesn't seem consistent to do the advection in this way if TVD advection of the deviation from the reference state has been selected. Separate vertical advection of the reference state was introduced to improve energy conservation when carrying out idealized gravity wave simulations in a deep, dry isothermal layer, for which the difference in potential temp between top and bottom was of order 100K. In less extreme cases the benefits are unlikely to be significant and with TVD advection energy conservation has been compromised so the best way forward might be to recombine the reference state into l_th.
current_state | The current model state |
local_y | The local Y of the column |
local_x | The local X of the column |
Definition at line 177 of file thadvection.F90.
|
private |
Definition at line 18 of file thadvection.F90.
|
private |
Definition at line 31 of file thadvection.F90.
|
private |
Definition at line 20 of file thadvection.F90.
|
private |
Definition at line 20 of file thadvection.F90.
|
private |
Definition at line 19 of file thadvection.F90.
|
private |
Definition at line 26 of file thadvection.F90.
|
private |
Definition at line 26 of file thadvection.F90.
|
private |
Definition at line 29 of file thadvection.F90.
|
private |
Definition at line 29 of file thadvection.F90.
|
private |
Definition at line 20 of file thadvection.F90.
|
private |
Definition at line 20 of file thadvection.F90.
|
private |
Definition at line 20 of file thadvection.F90.
|
private |
Definition at line 20 of file thadvection.F90.
|
private |
Definition at line 25 of file thadvection.F90.
|
private |
Definition at line 25 of file thadvection.F90.
|
private |
Definition at line 28 of file thadvection.F90.
|
private |
Definition at line 28 of file thadvection.F90.