rdb_ocean_diag_fills Module

Per-variable fill procedures the diag manager invokes on cadence-fire; the bridge between the diag manager and ocean_state_t. Each fill select type-casts the class(*) state handle back to ocean_state_t and populates a pre-allocated buffer. Face-staggered fields (u_face_x, v_face_y) are averaged to cell centres so every default variable is (nx, ny, nz). Defaults: SSH (m), temperature (°C), salinity (PSU), u/v_centre (m/s), ke (m²/s²); conditionally ice_conc (1) / ice_thick (m) when &ocean_ice_nml enable.


Uses

  • module~~rdb_ocean_diag_fills~~UsesGraph module~rdb_ocean_diag_fills rdb_ocean_diag_fills ieee_arithmetic ieee_arithmetic module~rdb_ocean_diag_fills->ieee_arithmetic module~rdb_constants rdb_constants module~rdb_ocean_diag_fills->module~rdb_constants module~rdb_eos rdb_eos module~rdb_ocean_diag_fills->module~rdb_eos module~rdb_ice_column rdb_ice_column module~rdb_ocean_diag_fills->module~rdb_ice_column module~rdb_ocean_diag rdb_ocean_diag module~rdb_ocean_diag_fills->module~rdb_ocean_diag module~rdb_ocean_pseudo_salt rdb_ocean_pseudo_salt module~rdb_ocean_diag_fills->module~rdb_ocean_pseudo_salt module~rdb_ocean_state rdb_ocean_state module~rdb_ocean_diag_fills->module~rdb_ocean_state module~rdb_ocean_vcoord rdb_ocean_vcoord module~rdb_ocean_diag_fills->module~rdb_ocean_vcoord module~rdb_remap_column rdb_remap_column module~rdb_ocean_diag_fills->module~rdb_remap_column pic_types pic_types module~rdb_constants->pic_types module~rdb_eos->module~rdb_constants module~rdb_grid rdb_grid module~rdb_eos->module~rdb_grid module~rdb_ice_column->module~rdb_constants module~rdb_ice_enthalpy rdb_ice_enthalpy module~rdb_ice_column->module~rdb_ice_enthalpy module~rdb_ice_mass rdb_ice_mass module~rdb_ice_column->module~rdb_ice_mass module~rdb_ice_optics rdb_ice_optics module~rdb_ice_column->module~rdb_ice_optics module~rdb_ocean_diag->ieee_arithmetic module~rdb_ocean_diag->module~rdb_constants iso_fortran_env iso_fortran_env module~rdb_ocean_diag->iso_fortran_env module~rdb_error_ring rdb_error_ring module~rdb_ocean_diag->module~rdb_error_ring module~rdb_ocean_diag->module~rdb_grid module~rdb_mem_report rdb_mem_report module~rdb_ocean_diag->module~rdb_mem_report module~rdb_ocean_diag_mask rdb_ocean_diag_mask module~rdb_ocean_diag->module~rdb_ocean_diag_mask module~rdb_ocean_status rdb_ocean_status module~rdb_ocean_diag->module~rdb_ocean_status pic_logger pic_logger module~rdb_ocean_diag->pic_logger module~rdb_ocean_pseudo_salt->module~rdb_constants module~rdb_ocean_pseudo_salt->module~rdb_error_ring module~rdb_ocean_pseudo_salt->module~rdb_grid module~rdb_multilayer_state rdb_multilayer_state module~rdb_ocean_pseudo_salt->module~rdb_multilayer_state module~rdb_ocean_pseudo_salt->pic_logger module~rdb_ocean_state->module~rdb_constants module~rdb_ocean_state->module~rdb_eos module~rdb_ocean_state->module~rdb_ocean_diag module~rdb_ocean_state->module~rdb_ocean_pseudo_salt module~rdb_ocean_state->module~rdb_ocean_vcoord module~rdb_ocean_state->iso_fortran_env module~rdb_barotropic_state rdb_barotropic_state module~rdb_ocean_state->module~rdb_barotropic_state module~rdb_bathymetry rdb_bathymetry module~rdb_ocean_state->module~rdb_bathymetry module~rdb_comm_env rdb_comm_env module~rdb_ocean_state->module~rdb_comm_env module~rdb_config rdb_config module~rdb_ocean_state->module~rdb_config module~rdb_continuity rdb_continuity module~rdb_ocean_state->module~rdb_continuity module~rdb_coriolis_adv rdb_coriolis_adv module~rdb_ocean_state->module~rdb_coriolis_adv module~rdb_decomp rdb_decomp module~rdb_ocean_state->module~rdb_decomp module~rdb_ocean_state->module~rdb_error_ring module~rdb_ocean_state->module~rdb_grid module~rdb_ice_state rdb_ice_state module~rdb_ocean_state->module~rdb_ice_state module~rdb_ocean_state->module~rdb_multilayer_state module~rdb_ocean_bathymetry_inject rdb_ocean_bathymetry_inject module~rdb_ocean_state->module~rdb_ocean_bathymetry_inject module~rdb_ocean_bottom_drag rdb_ocean_bottom_drag module~rdb_ocean_state->module~rdb_ocean_bottom_drag module~rdb_ocean_boundary_types rdb_ocean_boundary_types module~rdb_ocean_state->module~rdb_ocean_boundary_types module~rdb_ocean_cavity rdb_ocean_cavity module~rdb_ocean_state->module~rdb_ocean_cavity module~rdb_ocean_cavity_flux rdb_ocean_cavity_flux module~rdb_ocean_state->module~rdb_ocean_cavity_flux module~rdb_ocean_data_forcing rdb_ocean_data_forcing module~rdb_ocean_state->module~rdb_ocean_data_forcing module~rdb_ocean_data_input rdb_ocean_data_input module~rdb_ocean_state->module~rdb_ocean_data_input module~rdb_ocean_dyn rdb_ocean_dyn module~rdb_ocean_state->module~rdb_ocean_dyn module~rdb_ocean_epbl rdb_ocean_epbl module~rdb_ocean_state->module~rdb_ocean_epbl module~rdb_ocean_fold rdb_ocean_fold module~rdb_ocean_state->module~rdb_ocean_fold module~rdb_ocean_gm rdb_ocean_gm module~rdb_ocean_state->module~rdb_ocean_gm module~rdb_ocean_hdiff_tracer rdb_ocean_hdiff_tracer module~rdb_ocean_state->module~rdb_ocean_hdiff_tracer module~rdb_ocean_horizontal_viscosity rdb_ocean_horizontal_viscosity module~rdb_ocean_state->module~rdb_ocean_horizontal_viscosity module~rdb_ocean_isopycnal_slopes rdb_ocean_isopycnal_slopes module~rdb_ocean_state->module~rdb_ocean_isopycnal_slopes module~rdb_ocean_kappa_shear rdb_ocean_kappa_shear module~rdb_ocean_state->module~rdb_ocean_kappa_shear module~rdb_ocean_lateral_mix rdb_ocean_lateral_mix module~rdb_ocean_state->module~rdb_ocean_lateral_mix module~rdb_ocean_meke rdb_ocean_meke module~rdb_ocean_state->module~rdb_ocean_meke module~rdb_ocean_metrics rdb_ocean_metrics module~rdb_ocean_state->module~rdb_ocean_metrics module~rdb_ocean_mle rdb_ocean_mle module~rdb_ocean_state->module~rdb_ocean_mle module~rdb_ocean_obc rdb_ocean_obc module~rdb_ocean_state->module~rdb_ocean_obc module~rdb_ocean_p_surf rdb_ocean_p_surf module~rdb_ocean_state->module~rdb_ocean_p_surf module~rdb_ocean_periodic rdb_ocean_periodic module~rdb_ocean_state->module~rdb_ocean_periodic module~rdb_ocean_pressure_force rdb_ocean_pressure_force module~rdb_ocean_state->module~rdb_ocean_pressure_force module~rdb_ocean_redi rdb_ocean_redi module~rdb_ocean_state->module~rdb_ocean_redi module~rdb_ocean_restart rdb_ocean_restart module~rdb_ocean_state->module~rdb_ocean_restart module~rdb_ocean_restart_io rdb_ocean_restart_io module~rdb_ocean_state->module~rdb_ocean_restart_io module~rdb_ocean_sponge rdb_ocean_sponge module~rdb_ocean_state->module~rdb_ocean_sponge module~rdb_ocean_state->module~rdb_ocean_status module~rdb_ocean_surface_flux rdb_ocean_surface_flux module~rdb_ocean_state->module~rdb_ocean_surface_flux module~rdb_ocean_surface_stress rdb_ocean_surface_stress module~rdb_ocean_state->module~rdb_ocean_surface_stress module~rdb_ocean_tidal_mixing rdb_ocean_tidal_mixing module~rdb_ocean_state->module~rdb_ocean_tidal_mixing module~rdb_ocean_tides rdb_ocean_tides module~rdb_ocean_state->module~rdb_ocean_tides module~rdb_ocean_top_drag rdb_ocean_top_drag module~rdb_ocean_state->module~rdb_ocean_top_drag module~rdb_ocean_varmix rdb_ocean_varmix module~rdb_ocean_state->module~rdb_ocean_varmix module~rdb_ocean_vdiff rdb_ocean_vdiff module~rdb_ocean_state->module~rdb_ocean_vdiff module~rdb_ocean_vertical_advection rdb_ocean_vertical_advection module~rdb_ocean_state->module~rdb_ocean_vertical_advection module~rdb_ocean_vmix rdb_ocean_vmix module~rdb_ocean_state->module~rdb_ocean_vmix module~rdb_ocean_wave_speed rdb_ocean_wave_speed 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_profiler rdb_profiler module~rdb_ocean_state->module~rdb_profiler module~rdb_ocean_state->pic_logger pic_strings pic_strings module~rdb_ocean_state->pic_strings module~rdb_ocean_vcoord->module~rdb_constants module~rdb_ocean_vcoord->module~rdb_eos module~rdb_ocean_vcoord->iso_fortran_env module~rdb_ocean_vcoord->module~rdb_grid module~rdb_ocean_vcoord->module~rdb_mem_report module~rdb_vcoord rdb_vcoord module~rdb_ocean_vcoord->module~rdb_vcoord module~rdb_remap_column->module~rdb_constants module~rdb_barotropic_state->module~rdb_constants module~rdb_barotropic_state->iso_fortran_env module~rdb_barotropic_state->module~rdb_grid module~rdb_barotropic_state->module~rdb_mem_report module~rdb_bathymetry->module~rdb_constants module~rdb_bathymetry->module~rdb_grid module~rdb_bathymetry->module~rdb_ocean_status module~rdb_bathymetry->pic_logger module~rdb_bathymetry->pic_strings module~rdb_io_netcdf rdb_io_netcdf module~rdb_bathymetry->module~rdb_io_netcdf netcdf netcdf module~rdb_bathymetry->netcdf module~rdb_comm_env->module~rdb_constants module~rdb_comm_env->iso_fortran_env pic_mpi_lib pic_mpi_lib module~rdb_comm_env->pic_mpi_lib module~rdb_config->module~rdb_constants module~rdb_config->module~rdb_error_ring module~rdb_config->module~rdb_ice_enthalpy module~rdb_config->module~rdb_ocean_status module~rdb_config->pic_logger module~rdb_config->pic_strings module~rdb_ice_init rdb_ice_init module~rdb_config->module~rdb_ice_init module~rdb_nml_schema rdb_nml_schema module~rdb_config->module~rdb_nml_schema pic_ascii pic_ascii module~rdb_config->pic_ascii module~rdb_continuity->module~rdb_constants module~rdb_continuity->iso_fortran_env module~rdb_continuity->module~rdb_barotropic_state module~rdb_continuity->module~rdb_grid module~rdb_continuity->module~rdb_mem_report module~rdb_continuity->module~rdb_multilayer_state module~rdb_continuity->module~rdb_ocean_boundary_types module~rdb_continuity->module~rdb_ocean_fold module~rdb_continuity->module~rdb_ocean_gm module~rdb_continuity->module~rdb_ocean_metrics module~rdb_continuity->module~rdb_ocean_mle module~rdb_continuity->module~rdb_ocean_periodic module~rdb_continuity->module~rdb_profiler module~rdb_ocean_fold_apply rdb_ocean_fold_apply module~rdb_continuity->module~rdb_ocean_fold_apply module~rdb_ocean_fold_exchange rdb_ocean_fold_exchange module~rdb_continuity->module~rdb_ocean_fold_exchange module~rdb_ocean_halo rdb_ocean_halo module~rdb_continuity->module~rdb_ocean_halo module~rdb_recon_weno rdb_recon_weno module~rdb_continuity->module~rdb_recon_weno module~rdb_scratch_3d rdb_scratch_3d module~rdb_continuity->module~rdb_scratch_3d module~rdb_tracer rdb_tracer module~rdb_continuity->module~rdb_tracer module~rdb_coriolis_adv->module~rdb_constants module~rdb_coriolis_adv->iso_fortran_env module~rdb_coriolis_adv->module~rdb_barotropic_state module~rdb_coriolis_adv->module~rdb_grid module~rdb_coriolis_adv->module~rdb_mem_report module~rdb_coriolis_adv->module~rdb_multilayer_state module~rdb_coriolis_adv->module~rdb_ocean_metrics module~rdb_ocean_porous rdb_ocean_porous module~rdb_coriolis_adv->module~rdb_ocean_porous module~rdb_coriolis_adv->module~rdb_scratch_3d module~rdb_decomp->module~rdb_config module~rdb_error_ring->pic_logger module~rdb_grid->module~rdb_constants module~rdb_ice_enthalpy->module~rdb_constants module~rdb_ice_mass->module~rdb_constants module~rdb_ice_mass->module~rdb_ice_enthalpy module~rdb_ice_optics->module~rdb_constants module~rdb_ice_optics->module~rdb_ice_enthalpy module~rdb_ice_state->module~rdb_constants module~rdb_ice_state->module~rdb_ice_column module~rdb_ice_state->iso_fortran_env module~rdb_ice_state->module~rdb_grid module~rdb_ice_state->module~rdb_ice_enthalpy module~rdb_ice_state->module~rdb_mem_report module~rdb_mem_report->module~rdb_constants module~rdb_mem_report->iso_fortran_env module~rdb_mem_report->pic_logger module~rdb_mem_report->pic_strings module~rdb_multilayer_state->module~rdb_constants module~rdb_multilayer_state->iso_fortran_env module~rdb_multilayer_state->module~rdb_error_ring module~rdb_multilayer_state->module~rdb_grid module~rdb_multilayer_state->module~rdb_mem_report module~rdb_multilayer_state->pic_logger module~rdb_efp rdb_efp module~rdb_multilayer_state->module~rdb_efp module~rdb_multilayer_state->module~rdb_tracer module~rdb_ocean_bathymetry_inject->module~rdb_constants module~rdb_ocean_bathymetry_inject->module~rdb_error_ring module~rdb_ocean_bathymetry_inject->module~rdb_grid module~rdb_ocean_bathymetry_inject->module~rdb_ocean_status module~rdb_ocean_bathymetry_inject->pic_strings module~rdb_ocean_bottom_drag->module~rdb_constants module~rdb_ocean_bottom_drag->iso_fortran_env module~rdb_ocean_bottom_drag->module~rdb_grid module~rdb_ocean_bottom_drag->module~rdb_mem_report module~rdb_ocean_bottom_drag->module~rdb_multilayer_state module~rdb_ocean_bottom_drag->module~rdb_ocean_metrics module~rdb_ocean_bottom_drag->module~rdb_scratch_3d module~rdb_ocean_boundary_types->module~rdb_constants module~rdb_ocean_boundary_types->iso_fortran_env module~rdb_ocean_boundary_types->module~rdb_grid module~rdb_ocean_boundary_types->module~rdb_mem_report module~rdb_ocean_boundary_types->module~rdb_ocean_status module~rdb_ocean_boundary_types->pic_logger module~rdb_ocean_tide_astro rdb_ocean_tide_astro module~rdb_ocean_boundary_types->module~rdb_ocean_tide_astro module~rdb_ocean_boundary_types->pic_ascii module~rdb_ocean_cavity->module~rdb_constants module~rdb_ocean_cavity->module~rdb_grid module~rdb_ocean_cavity_flux->module~rdb_constants module~rdb_ocean_cavity_flux->module~rdb_eos module~rdb_ocean_cavity_flux->iso_fortran_env module~rdb_ocean_cavity_flux->module~rdb_grid module~rdb_ocean_cavity_flux->module~rdb_mem_report module~rdb_ocean_cavity_flux->module~rdb_multilayer_state module~rdb_ocean_cavity_flux->module~rdb_ocean_metrics module~rdb_ocean_cavity_flux->module~rdb_ocean_surface_flux module~rdb_ocean_cavity_melt rdb_ocean_cavity_melt module~rdb_ocean_cavity_flux->module~rdb_ocean_cavity_melt module~rdb_ocean_data_forcing->module~rdb_constants module~rdb_ocean_data_forcing->module~rdb_config module~rdb_ocean_data_forcing->module~rdb_error_ring module~rdb_ocean_data_forcing->module~rdb_grid module~rdb_ocean_data_forcing->module~rdb_ocean_boundary_types module~rdb_ocean_data_forcing->module~rdb_ocean_data_input module~rdb_ocean_data_forcing->module~rdb_ocean_status 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->pic_logger module~rdb_ocean_data_forcing->pic_strings module~rdb_ocean_halo_state rdb_ocean_halo_state module~rdb_ocean_data_forcing->module~rdb_ocean_halo_state module~rdb_ocean_data_input->module~rdb_constants module~rdb_ocean_data_input->iso_fortran_env module~rdb_ocean_data_input->module~rdb_config module~rdb_ocean_data_input->module~rdb_error_ring module~rdb_ocean_data_input->module~rdb_grid module~rdb_ocean_data_input->module~rdb_mem_report module~rdb_ocean_data_input->module~rdb_ocean_status module~rdb_ocean_data_input->pic_logger module~rdb_ocean_data_input->pic_strings module~rdb_ocean_data_input->module~rdb_io_netcdf module~rdb_ocean_data_input->netcdf module~rdb_ocean_data_input->pic_ascii module~rdb_ocean_diag_mask->module~rdb_constants module~rdb_ocean_diag_mask->iso_fortran_env module~rdb_ocean_diag_mask->module~rdb_grid module~rdb_ocean_diag_mask->module~rdb_mem_report module~rdb_ocean_dyn->ieee_arithmetic module~rdb_ocean_dyn->module~rdb_constants module~rdb_ocean_dyn->module~rdb_eos module~rdb_ocean_dyn->module~rdb_ocean_vcoord module~rdb_ocean_dyn->iso_fortran_env module~rdb_ocean_dyn->module~rdb_barotropic_state module~rdb_ocean_dyn->module~rdb_continuity module~rdb_ocean_dyn->module~rdb_coriolis_adv module~rdb_ocean_dyn->module~rdb_grid module~rdb_ocean_dyn->module~rdb_mem_report module~rdb_ocean_dyn->module~rdb_multilayer_state module~rdb_ocean_dyn->module~rdb_ocean_bottom_drag module~rdb_ocean_dyn->module~rdb_ocean_boundary_types module~rdb_ocean_dyn->module~rdb_ocean_cavity_flux module~rdb_ocean_dyn->module~rdb_ocean_epbl module~rdb_ocean_dyn->module~rdb_ocean_gm module~rdb_ocean_dyn->module~rdb_ocean_hdiff_tracer module~rdb_ocean_dyn->module~rdb_ocean_horizontal_viscosity module~rdb_ocean_dyn->module~rdb_ocean_isopycnal_slopes module~rdb_ocean_dyn->module~rdb_ocean_kappa_shear module~rdb_ocean_dyn->module~rdb_ocean_lateral_mix module~rdb_ocean_dyn->module~rdb_ocean_meke module~rdb_ocean_dyn->module~rdb_ocean_metrics module~rdb_ocean_dyn->module~rdb_ocean_mle module~rdb_ocean_dyn->module~rdb_ocean_p_surf module~rdb_ocean_dyn->module~rdb_ocean_periodic module~rdb_ocean_dyn->module~rdb_ocean_pressure_force module~rdb_ocean_dyn->module~rdb_ocean_redi 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_dyn->module~rdb_ocean_tidal_mixing module~rdb_ocean_dyn->module~rdb_ocean_tides module~rdb_ocean_dyn->module~rdb_ocean_top_drag module~rdb_ocean_dyn->module~rdb_ocean_varmix module~rdb_ocean_dyn->module~rdb_ocean_vdiff module~rdb_ocean_dyn->module~rdb_ocean_vertical_advection module~rdb_ocean_dyn->module~rdb_ocean_vmix module~rdb_ocean_dyn->module~rdb_ocean_wave_speed module~rdb_ocean_dyn->module~rdb_profiler module~rdb_ocean_dyn->pic_logger module~rdb_ocean_dyn->pic_strings module~rdb_barotropic_coupling rdb_barotropic_coupling module~rdb_ocean_dyn->module~rdb_barotropic_coupling module~rdb_barotropic_substep rdb_barotropic_substep module~rdb_ocean_dyn->module~rdb_barotropic_substep module~rdb_barotropic_workstate rdb_barotropic_workstate module~rdb_ocean_dyn->module~rdb_barotropic_workstate module~rdb_ocean_dyn->module~rdb_efp module~rdb_ocean_bt_budget_probe rdb_ocean_bt_budget_probe module~rdb_ocean_dyn->module~rdb_ocean_bt_budget_probe module~rdb_ocean_bt_wide rdb_ocean_bt_wide module~rdb_ocean_dyn->module~rdb_ocean_bt_wide module~rdb_ocean_chksum rdb_ocean_chksum module~rdb_ocean_dyn->module~rdb_ocean_chksum module~rdb_ocean_console_stats rdb_ocean_console_stats 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_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_halo module~rdb_ocean_dyn->module~rdb_ocean_halo_state module~rdb_ocean_ideal_age rdb_ocean_ideal_age module~rdb_ocean_dyn->module~rdb_ocean_ideal_age module~rdb_ocean_ke_probe rdb_ocean_ke_probe module~rdb_ocean_dyn->module~rdb_ocean_ke_probe module~rdb_ocean_min_thickness rdb_ocean_min_thickness module~rdb_ocean_dyn->module~rdb_ocean_min_thickness 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_porous module~rdb_ocean_remap rdb_ocean_remap module~rdb_ocean_dyn->module~rdb_ocean_remap module~rdb_ocean_epbl->module~rdb_constants module~rdb_ocean_epbl->module~rdb_eos module~rdb_ocean_epbl->iso_fortran_env module~rdb_ocean_epbl->module~rdb_grid module~rdb_ocean_epbl->module~rdb_mem_report 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_epbl->module~rdb_scratch_3d module~rdb_ocean_fold->module~rdb_constants module~rdb_ocean_gm->ieee_arithmetic module~rdb_ocean_gm->module~rdb_constants module~rdb_ocean_gm->iso_fortran_env module~rdb_ocean_gm->module~rdb_grid module~rdb_ocean_gm->module~rdb_mem_report module~rdb_ocean_gm->module~rdb_multilayer_state module~rdb_ocean_gm->module~rdb_ocean_isopycnal_slopes module~rdb_ocean_gm->module~rdb_ocean_metrics module~rdb_ocean_hdiff_tracer->module~rdb_constants module~rdb_ocean_hdiff_tracer->iso_fortran_env module~rdb_ocean_hdiff_tracer->module~rdb_grid module~rdb_ocean_hdiff_tracer->module~rdb_mem_report module~rdb_ocean_hdiff_tracer->module~rdb_multilayer_state module~rdb_ocean_hdiff_tracer->module~rdb_ocean_boundary_types module~rdb_ocean_hdiff_tracer->module~rdb_ocean_metrics module~rdb_ocean_hdiff_tracer->module~rdb_scratch_3d module~rdb_ocean_hdiff_tracer->module~rdb_tracer module~rdb_ocean_horizontal_viscosity->module~rdb_constants module~rdb_ocean_horizontal_viscosity->iso_fortran_env module~rdb_ocean_horizontal_viscosity->module~rdb_grid module~rdb_ocean_horizontal_viscosity->module~rdb_mem_report module~rdb_ocean_horizontal_viscosity->module~rdb_multilayer_state module~rdb_ocean_horizontal_viscosity->module~rdb_ocean_lateral_mix module~rdb_ocean_horizontal_viscosity->module~rdb_ocean_metrics module~rdb_ocean_horizontal_viscosity->module~rdb_scratch_3d module~rdb_ocean_isopycnal_slopes->module~rdb_constants module~rdb_ocean_isopycnal_slopes->module~rdb_eos module~rdb_ocean_isopycnal_slopes->iso_fortran_env module~rdb_ocean_isopycnal_slopes->module~rdb_grid module~rdb_ocean_isopycnal_slopes->module~rdb_mem_report module~rdb_ocean_isopycnal_slopes->module~rdb_multilayer_state module~rdb_ocean_isopycnal_slopes->module~rdb_ocean_metrics module~rdb_ocean_kappa_shear->ieee_arithmetic module~rdb_ocean_kappa_shear->module~rdb_constants module~rdb_ocean_kappa_shear->module~rdb_eos module~rdb_ocean_kappa_shear->iso_fortran_env module~rdb_ocean_kappa_shear->module~rdb_grid module~rdb_ocean_kappa_shear->module~rdb_mem_report module~rdb_ocean_kappa_shear->module~rdb_multilayer_state module~rdb_massless rdb_massless module~rdb_ocean_kappa_shear->module~rdb_massless module~rdb_ocean_lateral_mix->module~rdb_constants module~rdb_ocean_lateral_mix->iso_fortran_env module~rdb_ocean_lateral_mix->module~rdb_grid module~rdb_ocean_lateral_mix->module~rdb_mem_report module~rdb_ocean_lateral_mix->module~rdb_multilayer_state module~rdb_ocean_lateral_mix->module~rdb_ocean_metrics module~rdb_ocean_lateral_mix->module~rdb_scratch_3d module~rdb_ocean_meke->module~rdb_constants module~rdb_ocean_meke->iso_fortran_env module~rdb_ocean_meke->module~rdb_grid module~rdb_ocean_meke->module~rdb_mem_report module~rdb_ocean_meke->module~rdb_multilayer_state module~rdb_ocean_meke->module~rdb_ocean_gm module~rdb_ocean_meke->module~rdb_ocean_metrics module~rdb_ocean_meke->module~rdb_ocean_varmix module~rdb_ocean_meke->module~rdb_ocean_wave_speed module~rdb_ocean_metrics->module~rdb_constants module~rdb_ocean_metrics->iso_fortran_env module~rdb_ocean_metrics->module~rdb_error_ring module~rdb_ocean_metrics->module~rdb_grid module~rdb_ocean_metrics->module~rdb_mem_report module~rdb_ocean_metrics->module~rdb_ocean_fold module~rdb_ocean_metrics->module~rdb_ocean_status module~rdb_ocean_metrics->pic_logger module~rdb_ocean_metrics->pic_strings module~rdb_ocean_metrics->module~rdb_io_netcdf module~rdb_ocean_bipolar rdb_ocean_bipolar module~rdb_ocean_metrics->module~rdb_ocean_bipolar module~rdb_ocean_metrics->netcdf module~rdb_ocean_mle->module~rdb_constants module~rdb_ocean_mle->iso_fortran_env module~rdb_ocean_mle->module~rdb_grid module~rdb_ocean_mle->module~rdb_mem_report module~rdb_ocean_mle->module~rdb_multilayer_state module~rdb_ocean_mle->module~rdb_ocean_boundary_types module~rdb_ocean_mle->module~rdb_ocean_epbl module~rdb_ocean_mle->module~rdb_ocean_metrics module~rdb_ocean_mle->module~rdb_ocean_surface_stress module~rdb_ocean_obc->module~rdb_constants module~rdb_ocean_obc->iso_fortran_env module~rdb_ocean_obc->module~rdb_grid module~rdb_ocean_obc->module~rdb_mem_report module~rdb_ocean_p_surf->module~rdb_constants module~rdb_ocean_p_surf->iso_fortran_env module~rdb_ocean_p_surf->module~rdb_grid module~rdb_ocean_p_surf->module~rdb_mem_report module~rdb_ocean_periodic->module~rdb_constants module~rdb_ocean_periodic->module~rdb_grid module~rdb_ocean_periodic->module~rdb_multilayer_state module~rdb_ocean_periodic->module~rdb_ocean_boundary_types module~rdb_ocean_pressure_force->module~rdb_constants module~rdb_ocean_pressure_force->module~rdb_eos module~rdb_ocean_pressure_force->iso_fortran_env module~rdb_ocean_pressure_force->module~rdb_grid module~rdb_ocean_pressure_force->module~rdb_mem_report module~rdb_ocean_pressure_force->module~rdb_multilayer_state module~rdb_ocean_pressure_force->module~rdb_ocean_metrics module~rdb_ocean_pgf_reconstruct rdb_ocean_pgf_reconstruct module~rdb_ocean_pressure_force->module~rdb_ocean_pgf_reconstruct module~rdb_ocean_pressure_force->module~rdb_scratch_3d module~rdb_ocean_redi->module~rdb_constants module~rdb_ocean_redi->module~rdb_eos module~rdb_ocean_redi->iso_fortran_env module~rdb_ocean_redi->module~rdb_grid module~rdb_ocean_redi->module~rdb_mem_report module~rdb_ocean_redi->module~rdb_multilayer_state module~rdb_ocean_redi->module~rdb_ocean_boundary_types module~rdb_ocean_redi->module~rdb_ocean_metrics module~rdb_ocean_redi->module~rdb_tracer module~rdb_ocean_restart->module~rdb_constants module~rdb_ocean_restart->pic_logger module~rdb_ocean_restart->pic_strings module~rdb_ocean_restart_io->module~rdb_constants module~rdb_ocean_restart_io->module~rdb_decomp module~rdb_ocean_restart_io->module~rdb_error_ring module~rdb_ocean_restart_io->module~rdb_ocean_restart module~rdb_ocean_restart_io->module~rdb_ocean_status module~rdb_ocean_restart_io->pic_logger module~rdb_ocean_restart_io->pic_strings iso_c_binding iso_c_binding module~rdb_ocean_restart_io->iso_c_binding module~rdb_ocean_restart_io->module~rdb_io_netcdf module~rdb_ocean_restart_io->netcdf module~rdb_ocean_sponge->module~rdb_constants module~rdb_ocean_sponge->iso_fortran_env module~rdb_ocean_sponge->module~rdb_grid module~rdb_ocean_sponge->module~rdb_mem_report module~rdb_ocean_sponge->module~rdb_multilayer_state module~rdb_ocean_sponge->module~rdb_ocean_boundary_types module~rdb_ocean_surface_flux->module~rdb_constants module~rdb_ocean_surface_flux->iso_fortran_env module~rdb_ocean_surface_flux->module~rdb_grid module~rdb_ocean_surface_flux->module~rdb_mem_report module~rdb_ocean_surface_flux->module~rdb_multilayer_state module~rdb_ocean_surface_stress->module~rdb_constants module~rdb_ocean_surface_stress->iso_fortran_env module~rdb_ocean_surface_stress->module~rdb_grid module~rdb_ocean_surface_stress->module~rdb_mem_report module~rdb_ocean_surface_stress->module~rdb_multilayer_state module~rdb_ocean_surface_stress->module~rdb_scratch_3d module~rdb_ocean_tidal_mixing->module~rdb_constants module~rdb_ocean_tidal_mixing->module~rdb_eos module~rdb_ocean_tidal_mixing->iso_fortran_env module~rdb_ocean_tidal_mixing->module~rdb_grid module~rdb_ocean_tidal_mixing->module~rdb_mem_report module~rdb_ocean_tidal_mixing->module~rdb_multilayer_state module~rdb_ocean_tides->module~rdb_constants module~rdb_ocean_tides->iso_fortran_env module~rdb_ocean_tides->module~rdb_grid module~rdb_ocean_tides->module~rdb_mem_report module~rdb_ocean_tides->module~rdb_ocean_tide_astro module~rdb_ocean_top_drag->module~rdb_constants module~rdb_ocean_top_drag->iso_fortran_env module~rdb_ocean_top_drag->module~rdb_grid module~rdb_ocean_top_drag->module~rdb_mem_report module~rdb_ocean_top_drag->module~rdb_multilayer_state module~rdb_ocean_top_drag->module~rdb_scratch_3d module~rdb_ocean_varmix->module~rdb_constants module~rdb_ocean_varmix->iso_fortran_env module~rdb_ocean_varmix->module~rdb_grid module~rdb_ocean_varmix->module~rdb_mem_report module~rdb_ocean_varmix->module~rdb_multilayer_state module~rdb_ocean_varmix->module~rdb_ocean_isopycnal_slopes module~rdb_ocean_varmix->module~rdb_ocean_metrics module~rdb_ocean_varmix->module~rdb_ocean_wave_speed module~rdb_ocean_vdiff->module~rdb_constants module~rdb_ocean_vdiff->module~rdb_eos module~rdb_ocean_vdiff->iso_fortran_env module~rdb_ocean_vdiff->module~rdb_grid module~rdb_ocean_vdiff->module~rdb_mem_report module~rdb_ocean_vdiff->module~rdb_multilayer_state module~rdb_ocean_vdiff->pic_logger module~rdb_ocean_vdiff->module~rdb_scratch_3d module~rdb_ocean_vdiff->module~rdb_tracer module~rdb_ocean_vertical_advection->module~rdb_constants module~rdb_ocean_vertical_advection->iso_fortran_env module~rdb_ocean_vertical_advection->module~rdb_grid module~rdb_ocean_vertical_advection->module~rdb_mem_report module~rdb_ocean_vertical_advection->module~rdb_multilayer_state module~rdb_ocean_vertical_advection->module~rdb_scratch_3d module~rdb_ocean_vertical_advection->module~rdb_tracer module~rdb_ocean_vmix->module~rdb_constants module~rdb_ocean_vmix->module~rdb_eos module~rdb_ocean_vmix->iso_fortran_env module~rdb_ocean_vmix->module~rdb_grid module~rdb_ocean_vmix->module~rdb_mem_report 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_constants module~rdb_ocean_wave_speed->iso_fortran_env module~rdb_ocean_wave_speed->module~rdb_grid module~rdb_ocean_wave_speed->module~rdb_mem_report module~rdb_ocean_wave_speed->module~rdb_multilayer_state module~rdb_ocean_wave_speed->module~rdb_ocean_metrics module~rdb_ocean_z_init->module~rdb_constants module~rdb_ocean_z_init->module~rdb_config module~rdb_ocean_z_init->module~rdb_error_ring module~rdb_ocean_z_init->module~rdb_grid module~rdb_ocean_z_init->module~rdb_multilayer_state module~rdb_ocean_z_init->module~rdb_ocean_status module~rdb_ocean_z_init->pic_logger module~rdb_ocean_z_init->pic_strings module~rdb_ocean_z_init->module~rdb_io_netcdf module~rdb_ocean_z_init->netcdf module~rdb_profiler->iso_fortran_env module~rdb_profiler->pic_logger module~rdb_vcoord->module~rdb_constants module~rdb_vcoord->pic_logger module~rdb_vcoord->pic_strings module~rdb_barotropic_coupling->ieee_arithmetic module~rdb_barotropic_coupling->module~rdb_constants module~rdb_barotropic_coupling->module~rdb_coriolis_adv module~rdb_barotropic_coupling->module~rdb_grid module~rdb_barotropic_coupling->module~rdb_multilayer_state module~rdb_barotropic_coupling->module~rdb_ocean_bottom_drag module~rdb_barotropic_coupling->module~rdb_ocean_boundary_types module~rdb_barotropic_coupling->module~rdb_ocean_horizontal_viscosity module~rdb_barotropic_coupling->module~rdb_ocean_metrics module~rdb_barotropic_coupling->module~rdb_ocean_pressure_force module~rdb_barotropic_coupling->module~rdb_ocean_surface_stress module~rdb_barotropic_coupling->module~rdb_ocean_top_drag module~rdb_barotropic_coupling->module~rdb_barotropic_workstate module~rdb_barotropic_substep->module~rdb_constants module~rdb_barotropic_substep->module~rdb_grid module~rdb_barotropic_substep->module~rdb_ocean_boundary_types module~rdb_barotropic_substep->module~rdb_ocean_metrics module~rdb_barotropic_substep->module~rdb_profiler module~rdb_barotropic_substep->module~rdb_barotropic_workstate module~rdb_barotropic_substep->module~rdb_ocean_fold_exchange module~rdb_barotropic_substep->module~rdb_ocean_halo module~rdb_bt_cont_type rdb_bt_cont_type module~rdb_barotropic_substep->module~rdb_bt_cont_type module~rdb_ocean_halo_counters rdb_ocean_halo_counters module~rdb_barotropic_substep->module~rdb_ocean_halo_counters module~rdb_barotropic_workstate->module~rdb_constants module~rdb_barotropic_workstate->iso_fortran_env module~rdb_barotropic_workstate->module~rdb_grid module~rdb_barotropic_workstate->module~rdb_mem_report module~rdb_efp->ieee_arithmetic module~rdb_efp->iso_fortran_env module~rdb_ice_init->module~rdb_constants module~rdb_ice_init->module~rdb_ice_column module~rdb_ice_init->module~rdb_grid module~rdb_ice_init->module~rdb_ice_enthalpy module~rdb_ice_init->module~rdb_ice_state module~rdb_ice_init->module~rdb_multilayer_state module~rdb_ice_init->module~rdb_ocean_metrics module~rdb_io_netcdf->module~rdb_constants module~rdb_io_netcdf->iso_fortran_env module~rdb_io_netcdf->module~rdb_error_ring module~rdb_io_netcdf->pic_logger module~rdb_io_netcdf->pic_strings module~rdb_io_netcdf->iso_c_binding module~rdb_io_netcdf->netcdf module~rdb_massless->module~rdb_constants module~rdb_nml_schema->module~rdb_constants module~rdb_nml_schema->module~rdb_error_ring module~rdb_nml_schema->pic_logger module~rdb_ocean_bipolar->module~rdb_constants module~rdb_ocean_bt_budget_probe->module~rdb_constants module~rdb_ocean_bt_budget_probe->module~rdb_coriolis_adv module~rdb_ocean_bt_budget_probe->module~rdb_grid module~rdb_ocean_bt_budget_probe->module~rdb_multilayer_state 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_bt_budget_probe->module~rdb_barotropic_workstate module~rdb_ocean_bt_wide->module~rdb_constants module~rdb_ocean_bt_wide->iso_fortran_env module~rdb_ocean_bt_wide->module~rdb_grid module~rdb_ocean_bt_wide->module~rdb_mem_report module~rdb_ocean_bt_wide->module~rdb_ocean_boundary_types module~rdb_ocean_bt_wide->module~rdb_ocean_metrics module~rdb_ocean_bt_wide->module~rdb_profiler module~rdb_ocean_bt_wide->pic_logger module~rdb_ocean_bt_wide->module~rdb_barotropic_substep module~rdb_ocean_bt_wide->module~rdb_barotropic_workstate module~rdb_ocean_bt_wide->module~rdb_ocean_halo module~rdb_ocean_cavity_melt->ieee_arithmetic module~rdb_ocean_cavity_melt->module~rdb_constants module~rdb_ocean_cavity_melt->module~rdb_eos module~rdb_ocean_chksum->module~rdb_constants module~rdb_ocean_chksum->iso_fortran_env module~rdb_ocean_chksum->module~rdb_grid module~rdb_ocean_chksum->module~rdb_multilayer_state module~rdb_ocean_chksum->module~rdb_barotropic_workstate module~rdb_halo rdb_halo module~rdb_ocean_chksum->module~rdb_halo module~rdb_ocean_console_stats->ieee_arithmetic module~rdb_ocean_console_stats->module~rdb_constants module~rdb_ocean_console_stats->module~rdb_ice_column module~rdb_ocean_console_stats->iso_fortran_env module~rdb_ocean_console_stats->module~rdb_grid module~rdb_ocean_console_stats->module~rdb_multilayer_state module~rdb_ocean_console_stats->module~rdb_ocean_metrics module~rdb_ocean_console_stats->pic_logger module~rdb_ocean_console_stats->pic_strings module~rdb_ocean_console_stats->module~rdb_efp module~rdb_console_stats rdb_console_stats module~rdb_ocean_console_stats->module~rdb_console_stats module~rdb_ocean_console_stats->module~rdb_halo module~rdb_ocean_console_stats->module~rdb_ocean_halo_counters module~rdb_ocean_eos_compute->module~rdb_eos module~rdb_ocean_eos_compute->module~rdb_multilayer_state module~rdb_ocean_fold_apply->module~rdb_constants module~rdb_ocean_fold_apply->module~rdb_grid module~rdb_ocean_fold_apply->module~rdb_multilayer_state module~rdb_ocean_fold_apply->module~rdb_ocean_boundary_types module~rdb_ocean_fold_apply->module~rdb_ocean_fold module~rdb_ocean_fold_apply->module~rdb_ocean_fold_exchange module~rdb_ocean_fold_exchange->module~rdb_constants module~rdb_ocean_fold_exchange->module~rdb_comm_env module~rdb_ocean_fold_exchange->module~rdb_decomp module~rdb_ocean_fold_exchange->module~rdb_error_ring module~rdb_ocean_fold_exchange->module~rdb_ocean_fold module~rdb_ocean_fold_exchange->module~rdb_ocean_status module~rdb_ocean_fold_exchange->pic_logger module~rdb_ocean_fold_exchange->pic_strings module~rdb_ocean_fold_exchange->pic_mpi_lib module~rdb_ocean_fold_plan rdb_ocean_fold_plan module~rdb_ocean_fold_exchange->module~rdb_ocean_fold_plan module~rdb_ocean_geothermal->module~rdb_constants module~rdb_ocean_geothermal->module~rdb_grid module~rdb_ocean_geothermal->module~rdb_multilayer_state module~rdb_ocean_geothermal->module~rdb_ocean_surface_flux module~rdb_ocean_ghost_poison->ieee_arithmetic module~rdb_ocean_ghost_poison->module~rdb_constants module~rdb_ocean_ghost_poison->module~rdb_grid module~rdb_ocean_ghost_poison->module~rdb_multilayer_state module~rdb_ocean_ghost_poison->module~rdb_ocean_surface_stress module~rdb_ocean_ghost_poison->module~rdb_barotropic_workstate module~rdb_ocean_halo->module~rdb_constants module~rdb_ocean_halo->module~rdb_comm_env module~rdb_ocean_halo->module~rdb_decomp module~rdb_ocean_halo->module~rdb_error_ring module~rdb_ocean_halo->module~rdb_ocean_periodic module~rdb_ocean_halo->module~rdb_ocean_status module~rdb_ocean_halo->pic_logger module~rdb_ocean_halo->pic_strings module~rdb_ocean_halo->pic_mpi_lib module~rdb_ocean_halo->module~rdb_ocean_halo_counters module~rdb_ocean_halo_state->module~rdb_constants module~rdb_ocean_halo_state->module~rdb_grid module~rdb_ocean_halo_state->module~rdb_ice_state module~rdb_ocean_halo_state->module~rdb_multilayer_state module~rdb_ocean_halo_state->module~rdb_ocean_boundary_types 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_profiler module~rdb_ocean_halo_state->module~rdb_ocean_fold_apply module~rdb_ocean_halo_state->module~rdb_ocean_halo module~rdb_ocean_halo_state->module~rdb_ocean_halo_counters module~rdb_ocean_ideal_age->module~rdb_constants module~rdb_ocean_ideal_age->module~rdb_grid module~rdb_ocean_ideal_age->module~rdb_multilayer_state module~rdb_ocean_ke_probe->module~rdb_constants module~rdb_ocean_ke_probe->module~rdb_coriolis_adv module~rdb_ocean_ke_probe->module~rdb_grid module~rdb_ocean_ke_probe->module~rdb_multilayer_state module~rdb_ocean_ke_probe->module~rdb_ocean_metrics module~rdb_ocean_min_thickness->module~rdb_constants module~rdb_ocean_min_thickness->module~rdb_remap_column module~rdb_ocean_min_thickness->module~rdb_grid module~rdb_ocean_min_thickness->module~rdb_multilayer_state module~rdb_ocean_obc_baroclinic->module~rdb_constants module~rdb_ocean_obc_baroclinic->module~rdb_grid module~rdb_ocean_obc_baroclinic->module~rdb_multilayer_state module~rdb_ocean_obc_baroclinic->module~rdb_ocean_boundary_types module~rdb_ocean_obc_baroclinic->module~rdb_barotropic_workstate module~rdb_ocean_pgf_reconstruct->module~rdb_constants module~rdb_ocean_pgf_reconstruct->module~rdb_eos module~rdb_ocean_porous->ieee_arithmetic module~rdb_ocean_porous->module~rdb_constants module~rdb_ocean_remap->module~rdb_constants module~rdb_ocean_remap->module~rdb_eos module~rdb_ocean_remap->module~rdb_ocean_vcoord module~rdb_ocean_remap->module~rdb_remap_column module~rdb_ocean_remap->module~rdb_grid module~rdb_ocean_remap->module~rdb_multilayer_state module~rdb_ocean_remap->module~rdb_tracer module~rdb_ocean_tide_astro->module~rdb_constants module~rdb_ocean_tide_astro->iso_fortran_env module~rdb_recon_weno->module~rdb_constants module~rdb_recon_weno->module~rdb_grid module~rdb_scratch_3d->module~rdb_constants module~rdb_scratch_3d->iso_fortran_env module~rdb_scratch_3d->module~rdb_mem_report module~rdb_tracer->module~rdb_constants module~rdb_tracer->iso_fortran_env module~rdb_tracer->module~rdb_grid module~rdb_tracer->module~rdb_mem_report module~rdb_bt_cont_type->module~rdb_constants module~rdb_bt_cont_type->module~rdb_barotropic_workstate module~rdb_console_stats->ieee_arithmetic module~rdb_console_stats->module~rdb_constants module~rdb_console_stats->pic_logger module~rdb_console_stats->pic_strings module~rdb_console_stats->module~rdb_efp module~rdb_halo->module~rdb_constants module~rdb_halo->iso_fortran_env module~rdb_halo->module~rdb_comm_env module~rdb_halo->module~rdb_decomp module~rdb_halo->pic_logger module~rdb_halo->module~rdb_efp module~rdb_halo->pic_mpi_lib module~rdb_ocean_halo_counters->iso_fortran_env module~rdb_ocean_halo_counters->pic_strings

