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... | |
Variables | |
real(kind=default_precision), dimension(:), allocatable | th_diffusion |
real(kind=default_precision), dimension(:,:), allocatable | q_diffusion |
Diffusion on the TH and Q fields.
|
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 244 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 267 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 30 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 48 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 70 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 176 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 84 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 225 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 132 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 147 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 109 of file diffusion.F90.
|
private |
Definition at line 21 of file diffusion.F90.
|
private |
Definition at line 20 of file diffusion.F90.