|
MOM6
|
g_tracer_utils module consists of core utility subroutines to be used by all generic tracer modules. These include the lowest level functions for adding, allocating memory, and record keeping of individual generic tracers irrespective of their physical/chemical nature.
Data Types | |
| type | g_diag_type |
| Unknown. More... | |
| type | g_tracer_common |
| The following type fields are common to ALL generic tracers and hence has to be instantiated only once. More... | |
| interface | g_tracer_get_pointer |
| Return the pointer to the requested field of a particular tracer. More... | |
| interface | g_tracer_get_values |
| Reverse of interface g_tracer_set_values for getting the tracer member arrays in the argument value. More... | |
| interface | g_tracer_set_values |
| Set the values of various (array) members of the tracer node g_tracer_type. More... | |
| type | g_tracer_type |
| Each generic tracer node is an instant of a FORTRAN type with the following member variables. These member fields are supposed to uniquely define an individual tracer. One such type shall be instantiated for EACH individual tracer. More... | |
Functions/Subroutines | |
| subroutine, public | g_tracer_flux_init (g_tracer) |
| Unknown. More... | |
| subroutine, public | g_tracer_set_csdiag (diag_CS) |
| Unknown. More... | |
| subroutine, public | g_tracer_set_common (isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_kmt, init_time) |
| subroutine, public | g_tracer_get_common (isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_mask_coast, grid_kmt, init_time, diag_CS) |
| subroutine | g_tracer_get_4d (g_tracer_list, name, member, array_ptr) |
| Unknown. More... | |
| subroutine | g_tracer_get_3d (g_tracer_list, name, member, array_ptr) |
| Unknown. More... | |
| subroutine | g_tracer_get_2d (g_tracer_list, name, member, array_ptr) |
| Unknown. More... | |
| subroutine | g_tracer_get_4d_val (g_tracer_list, name, member, array, isd, jsd) |
| Unknown. More... | |
| subroutine | g_tracer_get_3d_val (g_tracer_list, name, member, array, isd, jsd, ntau, positive) |
| Unknown. More... | |
| subroutine | g_tracer_get_2d_val (g_tracer_list, name, member, array, isd, jsd) |
| Unknown. More... | |
| subroutine | g_tracer_get_real (g_tracer_list, name, member, value) |
| Unknown. More... | |
| subroutine | g_tracer_get_string (g_tracer_list, name, member, string) |
| Unknown. More... | |
| subroutine | g_tracer_set_2d (g_tracer_list, name, member, array, isd, jsd, weight) |
| Unknown. More... | |
| subroutine | g_tracer_set_3d (g_tracer_list, name, member, array, isd, jsd, ntau) |
| Unknown. More... | |
| subroutine | g_tracer_set_4d (g_tracer_list, name, member, array, isd, jsd) |
| Unknown. More... | |
| subroutine | g_tracer_set_real (g_tracer_list, name, member, value) |
| Unknown. More... | |
| subroutine, public | g_tracer_send_diag (g_tracer_list, model_time, tau) |
| subroutine, public | g_tracer_get_name (g_tracer, string) |
| Unknown. More... | |
| subroutine, public | g_tracer_get_alias (g_tracer, string) |
| Unknown. More... | |
| logical function, public | g_tracer_is_prog (g_tracer) |
| Is the tracer prognostic? More... | |
| subroutine, public | g_tracer_get_next (g_tracer, g_tracer_next) |
| get the next tracer in the list More... | |
| subroutine | g_tracer_vertdiff_g (g_tracer, h_old, ea, eb, dt, kg_m2_to_H, m_to_H, tau, mom) |
| Vertical Diffusion of a tracer node. More... | |
Variables | |
| type(g_tracer_common), target, save | g_tracer_com |
| Unknown dangerous module data! | |
| subroutine, public g_tracer_utils::g_tracer_flux_init | ( | type(g_tracer_type), pointer | g_tracer | ) |
Unknown.
| g_tracer | Pointer to this tracer node |
Definition at line 99 of file generic_tracer_utils.F90.
|
private |
Unknown.
| [in] | name | Unknown |
| [in] | member | Unknown |
| g_tracer_list | Unknown | |
| array_ptr | Unknown |
Definition at line 162 of file generic_tracer_utils.F90.
|
private |
Unknown.
| [in] | name | Unknown |
| [in] | member | Unknown |
| g_tracer_list | Unknown | |
| [in] | isd | Unknown |
| [in] | jsd | Unknown |
| [out] | array | Unknown |
Definition at line 194 of file generic_tracer_utils.F90.
|
private |
Unknown.
| [in] | name | Unknown |
| [in] | member | Unknown |
| g_tracer_list | Unknown | |
| array_ptr | Unknown |
Definition at line 154 of file generic_tracer_utils.F90.
|
private |
Unknown.
| [in] | name | Unknown |
| [in] | member | Unknown |
| g_tracer_list | Unknown | |
| [in] | isd | Unknown |
| [in] | jsd | Unknown |
| [in] | ntau | Unknown |
| [in] | positive | Unknown |
| [out] | array | Unknown |
Definition at line 180 of file generic_tracer_utils.F90.
|
private |
Unknown.
| [in] | name | Unknown |
| [in] | member | Unknown |
| g_tracer_list | Unknown | |
| array_ptr | Unknown |
Definition at line 146 of file generic_tracer_utils.F90.
|
private |
Unknown.
| [in] | name | Unknown |
| [in] | member | Unknown |
| g_tracer_list | Unknown | |
| [in] | isd | Unknown |
| [in] | jsd | Unknown |
| [out] | array | Unknown |
Definition at line 170 of file generic_tracer_utils.F90.
| subroutine, public g_tracer_utils::g_tracer_get_alias | ( | type(g_tracer_type), pointer | g_tracer, |
| character(len=*), intent(out) | string | ||
| ) |
Unknown.
| g_tracer | Unknown | |
| [out] | string | Unknown |
Definition at line 273 of file generic_tracer_utils.F90.
| subroutine, public g_tracer_utils::g_tracer_get_common | ( | integer, intent(out) | isc, |
| integer, intent(out) | iec, | ||
| integer, intent(out) | jsc, | ||
| integer, intent(out) | jec, | ||
| integer, intent(out) | isd, | ||
| integer, intent(out) | ied, | ||
| integer, intent(out) | jsd, | ||
| integer, intent(out) | jed, | ||
| integer, intent(out) | nk, | ||
| integer, intent(out) | ntau, | ||
| integer, dimension(3), intent(out), optional | axes, | ||
| real, dimension(:,:,:), optional, pointer | grid_tmask, | ||
| integer, dimension(:,:), optional, pointer | grid_mask_coast, | ||
| integer, dimension(:,:), optional, pointer | grid_kmt, | ||
| type(time_type), intent(out), optional | init_time, | ||
| type(g_diag_ctrl), optional, pointer | diag_CS | ||
| ) |
| [out] | isc | Computation start index in i direction |
| [out] | iec | Computation end index in i direction |
| [out] | jsc | Computation start index in j direction |
| [out] | jec | Computation end index in j direction |
| [out] | isd | Data start index in i direction |
| [out] | ied | Data end index in i direction |
| [out] | jsd | Data start index in j direction |
| [out] | jed | Data end index in j direction |
| [out] | nk | Number of levels in k direction |
| [out] | ntau | Unknown |
| [out] | axes | Unknown |
| [out] | init_time | Unknown |
| grid_tmask | Unknown | |
| grid_mask_coast | Unknown | |
| grid_kmt | Unknown | |
| diag_cs | Unknown |
Definition at line 126 of file generic_tracer_utils.F90.
| subroutine, public g_tracer_utils::g_tracer_get_name | ( | type(g_tracer_type), pointer | g_tracer, |
| character(len=*), intent(out) | string | ||
| ) |
Unknown.
| g_tracer | Unknown | |
| [out] | string | Unknown |
Definition at line 267 of file generic_tracer_utils.F90.
| subroutine, public g_tracer_utils::g_tracer_get_next | ( | type(g_tracer_type), pointer | g_tracer, |
| type(g_tracer_type), pointer | g_tracer_next | ||
| ) |
get the next tracer in the list
| g_tracer | Pointer to tracer node |
| g_tracer_next | Pointer to the next tracer node in the list |
Definition at line 285 of file generic_tracer_utils.F90.
|
private |
Unknown.
| [in] | name | Unknown |
| [in] | member | Unknown |
| g_tracer_list | Unknown | |
| [out] | value | Unknown |
Definition at line 204 of file generic_tracer_utils.F90.
|
private |
Unknown.
| [in] | name | Unknown |
| [in] | member | Unknown |
| g_tracer_list | Unknown | |
| [out] | string | Unknown |
Definition at line 212 of file generic_tracer_utils.F90.
| logical function, public g_tracer_utils::g_tracer_is_prog | ( | type(g_tracer_type), pointer | g_tracer | ) |
Is the tracer prognostic?
| g_tracer | Pointer to tracer node |
Definition at line 279 of file generic_tracer_utils.F90.
| subroutine, public g_tracer_utils::g_tracer_send_diag | ( | type(g_tracer_type), pointer | g_tracer_list, |
| type(time_type), intent(in) | model_time, | ||
| integer, intent(in) | tau | ||
| ) |
| g_tracer_list | pointer to the head of the generic tracer list | |
| [in] | model_time | Time |
| [in] | tau | The time step for the field 4D field to be reported |
Definition at line 259 of file generic_tracer_utils.F90.
|
private |
Unknown.
| [in] | name | Unknown |
| [in] | member | Unknown |
| g_tracer_list | Unknown | |
| [in] | isd | Unknown |
| [in] | jsd | Unknown |
| [in] | array | Unknown |
| [in] | weight | Unknown |
Definition at line 220 of file generic_tracer_utils.F90.
|
private |
Unknown.
| [in] | name | Unknown |
| [in] | member | Unknown |
| g_tracer_list | Unknown | |
| [in] | isd | Unknown |
| [in] | jsd | Unknown |
| [in] | ntau | Unknown |
| [in] | array | Unknown |
Definition at line 231 of file generic_tracer_utils.F90.
|
private |
Unknown.
| [in] | name | Unknown |
| [in] | member | Unknown |
| g_tracer_list | Unknown | |
| [in] | isd | Unknown |
| [in] | jsd | Unknown |
| [in] | array | Unknown |
Definition at line 242 of file generic_tracer_utils.F90.
| subroutine, public g_tracer_utils::g_tracer_set_common | ( | integer, intent(in) | isc, |
| integer, intent(in) | iec, | ||
| integer, intent(in) | jsc, | ||
| integer, intent(in) | jec, | ||
| integer, intent(in) | isd, | ||
| integer, intent(in) | ied, | ||
| integer, intent(in) | jsd, | ||
| integer, intent(in) | jed, | ||
| integer, intent(in) | nk, | ||
| integer, intent(in) | ntau, | ||
| integer, dimension(3), intent(in) | axes, | ||
| real, dimension(isd:,jsd:,:), intent(in) | grid_tmask, | ||
| integer, dimension(isd:,jsd:), intent(in) | grid_kmt, | ||
| type(time_type), intent(in) | init_time | ||
| ) |
| [in] | isc | Computation start index in i direction |
| [in] | iec | Computation end index in i direction |
| [in] | jsc | Computation start index in j direction |
| [in] | jec | Computation end index in j direction |
| [in] | isd | Data start index in i direction |
| [in] | ied | Data end index in i direction |
| [in] | jsd | Data start index in j direction |
| [in] | jed | Data end index in j direction |
| [in] | nk | Number of levels in k direction |
| [in] | ntau | Unknown |
| [in] | axes | Domain axes? |
| [in] | grid_tmask | Unknown |
| [in] | grid_kmt | Unknown |
| [in] | init_time | Unknown |
Definition at line 108 of file generic_tracer_utils.F90.
| subroutine, public g_tracer_utils::g_tracer_set_csdiag | ( | type(g_diag_ctrl), intent(in), target | diag_CS | ) |
|
private |
Unknown.
| [in] | name | Unknown |
| [in] | member | Unknown |
| g_tracer_list | Unknown | |
| [in] | value | Unknown |
Definition at line 252 of file generic_tracer_utils.F90.
|
private |
Vertical Diffusion of a tracer node.
This subroutine solves a tridiagonal equation to find and set values of vertically diffused field for a tracer node.This is ported from GOLD (vertdiff) and simplified Since the surface flux from the atmosphere (stf) has the units of mol/m^2/sec the resulting tracer concentration has units of mol/Kg
| g_tracer | Unknown | |
| [in] | h_old | Layer thickness before entrainment, in m or kg m-2. |
| [in] | ea | The amount of fluid entrained from the layer above, in H. |
| [in] | eb | The amount of fluid entrained from the layer below, in H. |
| [in] | dt | The amount of time covered by this call, in s. |
| [in] | kg_m2_to_h | A conversion factor that translates kg m-2 into the units of h_old (H) |
| [in] | m_to_h | A conversion factor that translates m into the units of h_old (H). |
| [in] | tau | Unknown |
| [in] | mom | Unknown |
Definition at line 296 of file generic_tracer_utils.F90.