Used by

  • module~~rdb_ocean_diag_fills~~UsedByGraph module~rdb_ocean_diag_fills rdb_ocean_diag_fills module~rdb_ocean_api rdb_ocean_api module~rdb_ocean_api->module~rdb_ocean_diag_fills module~rdb_ocean_diag_derived rdb_ocean_diag_derived module~rdb_ocean_api->module~rdb_ocean_diag_derived module~rdb_ocean_engine rdb_ocean_engine module~rdb_ocean_api->module~rdb_ocean_engine module~rdb_handle rdb_handle module~rdb_ocean_api->module~rdb_handle module~rdb_ocean_diag_derived->module~rdb_ocean_diag_fills module~rdb_ocean_engine->module~rdb_ocean_diag_fills module~rdb_ocean_engine->module~rdb_ocean_diag_derived module~rdb_driver rdb_driver module~rdb_driver->module~rdb_ocean_engine module~rdb_handle->module~rdb_ocean_engine

Variables

Type Visibility Attributes Name Initial
character(len=16), private, parameter :: CANONICAL_DIAG_NAMES(N_CANONICAL_DIAGS) = [character(len=16)::"SSH", "temperature", "salinity", "age", "u", "v", "KE", "MLD_EPBL", "Kd_EPBL", "Kd_KSHEAR", "ice_conc", "ice_thick", "pseudo_salt", "pseudo_salt_diff"]

