|
MONC
|
Does the field stepping Stepping is called at the end of processing a column and steps the x-2 column. More...
Functions/Subroutines | |
| type(component_descriptor_type) function, public | stepfields_get_descriptor () |
| Provides the descriptor back to the caller and is used in component registration. More... | |
| subroutine | initialisation_callback (current_state) |
| Initialisation callback. More... | |
| subroutine | finalisation_callback (current_state) |
| Finalisation callback. More... | |
| subroutine | timestep_callback (current_state) |
| Called at each timestep and will perform swapping and smoothing as required. More... | |
| subroutine | step_all_fields (current_state) |
| Steps all fields. More... | |
| subroutine | determine_local_flow_minmax (current_state, local_y, local_x) |
| Determines the minimum and maximum values for the local flow field. These are before the stepping, and are all reduced later on in the cfl test. More... | |
| subroutine | reset_local_minmax_values (current_state) |
| Resets the local min and max values for the flow fields. More... | |
| subroutine | remove_negative_rounding_errors_for_single_field (x_local_index, y_local_index, x_prev, y_prev, field, local_grid) |
| Removes the negative rounding errors from a specific single field. This works two columns behind and then catches up on the last column. More... | |
| subroutine | remove_negative_rounding_errors_in_slice (y_local_index, x_prev, y_prev, field, local_grid) |
| Removes the negative rounding errors from a slice of a single field. This works two columns behind and then catches up on the last column. More... | |
| subroutine | step_single_field (x_local_index, y_local_index, x_prev, y_prev, field, zfield, sfield, local_grid, flow_field, direction, dtm, gal, c1, c2, do_timesmoothing, sav) |
| Steps a single specific field. This will step on the yth column of the x-2 slice and x-1 and x if this is the last slice. More... | |
| subroutine | perform_timesmooth_for_field (field, zfield, local_grid, x_index, y_index, c1, c2) |
| Performs initial timesmoothing for a theta or Q field using Robert filter. This is finished off in swapsmooth. More... | |
| subroutine | step_column_in_slice (y_local_index, x_prev, y_prev, field, zfield, sfield, local_grid, flow_field, direction, dtm, gal, c1, c2, do_timesmoothing, sav) |
| Will step a column in a specific slice. If y_prev is large enough then will step the y-1 column and if this is the last column of the slice then will also step the current column. More... | |
| subroutine | step_field (x_local_index, y_local_index, field, zfield, sfield, local_grid, flow_field, direction, dtm, gal, sav) |
| Will do the actual field stepping. 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 | determine_flow_minmax =.false. |
| logical | cfl_is_enabled |
| real(kind=default_precision), dimension(:), allocatable | resetq_min |
| logical | l_nonconservative_positive_q =.true. |
| 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 |
Does the field stepping Stepping is called at the end of processing a column and steps the x-2 column.
|
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 628 of file stepfields.F90.

|
private |
Determines the minimum and maximum values for the local flow field. These are before the stepping, and are all reduced later on in the cfl test.
| current_state | The current model state |
| local_y | The local y index |
| local_x | The local x index |
Definition at line 365 of file stepfields.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 693 of file stepfields.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 768 of file stepfields.F90.


|
private |
Finalisation callback.
| current_state | The current model state |
Definition at line 209 of file stepfields.F90.

|
private |
Initialisation callback.
| current_state | The current model state |
Definition at line 89 of file stepfields.F90.


|
private |
Performs initial timesmoothing for a theta or Q field using Robert filter. This is finished off in swapsmooth.
| field | The field to smooth |
| zfield | The zfield to use in smoothing |
| local_grid | Description of the local grid |
| x_index | The X index to work on |
| y_index | The Y index to work on |
| c1 | Constant to use in smoothing |
| c2 | Constant to use in smoothing |
Definition at line 515 of file stepfields.F90.

|
private |
Removes the negative rounding errors from a specific single field. This works two columns behind and then catches up on the last column.
| x_local_index | The current local x index |
| y_local_index | The current local y index |
| x_prev | The previous x index to step |
| y_prev | The previous y index to step |
| field | The prognostic field |
| local_grid | Description of the local grid |
Definition at line 409 of file stepfields.F90.


|
private |
Removes the negative rounding errors from a slice of a single field. This works two columns behind and then catches up on the last column.
| y_local_index | The current local y index |
| x_prev | The previous x index to step |
| y_prev | The previous y index to step |
| field | The prognostic field |
| local_grid | Description of the local grid |
Definition at line 432 of file stepfields.F90.

|
private |
Resets the local min and max values for the flow fields.
| current_state | The current model state |
Definition at line 390 of file stepfields.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 817 of file stepfields.F90.

|
private |
Steps all fields.
| current_state | The current model state_mod |
Definition at line 315 of file stepfields.F90.


