Per-tracer state and config for the layered ocean solver.
Holds the prognostic field hTr (= h * Tr), the RK2 save buffer
hTr0, and all scalar config the kernels consume (initial value,
BC inflow value, physical clamp bounds, vertical/horizontal
background diffusivities, and a linear-EOS contribution
eos_coeff * (Tr - eos_ref)).
Lets the solver iterate do it = 1, size(state%tracers) and dispatch
the generic ml_*_tracer kernels per element. Special-shape physics
(surface heat/salt flux, sediment) indexes by name instead.
module~~rdb_tracer~~UsesGraph
module~rdb_tracer
rdb_tracer
iso_fortran_env
iso_fortran_env
module~rdb_tracer->iso_fortran_env
module~rdb_constants
rdb_constants
module~rdb_tracer->module~rdb_constants
module~rdb_grid
rdb_grid
module~rdb_tracer->module~rdb_grid
module~rdb_mem_report
rdb_mem_report
module~rdb_tracer->module~rdb_mem_report
pic_types
pic_types
module~rdb_constants->pic_types
module~rdb_grid->module~rdb_constants
module~rdb_mem_report->iso_fortran_env
module~rdb_mem_report->module~rdb_constants
pic_logger
pic_logger
module~rdb_mem_report->pic_logger
pic_strings
pic_strings
module~rdb_mem_report->pic_strings
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
module~~rdb_tracer~~UsedByGraph
module~rdb_tracer
rdb_tracer
module~rdb_continuity
rdb_continuity
module~rdb_continuity->module~rdb_tracer
module~rdb_multilayer_state
rdb_multilayer_state
module~rdb_continuity->module~rdb_multilayer_state
module~rdb_ocean_fold_apply
rdb_ocean_fold_apply
module~rdb_continuity->module~rdb_ocean_fold_apply
module~rdb_ocean_gm
rdb_ocean_gm
module~rdb_continuity->module~rdb_ocean_gm
module~rdb_ocean_mle
rdb_ocean_mle
module~rdb_continuity->module~rdb_ocean_mle
module~rdb_ocean_periodic
rdb_ocean_periodic
module~rdb_continuity->module~rdb_ocean_periodic
module~rdb_ocean_halo
rdb_ocean_halo
module~rdb_continuity->module~rdb_ocean_halo
module~rdb_multilayer_state->module~rdb_tracer
module~rdb_ocean_hdiff_tracer
rdb_ocean_hdiff_tracer
module~rdb_ocean_hdiff_tracer->module~rdb_tracer
module~rdb_ocean_hdiff_tracer->module~rdb_multilayer_state
module~rdb_ocean_redi
rdb_ocean_redi
module~rdb_ocean_redi->module~rdb_tracer
module~rdb_ocean_redi->module~rdb_multilayer_state
module~rdb_ocean_remap
rdb_ocean_remap
module~rdb_ocean_remap->module~rdb_tracer
module~rdb_ocean_remap->module~rdb_multilayer_state
module~rdb_ocean_vdiff
rdb_ocean_vdiff
module~rdb_ocean_vdiff->module~rdb_tracer
module~rdb_ocean_vdiff->module~rdb_multilayer_state
module~rdb_ocean_vertical_advection
rdb_ocean_vertical_advection
module~rdb_ocean_vertical_advection->module~rdb_tracer
module~rdb_ocean_vertical_advection->module~rdb_multilayer_state
module~rdb_state
rdb_state
module~rdb_state->module~rdb_tracer
module~rdb_config
rdb_config
module~rdb_state->module~rdb_config
module~rdb_barotropic_coupling
rdb_barotropic_coupling
module~rdb_barotropic_coupling->module~rdb_multilayer_state
module~rdb_coriolis_adv
rdb_coriolis_adv
module~rdb_barotropic_coupling->module~rdb_coriolis_adv
module~rdb_ocean_bottom_drag
rdb_ocean_bottom_drag
module~rdb_barotropic_coupling->module~rdb_ocean_bottom_drag
module~rdb_ocean_horizontal_viscosity
rdb_ocean_horizontal_viscosity
module~rdb_barotropic_coupling->module~rdb_ocean_horizontal_viscosity
module~rdb_ocean_pressure_force
rdb_ocean_pressure_force
module~rdb_barotropic_coupling->module~rdb_ocean_pressure_force
module~rdb_ocean_surface_stress
rdb_ocean_surface_stress
module~rdb_barotropic_coupling->module~rdb_ocean_surface_stress
module~rdb_ocean_top_drag
rdb_ocean_top_drag
module~rdb_barotropic_coupling->module~rdb_ocean_top_drag
module~rdb_coriolis_adv->module~rdb_multilayer_state
module~rdb_ice_basal_flux
rdb_ice_basal_flux
module~rdb_ice_basal_flux->module~rdb_multilayer_state
module~rdb_ocean_surface_flux
rdb_ocean_surface_flux
module~rdb_ice_basal_flux->module~rdb_ocean_surface_flux
module~rdb_ice_evp
rdb_ice_evp
module~rdb_ice_evp->module~rdb_multilayer_state
module~rdb_ice_evp->module~rdb_ocean_periodic
module~rdb_ice_evp->module~rdb_ocean_halo
module~rdb_ice_frazil
rdb_ice_frazil
module~rdb_ice_frazil->module~rdb_multilayer_state
module~rdb_ice_frazil->module~rdb_ocean_surface_flux
module~rdb_ice_frazil_uptake
rdb_ice_frazil_uptake
module~rdb_ice_frazil_uptake->module~rdb_multilayer_state
module~rdb_ice_init
rdb_ice_init
module~rdb_ice_init->module~rdb_multilayer_state
module~rdb_ice_itd
rdb_ice_itd
module~rdb_ice_itd->module~rdb_multilayer_state
module~rdb_ice_thermo_driver
rdb_ice_thermo_driver
module~rdb_ice_thermo_driver->module~rdb_multilayer_state
module~rdb_ice_transport
rdb_ice_transport
module~rdb_ice_transport->module~rdb_continuity
module~rdb_ice_transport->module~rdb_multilayer_state
module~rdb_ice_transport->module~rdb_ice_itd
module~rdb_ocean_halo_state
rdb_ocean_halo_state
module~rdb_ice_transport->module~rdb_ocean_halo_state
module~rdb_ice_transport->module~rdb_ocean_halo
module~rdb_ocean_bottom_drag->module~rdb_multilayer_state
module~rdb_ocean_bt_budget_probe
rdb_ocean_bt_budget_probe
module~rdb_ocean_bt_budget_probe->module~rdb_multilayer_state
module~rdb_ocean_bt_budget_probe->module~rdb_coriolis_adv
module~rdb_ocean_bt_budget_probe->module~rdb_ocean_bottom_drag
module~rdb_ocean_bt_budget_probe->module~rdb_ocean_horizontal_viscosity
module~rdb_ocean_bt_budget_probe->module~rdb_ocean_pressure_force
module~rdb_ocean_bt_budget_probe->module~rdb_ocean_surface_stress
module~rdb_ocean_budgets
rdb_ocean_budgets
module~rdb_ocean_budgets->module~rdb_multilayer_state
module~rdb_ocean_cavity_flux
rdb_ocean_cavity_flux
module~rdb_ocean_cavity_flux->module~rdb_multilayer_state
module~rdb_ocean_cavity_flux->module~rdb_ocean_surface_flux
module~rdb_ocean_chksum
rdb_ocean_chksum
module~rdb_ocean_chksum->module~rdb_multilayer_state
module~rdb_ocean_console_stats
rdb_ocean_console_stats
module~rdb_ocean_console_stats->module~rdb_multilayer_state
module~rdb_ocean_dyn
rdb_ocean_dyn
module~rdb_ocean_dyn->module~rdb_continuity
module~rdb_ocean_dyn->module~rdb_multilayer_state
module~rdb_ocean_dyn->module~rdb_ocean_hdiff_tracer
module~rdb_ocean_dyn->module~rdb_ocean_redi
module~rdb_ocean_dyn->module~rdb_ocean_remap
module~rdb_ocean_dyn->module~rdb_ocean_vdiff
module~rdb_ocean_dyn->module~rdb_ocean_vertical_advection
module~rdb_ocean_dyn->module~rdb_barotropic_coupling
module~rdb_ocean_dyn->module~rdb_coriolis_adv
module~rdb_ocean_dyn->module~rdb_ocean_bottom_drag
module~rdb_ocean_dyn->module~rdb_ocean_bt_budget_probe
module~rdb_ocean_dyn->module~rdb_ocean_cavity_flux
module~rdb_ocean_dyn->module~rdb_ocean_chksum
module~rdb_ocean_dyn->module~rdb_ocean_console_stats
module~rdb_ocean_eos_compute
rdb_ocean_eos_compute
module~rdb_ocean_dyn->module~rdb_ocean_eos_compute
module~rdb_ocean_epbl
rdb_ocean_epbl
module~rdb_ocean_dyn->module~rdb_ocean_epbl
module~rdb_ocean_dyn->module~rdb_ocean_fold_apply
module~rdb_ocean_geothermal
rdb_ocean_geothermal
module~rdb_ocean_dyn->module~rdb_ocean_geothermal
module~rdb_ocean_ghost_poison
rdb_ocean_ghost_poison
module~rdb_ocean_dyn->module~rdb_ocean_ghost_poison
module~rdb_ocean_dyn->module~rdb_ocean_gm
module~rdb_ocean_dyn->module~rdb_ocean_halo_state
module~rdb_ocean_dyn->module~rdb_ocean_horizontal_viscosity
module~rdb_ocean_ideal_age
rdb_ocean_ideal_age
module~rdb_ocean_dyn->module~rdb_ocean_ideal_age
module~rdb_ocean_isopycnal_slopes
rdb_ocean_isopycnal_slopes
module~rdb_ocean_dyn->module~rdb_ocean_isopycnal_slopes
module~rdb_ocean_kappa_shear
rdb_ocean_kappa_shear
module~rdb_ocean_dyn->module~rdb_ocean_kappa_shear
module~rdb_ocean_ke_probe
rdb_ocean_ke_probe
module~rdb_ocean_dyn->module~rdb_ocean_ke_probe
module~rdb_ocean_lateral_mix
rdb_ocean_lateral_mix
module~rdb_ocean_dyn->module~rdb_ocean_lateral_mix
module~rdb_ocean_meke
rdb_ocean_meke
module~rdb_ocean_dyn->module~rdb_ocean_meke
module~rdb_ocean_min_thickness
rdb_ocean_min_thickness
module~rdb_ocean_dyn->module~rdb_ocean_min_thickness
module~rdb_ocean_dyn->module~rdb_ocean_mle
module~rdb_ocean_obc_baroclinic
rdb_ocean_obc_baroclinic
module~rdb_ocean_dyn->module~rdb_ocean_obc_baroclinic
module~rdb_ocean_dyn->module~rdb_ocean_periodic
module~rdb_ocean_dyn->module~rdb_ocean_pressure_force
module~rdb_ocean_sponge
rdb_ocean_sponge
module~rdb_ocean_dyn->module~rdb_ocean_sponge
module~rdb_ocean_dyn->module~rdb_ocean_surface_flux
module~rdb_ocean_dyn->module~rdb_ocean_surface_stress
module~rdb_ocean_tidal_mixing
rdb_ocean_tidal_mixing
module~rdb_ocean_dyn->module~rdb_ocean_tidal_mixing
module~rdb_ocean_dyn->module~rdb_ocean_top_drag
module~rdb_ocean_varmix
rdb_ocean_varmix
module~rdb_ocean_dyn->module~rdb_ocean_varmix
module~rdb_ocean_vmix
rdb_ocean_vmix
module~rdb_ocean_dyn->module~rdb_ocean_vmix
module~rdb_ocean_wave_speed
rdb_ocean_wave_speed
module~rdb_ocean_dyn->module~rdb_ocean_wave_speed
module~rdb_ocean_dyn->module~rdb_ocean_halo
module~rdb_barotropic_substep
rdb_barotropic_substep
module~rdb_ocean_dyn->module~rdb_barotropic_substep
module~rdb_ocean_bt_wide
rdb_ocean_bt_wide
module~rdb_ocean_dyn->module~rdb_ocean_bt_wide
module~rdb_ocean_engine
rdb_ocean_engine
module~rdb_ocean_engine->module~rdb_state
module~rdb_ocean_engine->module~rdb_ice_basal_flux
module~rdb_ocean_engine->module~rdb_ice_evp
module~rdb_ocean_engine->module~rdb_ice_frazil
module~rdb_ocean_engine->module~rdb_ice_frazil_uptake
module~rdb_ocean_engine->module~rdb_ice_init
module~rdb_ocean_engine->module~rdb_ice_itd
module~rdb_ocean_engine->module~rdb_ice_thermo_driver
module~rdb_ocean_engine->module~rdb_ice_transport
module~rdb_ocean_engine->module~rdb_ocean_cavity_flux
module~rdb_ocean_engine->module~rdb_ocean_dyn
module~rdb_ocean_engine->module~rdb_ocean_fold_apply
module~rdb_ocean_engine->module~rdb_ocean_geothermal
module~rdb_ocean_engine->module~rdb_ocean_halo_state
module~rdb_ocean_engine->module~rdb_ocean_periodic
module~rdb_ocean_setup
rdb_ocean_setup
module~rdb_ocean_engine->module~rdb_ocean_setup
module~rdb_ocean_engine->module~rdb_ocean_sponge
module~rdb_ocean_state
rdb_ocean_state
module~rdb_ocean_engine->module~rdb_ocean_state
module~rdb_ocean_engine->module~rdb_ocean_surface_flux
module~rdb_ocean_engine->module~rdb_ocean_surface_stress
module~rdb_ocean_engine->module~rdb_config
module~rdb_ice_ocean_coupler
rdb_ice_ocean_coupler
module~rdb_ocean_engine->module~rdb_ice_ocean_coupler
module~rdb_ocean_data_forcing
rdb_ocean_data_forcing
module~rdb_ocean_engine->module~rdb_ocean_data_forcing
module~rdb_ocean_diag_derived
rdb_ocean_diag_derived
module~rdb_ocean_engine->module~rdb_ocean_diag_derived
module~rdb_ocean_diag_fills
rdb_ocean_diag_fills
module~rdb_ocean_engine->module~rdb_ocean_diag_fills
module~rdb_ocean_engine->module~rdb_ocean_halo
module~rdb_decomp
rdb_decomp
module~rdb_ocean_engine->module~rdb_decomp
module~rdb_ocean_data_input
rdb_ocean_data_input
module~rdb_ocean_engine->module~rdb_ocean_data_input
module~rdb_ocean_stability_audit
rdb_ocean_stability_audit
module~rdb_ocean_engine->module~rdb_ocean_stability_audit
module~rdb_ocean_eos_compute->module~rdb_multilayer_state
module~rdb_ocean_epbl->module~rdb_multilayer_state
module~rdb_ocean_epbl->module~rdb_ocean_surface_flux
module~rdb_ocean_epbl->module~rdb_ocean_surface_stress
module~rdb_ocean_fold_apply->module~rdb_multilayer_state
module~rdb_ocean_geothermal->module~rdb_multilayer_state
module~rdb_ocean_geothermal->module~rdb_ocean_surface_flux
module~rdb_ocean_ghost_poison->module~rdb_multilayer_state
module~rdb_ocean_ghost_poison->module~rdb_ocean_surface_stress
module~rdb_ocean_gm->module~rdb_multilayer_state
module~rdb_ocean_gm->module~rdb_ocean_isopycnal_slopes
module~rdb_ocean_halo_state->module~rdb_multilayer_state
module~rdb_ocean_halo_state->module~rdb_ocean_fold_apply
module~rdb_ocean_halo_state->module~rdb_ocean_periodic
module~rdb_ocean_halo_state->module~rdb_ocean_surface_stress
module~rdb_ocean_halo_state->module~rdb_ocean_halo
module~rdb_ocean_horizontal_viscosity->module~rdb_multilayer_state
module~rdb_ocean_horizontal_viscosity->module~rdb_ocean_lateral_mix
module~rdb_ocean_ideal_age->module~rdb_multilayer_state
module~rdb_ocean_isopycnal_slopes->module~rdb_multilayer_state
module~rdb_ocean_kappa_shear->module~rdb_multilayer_state
module~rdb_ocean_ke_probe->module~rdb_multilayer_state
module~rdb_ocean_ke_probe->module~rdb_coriolis_adv
module~rdb_ocean_lateral_mix->module~rdb_multilayer_state
module~rdb_ocean_meke->module~rdb_multilayer_state
module~rdb_ocean_meke->module~rdb_ocean_gm
module~rdb_ocean_meke->module~rdb_ocean_varmix
module~rdb_ocean_meke->module~rdb_ocean_wave_speed
module~rdb_ocean_min_thickness->module~rdb_multilayer_state
module~rdb_ocean_mle->module~rdb_multilayer_state
module~rdb_ocean_mle->module~rdb_ocean_epbl
module~rdb_ocean_mle->module~rdb_ocean_surface_stress
module~rdb_ocean_obc_baroclinic->module~rdb_multilayer_state
module~rdb_ocean_periodic->module~rdb_multilayer_state
module~rdb_ocean_pressure_force->module~rdb_multilayer_state
module~rdb_ocean_pseudo_salt
rdb_ocean_pseudo_salt
module~rdb_ocean_pseudo_salt->module~rdb_multilayer_state
module~rdb_ocean_setup->module~rdb_ocean_vdiff
module~rdb_ocean_setup->module~rdb_coriolis_adv
module~rdb_ocean_setup->module~rdb_ocean_bottom_drag
module~rdb_ocean_setup->module~rdb_ocean_dyn
module~rdb_ocean_setup->module~rdb_ocean_epbl
module~rdb_ocean_setup->module~rdb_ocean_fold_apply
module~rdb_ocean_setup->module~rdb_ocean_geothermal
module~rdb_ocean_setup->module~rdb_ocean_halo_state
module~rdb_ocean_setup->module~rdb_ocean_horizontal_viscosity
module~rdb_ocean_setup->module~rdb_ocean_lateral_mix
module~rdb_ocean_setup->module~rdb_ocean_pressure_force
module~rdb_ocean_setup->module~rdb_ocean_sponge
module~rdb_ocean_setup->module~rdb_ocean_state
module~rdb_ocean_setup->module~rdb_ocean_surface_flux
module~rdb_ocean_setup->module~rdb_ocean_surface_stress
module~rdb_ocean_setup->module~rdb_ocean_top_drag
module~rdb_ocean_setup->module~rdb_ocean_vmix
module~rdb_ocean_setup->module~rdb_config
module~rdb_ocean_setup->module~rdb_ocean_halo
module~rdb_ocean_setup->module~rdb_decomp
module~rdb_ocean_sponge->module~rdb_multilayer_state
module~rdb_ocean_state->module~rdb_continuity
module~rdb_ocean_state->module~rdb_multilayer_state
module~rdb_ocean_state->module~rdb_ocean_hdiff_tracer
module~rdb_ocean_state->module~rdb_ocean_redi
module~rdb_ocean_state->module~rdb_ocean_vdiff
module~rdb_ocean_state->module~rdb_ocean_vertical_advection
module~rdb_ocean_state->module~rdb_coriolis_adv
module~rdb_ocean_state->module~rdb_ocean_bottom_drag
module~rdb_ocean_state->module~rdb_ocean_cavity_flux
module~rdb_ocean_state->module~rdb_ocean_dyn
module~rdb_ocean_state->module~rdb_ocean_epbl
module~rdb_ocean_state->module~rdb_ocean_gm
module~rdb_ocean_state->module~rdb_ocean_horizontal_viscosity
module~rdb_ocean_state->module~rdb_ocean_isopycnal_slopes
module~rdb_ocean_state->module~rdb_ocean_kappa_shear
module~rdb_ocean_state->module~rdb_ocean_lateral_mix
module~rdb_ocean_state->module~rdb_ocean_meke
module~rdb_ocean_state->module~rdb_ocean_mle
module~rdb_ocean_state->module~rdb_ocean_periodic
module~rdb_ocean_state->module~rdb_ocean_pressure_force
module~rdb_ocean_state->module~rdb_ocean_pseudo_salt
module~rdb_ocean_state->module~rdb_ocean_sponge
module~rdb_ocean_state->module~rdb_ocean_surface_flux
module~rdb_ocean_state->module~rdb_ocean_surface_stress
module~rdb_ocean_state->module~rdb_ocean_tidal_mixing
module~rdb_ocean_state->module~rdb_ocean_top_drag
module~rdb_ocean_state->module~rdb_ocean_varmix
module~rdb_ocean_state->module~rdb_ocean_vmix
module~rdb_ocean_state->module~rdb_ocean_wave_speed
module~rdb_ocean_z_init
rdb_ocean_z_init
module~rdb_ocean_state->module~rdb_ocean_z_init
module~rdb_ocean_state->module~rdb_config
module~rdb_ocean_state->module~rdb_ocean_data_forcing
module~rdb_ocean_state->module~rdb_decomp
module~rdb_ocean_state->module~rdb_ocean_data_input
module~rdb_ocean_surface_flux->module~rdb_multilayer_state
module~rdb_ocean_surface_stress->module~rdb_multilayer_state
module~rdb_ocean_tidal_mixing->module~rdb_multilayer_state
module~rdb_ocean_top_drag->module~rdb_multilayer_state
module~rdb_ocean_varmix->module~rdb_multilayer_state
module~rdb_ocean_varmix->module~rdb_ocean_isopycnal_slopes
module~rdb_ocean_varmix->module~rdb_ocean_wave_speed
module~rdb_ocean_vmix->module~rdb_multilayer_state
module~rdb_ocean_vmix->module~rdb_ocean_surface_flux
module~rdb_ocean_vmix->module~rdb_ocean_surface_stress
module~rdb_ocean_wave_speed->module~rdb_multilayer_state
module~rdb_ocean_z_init->module~rdb_multilayer_state
module~rdb_ocean_z_init->module~rdb_config
module~rdb_config->module~rdb_ice_init
module~rdb_driver
rdb_driver
module~rdb_driver->module~rdb_ocean_console_stats
module~rdb_driver->module~rdb_ocean_dyn
module~rdb_driver->module~rdb_ocean_engine
module~rdb_driver->module~rdb_ocean_state
module~rdb_driver->module~rdb_config
module~rdb_handle
rdb_handle
module~rdb_handle->module~rdb_ocean_engine
module~rdb_handle->module~rdb_ocean_state
module~rdb_handle->module~rdb_config
module~rdb_ice_ocean_coupler->module~rdb_ocean_halo_state
module~rdb_ice_ocean_coupler->module~rdb_ocean_surface_flux
module~rdb_ice_ocean_coupler->module~rdb_ocean_surface_stress
module~rdb_ocean_api
rdb_ocean_api
module~rdb_ocean_api->module~rdb_ocean_dyn
module~rdb_ocean_api->module~rdb_ocean_engine
module~rdb_ocean_api->module~rdb_ocean_eos_compute
module~rdb_ocean_api->module~rdb_ocean_fold_apply
module~rdb_ocean_api->module~rdb_ocean_periodic
module~rdb_ocean_api->module~rdb_config
module~rdb_ocean_api->module~rdb_handle
module~rdb_ocean_api->module~rdb_ocean_diag_derived
module~rdb_ocean_api->module~rdb_ocean_diag_fills
module~rdb_ocean_halo_width
rdb_ocean_halo_width
module~rdb_ocean_api->module~rdb_ocean_halo_width
module~rdb_ocean_data_forcing->module~rdb_ocean_halo_state
module~rdb_ocean_data_forcing->module~rdb_ocean_surface_flux
module~rdb_ocean_data_forcing->module~rdb_ocean_surface_stress
module~rdb_ocean_data_forcing->module~rdb_config
module~rdb_ocean_data_forcing->module~rdb_ocean_data_input
module~rdb_ocean_diag_derived->module~rdb_ocean_state
module~rdb_ocean_diag_derived->module~rdb_ocean_diag_fills
module~rdb_ocean_diag_fills->module~rdb_ocean_pseudo_salt
module~rdb_ocean_diag_fills->module~rdb_ocean_state
module~rdb_ocean_halo->module~rdb_ocean_periodic
module~rdb_ocean_halo->module~rdb_decomp
module~rdb_ocean_halo_width->module~rdb_coriolis_adv
proc~validate_config
validate_config
proc~validate_config->module~rdb_coriolis_adv
proc~validate_config->module~rdb_ocean_bottom_drag
proc~validate_config->module~rdb_ocean_horizontal_viscosity
proc~validate_config->module~rdb_ocean_lateral_mix
proc~validate_config->module~rdb_ocean_pressure_force
proc~validate_config->module~rdb_ocean_pseudo_salt
proc~validate_config->module~rdb_ocean_surface_flux
proc~validate_config->module~rdb_ocean_tidal_mixing
proc~validate_config->module~rdb_ocean_top_drag
proc~validate_config->module~rdb_ocean_vmix
module~rdb_barotropic_substep->module~rdb_ocean_halo
module~rdb_config_schema
rdb_config_schema
module~rdb_config_schema->module~rdb_config
module~rdb_decomp->module~rdb_config
module~rdb_ocean_bt_wide->module~rdb_ocean_halo
module~rdb_ocean_bt_wide->module~rdb_barotropic_substep
module~rdb_ocean_data_input->module~rdb_config
module~rdb_ocean_stability_audit->module~rdb_config
module~rdb_halo
rdb_halo
module~rdb_halo->module~rdb_decomp
module~rdb_ocean_fold_exchange
rdb_ocean_fold_exchange
module~rdb_ocean_fold_exchange->module~rdb_decomp
module~rdb_ocean_restart_io
rdb_ocean_restart_io
module~rdb_ocean_restart_io->module~rdb_decomp
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Variables
Type
Visibility Attributes
Name
Initial
integer,
public,
parameter
::
TRACER_BUDGET_HEAT
=
1
Tracer feeds the OCEAN path’s heat_budget_* accumulators.
integer,
public,
parameter
::
TRACER_BUDGET_NONE
=
0
No conservation-budget contributor slot (passive tracers, ideal
age, pseudo-salt).
integer,
public,
parameter
::
TRACER_BUDGET_SALT
=
2
Tracer feeds the OCEAN path’s salt_budget_* accumulators.
Derived Types
Components
Type
Visibility Attributes
Name
Initial
integer,
public
::
budget_id
=
TRACER_BUDGET_NONE
Which conservation-budget contributor slot this tracer’s
kernels fill on the OCEAN path: NONE (no budget — passive
tracers, ideal age, pseudo-salt), HEAT (heat_budget_*) or
SALT (salt_budget_*). Read HOST-side only, at the seven
budget dispatch blocks; never dereferenced inside a device
loop. Unused on the coastal paths (no budget slots there) —
left at NONE.
logical,
public
::
do_clamp
=
.true.
logical,
public
::
do_horizontal_advection
=
.true.
logical,
public
::
do_horizontal_diffusion
=
.true.
logical,
public
::
do_vertical_diffusion
=
.true.
logical,
public
::
do_vertical_exchange
=
.true.
real(kind=wp),
public
::
eos_coeff
=
0.0_wp
real(kind=wp),
public
::
eos_ref
=
0.0_wp
real(kind=wp),
public,
allocatable
::
hTr (:,:,:)
real(kind=wp),
public,
allocatable
::
hTr0 (:,:,:)
real(kind=wp),
public
::
hdiff_kappa
=
0.0_wp
Horizontal Laplacian diffusivity (m^2/s)
real(kind=wp),
public
::
kappa_bg
=
0.0_wp
Background vertical diffusivity (m^2/s)
character(len=64),
public
::
long_name
=
""
character(len=32),
public
::
name
=
""
character(len=64),
public
::
standard_name
=
""
CF-1.11 standard_name (e.g. “sea_water_salinity”). Empty
string => no standard_name attribute is written.
real(kind=wp),
public
::
tr_inflow
=
0.0_wp
BC inflow concentration for BC_INFLOW / BC_DISCHARGE
real(kind=wp),
public
::
tr_init
=
0.0_wp
Uniform initial concentration (set by init from cfg)
real(kind=wp),
public
::
tr_max
=
huge(1.0_wp)
Physical upper clamp bound
real(kind=wp),
public
::
tr_min
=
-huge(1.0_wp)
Physical lower clamp bound
character(len=16),
public
::
units
=
""
Type-Bound Procedures
Functions
Counted allocatable footprint of one tracer (hTr + RK2 save).
Arguments
Type
Intent Optional Attributes
Name
class(tracer_t ),
intent(in)
::
this
Return Value
integer(kind=int64)
Subroutines
Arguments
Type
Intent Optional Attributes
Name
class(tracer_t ),
intent(inout)
::
this
Allocate hTr / hTr0 at the multilayer grid size, zero-filled.
Caller is responsible for populating the prognostic field
(e.g. hTr = h_layer * tr_init) after layer thicknesses are set.
Arguments
Type
Intent Optional Attributes
Name
class(tracer_t ),
intent(inout)
::
this
type(hgrid_t ),
intent(in)
::
grid
integer,
intent(in)
::
nz