The single source of truth for is_canonical_diag_name AND the P7 discoverability getters (canonical_diag_catalog_size/ _name, wrapped by the C ABI as rdb_ocean_canonical_*) — one array, never a second hand-copied list that could drift. NOTE this is the catalog of NAMES register_default_diags may register, not what IS registered on a given live instance (some entries are gated — see canonical_diag_gate_hint); the live set is ocean_diag_t%vars(1:nvars)%name on an actual handle.

integer, private, parameter :: N_CANONICAL_DIAGS = 14
real(kind=wp), private, parameter :: VANISHED_TARGET_FLOOR = 1.0e-10_wp

Target-cell thickness at/below which the cell is treated as overlapping no water (below-bottom / pinched-out). Tiny absolute floor: catches the exactly-zero below-bottom cells (and z*/sigma cells in a dry column) without masking genuinely thin overlaps.

logical, private, save :: diag_mask_vanished = .false.

When .true., the conservative remap fills target cells that overlap no water (below-bottom / pinched-out in a shallow column) with DIAG_MISSING_VALUE instead of 0. Set from &ocean_diag_nml mask_vanished_layers at configure (set_diag_mask_vanished); read host-side and passed BY VALUE into the device _impl. Default .false. => below-bottom cells read 0 (bit-identical to the legacy remap).

