|
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.