MOM6
|
Data Types | |
type | tracer_flow_control_cs |
Functions/Subroutines | |
subroutine, public | call_tracer_register (HI, GV, param_file, CS, tr_Reg, restart_CS) |
The following 5 subroutines and associated definitions provide the machinery to register and call the subroutines that initialize tracers and apply vertical column processes to tracers. More... | |
subroutine, public | tracer_flow_control_init (restart, day, G, GV, h, param_file, diag, OBC, CS, sponge_CSp, ALE_sponge_CSp, diag_to_Z_CSp, tv) |
This subroutine calls all registered tracer initialization subroutines. More... | |
subroutine, public | get_chl_from_model (Chl_array, G, CS) |
subroutine, public | call_tracer_set_forcing (state, fluxes, day_start, day_interval, G, CS) |
This subroutine calls the individual tracer modules' subroutines to specify or read quantities related to their surface forcing. More... | |
subroutine, public | call_tracer_column_fns (h_old, h_new, ea, eb, fluxes, Hml, dt, G, GV, tv, optics, CS, debug, evap_CFL_limit, minimum_forcing_depth) |
This subroutine calls all registered tracer column physics subroutines. More... | |
subroutine, public | call_tracer_stocks (h, stock_values, G, GV, CS, stock_names, stock_units, num_stocks, stock_index, got_min_max, global_min, global_max, xgmin, ygmin, zgmin, xgmax, ygmax, zgmax) |
This subroutine calls all registered tracer packages to enable them to add to the surface state returned to the coupler. These routines are optional. More... | |
subroutine | store_stocks (pkg_name, ns, names, units, values, index, stock_values, set_pkg_name, max_ns, ns_tot, stock_names, stock_units) |
This routine stores the stocks and does error handling for call_tracer_stocks. More... | |
subroutine, public | call_tracer_surface_state (state, h, G, CS) |
This subroutine calls all registered tracer packages to enable them to add to the surface state returned to the coupler. These routines are optional. More... | |
subroutine, public | tracer_flow_control_end (CS) |
subroutine, public mom_tracer_flow_control::call_tracer_column_fns | ( | real, dimension(nimem_,njmem_,nkmem_), intent(in) | h_old, |
real, dimension(nimem_,njmem_,nkmem_), intent(in) | h_new, | ||
real, dimension(nimem_,njmem_,nkmem_), intent(in) | ea, | ||
real, dimension(nimem_,njmem_,nkmem_), intent(in) | eb, | ||
type(forcing), intent(in) | fluxes, | ||
real, dimension(nimem_,njmem_), intent(in) | Hml, | ||
real, intent(in) | dt, | ||
type(ocean_grid_type), intent(in) | G, | ||
type(verticalgrid_type), intent(in) | GV, | ||
type(thermo_var_ptrs), intent(in) | tv, | ||
type(optics_type), pointer | optics, | ||
type(tracer_flow_control_cs), pointer | CS, | ||
logical, intent(in) | debug, | ||
real, intent(in), optional | evap_CFL_limit, | ||
real, intent(in), optional | minimum_forcing_depth | ||
) |
This subroutine calls all registered tracer column physics subroutines.
[in] | h_old | Layer thickness before entrainment, in m (Boussinesq) or kg m-2 (non-Boussinesq). |
[in] | h_new | Layer thickness after entrainment, in m or kg m-2. |
[in] | ea | an array to which the amount of fluid entrained from the layer above during this call will be added, in m or kg m-2, the same as h_old. |
[in] | eb | an array to which the amount of fluid entrained from the layer below during this call will be added, in m or kg m-2, the same as h_old. |
[in] | fluxes | A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs. |
[in] | hml | Mixed layer depth (m) |
[in] | dt | The amount of time covered by this call, in s |
[in] | g | The ocean's grid structure. |
[in] | gv | The ocean's vertical grid structure. |
[in] | tv | A structure pointing to various thermodynamic variables. |
optics | The structure containing optical properties. | |
cs | The control structure returned by a previous call to call_tracer_register. | |
[in] | debug | Calculates checksums |
[in] | evap_cfl_limit | Limits how much water can be fluxed out of the top layer Stored previously in diabatic] CS. |
[in] | minimum_forcing_depth | The smallest depth over which fluxes can be applied Stored previously in diabatic CS. |
Definition at line 413 of file MOM_tracer_flow_control.F90.
References mom_error_handler::mom_error().
Referenced by mom_diabatic_driver::adiabatic(), and mom_diabatic_driver::diabatic().
subroutine, public mom_tracer_flow_control::call_tracer_register | ( | type(hor_index_type), intent(in) | HI, |
type(verticalgrid_type), intent(in) | GV, | ||
type(param_file_type), intent(in) | param_file, | ||
type(tracer_flow_control_cs), pointer | CS, | ||
type(tracer_registry_type), pointer | tr_Reg, | ||
type(mom_restart_cs), pointer | restart_CS | ||
) |
The following 5 subroutines and associated definitions provide the machinery to register and call the subroutines that initialize tracers and apply vertical column processes to tracers.
[in] | hi | A horizontal index type structure. |
[in] | gv | The ocean's vertical grid structure. |
[in] | param_file | A structure to parse for run-time parameters. |
cs | A pointer that is set to point to the control structure for this module. | |
tr_reg | A pointer that is set to point to the control structure for the tracer advection and diffusion module. | |
restart_cs | A pointer to the restart control structure. |
Definition at line 126 of file MOM_tracer_flow_control.F90.
References mom_error_handler::mom_error().
subroutine, public mom_tracer_flow_control::call_tracer_set_forcing | ( | type(surface), intent(inout) | state, |
type(forcing), intent(inout) | fluxes, | ||
type(time_type), intent(in) | day_start, | ||
type(time_type), intent(in) | day_interval, | ||
type(ocean_grid_type), intent(in) | G, | ||
type(tracer_flow_control_cs), pointer | CS | ||
) |
This subroutine calls the individual tracer modules' subroutines to specify or read quantities related to their surface forcing.
[in,out] | state | A structure containing fields that describe the surface state of the ocean. |
[in,out] | fluxes | A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs. |
[in] | day_start | Start time of the fluxes. |
[in] | day_interval | Length of time over which these fluxes will be applied. |
[in] | g | The ocean's grid structure. |
cs | The control structure returned by a previous call to call_tracer_register. |
Definition at line 374 of file MOM_tracer_flow_control.F90.
References mom_error_handler::mom_error().
subroutine, public mom_tracer_flow_control::call_tracer_stocks | ( | real, dimension(nimem_,njmem_,nkmem_), intent(in) | h, |
real, dimension(:), intent(out) | stock_values, | ||
type(ocean_grid_type), intent(in) | G, | ||
type(verticalgrid_type), intent(in) | GV, | ||
type(tracer_flow_control_cs), pointer | CS, | ||
character(len=*), dimension(:), intent(out), optional | stock_names, | ||
character(len=*), dimension(:), intent(out), optional | stock_units, | ||
integer, intent(out), optional | num_stocks, | ||
integer, intent(in), optional | stock_index, | ||
logical, dimension(:), intent(inout), optional | got_min_max, | ||
real, dimension(:), intent(out), optional | global_min, | ||
real, dimension(:), intent(out), optional | global_max, | ||
real, dimension(:), intent(out), optional | xgmin, | ||
real, dimension(:), intent(out), optional | ygmin, | ||
real, dimension(:), intent(out), optional | zgmin, | ||
real, dimension(:), intent(out), optional | xgmax, | ||
real, dimension(:), intent(out), optional | ygmax, | ||
real, dimension(:), intent(out), optional | zgmax | ||
) |
This subroutine calls all registered tracer packages to enable them to add to the surface state returned to the coupler. These routines are optional.
[in] | h | Layer thicknesses, in H |
[in] | g | The ocean's grid structure. |
[in] | gv | The ocean's vertical grid structure. |
cs | The control structure returned by a previous call to call_tracer_register. | |
[out] | stock_names | Diagnostic names to use for each |
[out] | stock_units | Units to use in the metadata for |
[out] | num_stocks | The number of tracer stocks being |
[in] | stock_index | The integer stock index from |
Definition at line 587 of file MOM_tracer_flow_control.F90.
References advection_test_tracer::advection_test_stock(), regional_dyes::dye_stock(), ideal_age_example::ideal_age_stock(), mom_error_handler::mom_error(), mom_ocmip2_cfc::ocmip2_cfc_stock(), oil_tracer::oil_stock(), pseudo_salt_tracer::pseudo_salt_stock(), and store_stocks().
Referenced by mom_sum_output::write_energy().
subroutine, public mom_tracer_flow_control::call_tracer_surface_state | ( | type(surface), intent(inout) | state, |
real, dimension(nimem_,njmem_,nkmem_), intent(in) | h, | ||
type(ocean_grid_type), intent(in) | G, | ||
type(tracer_flow_control_cs), pointer | CS | ||
) |
This subroutine calls all registered tracer packages to enable them to add to the surface state returned to the coupler. These routines are optional.
[in,out] | state | A structure containing fields that describe the surface state of the ocean. |
[in] | h | Layer thicknesses, in H |
[in] | g | The ocean's grid structure. |
cs | The control structure returned by a previous call to call_tracer_register. |
Definition at line 773 of file MOM_tracer_flow_control.F90.
References mom_error_handler::mom_error().
subroutine, public mom_tracer_flow_control::get_chl_from_model | ( | real, dimension(nimem_,njmem_,nkmem_), intent(out) | Chl_array, |
type(ocean_grid_type), intent(in) | G, | ||
type(tracer_flow_control_cs), pointer | CS | ||
) |
[out] | chl_array | The array into which the model's Chlorophyll-A concentrations in mg m-3 are to be read. |
[in] | g | The ocean's grid structure. |
cs | The control structure returned by a previous call to call_tracer_register. |
Definition at line 340 of file MOM_tracer_flow_control.F90.
References mom_error_handler::mom_error().
Referenced by mom_opacity::set_opacity().
|
private |
This routine stores the stocks and does error handling for call_tracer_stocks.
Definition at line 724 of file MOM_tracer_flow_control.F90.
References mom_error_handler::mom_error().
Referenced by call_tracer_stocks().
subroutine, public mom_tracer_flow_control::tracer_flow_control_end | ( | type(tracer_flow_control_cs), pointer | CS | ) |
Definition at line 819 of file MOM_tracer_flow_control.F90.
References advection_test_tracer::advection_test_tracer_end(), dome_tracer::dome_tracer_end(), ideal_age_example::ideal_age_example_end(), isomip_tracer::isomip_tracer_end(), mom_ocmip2_cfc::ocmip2_cfc_end(), oil_tracer::oil_tracer_end(), pseudo_salt_tracer::pseudo_salt_tracer_end(), regional_dyes::regional_dyes_end(), and user_tracer_example::user_tracer_example_end().
subroutine, public mom_tracer_flow_control::tracer_flow_control_init | ( | logical, intent(in) | restart, |
type(time_type), intent(in), target | day, | ||
type(ocean_grid_type), intent(inout) | G, | ||
type(verticalgrid_type), intent(in) | GV, | ||
real, dimension(nimem_,njmem_,nkmem_), intent(in) | h, | ||
type(param_file_type), intent(in) | param_file, | ||
type(diag_ctrl), intent(in), target | diag, | ||
type(ocean_obc_type), pointer | OBC, | ||
type(tracer_flow_control_cs), pointer | CS, | ||
type(sponge_cs), pointer | sponge_CSp, | ||
type(ale_sponge_cs), pointer | ALE_sponge_CSp, | ||
type(diag_to_z_cs), pointer | diag_to_Z_CSp, | ||
type(thermo_var_ptrs), intent(in) | tv | ||
) |
This subroutine calls all registered tracer initialization subroutines.
[in] | restart | 1 if the fields have already been read from a restart file. |
[in] | day | Time of the start of the run. |
[in,out] | g | The ocean's grid structure. |
[in] | gv | The ocean's vertical grid structure. |
[in] | h | Layer thicknesses, in H (usually m or kg m-2) |
[in] | param_file | A structure to parse for run-time parameters |
[in] | diag | A structure that is used to regulate diagnostic output. |
obc | This open boundary condition type specifies whether, where, and what open boundary conditions are used. | |
cs | The control structure returned by a previous call to call_tracer_register. | |
sponge_csp | A pointer to the control structure for the sponges, if they are in use. Otherwise this may be unassociated. | |
ale_sponge_csp | A pointer to the control structure for the ALE sponges, if they are in use. Otherwise this may be unassociated. | |
diag_to_z_csp | A pointer to the control structure for diagnostics in depth space. | |
[in] | tv | A structure pointing to various thermodynamic variables |
Definition at line 247 of file MOM_tracer_flow_control.F90.
References mom_error_handler::mom_error().