integer, private, save :: diag_remap_method = REMAP_PPM

Reconstruction for the conservative diagnostic vertical remap (remap_column). Set from &ocean_diag_nml diag_remap_scheme via set_diag_remap_method; passed by value into the device _impl. PPM default; all schemes conservative (donor-cell overlap integral).


Functions

public pure function canonical_diag_catalog_name(i) result(name)

Name of canonical-catalog entry i (1-based). Public for the P7 discoverability C ABI and the unit-test suite.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i

Return Value character(len=16)

public pure function canonical_diag_catalog_size() result(n)

Number of names in the canonical-diagnostic catalog (the static set register_default_diags MAY register — some entries are gated, see canonical_diag_gate_hint). Bounds for canonical_diag_catalog_name’s index argument. Public for the P7 discoverability C ABI (rdb_ocean_canonical_catalog_size) and the unit-test suite.

Arguments

None

Return Value integer

public pure function canonical_diag_gate_hint(name) result(hint)

The namelist gate whose closure suppresses canonical diagnostic name, for the “you asked for this and did not get it” warning. "" for the four unconditional diagnostics (SSH/u/v/KE) — a hint of "" means “this one should have registered; that is a bug, not a config”. MUST be kept in lock-step with register_default_diags’s gates; the count of non-empty hints must equal the number of conditionally-registered canonical diagnostics (test_ocean_diag/diag_gate_hint_covers_every_gate is the lock — any PR that adds a new gated canonical diagnostic must add its hint here or that test fails). This duplicates the gate NAMES only, never the gate LOGIC — the single if in register_default_diags remains the one place the gate is evaluated.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