|
private |
Will step a column in a specific slice. If y_prev is large enough then will step the y-1 column and if this is the last column of the slice then will also step the current column.
| x_local_index | The current local x index |
| y_local_index | The current local y index |
| x_prev | The previous x index to step |
| y_prev | The previous y index to step |
| field | The prognostic field |
| zfield | Z prognostic field |
| sfield | Source terms for the prognostic field |
| local_grid | Description of the local grid |
| flow_field | Whether or not this is a flow field |
| direction | The stepping direction (centred or forward) |
| dtm | The delta time per timestep |
| gal | Galilean transformation |
| c1 | Constant to use in smoothing |
| c2 | Constant to use in smoothing |
| do_timesmoothing | Whether timesmoothing using Robert filter should be done on the field |
| sav | Optional sav field |
Definition at line 546 of file stepfields.F90.


|
private |
Will do the actual field stepping.
| flow_field | Whether or not we are stepping a flow field |
| direction | 1=forward, 0=centred |
| x_index | The local X slice index |
| y_index | The local Y column index |
| kkp | Points in the vertical column |
| dtm | The model timestep |
| field | The prognostic field |
| zfield | The prognostic z field (which goes to timestep t+1) |
| xfield | The tendency of the field |
| gal | The galilean transformation |
Definition at line 590 of file stepfields.F90.

|
private |
Steps a single specific field. This will step on the yth column of the x-2 slice and x-1 and x if this is the last slice.
| x_local_index | The current local x index |
| y_local_index | The current local y index |
| x_prev | The previous x index to step |
| y_prev | The previous y index to step |
| field | The prognostic field |
| zfield | Z prognostic field |
| sfield | Source terms for the prognostic field |
| local_grid | Description of the local grid |
| flow_field | Whether or not this is a flow field |
| direction | The stepping direction (centred or forward) |
| dtm | The delta time per timestep |
| gal | Galilean transformation |
| c1 | Constant to use in smoothing |
| c2 | Constant to use in smoothing |
| do_timesmoothing | Whether timesmoothing using Robert filter should be done on the field |
| sav | Optional sav field |
Definition at line 466 of file stepfields.F90.


| type(component_descriptor_type) function, public stepfields_mod::stepfields_get_descriptor |
Provides the descriptor back to the caller and is used in component registration.
Definition at line 56 of file stepfields.F90.

|
private |
Called at each timestep and will perform swapping and smoothing as required.
| current_state | The current model state_mod |
Definition at line 236 of file stepfields.F90.


|
private |
Definition at line 22 of file stepfields.F90.
|
private |
Definition at line 22 of file stepfields.F90.
|
private |
Definition at line 47 of file stepfields.F90.
|
private |
Definition at line 46 of file stepfields.F90.
|
private |
Definition at line 46 of file stepfields.F90.
|
private |
Definition at line 46 of file stepfields.F90.
|
private |
Definition at line 46 of file stepfields.F90.
|
private |
Definition at line 46 of file stepfields.F90.
|
private |
Definition at line 46 of file stepfields.F90.
|
private |
Definition at line 26 of file stepfields.F90.
|
private |
Definition at line 34 of file stepfields.F90.
|
private |
Definition at line 34 of file stepfields.F90.
|
private |
Definition at line 34 of file stepfields.F90.
|
private |
Definition at line 34 of file stepfields.F90.
|
private |
Definition at line 34 of file stepfields.F90.
|
private |
Definition at line 34 of file stepfields.F90.
|
private |
Definition at line 34 of file stepfields.F90.
|
private |
Definition at line 34 of file stepfields.F90.
|
private |
Definition at line 42 of file stepfields.F90.
|
private |
Definition at line 42 of file stepfields.F90.
|
private |
Definition at line 42 of file stepfields.F90.
|
private |
Definition at line 42 of file stepfields.F90.
|
private |
Definition at line 42 of file stepfields.F90.
|
private |
Definition at line 42 of file stepfields.F90.
|
private |
Definition at line 42 of file stepfields.F90.
|
private |
Definition at line 42 of file stepfields.F90.
|
private |
Definition at line 25 of file stepfields.F90.
|
private |
Definition at line 30 of file stepfields.F90.
|
private |
Definition at line 30 of file stepfields.F90.
|
private |
Definition at line 30 of file stepfields.F90.
|
private |
Definition at line 30 of file stepfields.F90.
|
private |
Definition at line 30 of file stepfields.F90.
|
private |
Definition at line 30 of file stepfields.F90.
|
private |
Definition at line 30 of file stepfields.F90.
|
private |
Definition at line 30 of file stepfields.F90.
|
private |
Definition at line 38 of file stepfields.F90.
|
private |
Definition at line 38 of file stepfields.F90.
|
private |
Definition at line 38 of file stepfields.F90.
|
private |
Definition at line 38 of file stepfields.F90.
|
private |
Definition at line 38 of file stepfields.F90.
|
private |
Definition at line 38 of file stepfields.F90.
|
private |
Definition at line 38 of file stepfields.F90.
|
private |
Definition at line 38 of file stepfields.F90.