|
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 98 of file generic_tracer_utils.F90.
|
private |
Unknown.
| [in] | name | Unknown |
| [in] | member | Unknown |
| g_tracer_list | Unknown | |
| array_ptr | Unknown |
Definition at line 161 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 193 of file generic_tracer_utils.F90.
|
private |
Unknown.
| [in] | name | Unknown |
| [in] | member | Unknown |
| g_tracer_list | Unknown | |
| array_ptr | Unknown |
Definition at line 153 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 179 of file generic_tracer_utils.F90.
|
private |
Unknown.
| [in] | name | Unknown |
| [in] | member | Unknown |
| g_tracer_list | Unknown | |
| array_ptr | Unknown |
Definition at line 145 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 169 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 272 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 124 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 266 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 284 of file generic_tracer_utils.F90.
|
private |
Unknown.
| [in] | name | Unknown |
| [in] | member | Unknown |
| g_tracer_list | Unknown | |
| [out] | value | Unknown |
Definition at line 203 of file generic_tracer_utils.F90.
|
private |
Unknown.
| [in] | name | Unknown |
| [in] | member | Unknown |
| g_tracer_list | Unknown | |
| [out] | string | Unknown |
Definition at line 211 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 278 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 258 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 219 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 230 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 241 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 107 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 251 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 295 of file generic_tracer_utils.F90.