Return Value character(len=64)

public pure function diag_mask_vanished_is_on() result(on)

Query the vanished-masking mode (used by the registration path to tag non-layer diagnostics with has_missing for the NetCDF writer).

Arguments

None

Return Value logical

public pure function is_canonical_diag_name(name) result(yes)

.true. if name is one of the canonical default diagnostics registered by register_default_diags (including the conditionally-registered EPBL / kappa-shear / tracer / sea-ice diags). Used by the selection orchestrator to route a spec entry to either the canonical-override path or the derived-catalog registration path.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

Return Value logical

public pure function parse_diag_remap_scheme(name) result(method)

Map a &ocean_diag_nml diag_remap_scheme string to the REMAP_* enum; returns -1 for an unrecognised name (caller fails loud).

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

Return Value integer


Subroutines

public subroutine coord_remap_proc(coord, remap)

Return the default remap procedure pointer for an output vgrid. Used by the registration path to attach the right conservative remap when a diagnostic selects a non-layer output coordinate. Null for LAYER / unknown (no remap needed).

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: coord
procedure(diag_remap_proc), intent(out), pointer :: remap

public subroutine fill_age(state_handle, buf)

Layer ideal age = tracers(idx_age)%hTr / h_layer (s). Read-out only; registered when &ocean_tracers_nml enable_ideal_age (idx_age > 0).

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(inout) :: buf(:,:,:)

