MONC
|
Diffusion on the TH and Q fields. More...
Functions/Subroutines | |
type(component_descriptor_type) function, public | diffusion_get_descriptor () |
Provides the descriptor back to the caller and is used in component registration. More... | |
subroutine | field_information_retrieval_callback (current_state, name, field_information) |
Field information retrieval callback, this returns information for a specific components 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 | initialisation_callback (current_state) |
Sets up the stencil_mod (used in interpolation) and allocates data for the flux fields. More... | |
subroutine | finalisation_callback (current_state) |
subroutine | 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 | perform_q_diffusion (current_state, local_y, local_x) |
Computes the diffusion source terms for each Q field. More... | |
subroutine | perform_th_diffusion (current_state, local_y, local_x) |
Computes the diffusion source terms for the theta field. More... | |
subroutine | 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 | 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 | 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 | 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 | 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 | 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 | th_diffusion |
real(kind=default_precision), dimension(:,:), allocatable | q_diffusion |
real(kind=default_precision), dimension(:,:,:), allocatable | tend_3d_th |
real(kind=default_precision), dimension(:,:,:), allocatable | tend_3d_qv |
real(kind=default_precision), dimension(:,:,:), allocatable | tend_3d_ql |
real(kind=default_precision), dimension(:,:,:), allocatable | tend_3d_qi |
real(kind=default_precision), dimension(:,:,:), allocatable | tend_3d_qr |
real(kind=default_precision), dimension(:,:,:), allocatable | tend_3d_qs |
real(kind=default_precision), dimension(:,:,:), allocatable | tend_3d_qg |
real(kind=default_precision), dimension(:,:,:), allocatable | tend_3d_tabs |
logical | l_tend_3d_th |
logical | l_tend_3d_qv |
logical | l_tend_3d_ql |
logical | l_tend_3d_qi |
logical | l_tend_3d_qr |
logical | l_tend_3d_qs |
logical | l_tend_3d_qg |
logical | l_tend_3d_tabs |
real(kind=default_precision), dimension(:), allocatable | tend_pr_tot_th |
real(kind=default_precision), dimension(:), allocatable | tend_pr_tot_qv |
real(kind=default_precision), dimension(:), allocatable | tend_pr_tot_ql |
real(kind=default_precision), dimension(:), allocatable | tend_pr_tot_qi |
real(kind=default_precision), dimension(:), allocatable | tend_pr_tot_qr |
real(kind=default_precision), dimension(:), allocatable | tend_pr_tot_qs |
real(kind=default_precision), dimension(:), allocatable | tend_pr_tot_qg |
real(kind=default_precision), dimension(:), allocatable | tend_pr_tot_tabs |
logical | l_tend_pr_tot_th |
logical | l_tend_pr_tot_qv |
logical | l_tend_pr_tot_ql |
logical | l_tend_pr_tot_qi |
logical | l_tend_pr_tot_qr |
logical | l_tend_pr_tot_qs |
logical | l_tend_pr_tot_qg |
logical | l_tend_pr_tot_tabs |
integer | iqv =0 |
integer | iql =0 |
integer | iqr =0 |
integer | iqi =0 |
integer | iqs =0 |
integer | iqg =0 |
integer | diagnostic_generation_frequency |
Diffusion on the TH and Q fields.
|
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 626 of file diffusion.F90.
|
private |
Copies the halo buffer to halo location for the diffusion coefficient field.
current_state | The current model state |
neighbour_description | The halo swapping description of the neighbour we are accessing the buffer of |
dim | The dimension we receive for |
target_index | The target index for the dimension we are receiving for |
neighbour_location | The location in the local neighbour data stores of this neighbour |
current_page | The current, next, halo swap page to read from (all previous have been read and copied already) |
source_data | Optional source data which is written into |
Definition at line 544 of file diffusion.F90.
|
private |
Copies the corner halo buffer to the diffusion coefficient field corners.
current_state | The current model state |
neighbour_description | The halo swapping description of the neighbour we are accessing the buffer of |
corner_loc | The corner location |
x_target_index | The X target index for the dimension we are receiving for |
y_target_index | The Y target index for the dimension we are receiving for |
neighbour_location | The location in the local neighbour data stores of this neighbour |
current_page | The current, next, halo swap page to read from (all previous have been read and copied already) |
source_data | Optional source data which is written into |
Definition at line 567 of file diffusion.F90.
type(component_descriptor_type) function, public diffusion_mod::diffusion_get_descriptor |
Provides the descriptor back to the caller and is used in component registration.
Definition at line 48 of file diffusion.F90.
|
private |
Field information retrieval callback, this returns information for a specific components 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 |
Definition at line 87 of file diffusion.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 173 of file diffusion.F90.
|
private |
|
private |
General diffusion computation for any field which is provided as arguments. Works in a column.
current_state | The current model state |
field | The field to take values from, typically zth or zq(n) |
source_field | The source target field to update, typically sth or sq(n) |
local_y | Local Y index |
local_x | Local X index |
Definition at line 477 of file diffusion.F90.
|
private |
Sets up the stencil_mod (used in interpolation) and allocates data for the flux fields.
current_state | The current model state_mod |
Definition at line 224 of file diffusion.F90.
|
private |
Does local data copying for diffusion coefficient variable halo swap.
current_state | The current model state_mod |
source_data | Optional source data which is written into |
Definition at line 526 of file diffusion.F90.
|
private |
Computes the diffusion source terms for each Q field.
current_state | The current model state |
local_y | Local Y index |
local_x | Local X index |
Definition at line 433 of file diffusion.F90.
|
private |
Computes the diffusion source terms for the theta field.
current_state | The current model state |
local_y | Local Y index |
local_x | Local X index |
Definition at line 448 of file diffusion.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 587 of file diffusion.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 691 of file diffusion.F90.
|
private |
At each timestep will compute the diffusion source terms for TH and Q fields per column if these fields are active.
current_state | The current model state |
Definition at line 370 of file diffusion.F90.
|
private |
Definition at line 40 of file diffusion.F90.
|
private |
Definition at line 39 of file diffusion.F90.
|
private |
Definition at line 39 of file diffusion.F90.
|
private |
Definition at line 39 of file diffusion.F90.
|
private |
Definition at line 39 of file diffusion.F90.
|
private |
Definition at line 39 of file diffusion.F90.
|
private |
Definition at line 39 of file diffusion.F90.
|
private |
Definition at line 31 of file diffusion.F90.
|
private |
Definition at line 31 of file diffusion.F90.
|
private |
Definition at line 31 of file diffusion.F90.
|
private |
Definition at line 31 of file diffusion.F90.
|
private |
Definition at line 31 of file diffusion.F90.
|
private |
Definition at line 31 of file diffusion.F90.
|
private |
Definition at line 31 of file diffusion.F90.
|
private |
Definition at line 31 of file diffusion.F90.
|
private |
Definition at line 36 of file diffusion.F90.
|
private |
Definition at line 36 of file diffusion.F90.
|
private |
Definition at line 36 of file diffusion.F90.
|
private |
Definition at line 36 of file diffusion.F90.
|
private |
Definition at line 36 of file diffusion.F90.
|
private |
Definition at line 36 of file diffusion.F90.
|
private |
Definition at line 36 of file diffusion.F90.
|
private |
Definition at line 36 of file diffusion.F90.
|
private |
Definition at line 25 of file diffusion.F90.
|
private |
Definition at line 29 of file diffusion.F90.
|
private |
Definition at line 29 of file diffusion.F90.
|
private |
Definition at line 29 of file diffusion.F90.
|
private |
Definition at line 29 of file diffusion.F90.
|
private |
Definition at line 29 of file diffusion.F90.
|
private |
Definition at line 29 of file diffusion.F90.
|
private |
Definition at line 29 of file diffusion.F90.
|
private |
Definition at line 29 of file diffusion.F90.
|
private |
Definition at line 33 of file diffusion.F90.
|
private |
Definition at line 33 of file diffusion.F90.
|
private |
Definition at line 33 of file diffusion.F90.
|
private |
Definition at line 33 of file diffusion.F90.
|
private |
Definition at line 33 of file diffusion.F90.
|
private |
Definition at line 33 of file diffusion.F90.
|
private |
Definition at line 33 of file diffusion.F90.
|
private |
Definition at line 33 of file diffusion.F90.
|
private |
Definition at line 24 of file diffusion.F90.