public subroutine fill_ice_conc(state_handle, buf)

Total sea-ice concentration (0..1) at T-centres — the two-mode per-cell gather of ice_cell_concentration_impl (rdb_ice_state), inlined (see fill_ice_conc_thick_impl). Registered by register_default_diags only when &ocean_ice_nml enable. Public only for the unit-test suite.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(inout) :: buf(:,:,:)

public subroutine fill_ice_thick(state_handle, buf)

Grid-mean sea-ice thickness (m) at T-centres: mice/ICE_RHO_ICE (MOM6 effective-thickness convention) — the two-mode per-cell gather of ice_cell_concentration_impl, inlined (see fill_ice_conc_thick_impl). Registered by register_default_diags only when &ocean_ice_nml enable. Public only for the unit-test suite.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(inout) :: buf(:,:,:)

public subroutine fill_kd_epbl(state_handle, buf)

EPBL interface diffusivity (m^2/s). Buffer is layer-shaped (nx, ny, nz); we emit the value at the BOTTOM interface of each layer (kd_int(:, :, k) convention), losing only the identically-zero surface interface.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(inout) :: buf(:,:,:)

public subroutine fill_kd_kshear(state_handle, buf)

Kappa-shear interface diffusivity (m^2/s). Buffer is layer-shaped (nx, ny, nz); we emit the value at the BOTTOM interface of each layer (kd_int(:, :, k) convention), losing only the identically-zero surface interface.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(inout) :: buf(:,:,:)

public subroutine fill_ke(state_handle, buf)

KE per cell on the C-grid: KE = 0.25·(u_W² + u_E² + v_S² + v_N²), the discrete C-grid KE-density (consistent with the Coriolis KE_ARAKAWA stencil). Public only for the unit-test suite.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(inout) :: buf(:,:,:)

public subroutine fill_mld_epbl(state_handle, buf)

EPBL active-mixing-layer depth (m) into the k=1 plane.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(inout) :: buf(:,:,:)

public subroutine fill_pseudo_salt(state_handle, buf)

Layer pseudo-salt = tracers(idx_pseudo_salt)%hTr / h_layer (psu). Read-out only; registered when &ocean_tracers_nml enable_pseudo_salt (idx_pseudo_salt > 0). Mirrors fill_age.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(inout) :: buf(:,:,:)

public subroutine fill_pseudo_salt_diff(state_handle, buf)

Pseudo-salt deviation D = pseudo_salt - S (psu): a direct, measured proxy for how far the passive-tracer transport path has drifted from the active-tracer (salinity) path. Gated on BOTH indices being registered.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(inout) :: buf(:,:,:)

public subroutine fill_salinity(state_handle, buf)

Layer salinity, same pattern as temperature.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(inout) :: buf(:,:,:)

public subroutine fill_ssh(state_handle, buf)

SSH = total column thickness minus bathymetry depth, into the k=1 plane of buf. Multilayer or barotropic path per use_multilayer. Public only for the unit-test suite.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(inout) :: buf(:,:,:)

public subroutine fill_temperature(state_handle, buf)

Layer temperature = tracers(idx_temperature)%hTr / h_layer. Tracer-registry indirection dereferenced HOST-side before the flat-impl kernel (array-of-DT deep deref blocks NVHPC device codegen). Public only for the unit-test suite.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(inout) :: buf(:,:,:)

public subroutine fill_u_centre(state_handle, buf)

C-grid u-face → cell centre by simple 2-point average.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(inout) :: buf(:,:,:)

public subroutine fill_v_centre(state_handle, buf)

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(inout) :: buf(:,:,:)

public subroutine register_default_diags(state, dt_out, specs, default_coord)

Register the canonical ocean diagnostic variable set. Called once from setup (driver init or test) after state%diag%init. When specs (parsed &ocean_diag_nml diags) is present, each canonical diagnostic consults it: a :off entry skips registration entirely, and :cadence / :op / :coord attributes override the defaults. default_coord (the global &ocean_diag_nml vgrid, default LAYER) sets the output vgrid for layered diagnostics absent a per-diag :coord. Absent specs + LAYER default => the canonical defaults, bit-identical to the legacy behaviour. The canonical set also gains ice_conc / ice_thick when &ocean_ice_nml enable.

Arguments

Type IntentOptional Attributes Name
type(ocean_state_t), intent(inout), target :: state
real(kind=wp), intent(in), optional :: dt_out
type(diag_spec_t), intent(in), optional :: specs(:)
integer, intent(in), optional :: default_coord

public subroutine remap_layer_to_density(state_handle, z_out, layer_buf, output_buf, is_extensive)

Conservative layer→DENSITY-space remap (DIAG_VGRID_DENSITY). z_out(:) = monotone-increasing target potential DENSITIES (kg/m³). Per column: layer potential density via device EOS at the diag reference pressure, invert the profile to target-interface depths (invert_density_targets), then remap. Lightest target → surface. is_extensive=.false. ⇒ INTENSIVE (weighted average); .true. ⇒ EXTENSIVE (column integral redistributed across bins, Σ preserved). Public only for the unit-test suite.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(in) :: z_out(:)
real(kind=wp), intent(in) :: layer_buf(:,:,:)
real(kind=wp), intent(inout) :: output_buf(:,:,:)
logical, intent(in) :: is_extensive

public subroutine remap_layer_to_sigma(state_handle, levels, layer_buf, output_buf, is_extensive)

Layer→fixed-sigma vertical remap (terrain-following output grid). levels(:) are cumulative sigma fractions (0..1, shallow→deep); the m-th output cell spans [levels(m-1), levels(m)] * col_h. Same conservative donor-cell overlap as remap_layer_to_z; see its docstring for the intensive/extensive contract.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(in) :: levels(:)
real(kind=wp), intent(in) :: layer_buf(:,:,:)
real(kind=wp), intent(inout) :: output_buf(:,:,:)
logical, intent(in) :: is_extensive

public subroutine remap_layer_to_z(state_handle, z_out, layer_buf, output_buf, is_extensive)

Layer→fixed-z vertical remap, CONSERVATIVE (donor-cell overlap via remap_column, scheme diag_remap_method). is_extensive=.false. ⇒ INTENSIVE (thickness-weighted average of overlapping source layers); .true. ⇒ EXTENSIVE (thickness-integrated field — column integral redistributed across targets, Σ preserved when the z-grid spans H). z_out(:) = target INTERFACE depths (m, positive-down, shallow→deep, implicit 0 surface); output cell m spans [z_out(m-1), z_out(m)]. Thicknesses clipped to column total H = Σ h_layer over the LIVE layers (exact conservation; a vanished layer carries zero weight — see remap_layer_to_vcoord_impl); below-seafloor cells read 0. k=1 bed, k=nz surface. Public only for the unit-test suite.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(in) :: z_out(:)
real(kind=wp), intent(in) :: layer_buf(:,:,:)
real(kind=wp), intent(inout) :: output_buf(:,:,:)
logical, intent(in) :: is_extensive

public subroutine remap_layer_to_zstar(state_handle, levels, layer_buf, output_buf, is_extensive)

Layer→fixed-z* vertical remap (SSH-tracking stretched-depth output grid). levels(:) are reference interface depths (m, positive-down, shallow→deep); the deepest is the reference total depth H_ref and the per-column grid is stretched by col_h / H_ref. Identical to remap_layer_to_sigma under uniform levels — supply a non-uniform (fine-near-surface) reference for it to differ. Same conservative donor-cell overlap; see remap_layer_to_z for the intensive/extensive contract.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(in) :: levels(:)
real(kind=wp), intent(in) :: layer_buf(:,:,:)
real(kind=wp), intent(inout) :: output_buf(:,:,:)
logical, intent(in) :: is_extensive

public subroutine set_diag_mask_vanished(flag)

Enable / disable masking of vanished (no-water) remap target cells to DIAG_MISSING_VALUE (host only). Default off.

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: flag

public subroutine set_diag_remap_method(method)

Seed the module-level diagnostic remap reconstruction (host only).

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: method

private pure subroutine fill_2d_impl(field, buf)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: field(:,:)
real(kind=wp), intent(inout) :: buf(:,:,:)

private pure subroutine fill_ice_conc_thick_impl(ncat, nx, ny, wet_T, part_size, m_ice, emit_thick, buf)

Shared conc/thick device kernel. Inlines the two-mode gather of ice_cell_concentration_impl (rdb_ice_state — convention of record; test_ocean_ice_diags pins the copies equal): ncat==1 legacy lumped (per-CELL m_ice, ci = 0/1), ncat>1 SIS2 ITD (ci = min(1, Σ part_size), mice = Σ part_size·m_ice). emit_thick=.false. ⇒ buf = ci; .true. ⇒ buf = mice/ICE_RHO_ICE (grid-mean thickness, m). Scalar flag branch is constant-folded on the device — one kernel, no scratch companion.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ncat
integer, intent(in) :: nx
integer, intent(in) :: ny
real(kind=wp), intent(in) :: wet_T(nx,ny)
real(kind=wp), intent(in) :: part_size(nx,ny,0:ncat)
real(kind=wp), intent(in) :: m_ice(nx,ny,ncat)
logical, intent(in) :: emit_thick
real(kind=wp), intent(inout) :: buf(:,:,:)

private pure subroutine fill_kd_epbl_impl(kd_int, buf)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: kd_int(:,:,:)
real(kind=wp), intent(inout) :: buf(:,:,:)

private pure subroutine fill_ke_impl(u_face, v_face, buf)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: u_face(:,:,:)
real(kind=wp), intent(in) :: v_face(:,:,:)
real(kind=wp), intent(inout) :: buf(:,:,:)

private pure subroutine fill_ssh_bt_impl(h, b, buf)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: h(:,:)
real(kind=wp), intent(in) :: b(:,:)
real(kind=wp), intent(inout) :: buf(:,:,:)

private pure subroutine fill_ssh_ml_impl(h_layer, b, nz_ml, buf)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: h_layer(:,:,:)
real(kind=wp), intent(in) :: b(:,:)
integer, intent(in) :: nz_ml
real(kind=wp), intent(inout) :: buf(:,:,:)

private pure subroutine fill_tracer_impl(h_layer, hTr, buf)

Shared flat-impl for any tracer concentration field.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: h_layer(:,:,:)
real(kind=wp), intent(in) :: hTr(:,:,:)
real(kind=wp), intent(inout) :: buf(:,:,:)

private pure subroutine fill_u_centre_impl(u_face, buf)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: u_face(:,:,:)
real(kind=wp), intent(inout) :: buf(:,:,:)

private pure subroutine fill_v_centre_impl(v_face, buf)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: v_face(:,:,:)
real(kind=wp), intent(inout) :: buf(:,:,:)

private pure subroutine fill_zero_impl(buf)

Device-side zero of buf — used when a fill’s input is missing (e.g. tracer not registered) so the fold reads a defined value.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(inout) :: buf(:,:,:)

private subroutine register_one_canonical(state, specs, default_coord, dtout, name, units, fill, n3, def_op, long_name, standard_name)

Register one canonical diagnostic, applying its specs entry: skip if :off; override cadence / time-op; pick the output vgrid (:coord override, else default_coord, else LAYER) and attach the matching conservative remap. 2D diagnostics (n3 <= 1) ignore any coord request (no vertical to remap). All canonical diagnostics are INTENSIVE (thickness-weighted average on remap).

Arguments

Type IntentOptional Attributes Name
type(ocean_state_t), intent(inout), target :: state
type(diag_spec_t), intent(in), optional :: specs(:)
integer, intent(in) :: default_coord
real(kind=wp), intent(in) :: dtout
character(len=*), intent(in) :: name
character(len=*), intent(in) :: units
procedure(diag_fill_proc) :: fill
integer, intent(in) :: n3
integer, intent(in) :: def_op
character(len=*), intent(in) :: long_name
character(len=*), intent(in), optional :: standard_name

private pure subroutine remap_layer_to_density_impl(h_layer, hT, hS, eos, rho_ref_p, rho_tgt, layer_buf, output_buf, is_extensive, method)

Per-column density-space remap, do concurrent over (j, i). Source column TOP-DOWN + layer potential density (EOS at rho_ref_p), invert profile to interface depths (invert_density_targets), then donor-cell remap. Cells outside the column density range read 0. Intensive/extensive as the z-remap.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: h_layer(:,:,:)
real(kind=wp), intent(in) :: hT(:,:,:)
real(kind=wp), intent(in) :: hS(:,:,:)
type(eos_t), intent(in) :: eos
real(kind=wp), intent(in) :: rho_ref_p
real(kind=wp), intent(in) :: rho_tgt(:)
real(kind=wp), intent(in) :: layer_buf(:,:,:)
real(kind=wp), intent(inout) :: output_buf(:,:,:)
logical, intent(in) :: is_extensive
integer, intent(in) :: method

private pure subroutine remap_layer_to_vcoord_impl(coord_type, h_layer, levels, layer_buf, output_buf, is_extensive, method, mask_vanished, missing)

Per-column conservative layer→output-coordinate remap as a do concurrent over (j, i). Builds the source column TOP-DOWN (work index 1 = surface = state k=nz) and the target cells from the levels interface positions (implicit 0 surface), clips both to the column total, then runs the donor-cell overlap integral (remap_column, scheme method) on a common n = max(nz, nz_out) padded partition. Intensive remaps the value directly; extensive divides in / multiplies out by thickness so the column integral redistributes (sum preserved).

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: coord_type
real(kind=wp), intent(in) :: h_layer(:,:,:)
real(kind=wp), intent(in) :: levels(:)
real(kind=wp), intent(in) :: layer_buf(:,:,:)
real(kind=wp), intent(inout) :: output_buf(:,:,:)
logical, intent(in) :: is_extensive
integer, intent(in) :: method
logical, intent(in) :: mask_vanished
real(kind=wp), intent(in) :: missing

private pure subroutine resolve_canonical_spec(specs, name, time_op, dt_out, coord, skip)

Look up canonical diagnostic name in the parsed specs and apply its overrides: skip=.true. if the entry is :off; otherwise time_op / dt_out / coord are overwritten when the entry sets them. No matching entry (or absent specs) leaves the caller’s defaults untouched.

Arguments

Type IntentOptional Attributes Name
type(diag_spec_t), intent(in), optional :: specs(:)
character(len=*), intent(in) :: name
integer, intent(inout) :: time_op
real(kind=wp), intent(inout) :: dt_out
integer, intent(inout) :: coord
logical, intent(out) :: skip