sphinx-build -b latex -d _build/doctrees -vvv . _build/latex Running Sphinx v3.3.0+ Searching for include files... Searching for files in directory /home/cermak/src/MOM6.devrob/src/framework Searching for files in directory /home/cermak/src/MOM6.devrob/config_src/dynamic_symmetric Searching for example files... Searching for files in directory /home/cermak/src/MOM6.devrob/src Searching for files in directory /home/cermak/src/MOM6.devrob/src/ALE Searching for files in directory /home/cermak/src/MOM6.devrob/src/core Searching for files in directory /home/cermak/src/MOM6.devrob/src/diagnostics Searching for files in directory /home/cermak/src/MOM6.devrob/src/equation_of_state Searching for files in directory /home/cermak/src/MOM6.devrob/src/equation_of_state/TEOS10 Searching for files in directory /home/cermak/src/MOM6.devrob/src/framework Searching for files in directory /home/cermak/src/MOM6.devrob/src/ice_shelf Searching for files in directory /home/cermak/src/MOM6.devrob/src/initialization Searching for files in directory /home/cermak/src/MOM6.devrob/src/ocean_data_assim Searching for files in directory /home/cermak/src/MOM6.devrob/src/parameterizations Searching for files in directory /home/cermak/src/MOM6.devrob/src/parameterizations/lateral Searching for files in directory /home/cermak/src/MOM6.devrob/src/parameterizations/vertical Searching for files in directory /home/cermak/src/MOM6.devrob/src/tracer Searching for files in directory /home/cermak/src/MOM6.devrob/src/user Searching for images... Searching for files in directory /home/cermak/src/MOM6.devrob/docs/images Searching for files in directory /home/cermak/src/MOM6.devrob/src Searching for files in directory /home/cermak/src/MOM6.devrob/src/ALE Searching for files in directory /home/cermak/src/MOM6.devrob/src/core Searching for files in directory /home/cermak/src/MOM6.devrob/src/diagnostics Searching for files in directory /home/cermak/src/MOM6.devrob/src/equation_of_state Searching for files in directory /home/cermak/src/MOM6.devrob/src/equation_of_state/TEOS10 Searching for files in directory /home/cermak/src/MOM6.devrob/src/framework Searching for files in directory /home/cermak/src/MOM6.devrob/src/ice_shelf Searching for files in directory /home/cermak/src/MOM6.devrob/src/initialization Searching for files in directory /home/cermak/src/MOM6.devrob/src/ocean_data_assim Searching for files in directory /home/cermak/src/MOM6.devrob/src/parameterizations Searching for files in directory /home/cermak/src/MOM6.devrob/src/parameterizations/lateral Searching for files in directory /home/cermak/src/MOM6.devrob/src/parameterizations/vertical Searching for files in directory /home/cermak/src/MOM6.devrob/src/tracer Searching for files in directory /home/cermak/src/MOM6.devrob/src/user Searching for dot files... Searching for msc files... Searching for dia files... Searching for files to exclude Searching for files in directory /home/cermak/src/MOM6.devrob/src/equation_of_state/TEOS10 Searching INPUT for files to process... Searching for files in directory /home/cermak/src/MOM6.devrob/src Searching for files in directory /home/cermak/src/MOM6.devrob/src/ALE Searching for files in directory /home/cermak/src/MOM6.devrob/src/core Searching for files in directory /home/cermak/src/MOM6.devrob/src/diagnostics Searching for files in directory /home/cermak/src/MOM6.devrob/src/equation_of_state Searching for files in directory /home/cermak/src/MOM6.devrob/src/equation_of_state/TEOS10 Searching for files in directory /home/cermak/src/MOM6.devrob/src/framework Searching for files in directory /home/cermak/src/MOM6.devrob/src/ice_shelf Searching for files in directory /home/cermak/src/MOM6.devrob/src/initialization Searching for files in directory /home/cermak/src/MOM6.devrob/src/ocean_data_assim Searching for files in directory /home/cermak/src/MOM6.devrob/src/parameterizations Searching for files in directory /home/cermak/src/MOM6.devrob/src/parameterizations/lateral Searching for files in directory /home/cermak/src/MOM6.devrob/src/parameterizations/vertical Searching for files in directory /home/cermak/src/MOM6.devrob/src/tracer Searching for files in directory /home/cermak/src/MOM6.devrob/src/user Searching for files in directory /home/cermak/src/MOM6.devrob/config_src/solo_driver Searching for files in directory /home/cermak/src/MOM6.devrob/config_src/dynamic_symmetric Searching for files in directory /home/cermak/src/MOM6.devrob/config_src/external Searching for files in directory /home/cermak/src/MOM6.devrob/config_src/external/GFDL_ocean_BGC Searching for files in directory /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks Searching for files in directory /home/cermak/src/MOM6.devrob/config_src/coupled_driver Reading and parsing tag files Parsing files Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/_ALE.dox... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/_ALE.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/_ALE_timestep.dox... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/_ALE_timestep.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/coord_adapt.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/coord_adapt.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/coord_hycom.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/coord_hycom.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/coord_rho.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/coord_rho.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/coord_sigma.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/coord_sigma.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/coord_slight.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/coord_slight.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/coord_zlike.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/coord_zlike.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/MOM_ALE.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/MOM_ALE.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/MOM_regridding.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/MOM_regridding.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/MOM_remapping.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/MOM_remapping.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/P1M_functions.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/P1M_functions.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/P3M_functions.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/P3M_functions.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/PCM_functions.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/PCM_functions.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/PLM_functions.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/PLM_functions.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/polynomial_functions.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/polynomial_functions.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/PPM_functions.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/PPM_functions.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/PQM_functions.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/PQM_functions.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/regrid_consts.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/regrid_consts.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/regrid_edge_values.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/regrid_edge_values.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/regrid_interp.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/regrid_interp.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ALE/regrid_solvers.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ALE/regrid_solvers.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/_Baroclinic_Momentum.dox... Parsing file /home/cermak/src/MOM6.devrob/src/core/_Baroclinic_Momentum.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/core/_Barotropic_Baroclinic_Coupling.dox... Parsing file /home/cermak/src/MOM6.devrob/src/core/_Barotropic_Baroclinic_Coupling.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/core/_Barotropic_Momentum.dox... Parsing file /home/cermak/src/MOM6.devrob/src/core/_Barotropic_Momentum.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/core/_Discrete_Coriolis.dox... Parsing file /home/cermak/src/MOM6.devrob/src/core/_Discrete_Coriolis.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/core/_Discrete_grids.dox... Parsing file /home/cermak/src/MOM6.devrob/src/core/_Discrete_grids.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/core/_Discrete_OBC.dox... Parsing file /home/cermak/src/MOM6.devrob/src/core/_Discrete_OBC.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/core/_Discrete_PG.dox... Parsing file /home/cermak/src/MOM6.devrob/src/core/_Discrete_PG.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/core/_Energetic_consistancy.dox... Parsing file /home/cermak/src/MOM6.devrob/src/core/_Energetic_consistancy.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/core/_Finite_difference.dox... Parsing file /home/cermak/src/MOM6.devrob/src/core/_Finite_difference.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/core/_General_coordinate.dox... Parsing file /home/cermak/src/MOM6.devrob/src/core/_General_coordinate.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/core/_Governing.dox... Parsing file /home/cermak/src/MOM6.devrob/src/core/_Governing.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/core/_Notation.dox... Parsing file /home/cermak/src/MOM6.devrob/src/core/_Notation.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/core/_PPM.dox... Parsing file /home/cermak/src/MOM6.devrob/src/core/_PPM.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/core/_Sea_ice.dox... Parsing file /home/cermak/src/MOM6.devrob/src/core/_Sea_ice.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/core/_Solar_radiation.dox... Parsing file /home/cermak/src/MOM6.devrob/src/core/_Solar_radiation.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/core/_Specifics.dox... Parsing file /home/cermak/src/MOM6.devrob/src/core/_Specifics.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/core/_Timestep_Overview.dox... Parsing file /home/cermak/src/MOM6.devrob/src/core/_Timestep_Overview.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_boundary_update.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_boundary_update.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_checksum_packages.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_checksum_packages.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_continuity.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_continuity.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_continuity_PPM.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_continuity_PPM.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_CoriolisAdv.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_CoriolisAdv.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_density_integrals.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_density_integrals.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_dynamics_split_RK2.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_dynamics_split_RK2.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_dynamics_unsplit.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_dynamics_unsplit.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_dynamics_unsplit_RK2.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_dynamics_unsplit_RK2.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_forcing_type.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_forcing_type.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_grid.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_grid.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_interface_heights.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_interface_heights.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_isopycnal_slopes.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_isopycnal_slopes.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_open_boundary.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_open_boundary.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce_FV.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce_FV.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce_Montgomery.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce_Montgomery.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_transcribe_grid.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_transcribe_grid.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_unit_tests.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_unit_tests.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_variables.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_variables.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/core/MOM_verticalGrid.F90... Parsing file /home/cermak/src/MOM6.devrob/src/core/MOM_verticalGrid.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_debugging.F90... Parsing file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_debugging.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_diagnostics.F90... Parsing file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_diagnostics.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_obsolete_diagnostics.F90... Parsing file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_obsolete_diagnostics.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_obsolete_params.F90... Parsing file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_obsolete_params.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_PointAccel.F90... Parsing file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_PointAccel.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_sum_output.F90... Parsing file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_sum_output.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_wave_speed.F90... Parsing file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_wave_speed.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_wave_structure.F90... Parsing file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_wave_structure.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/equation_of_state/_Equation_of_State.dox... Parsing file /home/cermak/src/MOM6.devrob/src/equation_of_state/_Equation_of_State.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS.F90... Parsing file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_linear.F90... Parsing file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_linear.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_NEMO.F90... Parsing file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_NEMO.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_TEOS10.F90... Parsing file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_TEOS10.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_UNESCO.F90... Parsing file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_UNESCO.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_Wright.F90... Parsing file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_Wright.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_TFreeze.F90... Parsing file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_TFreeze.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/_Diagnostics.dox... Parsing file /home/cermak/src/MOM6.devrob/src/framework/_Diagnostics.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/_Domain_decomposition.dox... Parsing file /home/cermak/src/MOM6.devrob/src/framework/_Domain_decomposition.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/_Global_grids.dox... Parsing file /home/cermak/src/MOM6.devrob/src/framework/_Global_grids.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/_Horizontal_indexing.dox... Parsing file /home/cermak/src/MOM6.devrob/src/framework/_Horizontal_indexing.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/_Parallel_IO.dox... Parsing file /home/cermak/src/MOM6.devrob/src/framework/_Parallel_IO.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/_Regional_grids.dox... Parsing file /home/cermak/src/MOM6.devrob/src/framework/_Regional_grids.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/_Runtime_parameter_system.dox... Parsing file /home/cermak/src/MOM6.devrob/src/framework/_Runtime_parameter_system.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/_Testing.dox... Parsing file /home/cermak/src/MOM6.devrob/src/framework/_Testing.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/_Vertical_grids.dox... Parsing file /home/cermak/src/MOM6.devrob/src/framework/_Vertical_grids.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_array_transform.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_array_transform.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_checksums.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_checksums.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_coms.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_coms.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_constants.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_constants.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_cpu_clock.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_cpu_clock.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_diag_manager_wrapper.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_diag_manager_wrapper.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_diag_remap.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_diag_remap.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_diag_vkernels.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_diag_vkernels.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_document.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_document.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_domains.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_domains.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_dyn_horgrid.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_dyn_horgrid.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_error_handler.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_error_handler.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_file_parser.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_file_parser.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_get_input.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_get_input.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_hor_index.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_hor_index.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_horizontal_regridding.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_horizontal_regridding.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_intrinsic_functions.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_intrinsic_functions.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_io.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_io.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_memory_macros.h... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_memory_macros.h... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_random.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_random.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_restart.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_restart.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_safe_alloc.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_safe_alloc.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_string_functions.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_string_functions.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_time_manager.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_time_manager.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_transform_FMS.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_transform_FMS.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_unit_scaling.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_unit_scaling.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/MOM_write_cputime.F90... Parsing file /home/cermak/src/MOM6.devrob/src/framework/MOM_write_cputime.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/framework/version_variable.h... Parsing file /home/cermak/src/MOM6.devrob/src/framework/version_variable.h... Preprocessing /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_ice_shelf.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_ice_shelf.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_ice_shelf_dynamics.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_ice_shelf_dynamics.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_ice_shelf_initialize.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_ice_shelf_initialize.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_ice_shelf_state.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_ice_shelf_state.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_marine_ice.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_marine_ice.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ice_shelf/user_shelf_init.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ice_shelf/user_shelf_init.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/initialization/MOM_coord_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/initialization/MOM_coord_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/initialization/MOM_fixed_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/initialization/MOM_fixed_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/initialization/MOM_grid_initialize.F90... Parsing file /home/cermak/src/MOM6.devrob/src/initialization/MOM_grid_initialize.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/initialization/MOM_state_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/initialization/MOM_state_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/initialization/MOM_tracer_initialization_from_Z.F90... Parsing file /home/cermak/src/MOM6.devrob/src/initialization/MOM_tracer_initialization_from_Z.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/ocean_data_assim/MOM_oda_driver.F90... Parsing file /home/cermak/src/MOM6.devrob/src/ocean_data_assim/MOM_oda_driver.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_hor_visc.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_hor_visc.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_internal_tides.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_internal_tides.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_lateral_mixing_coeffs.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_lateral_mixing_coeffs.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_MEKE.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_MEKE.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_MEKE_types.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_MEKE_types.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_mixed_layer_restrat.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_mixed_layer_restrat.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_thickness_diffuse.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_thickness_diffuse.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_tidal_forcing.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_tidal_forcing.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/_CVMix_KPP.dox... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/_CVMix_KPP.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_ALE_sponge.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_ALE_sponge.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bkgnd_mixing.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bkgnd_mixing.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bulk_mixed_layer.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bulk_mixed_layer.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_conv.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_conv.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_ddiff.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_ddiff.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_KPP.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_KPP.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_shear.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_shear.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_diabatic_aux.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_diabatic_aux.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_diabatic_driver.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_diabatic_driver.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_diapyc_energy_req.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_diapyc_energy_req.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_energetic_PBL.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_energetic_PBL.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_entrain_diffusive.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_entrain_diffusive.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_full_convection.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_full_convection.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_geothermal.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_geothermal.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_internal_tide_input.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_internal_tide_input.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_opacity.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_opacity.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_regularize_layers.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_regularize_layers.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_viscosity.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_viscosity.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_sponge.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_sponge.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_tidal_mixing.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_tidal_mixing.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_vert_friction.F90... Parsing file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_vert_friction.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/_Advection.dox... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/_Advection.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/_Discrete_tracer.dox... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/_Discrete_tracer.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/_Horizontal_diffusion.dox... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/_Horizontal_diffusion.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/_Passive_tracer.dox... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/_Passive_tracer.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/_Tracer_fluxes.dox... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/_Tracer_fluxes.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/_Tracer_timestep.dox... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/_Tracer_timestep.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/_Tracer_Transport.dox... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/_Tracer_Transport.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/_Vertical_diffusion.dox... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/_Vertical_diffusion.dox... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/advection_test_tracer.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/advection_test_tracer.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/boundary_impulse_tracer.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/boundary_impulse_tracer.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/DOME_tracer.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/DOME_tracer.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/dye_example.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/dye_example.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/dyed_obc_tracer.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/dyed_obc_tracer.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/ideal_age_example.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/ideal_age_example.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/ISOMIP_tracer.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/ISOMIP_tracer.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/MOM_generic_tracer.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/MOM_generic_tracer.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/MOM_lateral_boundary_diffusion.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/MOM_lateral_boundary_diffusion.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/MOM_neutral_diffusion.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/MOM_neutral_diffusion.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/MOM_OCMIP2_CFC.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/MOM_OCMIP2_CFC.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/MOM_offline_aux.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/MOM_offline_aux.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/MOM_offline_main.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/MOM_offline_main.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_advect.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_advect.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_diabatic.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_diabatic.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_hor_diff.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_hor_diff.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_Z_init.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_Z_init.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/oil_tracer.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/oil_tracer.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/pseudo_salt_tracer.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/pseudo_salt_tracer.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/RGC_tracer.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/RGC_tracer.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/tracer/tracer_example.F90... Parsing file /home/cermak/src/MOM6.devrob/src/tracer/tracer_example.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/adjustment_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/adjustment_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/baroclinic_zone_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/baroclinic_zone_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/basin_builder.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/basin_builder.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/benchmark_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/benchmark_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/BFB_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/BFB_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/BFB_surface_forcing.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/BFB_surface_forcing.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/circle_obcs_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/circle_obcs_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/dense_water_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/dense_water_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/DOME2d_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/DOME2d_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/DOME_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/DOME_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/dumbbell_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/dumbbell_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/dumbbell_surface_forcing.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/dumbbell_surface_forcing.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/dyed_channel_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/dyed_channel_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/dyed_obcs_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/dyed_obcs_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/external_gwave_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/external_gwave_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/Idealized_Hurricane.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/Idealized_Hurricane.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/ISOMIP_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/ISOMIP_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/Kelvin_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/Kelvin_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/lock_exchange_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/lock_exchange_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/MOM_controlled_forcing.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/MOM_controlled_forcing.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/MOM_wave_interface.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/MOM_wave_interface.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/Neverworld_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/Neverworld_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/Phillips_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/Phillips_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/RGC_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/RGC_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/Rossby_front_2d_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/Rossby_front_2d_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/SCM_CVMix_tests.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/SCM_CVMix_tests.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/seamount_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/seamount_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/shelfwave_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/shelfwave_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/sloshing_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/sloshing_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/soliton_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/soliton_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/supercritical_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/supercritical_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/tidal_bay_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/tidal_bay_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/user_change_diffusivity.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/user_change_diffusivity.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/user_initialization.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/user_initialization.F90... Preprocessing /home/cermak/src/MOM6.devrob/src/user/user_revise_forcing.F90... Parsing file /home/cermak/src/MOM6.devrob/src/user/user_revise_forcing.F90... Preprocessing /home/cermak/src/MOM6.devrob/config_src/solo_driver/atmos_ocean_fluxes.F90... Parsing file /home/cermak/src/MOM6.devrob/config_src/solo_driver/atmos_ocean_fluxes.F90... Preprocessing /home/cermak/src/MOM6.devrob/config_src/solo_driver/MESO_surface_forcing.F90... Parsing file /home/cermak/src/MOM6.devrob/config_src/solo_driver/MESO_surface_forcing.F90... Preprocessing /home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_driver.F90... Parsing file /home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_driver.F90... Preprocessing /home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90... Parsing file /home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90... Preprocessing /home/cermak/src/MOM6.devrob/config_src/solo_driver/user_surface_forcing.F90... Parsing file /home/cermak/src/MOM6.devrob/config_src/solo_driver/user_surface_forcing.F90... Preprocessing /home/cermak/src/MOM6.devrob/config_src/dynamic_symmetric/MOM_memory.h... Parsing file /home/cermak/src/MOM6.devrob/config_src/dynamic_symmetric/MOM_memory.h... Preprocessing /home/cermak/src/MOM6.devrob/config_src/external/GFDL_ocean_BGC/FMS_coupler_util.F90... Parsing file /home/cermak/src/MOM6.devrob/config_src/external/GFDL_ocean_BGC/FMS_coupler_util.F90... Preprocessing /home/cermak/src/MOM6.devrob/config_src/external/GFDL_ocean_BGC/generic_tracer.F90... Parsing file /home/cermak/src/MOM6.devrob/config_src/external/GFDL_ocean_BGC/generic_tracer.F90... Preprocessing /home/cermak/src/MOM6.devrob/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90... Parsing file /home/cermak/src/MOM6.devrob/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90... Reading /home/cermak/src/MOM6.devrob/config_src/external/GFDL_ocean_BGC/README.md... Reading /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/kdtree.f90... Parsing file /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/kdtree.f90... Preprocessing /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/ocean_da_core.F90... Parsing file /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/ocean_da_core.F90... Preprocessing /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/ocean_da_types.F90... Parsing file /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/ocean_da_types.F90... Reading /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/README.md... Preprocessing /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/write_ocean_obs.F90... Parsing file /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/write_ocean_obs.F90... Reading /home/cermak/src/MOM6.devrob/config_src/external/README.md... Preprocessing /home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90... Parsing file /home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90... Preprocessing /home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90... Parsing file /home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90... Building group list... Building directory list... Building namespace list... Building file list... Building class list... Computing nesting relations for classes... Associating documentation with classes... Building example list... Searching for enumerations... Searching for documented typedefs... Searching for members imported via using declarations... Searching for included using directives... Searching for documented variables... Building interface member list... Building member list... Searching for friends... Searching for documented defines... Computing class inheritance relations... Computing class usage relations... Flushing cached template relations that have become invalid... Computing class relations... Add enum values to enums... Searching for member function documentation... Creating members for template instances... Building page list... Search for main page... Computing page relations... Determining the scope of groups... Sorting lists... Determining which enums are documented Computing member relations... Building full member lists recursively... Adding members to member groups. Distributing member group documentation. Computing member references... Inheriting documentation... Generating disk names... Adding source references... Adding xrefitems... Sorting member lists... Setting anonymous enum type... Computing dependencies between directories... Generating citations page... Counting members... Counting data structures... Resolving user defined references... Finding anchors and sections in the documentation... Transferring function references... Combining using relations... Adding members to index pages... Correcting members for VHDL... Generating style sheet... Generating search indices... Generating example documentation... Generating file sources... Generating code for file /home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90... Generating code for file /home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90... Generating code for file /home/cermak/src/MOM6.devrob/config_src/dynamic_symmetric/MOM_memory.h... Generating code for file /home/cermak/src/MOM6.devrob/config_src/external/GFDL_ocean_BGC/FMS_coupler_util.F90... Generating code for file /home/cermak/src/MOM6.devrob/config_src/external/GFDL_ocean_BGC/generic_tracer.F90... Generating code for file /home/cermak/src/MOM6.devrob/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90... Parsing code for file /home/cermak/src/MOM6.devrob/config_src/external/GFDL_ocean_BGC/README.md... Parsing code for file /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/README.md... Parsing code for file /home/cermak/src/MOM6.devrob/config_src/external/README.md... Generating code for file /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/kdtree.f90... Generating code for file /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/ocean_da_core.F90... Generating code for file /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/ocean_da_types.F90... Generating code for file /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/write_ocean_obs.F90... Generating code for file /home/cermak/src/MOM6.devrob/config_src/solo_driver/atmos_ocean_fluxes.F90... Generating code for file /home/cermak/src/MOM6.devrob/config_src/solo_driver/MESO_surface_forcing.F90... Generating code for file /home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_driver.F90... Generating code for file /home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90... Generating code for file /home/cermak/src/MOM6.devrob/config_src/solo_driver/user_surface_forcing.F90... Parsing code for file /home/cermak/src/MOM6.devrob/src/ALE/_ALE.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/ALE/_ALE_timestep.dox... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/coord_adapt.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/coord_hycom.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/coord_rho.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/coord_sigma.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/coord_slight.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/coord_zlike.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/MOM_ALE.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/MOM_regridding.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/MOM_remapping.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/P1M_functions.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/P3M_functions.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/PCM_functions.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/PLM_functions.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/polynomial_functions.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/PPM_functions.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/PQM_functions.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/regrid_consts.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/regrid_edge_values.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/regrid_interp.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ALE/regrid_solvers.F90... Parsing code for file /home/cermak/src/MOM6.devrob/src/core/_Baroclinic_Momentum.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/core/_Barotropic_Baroclinic_Coupling.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/core/_Barotropic_Momentum.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/core/_Discrete_Coriolis.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/core/_Discrete_grids.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/core/_Discrete_OBC.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/core/_Discrete_PG.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/core/_Energetic_consistancy.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/core/_Finite_difference.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/core/_General_coordinate.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/core/_Governing.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/core/_Notation.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/core/_PPM.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/core/_Sea_ice.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/core/_Solar_radiation.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/core/_Specifics.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/core/_Timestep_Overview.dox... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_boundary_update.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_checksum_packages.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_continuity.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_continuity_PPM.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_CoriolisAdv.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_density_integrals.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_dynamics_split_RK2.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_dynamics_unsplit.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_dynamics_unsplit_RK2.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_forcing_type.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_grid.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_interface_heights.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_isopycnal_slopes.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_open_boundary.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce_FV.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce_Montgomery.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_transcribe_grid.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_unit_tests.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_variables.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/core/MOM_verticalGrid.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_debugging.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_diagnostics.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_obsolete_diagnostics.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_obsolete_params.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_PointAccel.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_sum_output.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_wave_speed.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_wave_structure.F90... Parsing code for file /home/cermak/src/MOM6.devrob/src/equation_of_state/_Equation_of_State.dox... Generating code for file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_linear.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_NEMO.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_TEOS10.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_UNESCO.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_Wright.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_TFreeze.F90... Parsing code for file /home/cermak/src/MOM6.devrob/src/framework/_Diagnostics.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/framework/_Domain_decomposition.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/framework/_Global_grids.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/framework/_Horizontal_indexing.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/framework/_Parallel_IO.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/framework/_Regional_grids.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/framework/_Runtime_parameter_system.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/framework/_Testing.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/framework/_Vertical_grids.dox... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_array_transform.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_checksums.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_coms.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_constants.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_cpu_clock.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_diag_manager_wrapper.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_diag_remap.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_diag_vkernels.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_document.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_domains.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_dyn_horgrid.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_error_handler.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_file_parser.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_get_input.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_hor_index.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_horizontal_regridding.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_intrinsic_functions.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_io.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_memory_macros.h... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_random.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_restart.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_safe_alloc.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_string_functions.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_time_manager.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_transform_FMS.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_unit_scaling.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/MOM_write_cputime.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/framework/version_variable.h... Generating code for file /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_ice_shelf.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_ice_shelf_dynamics.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_ice_shelf_initialize.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_ice_shelf_state.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_marine_ice.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ice_shelf/user_shelf_init.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/initialization/MOM_coord_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/initialization/MOM_fixed_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/initialization/MOM_grid_initialize.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/initialization/MOM_state_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/initialization/MOM_tracer_initialization_from_Z.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/ocean_data_assim/MOM_oda_driver.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_hor_visc.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_internal_tides.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_lateral_mixing_coeffs.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_MEKE.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_MEKE_types.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_mixed_layer_restrat.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_thickness_diffuse.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_tidal_forcing.F90... Parsing code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/_CVMix_KPP.dox... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_ALE_sponge.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bkgnd_mixing.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bulk_mixed_layer.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_conv.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_ddiff.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_KPP.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_shear.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_diabatic_aux.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_diabatic_driver.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_diapyc_energy_req.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_energetic_PBL.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_entrain_diffusive.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_full_convection.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_geothermal.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_internal_tide_input.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_opacity.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_regularize_layers.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_viscosity.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_sponge.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_tidal_mixing.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_vert_friction.F90... Parsing code for file /home/cermak/src/MOM6.devrob/src/tracer/_Advection.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/tracer/_Discrete_tracer.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/tracer/_Horizontal_diffusion.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/tracer/_Passive_tracer.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/tracer/_Tracer_fluxes.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/tracer/_Tracer_timestep.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/tracer/_Tracer_Transport.dox... Parsing code for file /home/cermak/src/MOM6.devrob/src/tracer/_Vertical_diffusion.dox... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/advection_test_tracer.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/boundary_impulse_tracer.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/DOME_tracer.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/dye_example.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/dyed_obc_tracer.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/ideal_age_example.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/ISOMIP_tracer.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_generic_tracer.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_lateral_boundary_diffusion.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_neutral_diffusion.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_OCMIP2_CFC.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_offline_aux.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_offline_main.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_advect.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_diabatic.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_hor_diff.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_Z_init.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/oil_tracer.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/pseudo_salt_tracer.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/RGC_tracer.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/tracer/tracer_example.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/adjustment_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/baroclinic_zone_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/basin_builder.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/benchmark_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/BFB_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/BFB_surface_forcing.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/circle_obcs_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/dense_water_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/DOME2d_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/DOME_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/dumbbell_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/dumbbell_surface_forcing.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/dyed_channel_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/dyed_obcs_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/external_gwave_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/Idealized_Hurricane.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/ISOMIP_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/Kelvin_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/lock_exchange_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/MOM_controlled_forcing.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/MOM_wave_interface.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/Neverworld_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/Phillips_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/RGC_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/Rossby_front_2d_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/SCM_CVMix_tests.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/seamount_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/shelfwave_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/sloshing_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/soliton_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/supercritical_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/tidal_bay_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/user_change_diffusivity.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/user_initialization.F90... Generating code for file /home/cermak/src/MOM6.devrob/src/user/user_revise_forcing.F90... Generating file documentation... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/dynamic_symmetric/MOM_memory.h... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/external/GFDL_ocean_BGC/FMS_coupler_util.F90... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/external/GFDL_ocean_BGC/generic_tracer.F90... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/external/GFDL_ocean_BGC/README.md... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/README.md... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/external/README.md... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/kdtree.f90... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/ocean_da_core.F90... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/ocean_da_types.F90... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/write_ocean_obs.F90... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/solo_driver/atmos_ocean_fluxes.F90... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/solo_driver/MESO_surface_forcing.F90... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_driver.F90... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90... Generating docs for file /home/cermak/src/MOM6.devrob/config_src/solo_driver/user_surface_forcing.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/_ALE.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/_ALE_timestep.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/coord_adapt.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/coord_hycom.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/coord_rho.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/coord_sigma.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/coord_slight.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/coord_zlike.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/MOM_ALE.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/MOM_regridding.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/MOM_remapping.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/P1M_functions.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/P3M_functions.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/PCM_functions.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/PLM_functions.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/polynomial_functions.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/PPM_functions.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/PQM_functions.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/regrid_consts.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/regrid_edge_values.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/regrid_interp.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ALE/regrid_solvers.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/_Baroclinic_Momentum.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/_Barotropic_Baroclinic_Coupling.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/_Barotropic_Momentum.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/_Discrete_Coriolis.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/_Discrete_grids.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/_Discrete_OBC.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/_Discrete_PG.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/_Energetic_consistancy.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/_Finite_difference.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/_General_coordinate.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/_Governing.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/_Notation.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/_PPM.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/_Sea_ice.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/_Solar_radiation.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/_Specifics.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/_Timestep_Overview.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_boundary_update.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_checksum_packages.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_continuity.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_continuity_PPM.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_CoriolisAdv.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_density_integrals.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_dynamics_split_RK2.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_dynamics_unsplit.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_dynamics_unsplit_RK2.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_forcing_type.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_grid.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_interface_heights.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_isopycnal_slopes.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_open_boundary.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce_FV.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce_Montgomery.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_transcribe_grid.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_unit_tests.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_variables.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/core/MOM_verticalGrid.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_debugging.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_diagnostics.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_obsolete_diagnostics.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_obsolete_params.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_PointAccel.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_sum_output.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_wave_speed.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/diagnostics/MOM_wave_structure.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/equation_of_state/_Equation_of_State.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_linear.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_NEMO.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_TEOS10.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_UNESCO.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_EOS_Wright.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/equation_of_state/MOM_TFreeze.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/_Diagnostics.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/_Domain_decomposition.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/_Global_grids.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/_Horizontal_indexing.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/_Parallel_IO.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/_Regional_grids.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/_Runtime_parameter_system.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/_Testing.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/_Vertical_grids.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_array_transform.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_checksums.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_coms.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_constants.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_cpu_clock.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_diag_manager_wrapper.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_diag_remap.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_diag_vkernels.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_document.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_domains.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_dyn_horgrid.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_error_handler.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_file_parser.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_get_input.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_hor_index.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_horizontal_regridding.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_intrinsic_functions.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_io.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_memory_macros.h... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_random.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_restart.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_safe_alloc.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_string_functions.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_time_manager.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_transform_FMS.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_unit_scaling.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/MOM_write_cputime.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/framework/version_variable.h... Generating docs for file /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_ice_shelf.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_ice_shelf_dynamics.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_ice_shelf_initialize.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_ice_shelf_state.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ice_shelf/MOM_marine_ice.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ice_shelf/user_shelf_init.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/initialization/MOM_coord_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/initialization/MOM_fixed_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/initialization/MOM_grid_initialize.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/initialization/MOM_state_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/initialization/MOM_tracer_initialization_from_Z.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/ocean_data_assim/MOM_oda_driver.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_hor_visc.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_internal_tides.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_lateral_mixing_coeffs.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_MEKE.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_MEKE_types.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_mixed_layer_restrat.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_thickness_diffuse.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/MOM_tidal_forcing.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/_CVMix_KPP.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_ALE_sponge.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bkgnd_mixing.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bulk_mixed_layer.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_conv.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_ddiff.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_KPP.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_shear.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_diabatic_aux.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_diabatic_driver.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_diapyc_energy_req.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_energetic_PBL.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_entrain_diffusive.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_full_convection.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_geothermal.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_internal_tide_input.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_opacity.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_regularize_layers.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_viscosity.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_sponge.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_tidal_mixing.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_vert_friction.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/_Advection.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/_Discrete_tracer.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/_Horizontal_diffusion.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/_Passive_tracer.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/_Tracer_fluxes.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/_Tracer_timestep.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/_Tracer_Transport.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/_Vertical_diffusion.dox... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/advection_test_tracer.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/boundary_impulse_tracer.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/DOME_tracer.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/dye_example.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/dyed_obc_tracer.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/ideal_age_example.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/ISOMIP_tracer.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_generic_tracer.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_lateral_boundary_diffusion.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_neutral_diffusion.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_OCMIP2_CFC.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_offline_aux.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_offline_main.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_advect.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_diabatic.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_hor_diff.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_Z_init.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/oil_tracer.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/pseudo_salt_tracer.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/RGC_tracer.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/tracer/tracer_example.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/adjustment_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/baroclinic_zone_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/basin_builder.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/benchmark_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/BFB_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/BFB_surface_forcing.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/circle_obcs_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/dense_water_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/DOME2d_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/DOME_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/dumbbell_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/dumbbell_surface_forcing.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/dyed_channel_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/dyed_obcs_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/external_gwave_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/Idealized_Hurricane.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/ISOMIP_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/Kelvin_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/lock_exchange_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/MOM_controlled_forcing.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/MOM_wave_interface.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/Neverworld_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/Phillips_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/RGC_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/Rossby_front_2d_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/SCM_CVMix_tests.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/seamount_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/shelfwave_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/sloshing_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/soliton_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/supercritical_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/tidal_bay_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/user_change_diffusivity.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/user_initialization.F90... Generating docs for file /home/cermak/src/MOM6.devrob/src/user/user_revise_forcing.F90... Generating page documentation... Generating docs for page ALE... Generating docs for page ALE_Timestep... Generating docs for page Baroclinic_Momentum_Equations... Generating docs for page Barotropic_Baroclinic_Coupling... Generating docs for page Barotropic_Momentum_Equations... Generating docs for page Discrete_Coriolis... Generating docs for page Discrete_Grids... Generating docs for page Discrete_OBC... Generating docs for page Discrete_PG... Generating docs for page Energetic_Consistency... Generating docs for page Finite_Difference_Operators... Generating docs for page General_Coordinate... Generating docs for page Governing_Equations... Generating docs for page Notation... Generating docs for page PPM... Generating docs for page Sea_Ice... Generating docs for page Solar_Radiation... Generating docs for page Specifics... Generating docs for page Timestep_Overview... Generating docs for page Equation_of_State... Generating docs for page Diagnostics... Generating docs for page Domain_Decomposition... Generating docs for page Global_Grids... Generating docs for page Horizontal_Indexing... Generating docs for page Parallel_IO... Generating docs for page Regional_Grids... Generating docs for page Runtime_Parameter_System... Generating docs for page Testing... Generating docs for page Vertical_Grids... Generating docs for page CVMix_KPP... Generating docs for page Tracer_Advection... Generating docs for page Discrete_Tracer... Generating docs for page Horizontal_Diffusion... Generating docs for page Passive_Tracers... Generating docs for page Tracer_Fluxes... Generating docs for page Tracer_Timestep... Generating docs for page Tracer_Transport_Equations... Generating docs for page Vertical_Diffusion... Generating docs for page md__home_cermak_src_MOM6.devrob_config_src_external_GFDL_ocean_BGC_README... Generating docs for page md__home_cermak_src_MOM6.devrob_config_src_external_ODA_hooks_README... Generating docs for page md__home_cermak_src_MOM6.devrob_config_src_external_README... Generating docs for page todo... Generating docs for page citelist... Generating group documentation... Generating class documentation... Generating namespace index... Generating docs for namespace adjustment_initialization Generating docs for namespace advection_test_tracer Generating docs for compound advection_test_tracer::advection_test_tracer_cs... Generating docs for namespace atmos_ocean_fluxes_mod Generating docs for namespace baroclinic_zone_initialization Generating docs for namespace basin_builder Generating docs for namespace benchmark_initialization Generating docs for namespace bfb_initialization Generating docs for namespace bfb_surface_forcing Generating docs for compound bfb_surface_forcing::bfb_surface_forcing_cs... Generating docs for namespace boundary_impulse_tracer Generating docs for compound boundary_impulse_tracer::boundary_impulse_tracer_cs... Generating docs for namespace circle_obcs_initialization Generating docs for namespace coord_adapt Generating docs for compound coord_adapt::adapt_cs... Generating docs for namespace coord_hycom Generating docs for compound coord_hycom::hycom_cs... Generating docs for namespace coord_rho Generating docs for compound coord_rho::rho_cs... Generating docs for namespace coord_sigma Generating docs for compound coord_sigma::sigma_cs... Generating docs for namespace coord_slight Generating docs for compound coord_slight::slight_cs... Generating docs for namespace coord_zlike Generating docs for compound coord_zlike::zlike_cs... Generating docs for namespace dense_water_initialization Generating docs for namespace dome2d_initialization Generating docs for namespace dome_initialization Generating docs for namespace dome_tracer Generating docs for compound dome_tracer::dome_tracer_cs... Generating docs for namespace dumbbell_initialization Generating docs for namespace dumbbell_surface_forcing Generating docs for compound dumbbell_surface_forcing::dumbbell_surface_forcing_cs... Generating docs for namespace dyed_channel_initialization Generating docs for compound dyed_channel_initialization::dyed_channel_obc_cs... Generating docs for namespace dyed_obc_tracer Generating docs for compound dyed_obc_tracer::dyed_obc_tracer_cs... Generating docs for namespace dyed_obcs_initialization Generating docs for namespace external_gwave_initialization Generating docs for namespace fms_coupler_util Generating docs for namespace g_tracer_utils Generating docs for compound g_tracer_utils::g_diag_type... Generating docs for compound g_tracer_utils::g_tracer_common... Generating docs for compound g_tracer_utils::g_tracer_get_pointer... Generating docs for compound g_tracer_utils::g_tracer_get_values... Generating docs for compound g_tracer_utils::g_tracer_set_values... Generating docs for compound g_tracer_utils::g_tracer_type... Generating docs for namespace generic_tracer Generating docs for namespace ideal_age_example Generating docs for compound ideal_age_example::ideal_age_tracer_cs... Generating docs for namespace idealized_hurricane Generating docs for compound idealized_hurricane::idealized_hurricane_cs... Generating docs for namespace isomip_initialization Generating docs for namespace isomip_tracer Generating docs for compound isomip_tracer::isomip_tracer_cs... Generating docs for namespace kdtree Generating docs for compound kdtree::kd_root... Generating docs for namespace kelvin_initialization Generating docs for compound kelvin_initialization::kelvin_obc_cs... Generating docs for namespace lock_exchange_initialization Generating docs for namespace meso_surface_forcing Generating docs for compound meso_surface_forcing::meso_surface_forcing_cs... Generating docs for namespace mom Generating docs for compound mom::mom_control_struct... Generating docs for compound mom::mom_diag_ids... Generating docs for namespace mom_ale Generating docs for compound mom_ale::ale_cs... Generating docs for namespace mom_ale_sponge Generating docs for compound mom_ale_sponge::ale_sponge_cs... Generating docs for compound mom_ale_sponge::initialize_ale_sponge... Generating docs for compound mom_ale_sponge::p2d... Generating docs for compound mom_ale_sponge::p3d... Generating docs for compound mom_ale_sponge::set_up_ale_sponge_field... Generating docs for compound mom_ale_sponge::set_up_ale_sponge_vel_field... Generating docs for namespace mom_array_transform Generating docs for compound mom_array_transform::allocate_rotated_array... Generating docs for compound mom_array_transform::rotate_array... Generating docs for compound mom_array_transform::rotate_array_pair... Generating docs for compound mom_array_transform::rotate_vector... Generating docs for namespace mom_barotropic Generating docs for compound mom_barotropic::barotropic_cs... Generating docs for compound mom_barotropic::bt_obc_type... Generating docs for compound mom_barotropic::local_bt_cont_u_type... Generating docs for compound mom_barotropic::local_bt_cont_v_type... Generating docs for compound mom_barotropic::memory_size_type... Generating docs for namespace mom_bkgnd_mixing Generating docs for compound mom_bkgnd_mixing::bkgnd_mixing_cs... Generating docs for namespace mom_boundary_update Generating docs for compound mom_boundary_update::update_obc_cs... Generating docs for namespace mom_bulk_mixed_layer Generating docs for compound mom_bulk_mixed_layer::bulkmixedlayer_cs... Generating docs for namespace mom_checksum_packages Generating docs for compound mom_checksum_packages::mom_state_chksum... Generating docs for compound mom_checksum_packages::stats... Generating docs for namespace mom_checksums Generating docs for compound mom_checksums::bchksum... Generating docs for compound mom_checksums::bchksum_pair... Generating docs for compound mom_checksums::chk_sum_msg... Generating docs for compound mom_checksums::chksum... Generating docs for compound mom_checksums::hchksum... Generating docs for compound mom_checksums::hchksum_pair... Generating docs for compound mom_checksums::is_nan... Generating docs for compound mom_checksums::qchksum... Generating docs for compound mom_checksums::uchksum... Generating docs for compound mom_checksums::uvchksum... Generating docs for compound mom_checksums::vchksum... Generating docs for namespace mom_coms Generating docs for compound mom_coms::assignment(=)... Generating docs for compound mom_coms::efp_sum_across_pes... Generating docs for compound mom_coms::efp_type... Generating docs for compound mom_coms::operator(+)... Generating docs for compound mom_coms::operator(-)... Generating docs for compound mom_coms::reproducing_sum... Generating docs for compound mom_coms::reproducing_sum_efp... Generating docs for namespace mom_constants Generating docs for namespace mom_continuity Generating docs for compound mom_continuity::continuity_cs... Generating docs for namespace mom_continuity_ppm Generating docs for compound mom_continuity_ppm::continuity_ppm_cs... Generating docs for compound mom_continuity_ppm::loop_bounds_type... Generating docs for namespace mom_controlled_forcing Generating docs for compound mom_controlled_forcing::ctrl_forcing_cs... Generating docs for namespace mom_coord_initialization Generating docs for namespace mom_coriolisadv Generating docs for compound mom_coriolisadv::coriolisadv_cs... Generating docs for namespace mom_cpu_clock Generating docs for namespace mom_cvmix_conv Generating docs for compound mom_cvmix_conv::cvmix_conv_cs... Generating docs for namespace mom_cvmix_ddiff Generating docs for compound mom_cvmix_ddiff::cvmix_ddiff_cs... Generating docs for namespace mom_cvmix_kpp Generating docs for compound mom_cvmix_kpp::kpp_cs... Generating docs for namespace mom_cvmix_shear Generating docs for compound mom_cvmix_shear::cvmix_shear_cs... Generating docs for namespace mom_debugging Generating docs for compound mom_debugging::check_redundant... Generating docs for compound mom_debugging::check_redundant_b... Generating docs for compound mom_debugging::check_redundant_c... Generating docs for compound mom_debugging::check_redundant_t... Generating docs for compound mom_debugging::vec_chksum... Generating docs for compound mom_debugging::vec_chksum_a... Generating docs for compound mom_debugging::vec_chksum_b... Generating docs for compound mom_debugging::vec_chksum_c... Generating docs for namespace mom_density_integrals Generating docs for namespace mom_diabatic_aux Generating docs for compound mom_diabatic_aux::diabatic_aux_cs... Generating docs for namespace mom_diabatic_driver Generating docs for compound mom_diabatic_driver::diabatic_cs... Generating docs for namespace mom_diag_manager_wrapper Generating docs for compound mom_diag_manager_wrapper::register_diag_field_fms... Generating docs for namespace mom_diag_mediator Generating docs for compound mom_diag_mediator::axes_grp... Generating docs for compound mom_diag_mediator::diag_ctrl... Generating docs for compound mom_diag_mediator::diag_dsamp... Generating docs for compound mom_diag_mediator::diag_grid_storage... Generating docs for compound mom_diag_mediator::diag_grids_type... Generating docs for compound mom_diag_mediator::diag_type... Generating docs for compound mom_diag_mediator::diagcs_dsamp... Generating docs for compound mom_diag_mediator::downsample_diag_field... Generating docs for compound mom_diag_mediator::downsample_field... Generating docs for compound mom_diag_mediator::downsample_mask... Generating docs for compound mom_diag_mediator::post_data... Generating docs for namespace mom_diag_remap Generating docs for compound mom_diag_remap::diag_remap_ctrl... Generating docs for namespace mom_diag_vkernels Generating docs for namespace mom_diagnostics Generating docs for compound mom_diagnostics::diagnostics_cs... Generating docs for compound mom_diagnostics::surface_diag_ids... Generating docs for compound mom_diagnostics::transport_diag_ids... Generating docs for namespace mom_diapyc_energy_req Generating docs for compound mom_diapyc_energy_req::diapyc_energy_req_cs... Generating docs for namespace mom_document Generating docs for compound mom_document::doc_param... Generating docs for compound mom_document::doc_type... Generating docs for compound mom_document::link_msg... Generating docs for namespace mom_domains Generating docs for compound mom_domains::clone_mom_domain... Generating docs for compound mom_domains::create_group_pass... Generating docs for compound mom_domains::fill_symmetric_edges... Generating docs for compound mom_domains::mom_domain_type... Generating docs for compound mom_domains::pass_var... Generating docs for compound mom_domains::pass_var_complete... Generating docs for compound mom_domains::pass_var_start... Generating docs for compound mom_domains::pass_vector... Generating docs for compound mom_domains::pass_vector_complete... Generating docs for compound mom_domains::pass_vector_start... Generating docs for namespace mom_dyn_horgrid Generating docs for compound mom_dyn_horgrid::dyn_horgrid_type... Generating docs for namespace mom_dynamics_split_rk2 Generating docs for compound mom_dynamics_split_rk2::mom_dyn_split_rk2_cs... Generating docs for namespace mom_dynamics_unsplit Generating docs for compound mom_dynamics_unsplit::mom_dyn_unsplit_cs... Generating docs for namespace mom_dynamics_unsplit_rk2 Generating docs for compound mom_dynamics_unsplit_rk2::mom_dyn_unsplit_rk2_cs... Generating docs for namespace MOM_energetic_PBL Generating docs for namespace mom_energetic_pbl Generating docs for compound mom_energetic_pbl::energetic_pbl_cs... Generating docs for compound mom_energetic_pbl::epbl_column_diags... Generating docs for namespace mom_entrain_diffusive Generating docs for compound mom_entrain_diffusive::entrain_diffusive_cs... Generating docs for namespace mom_eos Generating docs for compound mom_eos::calculate_compress... Generating docs for compound mom_eos::calculate_density... Generating docs for compound mom_eos::calculate_density_derivs... Generating docs for compound mom_eos::calculate_density_second_derivs... Generating docs for compound mom_eos::calculate_spec_vol... Generating docs for compound mom_eos::calculate_specific_vol_derivs... Generating docs for compound mom_eos::calculate_tfreeze... Generating docs for compound mom_eos::eos_type... Generating docs for namespace mom_eos_linear Generating docs for compound mom_eos_linear::calculate_density_derivs_linear... Generating docs for compound mom_eos_linear::calculate_density_linear... Generating docs for compound mom_eos_linear::calculate_density_second_derivs_linear... Generating docs for compound mom_eos_linear::calculate_spec_vol_linear... Generating docs for namespace mom_eos_nemo Generating docs for compound mom_eos_nemo::calculate_density_derivs_nemo... Generating docs for compound mom_eos_nemo::calculate_density_nemo... Generating docs for namespace mom_eos_teos10 Generating docs for compound mom_eos_teos10::calculate_density_derivs_teos10... Generating docs for compound mom_eos_teos10::calculate_density_second_derivs_teos10... Generating docs for compound mom_eos_teos10::calculate_density_teos10... Generating docs for compound mom_eos_teos10::calculate_spec_vol_teos10... Generating docs for namespace mom_eos_unesco Generating docs for compound mom_eos_unesco::calculate_density_unesco... Generating docs for compound mom_eos_unesco::calculate_spec_vol_unesco... Generating docs for namespace mom_eos_wright Generating docs for compound mom_eos_wright::calculate_density_derivs_wright... Generating docs for compound mom_eos_wright::calculate_density_second_derivs_wright... Generating docs for compound mom_eos_wright::calculate_density_wright... Generating docs for compound mom_eos_wright::calculate_spec_vol_wright... Generating docs for namespace mom_error_handler Generating docs for namespace mom_file_parser Generating docs for compound mom_file_parser::file_data_type... Generating docs for compound mom_file_parser::get_param... Generating docs for compound mom_file_parser::link_parameter... Generating docs for compound mom_file_parser::log_param... Generating docs for compound mom_file_parser::log_version... Generating docs for compound mom_file_parser::param_file_type... Generating docs for compound mom_file_parser::parameter_block... Generating docs for compound mom_file_parser::read_param... Generating docs for namespace mom_fixed_initialization Generating docs for namespace mom_forcing_type Generating docs for compound mom_forcing_type::allocate_forcing_type... Generating docs for compound mom_forcing_type::allocate_mech_forcing... Generating docs for compound mom_forcing_type::forcing... Generating docs for compound mom_forcing_type::forcing_diags... Generating docs for compound mom_forcing_type::mech_forcing... Generating docs for namespace mom_full_convection Generating docs for namespace mom_generic_tracer Generating docs for compound mom_generic_tracer::mom_generic_tracer_cs... Generating docs for namespace mom_geothermal Generating docs for compound mom_geothermal::geothermal_cs... Generating docs for namespace mom_get_input Generating docs for compound mom_get_input::directories... Generating docs for namespace mom_grid Generating docs for compound mom_grid::ocean_grid_type... Generating docs for namespace mom_grid_initialize Generating docs for compound mom_grid_initialize::gps... Generating docs for namespace mom_hor_index Generating docs for compound mom_hor_index::assignment(=)... Generating docs for compound mom_hor_index::hor_index_type... Generating docs for namespace mom_hor_visc Generating docs for compound mom_hor_visc::hor_visc_cs... Generating docs for namespace mom_horizontal_regridding Generating docs for compound mom_horizontal_regridding::fill_boundaries... Generating docs for compound mom_horizontal_regridding::horiz_interp_and_extrap_tracer... Generating docs for namespace mom_ice_shelf Generating docs for compound mom_ice_shelf::ice_shelf_cs... Generating docs for namespace mom_ice_shelf_dynamics Generating docs for compound mom_ice_shelf_dynamics::ice_shelf_dyn_cs... Generating docs for compound mom_ice_shelf_dynamics::loop_bounds_type... Generating docs for namespace mom_ice_shelf_initialize Generating docs for namespace mom_ice_shelf_state Generating docs for compound mom_ice_shelf_state::ice_shelf_state... Generating docs for namespace mom_int_tide_input Generating docs for compound mom_int_tide_input::int_tide_input_cs... Generating docs for compound mom_int_tide_input::int_tide_input_type... Generating docs for namespace mom_interface_heights Generating docs for compound mom_interface_heights::find_eta... Generating docs for namespace mom_internal_tides Generating docs for compound mom_internal_tides::int_tide_cs... Generating docs for compound mom_internal_tides::loop_bounds_type... Generating docs for namespace mom_intrinsic_functions Generating docs for namespace mom_io Generating docs for compound mom_io::file_exists... Generating docs for compound mom_io::mom_read_data... Generating docs for compound mom_io::mom_read_vector... Generating docs for compound mom_io::vardesc... Generating docs for namespace mom_isopycnal_slopes Generating docs for namespace mom_kappa_shear Generating docs for compound mom_kappa_shear::kappa_shear_cs... Generating docs for namespace mom_lateral_boundary_diffusion Generating docs for compound mom_lateral_boundary_diffusion::lateral_boundary_diffusion_cs... Generating docs for namespace mom_lateral_mixing_coeffs Generating docs for compound mom_lateral_mixing_coeffs::varmix_cs... Generating docs for namespace mom_marine_ice Generating docs for compound mom_marine_ice::marine_ice_cs... Generating docs for namespace mom_meke Generating docs for compound mom_meke::meke_cs... Generating docs for namespace mom_meke_types Generating docs for compound mom_meke_types::meke_type... Generating docs for namespace mom_mixed_layer_restrat Generating docs for compound mom_mixed_layer_restrat::mixedlayer_restrat_cs... Generating docs for namespace mom_neutral_diffusion Generating docs for compound mom_neutral_diffusion::neutral_diffusion_cs... Generating docs for namespace mom_obsolete_diagnostics Generating docs for namespace mom_obsolete_params Generating docs for namespace mom_ocmip2_cfc Generating docs for compound mom_ocmip2_cfc::ocmip2_cfc_cs... Generating docs for namespace MOM_oda_driver_mod Generating docs for namespace mom_oda_driver_mod Generating docs for compound mom_oda_driver_mod::oda_cs... Generating docs for compound mom_oda_driver_mod::ptr_mpp_domain... Generating docs for namespace mom_offline_aux Generating docs for namespace mom_offline_main Generating docs for compound mom_offline_main::offline_transport_cs... Generating docs for namespace mom_opacity Generating docs for compound mom_opacity::opacity_cs... Generating docs for compound mom_opacity::optics_type... Generating docs for namespace mom_open_boundary Generating docs for compound mom_open_boundary::file_obc_cs... Generating docs for compound mom_open_boundary::obc_registry_type... Generating docs for compound mom_open_boundary::obc_segment_data_type... Generating docs for compound mom_open_boundary::obc_segment_tracer_type... Generating docs for compound mom_open_boundary::obc_segment_type... Generating docs for compound mom_open_boundary::obc_struct_type... Generating docs for compound mom_open_boundary::ocean_obc_type... Generating docs for compound mom_open_boundary::segment_tracer_registry_type... Generating docs for namespace mom_pointaccel Generating docs for compound mom_pointaccel::pointaccel_cs... Generating docs for namespace mom_pressureforce Generating docs for compound mom_pressureforce::pressureforce_cs... Generating docs for namespace mom_pressureforce_fv Generating docs for compound mom_pressureforce_fv::pressureforce_fv_cs... Generating docs for namespace mom_pressureforce_mont Generating docs for compound mom_pressureforce_mont::pressureforce_mont_cs... Generating docs for namespace mom_random Generating docs for compound mom_random::prng... Generating docs for namespace mom_regridding Generating docs for compound mom_regridding::regridding_cs... Generating docs for namespace mom_regularize_layers Generating docs for compound mom_regularize_layers::regularize_layers_cs... Generating docs for namespace mom_remapping Generating docs for compound mom_remapping::remapping_cs... Generating docs for namespace mom_restart Generating docs for compound mom_restart::field_restart... Generating docs for compound mom_restart::mom_restart_cs... Generating docs for compound mom_restart::obsolete_restart... Generating docs for compound mom_restart::p0d... Generating docs for compound mom_restart::p1d... Generating docs for compound mom_restart::p2d... Generating docs for compound mom_restart::p3d... Generating docs for compound mom_restart::p4d... Generating docs for compound mom_restart::query_initialized... Generating docs for compound mom_restart::register_restart_field... Generating docs for compound mom_restart::register_restart_pair... Generating docs for namespace mom_safe_alloc Generating docs for compound mom_safe_alloc::safe_alloc_alloc... Generating docs for compound mom_safe_alloc::safe_alloc_ptr... Generating docs for namespace mom_set_diffusivity Generating docs for compound mom_set_diffusivity::diffusivity_diags... Generating docs for compound mom_set_diffusivity::set_diffusivity_cs... Generating docs for namespace mom_set_visc Generating docs for compound mom_set_visc::set_visc_cs... Generating docs for namespace mom_shared_initialization Generating docs for namespace mom_spatial_means Generating docs for namespace mom_sponge Generating docs for compound mom_sponge::p2d... Generating docs for compound mom_sponge::p3d... Generating docs for compound mom_sponge::sponge_cs... Generating docs for namespace mom_state_initialization Generating docs for namespace mom_string_functions Generating docs for namespace mom_sum_output Generating docs for compound mom_sum_output::depth_list... Generating docs for compound mom_sum_output::sum_output_cs... Generating docs for namespace mom_surface_forcing Generating docs for compound mom_surface_forcing::surface_forcing_cs... Generating docs for namespace mom_surface_forcing_gfdl Generating docs for compound mom_surface_forcing_gfdl::ice_ocean_boundary_type... Generating docs for compound mom_surface_forcing_gfdl::surface_forcing_cs... Generating docs for namespace mom_tfreeze Generating docs for compound mom_tfreeze::calculate_tfreeze_linear... Generating docs for compound mom_tfreeze::calculate_tfreeze_millero... Generating docs for compound mom_tfreeze::calculate_tfreeze_teos10... Generating docs for namespace mom_thickness_diffuse Generating docs for compound mom_thickness_diffuse::thickness_diffuse_cs... Generating docs for namespace mom_tidal_forcing Generating docs for compound mom_tidal_forcing::astro_longitudes... Generating docs for compound mom_tidal_forcing::tidal_forcing_cs... Generating docs for namespace mom_tidal_mixing Generating docs for compound mom_tidal_mixing::tidal_mixing_cs... Generating docs for compound mom_tidal_mixing::tidal_mixing_diags... Generating docs for namespace mom_time_manager Generating docs for namespace mom_tracer_advect Generating docs for compound mom_tracer_advect::tracer_advect_cs... Generating docs for namespace mom_tracer_diabatic Generating docs for namespace MOM_tracer_flow_control Generating docs for namespace mom_tracer_flow_control Generating docs for compound mom_tracer_flow_control::tracer_flow_control_cs... Generating docs for namespace mom_tracer_hor_diff Generating docs for compound mom_tracer_hor_diff::p2d... Generating docs for compound mom_tracer_hor_diff::p2di... Generating docs for compound mom_tracer_hor_diff::tracer_hor_diff_cs... Generating docs for namespace mom_tracer_initialization_from_z Generating docs for namespace mom_tracer_registry Generating docs for compound mom_tracer_registry::tracer_registry_type... Generating docs for compound mom_tracer_registry::tracer_type... Generating docs for namespace mom_tracer_z_init Generating docs for namespace mom_transcribe_grid Generating docs for namespace mom_transform_fms Generating docs for compound mom_transform_fms::rotated_mpp_chksum... Generating docs for compound mom_transform_fms::rotated_time_interp_external... Generating docs for compound mom_transform_fms::rotated_write_field... Generating docs for namespace mom_unit_scaling Generating docs for compound mom_unit_scaling::unit_scale_type... Generating docs for namespace mom_unit_tests Generating docs for namespace mom_variables Generating docs for compound mom_variables::accel_diag_ptrs... Generating docs for compound mom_variables::bt_cont_type... Generating docs for compound mom_variables::cont_diag_ptrs... Generating docs for compound mom_variables::ocean_internal_state... Generating docs for compound mom_variables::p2d... Generating docs for compound mom_variables::p3d... Generating docs for compound mom_variables::surface... Generating docs for compound mom_variables::thermo_var_ptrs... Generating docs for compound mom_variables::vertvisc_type... Generating docs for namespace mom_vert_friction Generating docs for compound mom_vert_friction::vertvisc_cs... Generating docs for namespace mom_verticalgrid Generating docs for compound mom_verticalgrid::verticalgrid_type... Generating docs for namespace mom_wave_interface Generating docs for compound mom_wave_interface::wave_parameters_cs... Generating docs for namespace mom_wave_speed Generating docs for compound mom_wave_speed::wave_speed_cs... Generating docs for namespace mom_wave_structure Generating docs for compound mom_wave_structure::wave_structure_cs... Generating docs for namespace mom_write_cputime Generating docs for compound mom_write_cputime::write_cputime_cs... Generating docs for namespace neverworld_initialization Generating docs for namespace ocean_da_core_mod Generating docs for namespace ocean_da_types_mod Generating docs for compound ocean_da_types_mod::forward_operator_type... Generating docs for compound ocean_da_types_mod::grid_type... Generating docs for compound ocean_da_types_mod::ocean_control_struct... Generating docs for compound ocean_da_types_mod::ocean_profile_type... Generating docs for namespace ocean_model_mod Generating docs for compound ocean_model_mod::ocean_model_data_get... Generating docs for compound ocean_model_mod::ocean_public_type... Generating docs for compound ocean_model_mod::ocean_state_type... Generating docs for namespace oil_tracer Generating docs for compound oil_tracer::oil_tracer_cs... Generating docs for namespace p1m_functions Generating docs for namespace p3m_functions Generating docs for namespace PCM_functions Generating docs for namespace pcm_functions Generating docs for namespace phillips_initialization Generating docs for namespace plm_functions Generating docs for namespace polynomial_functions Generating docs for namespace ppm_functions Generating docs for namespace pqm_functions Generating docs for namespace pseudo_salt_tracer Generating docs for compound pseudo_salt_tracer::pseudo_salt_tracer_cs... Generating docs for namespace regional_dyes Generating docs for compound regional_dyes::dye_tracer_cs... Generating docs for namespace regrid_consts Generating docs for compound regrid_consts::coordinateunits... Generating docs for compound regrid_consts::state_dependent... Generating docs for namespace regrid_edge_values Generating docs for namespace regrid_interp Generating docs for compound regrid_interp::interp_cs_type... Generating docs for namespace regrid_solvers Generating docs for namespace rgc_initialization Generating docs for namespace rgc_tracer Generating docs for compound rgc_tracer::rgc_tracer_cs... Generating docs for namespace rossby_front_2d_initialization Generating docs for namespace scm_cvmix_tests Generating docs for compound scm_cvmix_tests::scm_cvmix_tests_cs... Generating docs for namespace seamount_initialization Generating docs for namespace shelfwave_initialization Generating docs for compound shelfwave_initialization::shelfwave_obc_cs... Generating docs for namespace sloshing_initialization Generating docs for namespace soliton_initialization Generating docs for namespace supercritical_initialization Generating docs for namespace tidal_bay_initialization Generating docs for compound tidal_bay_initialization::tidal_bay_obc_cs... Generating docs for namespace tidal_forcing Generating docs for namespace user_change_diffusivity Generating docs for compound user_change_diffusivity::user_change_diff_cs... Generating docs for namespace user_initialization Generating docs for namespace user_revise_forcing Generating docs for compound user_revise_forcing::user_revise_forcing_cs... Generating docs for namespace user_shelf_init Generating docs for compound user_shelf_init::user_ice_shelf_cs... Generating docs for namespace user_surface_forcing Generating docs for compound user_surface_forcing::user_surface_forcing_cs... Generating docs for namespace user_tracer_example Generating docs for compound user_tracer_example::user_tracer_example_cs... Generating docs for namespace write_ocean_obs_mod Generating graph info page... Generating directory documentation... finalizing index lists... writing tag file... Generating XML output... Generating XML output for class mom_variables::accel_diag_ptrs Generating XML output for class coord_adapt::adapt_cs Generating XML output for class advection_test_tracer::advection_test_tracer_cs Generating XML output for class mom_ale::ale_cs Generating XML output for class mom_ale_sponge::ale_sponge_cs Generating XML output for class mom_forcing_type::allocate_forcing_type Generating XML output for class mom_forcing_type::allocate_mech_forcing Generating XML output for class mom_array_transform::allocate_rotated_array Generating XML output for class mom_hor_index::assignment(=) Generating XML output for class mom_coms::assignment(=) Generating XML output for class mom_tidal_forcing::astro_longitudes Generating XML output for class mom_diag_mediator::axes_grp Generating XML output for class mom_barotropic::barotropic_cs Generating XML output for class mom_checksums::bchksum Generating XML output for class mom_checksums::bchksum_pair Generating XML output for class bfb_surface_forcing::bfb_surface_forcing_cs Generating XML output for class mom_bkgnd_mixing::bkgnd_mixing_cs Generating XML output for class boundary_impulse_tracer::boundary_impulse_tracer_cs Generating XML output for class mom_variables::bt_cont_type Generating XML output for class mom_barotropic::bt_obc_type Generating XML output for class mom_bulk_mixed_layer::bulkmixedlayer_cs Generating XML output for class mom_eos::calculate_compress Generating XML output for class mom_eos::calculate_density Generating XML output for class mom_eos::calculate_density_derivs Generating XML output for class mom_eos_linear::calculate_density_derivs_linear Generating XML output for class mom_eos_nemo::calculate_density_derivs_nemo Generating XML output for class mom_eos_teos10::calculate_density_derivs_teos10 Generating XML output for class mom_eos_wright::calculate_density_derivs_wright Generating XML output for class mom_eos_linear::calculate_density_linear Generating XML output for class mom_eos_nemo::calculate_density_nemo Generating XML output for class mom_eos::calculate_density_second_derivs Generating XML output for class mom_eos_linear::calculate_density_second_derivs_linear Generating XML output for class mom_eos_teos10::calculate_density_second_derivs_teos10 Generating XML output for class mom_eos_wright::calculate_density_second_derivs_wright Generating XML output for class mom_eos_teos10::calculate_density_teos10 Generating XML output for class mom_eos_unesco::calculate_density_unesco Generating XML output for class mom_eos_wright::calculate_density_wright Generating XML output for class mom_eos::calculate_spec_vol Generating XML output for class mom_eos_linear::calculate_spec_vol_linear Generating XML output for class mom_eos_teos10::calculate_spec_vol_teos10 Generating XML output for class mom_eos_unesco::calculate_spec_vol_unesco Generating XML output for class mom_eos_wright::calculate_spec_vol_wright Generating XML output for class mom_eos::calculate_specific_vol_derivs Generating XML output for class mom_eos::calculate_tfreeze Generating XML output for class mom_tfreeze::calculate_tfreeze_linear Generating XML output for class mom_tfreeze::calculate_tfreeze_millero Generating XML output for class mom_tfreeze::calculate_tfreeze_teos10 Generating XML output for class mom_debugging::check_redundant Generating XML output for class mom_debugging::check_redundant_b Generating XML output for class mom_debugging::check_redundant_c Generating XML output for class mom_debugging::check_redundant_t Generating XML output for class mom_checksums::chk_sum_msg Generating XML output for class mom_checksums::chksum Generating XML output for class mom_domains::clone_mom_domain Generating XML output for class mom_variables::cont_diag_ptrs Generating XML output for class mom_continuity::continuity_cs Generating XML output for class mom_continuity_ppm::continuity_ppm_cs Generating XML output for class regrid_consts::coordinateunits Generating XML output for class mom_coriolisadv::coriolisadv_cs Generating XML output for class mom_domains::create_group_pass Generating XML output for class mom_controlled_forcing::ctrl_forcing_cs Generating XML output for class mom_cvmix_conv::cvmix_conv_cs Generating XML output for class mom_cvmix_ddiff::cvmix_ddiff_cs Generating XML output for class mom_cvmix_shear::cvmix_shear_cs Generating XML output for class mom_sum_output::depth_list Generating XML output for class mom_diabatic_aux::diabatic_aux_cs Generating XML output for class mom_diabatic_driver::diabatic_cs Generating XML output for class mom_diag_mediator::diag_ctrl Generating XML output for class mom_diag_mediator::diag_dsamp Generating XML output for class mom_diag_mediator::diag_grid_storage Generating XML output for class mom_diag_mediator::diag_grids_type Generating XML output for class mom_diag_remap::diag_remap_ctrl Generating XML output for class mom_diag_mediator::diag_type Generating XML output for class mom_diag_mediator::diagcs_dsamp Generating XML output for class mom_diagnostics::diagnostics_cs Generating XML output for class mom_diapyc_energy_req::diapyc_energy_req_cs Generating XML output for class mom_set_diffusivity::diffusivity_diags Generating XML output for class mom_get_input::directories Generating XML output for class mom_document::doc_param Generating XML output for class mom_document::doc_type Generating XML output for class dome_tracer::dome_tracer_cs Generating XML output for class mom_diag_mediator::downsample_diag_field Generating XML output for class mom_diag_mediator::downsample_field Generating XML output for class mom_diag_mediator::downsample_mask Generating XML output for class dumbbell_surface_forcing::dumbbell_surface_forcing_cs Generating XML output for class regional_dyes::dye_tracer_cs Generating XML output for class dyed_channel_initialization::dyed_channel_obc_cs Generating XML output for class dyed_obc_tracer::dyed_obc_tracer_cs Generating XML output for class mom_dyn_horgrid::dyn_horgrid_type Generating XML output for class mom_coms::efp_sum_across_pes Generating XML output for class mom_coms::efp_type Generating XML output for class mom_energetic_pbl::energetic_pbl_cs Generating XML output for class mom_entrain_diffusive::entrain_diffusive_cs Generating XML output for class mom_eos::eos_type Generating XML output for class mom_energetic_pbl::epbl_column_diags Generating XML output for class mom_restart::field_restart Generating XML output for class mom_file_parser::file_data_type Generating XML output for class mom_io::file_exists Generating XML output for class mom_open_boundary::file_obc_cs Generating XML output for class mom_horizontal_regridding::fill_boundaries Generating XML output for class mom_domains::fill_symmetric_edges Generating XML output for class mom_interface_heights::find_eta Generating XML output for class mom_forcing_type::forcing Generating XML output for class mom_forcing_type::forcing_diags Generating XML output for class ocean_da_types_mod::forward_operator_type Generating XML output for class g_tracer_utils::g_diag_type Generating XML output for class g_tracer_utils::g_tracer_common Generating XML output for class g_tracer_utils::g_tracer_get_pointer Generating XML output for class g_tracer_utils::g_tracer_get_values Generating XML output for class g_tracer_utils::g_tracer_set_values Generating XML output for class g_tracer_utils::g_tracer_type Generating XML output for class mom_geothermal::geothermal_cs Generating XML output for class mom_file_parser::get_param Generating XML output for class mom_grid_initialize::gps Generating XML output for class ocean_da_types_mod::grid_type Generating XML output for class mom_checksums::hchksum Generating XML output for class mom_checksums::hchksum_pair Generating XML output for class mom_hor_index::hor_index_type Generating XML output for class mom_hor_visc::hor_visc_cs Generating XML output for class mom_horizontal_regridding::horiz_interp_and_extrap_tracer Generating XML output for class coord_hycom::hycom_cs Generating XML output for class mom_surface_forcing_gfdl::ice_ocean_boundary_type Generating XML output for class mom_ice_shelf::ice_shelf_cs Generating XML output for class mom_ice_shelf_dynamics::ice_shelf_dyn_cs Generating XML output for class mom_ice_shelf_state::ice_shelf_state Generating XML output for class ideal_age_example::ideal_age_tracer_cs Generating XML output for class idealized_hurricane::idealized_hurricane_cs Generating XML output for class mom_ale_sponge::initialize_ale_sponge Generating XML output for class mom_internal_tides::int_tide_cs Generating XML output for class mom_int_tide_input::int_tide_input_cs Generating XML output for class mom_int_tide_input::int_tide_input_type Generating XML output for class regrid_interp::interp_cs_type Generating XML output for class mom_checksums::is_nan Generating XML output for class isomip_tracer::isomip_tracer_cs Generating XML output for class mom_kappa_shear::kappa_shear_cs Generating XML output for class kdtree::kd_root Generating XML output for class kelvin_initialization::kelvin_obc_cs Generating XML output for class mom_cvmix_kpp::kpp_cs Generating XML output for class mom_lateral_boundary_diffusion::lateral_boundary_diffusion_cs Generating XML output for class mom_document::link_msg Generating XML output for class mom_file_parser::link_parameter Generating XML output for class mom_barotropic::local_bt_cont_u_type Generating XML output for class mom_barotropic::local_bt_cont_v_type Generating XML output for class mom_file_parser::log_param Generating XML output for class mom_file_parser::log_version Generating XML output for class mom_ice_shelf_dynamics::loop_bounds_type Generating XML output for class mom_internal_tides::loop_bounds_type Generating XML output for class mom_continuity_ppm::loop_bounds_type Generating XML output for class mom_marine_ice::marine_ice_cs Generating XML output for class mom_forcing_type::mech_forcing Generating XML output for class mom_meke::meke_cs Generating XML output for class mom_meke_types::meke_type Generating XML output for class mom_barotropic::memory_size_type Generating XML output for class meso_surface_forcing::meso_surface_forcing_cs Generating XML output for class mom_mixed_layer_restrat::mixedlayer_restrat_cs Generating XML output for class mom::mom_control_struct Generating XML output for class mom::mom_diag_ids Generating XML output for class mom_domains::mom_domain_type Generating XML output for class mom_dynamics_split_rk2::mom_dyn_split_rk2_cs Generating XML output for class mom_dynamics_unsplit::mom_dyn_unsplit_cs Generating XML output for class mom_dynamics_unsplit_rk2::mom_dyn_unsplit_rk2_cs Generating XML output for class mom_generic_tracer::mom_generic_tracer_cs Generating XML output for class mom_io::mom_read_data Generating XML output for class mom_io::mom_read_vector Generating XML output for class mom_restart::mom_restart_cs Generating XML output for class mom_checksum_packages::mom_state_chksum Generating XML output for class mom_neutral_diffusion::neutral_diffusion_cs Generating XML output for class mom_open_boundary::obc_registry_type Generating XML output for class mom_open_boundary::obc_segment_data_type Generating XML output for class mom_open_boundary::obc_segment_tracer_type Generating XML output for class mom_open_boundary::obc_segment_type Generating XML output for class mom_open_boundary::obc_struct_type Generating XML output for class mom_restart::obsolete_restart Generating XML output for class ocean_da_types_mod::ocean_control_struct Generating XML output for class mom_grid::ocean_grid_type Generating XML output for class mom_variables::ocean_internal_state Generating XML output for class ocean_model_mod::ocean_model_data_get Generating XML output for class mom_open_boundary::ocean_obc_type Generating XML output for class ocean_da_types_mod::ocean_profile_type Generating XML output for class ocean_model_mod::ocean_public_type Generating XML output for class ocean_model_mod::ocean_state_type Generating XML output for class mom_ocmip2_cfc::ocmip2_cfc_cs Generating XML output for class mom_oda_driver_mod::oda_cs Generating XML output for class mom_offline_main::offline_transport_cs Generating XML output for class oil_tracer::oil_tracer_cs Generating XML output for class mom_opacity::opacity_cs Generating XML output for class mom_coms::operator(+) Generating XML output for class mom_coms::operator(-) Generating XML output for class mom_opacity::optics_type Generating XML output for class mom_restart::p0d Generating XML output for class mom_restart::p1d Generating XML output for class mom_ale_sponge::p2d Generating XML output for class mom_restart::p2d Generating XML output for class mom_variables::p2d Generating XML output for class mom_sponge::p2d Generating XML output for class mom_tracer_hor_diff::p2d Generating XML output for class mom_tracer_hor_diff::p2di Generating XML output for class mom_sponge::p3d Generating XML output for class mom_restart::p3d Generating XML output for class mom_ale_sponge::p3d Generating XML output for class mom_variables::p3d Generating XML output for class mom_restart::p4d Generating XML output for class mom_file_parser::param_file_type Generating XML output for class mom_file_parser::parameter_block Generating XML output for class mom_domains::pass_var Generating XML output for class mom_domains::pass_var_complete Generating XML output for class mom_domains::pass_var_start Generating XML output for class mom_domains::pass_vector Generating XML output for class mom_domains::pass_vector_complete Generating XML output for class mom_domains::pass_vector_start Generating XML output for class mom_pointaccel::pointaccel_cs Generating XML output for class mom_diag_mediator::post_data Generating XML output for class mom_pressureforce::pressureforce_cs Generating XML output for class mom_pressureforce_fv::pressureforce_fv_cs Generating XML output for class mom_pressureforce_mont::pressureforce_mont_cs Generating XML output for class mom_random::prng Generating XML output for class pseudo_salt_tracer::pseudo_salt_tracer_cs Generating XML output for class mom_oda_driver_mod::ptr_mpp_domain Generating XML output for class mom_checksums::qchksum Generating XML output for class mom_restart::query_initialized Generating XML output for class mom_file_parser::read_param Generating XML output for class mom_diag_manager_wrapper::register_diag_field_fms Generating XML output for class mom_restart::register_restart_field Generating XML output for class mom_restart::register_restart_pair Generating XML output for class mom_regridding::regridding_cs Generating XML output for class mom_regularize_layers::regularize_layers_cs Generating XML output for class mom_remapping::remapping_cs Generating XML output for class mom_coms::reproducing_sum Generating XML output for class mom_coms::reproducing_sum_efp Generating XML output for class rgc_tracer::rgc_tracer_cs Generating XML output for class coord_rho::rho_cs Generating XML output for class mom_array_transform::rotate_array Generating XML output for class mom_array_transform::rotate_array_pair Generating XML output for class mom_array_transform::rotate_vector Generating XML output for class mom_transform_fms::rotated_mpp_chksum Generating XML output for class mom_transform_fms::rotated_time_interp_external Generating XML output for class mom_transform_fms::rotated_write_field Generating XML output for class mom_safe_alloc::safe_alloc_alloc Generating XML output for class mom_safe_alloc::safe_alloc_ptr Generating XML output for class scm_cvmix_tests::scm_cvmix_tests_cs Generating XML output for class mom_open_boundary::segment_tracer_registry_type Generating XML output for class mom_set_diffusivity::set_diffusivity_cs Generating XML output for class mom_ale_sponge::set_up_ale_sponge_field Generating XML output for class mom_ale_sponge::set_up_ale_sponge_vel_field Generating XML output for class mom_set_visc::set_visc_cs Generating XML output for class shelfwave_initialization::shelfwave_obc_cs Generating XML output for class coord_sigma::sigma_cs Generating XML output for class coord_slight::slight_cs Generating XML output for class mom_sponge::sponge_cs Generating XML output for class regrid_consts::state_dependent Generating XML output for class mom_checksum_packages::stats Generating XML output for class mom_sum_output::sum_output_cs Generating XML output for class mom_variables::surface Generating XML output for class mom_diagnostics::surface_diag_ids Generating XML output for class mom_surface_forcing::surface_forcing_cs Generating XML output for class mom_surface_forcing_gfdl::surface_forcing_cs Generating XML output for class mom_variables::thermo_var_ptrs Generating XML output for class mom_thickness_diffuse::thickness_diffuse_cs Generating XML output for class tidal_bay_initialization::tidal_bay_obc_cs Generating XML output for class mom_tidal_forcing::tidal_forcing_cs Generating XML output for class mom_tidal_mixing::tidal_mixing_cs Generating XML output for class mom_tidal_mixing::tidal_mixing_diags Generating XML output for class mom_tracer_advect::tracer_advect_cs Generating XML output for class mom_tracer_flow_control::tracer_flow_control_cs Generating XML output for class mom_tracer_hor_diff::tracer_hor_diff_cs Generating XML output for class mom_tracer_registry::tracer_registry_type Generating XML output for class mom_tracer_registry::tracer_type Generating XML output for class mom_diagnostics::transport_diag_ids Generating XML output for class mom_checksums::uchksum Generating XML output for class mom_unit_scaling::unit_scale_type Generating XML output for class mom_boundary_update::update_obc_cs Generating XML output for class user_change_diffusivity::user_change_diff_cs Generating XML output for class user_shelf_init::user_ice_shelf_cs Generating XML output for class user_revise_forcing::user_revise_forcing_cs Generating XML output for class user_surface_forcing::user_surface_forcing_cs Generating XML output for class user_tracer_example::user_tracer_example_cs Generating XML output for class mom_checksums::uvchksum Generating XML output for class mom_io::vardesc Generating XML output for class mom_lateral_mixing_coeffs::varmix_cs Generating XML output for class mom_checksums::vchksum Generating XML output for class mom_debugging::vec_chksum Generating XML output for class mom_debugging::vec_chksum_a Generating XML output for class mom_debugging::vec_chksum_b Generating XML output for class mom_debugging::vec_chksum_c Generating XML output for class mom_verticalgrid::verticalgrid_type Generating XML output for class mom_vert_friction::vertvisc_cs Generating XML output for class mom_variables::vertvisc_type Generating XML output for class mom_wave_interface::wave_parameters_cs Generating XML output for class mom_wave_speed::wave_speed_cs Generating XML output for class mom_wave_structure::wave_structure_cs Generating XML output for class mom_write_cputime::write_cputime_cs Generating XML output for class coord_zlike::zlike_cs Generating XML output for namespace adjustment_initialization Generating XML output for namespace advection_test_tracer Generating XML output for namespace atmos_ocean_fluxes_mod Generating XML output for namespace baroclinic_zone_initialization Generating XML output for namespace basin_builder Generating XML output for namespace benchmark_initialization Generating XML output for namespace bfb_initialization Generating XML output for namespace bfb_surface_forcing Generating XML output for namespace boundary_impulse_tracer Generating XML output for namespace circle_obcs_initialization Generating XML output for namespace coord_adapt Generating XML output for namespace coord_hycom Generating XML output for namespace coord_rho Generating XML output for namespace coord_sigma Generating XML output for namespace coord_slight Generating XML output for namespace coord_zlike Generating XML output for namespace dense_water_initialization Generating XML output for namespace dome2d_initialization Generating XML output for namespace dome_initialization Generating XML output for namespace dome_tracer Generating XML output for namespace dumbbell_initialization Generating XML output for namespace dumbbell_surface_forcing Generating XML output for namespace dyed_channel_initialization Generating XML output for namespace dyed_obc_tracer Generating XML output for namespace dyed_obcs_initialization Generating XML output for namespace external_gwave_initialization Generating XML output for namespace fms_coupler_util Generating XML output for namespace g_tracer_utils Generating XML output for namespace generic_tracer Generating XML output for namespace ideal_age_example Generating XML output for namespace idealized_hurricane Generating XML output for namespace isomip_initialization Generating XML output for namespace isomip_tracer Generating XML output for namespace kdtree Generating XML output for namespace kelvin_initialization Generating XML output for namespace lock_exchange_initialization Generating XML output for namespace meso_surface_forcing Generating XML output for namespace mom Generating XML output for namespace mom_ale Generating XML output for namespace mom_ale_sponge Generating XML output for namespace mom_array_transform Generating XML output for namespace mom_barotropic Generating XML output for namespace mom_bkgnd_mixing Generating XML output for namespace mom_boundary_update Generating XML output for namespace mom_bulk_mixed_layer Generating XML output for namespace mom_checksum_packages Generating XML output for namespace mom_checksums Generating XML output for namespace mom_coms Generating XML output for namespace mom_constants Generating XML output for namespace mom_continuity Generating XML output for namespace mom_continuity_ppm Generating XML output for namespace mom_controlled_forcing Generating XML output for namespace mom_coord_initialization Generating XML output for namespace mom_coriolisadv Generating XML output for namespace mom_cpu_clock Generating XML output for namespace mom_cvmix_conv Generating XML output for namespace mom_cvmix_ddiff Generating XML output for namespace mom_cvmix_kpp Generating XML output for namespace mom_cvmix_shear Generating XML output for namespace mom_debugging Generating XML output for namespace mom_density_integrals Generating XML output for namespace mom_diabatic_aux Generating XML output for namespace mom_diabatic_driver Generating XML output for namespace mom_diag_manager_wrapper Generating XML output for namespace mom_diag_mediator Generating XML output for namespace mom_diag_remap Generating XML output for namespace mom_diag_vkernels Generating XML output for namespace mom_diagnostics Generating XML output for namespace mom_diapyc_energy_req Generating XML output for namespace mom_document Generating XML output for namespace mom_domains Generating XML output for namespace mom_dyn_horgrid Generating XML output for namespace mom_dynamics_split_rk2 Generating XML output for namespace mom_dynamics_unsplit Generating XML output for namespace mom_dynamics_unsplit_rk2 Generating XML output for namespace MOM_energetic_PBL Generating XML output for namespace mom_energetic_pbl Generating XML output for namespace mom_entrain_diffusive Generating XML output for namespace mom_eos Generating XML output for namespace mom_eos_linear Generating XML output for namespace mom_eos_nemo Generating XML output for namespace mom_eos_teos10 Generating XML output for namespace mom_eos_unesco Generating XML output for namespace mom_eos_wright Generating XML output for namespace mom_error_handler Generating XML output for namespace mom_file_parser Generating XML output for namespace mom_fixed_initialization Generating XML output for namespace mom_forcing_type Generating XML output for namespace mom_full_convection Generating XML output for namespace mom_generic_tracer Generating XML output for namespace mom_geothermal Generating XML output for namespace mom_get_input Generating XML output for namespace mom_grid Generating XML output for namespace mom_grid_initialize Generating XML output for namespace mom_hor_index Generating XML output for namespace mom_hor_visc Generating XML output for namespace mom_horizontal_regridding Generating XML output for namespace mom_ice_shelf Generating XML output for namespace mom_ice_shelf_dynamics Generating XML output for namespace mom_ice_shelf_initialize Generating XML output for namespace mom_ice_shelf_state Generating XML output for namespace mom_int_tide_input Generating XML output for namespace mom_interface_heights Generating XML output for namespace mom_internal_tides Generating XML output for namespace mom_intrinsic_functions Generating XML output for namespace mom_io Generating XML output for namespace mom_isopycnal_slopes Generating XML output for namespace mom_kappa_shear Generating XML output for namespace mom_lateral_boundary_diffusion Generating XML output for namespace mom_lateral_mixing_coeffs Generating XML output for namespace mom_marine_ice Generating XML output for namespace mom_meke Generating XML output for namespace mom_meke_types Generating XML output for namespace mom_mixed_layer_restrat Generating XML output for namespace mom_neutral_diffusion Generating XML output for namespace mom_obsolete_diagnostics Generating XML output for namespace mom_obsolete_params Generating XML output for namespace mom_ocmip2_cfc Generating XML output for namespace MOM_oda_driver_mod Generating XML output for namespace mom_oda_driver_mod Generating XML output for namespace mom_offline_aux Generating XML output for namespace mom_offline_main Generating XML output for namespace mom_opacity Generating XML output for namespace mom_open_boundary Generating XML output for namespace mom_pointaccel Generating XML output for namespace mom_pressureforce Generating XML output for namespace mom_pressureforce_fv Generating XML output for namespace mom_pressureforce_mont Generating XML output for namespace mom_random Generating XML output for namespace mom_regridding Generating XML output for namespace mom_regularize_layers Generating XML output for namespace mom_remapping Generating XML output for namespace mom_restart Generating XML output for namespace mom_safe_alloc Generating XML output for namespace mom_set_diffusivity Generating XML output for namespace mom_set_visc Generating XML output for namespace mom_shared_initialization Generating XML output for namespace mom_spatial_means Generating XML output for namespace mom_sponge Generating XML output for namespace mom_state_initialization Generating XML output for namespace mom_string_functions Generating XML output for namespace mom_sum_output Generating XML output for namespace mom_surface_forcing Generating XML output for namespace mom_surface_forcing_gfdl Generating XML output for namespace mom_tfreeze Generating XML output for namespace mom_thickness_diffuse Generating XML output for namespace mom_tidal_forcing Generating XML output for namespace mom_tidal_mixing Generating XML output for namespace mom_time_manager Generating XML output for namespace mom_tracer_advect Generating XML output for namespace mom_tracer_diabatic Generating XML output for namespace MOM_tracer_flow_control Generating XML output for namespace mom_tracer_flow_control Generating XML output for namespace mom_tracer_hor_diff Generating XML output for namespace mom_tracer_initialization_from_z Generating XML output for namespace mom_tracer_registry Generating XML output for namespace mom_tracer_z_init Generating XML output for namespace mom_transcribe_grid Generating XML output for namespace mom_transform_fms Generating XML output for namespace mom_unit_scaling Generating XML output for namespace mom_unit_tests Generating XML output for namespace mom_variables Generating XML output for namespace mom_vert_friction Generating XML output for namespace mom_verticalgrid Generating XML output for namespace mom_wave_interface Generating XML output for namespace mom_wave_speed Generating XML output for namespace mom_wave_structure Generating XML output for namespace mom_write_cputime Generating XML output for namespace NETCDF Generating XML output for namespace netcdf Generating XML output for namespace neverworld_initialization Generating XML output for namespace ocean_da_core_mod Generating XML output for namespace ocean_da_types_mod Generating XML output for namespace ocean_model_mod Generating XML output for namespace oil_tracer Generating XML output for namespace p1m_functions Generating XML output for namespace p3m_functions Generating XML output for namespace PCM_functions Generating XML output for namespace pcm_functions Generating XML output for namespace phillips_initialization Generating XML output for namespace plm_functions Generating XML output for namespace polynomial_functions Generating XML output for namespace ppm_functions Generating XML output for namespace pqm_functions Generating XML output for namespace pseudo_salt_tracer Generating XML output for namespace regional_dyes Generating XML output for namespace regrid_consts Generating XML output for namespace regrid_edge_values Generating XML output for namespace regrid_interp Generating XML output for namespace regrid_solvers Generating XML output for namespace rgc_initialization Generating XML output for namespace rgc_tracer Generating XML output for namespace rossby_front_2d_initialization Generating XML output for namespace scm_cvmix_tests Generating XML output for namespace seamount_initialization Generating XML output for namespace shelfwave_initialization Generating XML output for namespace sloshing_initialization Generating XML output for namespace soliton_initialization Generating XML output for namespace supercritical_initialization Generating XML output for namespace tidal_bay_initialization Generating XML output for namespace tidal_forcing Generating XML output for namespace user_change_diffusivity Generating XML output for namespace user_initialization Generating XML output for namespace user_revise_forcing Generating XML output for namespace user_shelf_init Generating XML output for namespace user_surface_forcing Generating XML output for namespace user_tracer_example Generating XML output for namespace write_ocean_obs_mod Generating XML output for file MOM_surface_forcing_gfdl.F90 Generating XML output for file ocean_model_MOM.F90 Generating XML output for file MOM_memory.h Generating XML output for file FMS_coupler_util.F90 Generating XML output for file generic_tracer.F90 Generating XML output for file generic_tracer_utils.F90 Generating XML output for file README.md Generating XML output for file README.md Generating XML output for file README.md Generating XML output for file kdtree.f90 Generating XML output for file ocean_da_core.F90 Generating XML output for file ocean_da_types.F90 Generating XML output for file write_ocean_obs.F90 Generating XML output for file atmos_ocean_fluxes.F90 Generating XML output for file MESO_surface_forcing.F90 Generating XML output for file MOM_driver.F90 Generating XML output for file MOM_surface_forcing.F90 Generating XML output for file user_surface_forcing.F90 Generating XML output for file _ALE.dox Generating XML output for file _ALE_timestep.dox Generating XML output for file coord_adapt.F90 Generating XML output for file coord_hycom.F90 Generating XML output for file coord_rho.F90 Generating XML output for file coord_sigma.F90 Generating XML output for file coord_slight.F90 Generating XML output for file coord_zlike.F90 Generating XML output for file MOM_ALE.F90 Generating XML output for file MOM_regridding.F90 Generating XML output for file MOM_remapping.F90 Generating XML output for file P1M_functions.F90 Generating XML output for file P3M_functions.F90 Generating XML output for file PCM_functions.F90 Generating XML output for file PLM_functions.F90 Generating XML output for file polynomial_functions.F90 Generating XML output for file PPM_functions.F90 Generating XML output for file PQM_functions.F90 Generating XML output for file regrid_consts.F90 Generating XML output for file regrid_edge_values.F90 Generating XML output for file regrid_interp.F90 Generating XML output for file regrid_solvers.F90 Generating XML output for file _Baroclinic_Momentum.dox Generating XML output for file _Barotropic_Baroclinic_Coupling.dox Generating XML output for file _Barotropic_Momentum.dox Generating XML output for file _Discrete_Coriolis.dox Generating XML output for file _Discrete_grids.dox Generating XML output for file _Discrete_OBC.dox Generating XML output for file _Discrete_PG.dox Generating XML output for file _Energetic_consistancy.dox Generating XML output for file _Finite_difference.dox Generating XML output for file _General_coordinate.dox Generating XML output for file _Governing.dox Generating XML output for file _Notation.dox Generating XML output for file _PPM.dox Generating XML output for file _Sea_ice.dox Generating XML output for file _Solar_radiation.dox Generating XML output for file _Specifics.dox Generating XML output for file _Timestep_Overview.dox Generating XML output for file MOM.F90 Generating XML output for file MOM_barotropic.F90 Generating XML output for file MOM_boundary_update.F90 Generating XML output for file MOM_checksum_packages.F90 Generating XML output for file MOM_continuity.F90 Generating XML output for file MOM_continuity_PPM.F90 Generating XML output for file MOM_CoriolisAdv.F90 Generating XML output for file MOM_density_integrals.F90 Generating XML output for file MOM_dynamics_split_RK2.F90 Generating XML output for file MOM_dynamics_unsplit.F90 Generating XML output for file MOM_dynamics_unsplit_RK2.F90 Generating XML output for file MOM_forcing_type.F90 Generating XML output for file MOM_grid.F90 Generating XML output for file MOM_interface_heights.F90 Generating XML output for file MOM_isopycnal_slopes.F90 Generating XML output for file MOM_open_boundary.F90 Generating XML output for file MOM_PressureForce.F90 Generating XML output for file MOM_PressureForce_FV.F90 Generating XML output for file MOM_PressureForce_Montgomery.F90 Generating XML output for file MOM_transcribe_grid.F90 Generating XML output for file MOM_unit_tests.F90 Generating XML output for file MOM_variables.F90 Generating XML output for file MOM_verticalGrid.F90 Generating XML output for file MOM_debugging.F90 Generating XML output for file MOM_diagnostics.F90 Generating XML output for file MOM_obsolete_diagnostics.F90 Generating XML output for file MOM_obsolete_params.F90 Generating XML output for file MOM_PointAccel.F90 Generating XML output for file MOM_sum_output.F90 Generating XML output for file MOM_wave_speed.F90 Generating XML output for file MOM_wave_structure.F90 Generating XML output for file _Equation_of_State.dox Generating XML output for file MOM_EOS.F90 Generating XML output for file MOM_EOS_linear.F90 Generating XML output for file MOM_EOS_NEMO.F90 Generating XML output for file MOM_EOS_TEOS10.F90 Generating XML output for file MOM_EOS_UNESCO.F90 Generating XML output for file MOM_EOS_Wright.F90 Generating XML output for file MOM_TFreeze.F90 Generating XML output for file _Diagnostics.dox Generating XML output for file _Domain_decomposition.dox Generating XML output for file _Global_grids.dox Generating XML output for file _Horizontal_indexing.dox Generating XML output for file _Parallel_IO.dox Generating XML output for file _Regional_grids.dox Generating XML output for file _Runtime_parameter_system.dox Generating XML output for file _Testing.dox Generating XML output for file _Vertical_grids.dox Generating XML output for file MOM_array_transform.F90 Generating XML output for file MOM_checksums.F90 Generating XML output for file MOM_coms.F90 Generating XML output for file MOM_constants.F90 Generating XML output for file MOM_cpu_clock.F90 Generating XML output for file MOM_diag_manager_wrapper.F90 Generating XML output for file MOM_diag_mediator.F90 Generating XML output for file MOM_diag_remap.F90 Generating XML output for file MOM_diag_vkernels.F90 Generating XML output for file MOM_document.F90 Generating XML output for file MOM_domains.F90 Generating XML output for file MOM_dyn_horgrid.F90 Generating XML output for file MOM_error_handler.F90 Generating XML output for file MOM_file_parser.F90 Generating XML output for file MOM_get_input.F90 Generating XML output for file MOM_hor_index.F90 Generating XML output for file MOM_horizontal_regridding.F90 Generating XML output for file MOM_intrinsic_functions.F90 Generating XML output for file MOM_io.F90 Generating XML output for file MOM_memory_macros.h Generating XML output for file MOM_random.F90 Generating XML output for file MOM_restart.F90 Generating XML output for file MOM_safe_alloc.F90 Generating XML output for file MOM_spatial_means.F90 Generating XML output for file MOM_string_functions.F90 Generating XML output for file MOM_time_manager.F90 Generating XML output for file MOM_transform_FMS.F90 Generating XML output for file MOM_unit_scaling.F90 Generating XML output for file MOM_write_cputime.F90 Generating XML output for file version_variable.h Generating XML output for file MOM_ice_shelf.F90 Generating XML output for file MOM_ice_shelf_dynamics.F90 Generating XML output for file MOM_ice_shelf_initialize.F90 Generating XML output for file MOM_ice_shelf_state.F90 Generating XML output for file MOM_marine_ice.F90 Generating XML output for file user_shelf_init.F90 Generating XML output for file MOM_coord_initialization.F90 Generating XML output for file MOM_fixed_initialization.F90 Generating XML output for file MOM_grid_initialize.F90 Generating XML output for file MOM_shared_initialization.F90 Generating XML output for file MOM_state_initialization.F90 Generating XML output for file MOM_tracer_initialization_from_Z.F90 Generating XML output for file MOM_oda_driver.F90 Generating XML output for file MOM_hor_visc.F90 Generating XML output for file MOM_internal_tides.F90 Generating XML output for file MOM_lateral_mixing_coeffs.F90 Generating XML output for file MOM_MEKE.F90 Generating XML output for file MOM_MEKE_types.F90 Generating XML output for file MOM_mixed_layer_restrat.F90 Generating XML output for file MOM_thickness_diffuse.F90 Generating XML output for file MOM_tidal_forcing.F90 Generating XML output for file _CVMix_KPP.dox Generating XML output for file MOM_ALE_sponge.F90 Generating XML output for file MOM_bkgnd_mixing.F90 Generating XML output for file MOM_bulk_mixed_layer.F90 Generating XML output for file MOM_CVMix_conv.F90 Generating XML output for file MOM_CVMix_ddiff.F90 Generating XML output for file MOM_CVMix_KPP.F90 Generating XML output for file MOM_CVMix_shear.F90 Generating XML output for file MOM_diabatic_aux.F90 Generating XML output for file MOM_diabatic_driver.F90 Generating XML output for file MOM_diapyc_energy_req.F90 Generating XML output for file MOM_energetic_PBL.F90 Generating XML output for file MOM_entrain_diffusive.F90 Generating XML output for file MOM_full_convection.F90 Generating XML output for file MOM_geothermal.F90 Generating XML output for file MOM_internal_tide_input.F90 Generating XML output for file MOM_kappa_shear.F90 Generating XML output for file MOM_opacity.F90 Generating XML output for file MOM_regularize_layers.F90 Generating XML output for file MOM_set_diffusivity.F90 Generating XML output for file MOM_set_viscosity.F90 Generating XML output for file MOM_sponge.F90 Generating XML output for file MOM_tidal_mixing.F90 Generating XML output for file MOM_vert_friction.F90 Generating XML output for file _Advection.dox Generating XML output for file _Discrete_tracer.dox Generating XML output for file _Horizontal_diffusion.dox Generating XML output for file _Passive_tracer.dox Generating XML output for file _Tracer_fluxes.dox Generating XML output for file _Tracer_timestep.dox Generating XML output for file _Tracer_Transport.dox Generating XML output for file _Vertical_diffusion.dox Generating XML output for file advection_test_tracer.F90 Generating XML output for file boundary_impulse_tracer.F90 Generating XML output for file DOME_tracer.F90 Generating XML output for file dye_example.F90 Generating XML output for file dyed_obc_tracer.F90 Generating XML output for file ideal_age_example.F90 Generating XML output for file ISOMIP_tracer.F90 Generating XML output for file MOM_generic_tracer.F90 Generating XML output for file MOM_lateral_boundary_diffusion.F90 Generating XML output for file MOM_neutral_diffusion.F90 Generating XML output for file MOM_OCMIP2_CFC.F90 Generating XML output for file MOM_offline_aux.F90 Generating XML output for file MOM_offline_main.F90 Generating XML output for file MOM_tracer_advect.F90 Generating XML output for file MOM_tracer_diabatic.F90 Generating XML output for file MOM_tracer_flow_control.F90 Generating XML output for file MOM_tracer_hor_diff.F90 Generating XML output for file MOM_tracer_registry.F90 Generating XML output for file MOM_tracer_Z_init.F90 Generating XML output for file oil_tracer.F90 Generating XML output for file pseudo_salt_tracer.F90 Generating XML output for file RGC_tracer.F90 Generating XML output for file tracer_example.F90 Generating XML output for file adjustment_initialization.F90 Generating XML output for file baroclinic_zone_initialization.F90 Generating XML output for file basin_builder.F90 Generating XML output for file benchmark_initialization.F90 Generating XML output for file BFB_initialization.F90 Generating XML output for file BFB_surface_forcing.F90 Generating XML output for file circle_obcs_initialization.F90 Generating XML output for file dense_water_initialization.F90 Generating XML output for file DOME2d_initialization.F90 Generating XML output for file DOME_initialization.F90 Generating XML output for file dumbbell_initialization.F90 Generating XML output for file dumbbell_surface_forcing.F90 Generating XML output for file dyed_channel_initialization.F90 Generating XML output for file dyed_obcs_initialization.F90 Generating XML output for file external_gwave_initialization.F90 Generating XML output for file Idealized_Hurricane.F90 Generating XML output for file ISOMIP_initialization.F90 Generating XML output for file Kelvin_initialization.F90 Generating XML output for file lock_exchange_initialization.F90 Generating XML output for file MOM_controlled_forcing.F90 Generating XML output for file MOM_wave_interface.F90 Generating XML output for file Neverworld_initialization.F90 Generating XML output for file Phillips_initialization.F90 Generating XML output for file RGC_initialization.F90 Generating XML output for file Rossby_front_2d_initialization.F90 Generating XML output for file SCM_CVMix_tests.F90 Generating XML output for file seamount_initialization.F90 Generating XML output for file shelfwave_initialization.F90 Generating XML output for file sloshing_initialization.F90 Generating XML output for file soliton_initialization.F90 Generating XML output for file supercritical_initialization.F90 Generating XML output for file tidal_bay_initialization.F90 Generating XML output for file user_change_diffusivity.F90 Generating XML output for file user_initialization.F90 Generating XML output for file user_revise_forcing.F90 Generating XML output for page ALE Generating XML output for page ALE_Timestep Generating XML output for page Baroclinic_Momentum_Equations Generating XML output for page Barotropic_Baroclinic_Coupling Generating XML output for page Barotropic_Momentum_Equations Generating XML output for page Discrete_Coriolis Generating XML output for page Discrete_Grids Generating XML output for page Discrete_OBC Generating XML output for page Discrete_PG Generating XML output for page Energetic_Consistency Generating XML output for page Finite_Difference_Operators Generating XML output for page General_Coordinate Generating XML output for page Governing_Equations Generating XML output for page Notation Generating XML output for page PPM Generating XML output for page Sea_Ice Generating XML output for page Solar_Radiation Generating XML output for page Specifics Generating XML output for page Timestep_Overview Generating XML output for page Equation_of_State Generating XML output for page Diagnostics Generating XML output for page Domain_Decomposition Generating XML output for page Global_Grids Generating XML output for page Horizontal_Indexing Generating XML output for page Parallel_IO Generating XML output for page Regional_Grids Generating XML output for page Runtime_Parameter_System Generating XML output for page Testing Generating XML output for page Vertical_Grids Generating XML output for page CVMix_KPP Generating XML output for page Tracer_Advection Generating XML output for page Discrete_Tracer Generating XML output for page Horizontal_Diffusion Generating XML output for page Passive_Tracers Generating XML output for page Tracer_Fluxes Generating XML output for page Tracer_Timestep Generating XML output for page Tracer_Transport_Equations Generating XML output for page Vertical_Diffusion Generating XML output for page md__home_cermak_src_MOM6.devrob_config_src_external_GFDL_ocean_BGC_README Generating XML output for page md__home_cermak_src_MOM6.devrob_config_src_external_ODA_hooks_README Generating XML output for page md__home_cermak_src_MOM6.devrob_config_src_external_README Generating XML output for page todo Generating XML output for page citelist Generate XML output for dir /home/cermak/src/MOM6.devrob/src/ALE/ Generate XML output for dir /home/cermak/src/MOM6.devrob/config_src/ Generate XML output for dir /home/cermak/src/MOM6.devrob/src/core/ Generate XML output for dir /home/cermak/src/MOM6.devrob/config_src/coupled_driver/ Generate XML output for dir /home/cermak/src/MOM6.devrob/src/diagnostics/ Generate XML output for dir /home/cermak/src/MOM6.devrob/config_src/dynamic_symmetric/ Generate XML output for dir /home/cermak/src/MOM6.devrob/src/equation_of_state/ Generate XML output for dir /home/cermak/src/MOM6.devrob/config_src/external/ Generate XML output for dir /home/cermak/src/MOM6.devrob/src/framework/ Generate XML output for dir /home/cermak/src/MOM6.devrob/config_src/external/GFDL_ocean_BGC/ Generate XML output for dir /home/cermak/src/MOM6.devrob/src/ice_shelf/ Generate XML output for dir /home/cermak/src/MOM6.devrob/src/initialization/ Generate XML output for dir /home/cermak/src/MOM6.devrob/src/parameterizations/lateral/ Generate XML output for dir /home/cermak/src/MOM6.devrob/src/ocean_data_assim/ Generate XML output for dir /home/cermak/src/MOM6.devrob/config_src/external/ODA_hooks/ Generate XML output for dir /home/cermak/src/MOM6.devrob/src/parameterizations/ Generate XML output for dir /home/cermak/src/MOM6.devrob/config_src/solo_driver/ Generate XML output for dir /home/cermak/src/MOM6.devrob/src/ Generate XML output for dir /home/cermak/src/MOM6.devrob/src/tracer/ Generate XML output for dir /home/cermak/src/MOM6.devrob/src/user/ Generate XML output for dir /home/cermak/src/MOM6.devrob/src/parameterizations/vertical/ Running plantuml with JAVA... lookup cache used 16172/65536 hits=115651 misses=19797 finished... Doxygen version found in $PATH: 1.8.16 Sphinx-build mode: latex Running Doxygen 1.8.16 Running: doxygen Doxyfile_rtd [app] setting up extension: 'sphinx.addnodes' [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] setting up extension: 'sphinx.builders.changes' [app] adding builder: [app] setting up extension: 'sphinx.builders.epub3' [app] adding builder: [app] adding config value: ('epub_basename', . at 0xffff9e630e50>, None) [app] adding config value: ('epub_version', 3.0, 'epub') [app] adding config value: ('epub_theme', 'epub', 'epub') [app] adding config value: ('epub_theme_options', {}, 'epub') [app] adding config value: ('epub_title', . at 0xffff9e630ca0>, 'epub') [app] adding config value: ('epub_author', . at 0xffff9e630c10>, 'epub') [app] adding config value: ('epub_language', . at 0xffff9e630dc0>, 'epub') [app] adding config value: ('epub_publisher', . at 0xffff9e25a280>, 'epub') [app] adding config value: ('epub_copyright', . at 0xffff9e25a310>, 'epub') [app] adding config value: ('epub_identifier', 'unknown', 'epub') [app] adding config value: ('epub_scheme', 'unknown', 'epub') [app] adding config value: ('epub_uid', 'unknown', 'env') [app] adding config value: ('epub_cover', (), 'env') [app] adding config value: ('epub_guide', (), 'env') [app] adding config value: ('epub_pre_files', [], 'env') [app] adding config value: ('epub_post_files', [], 'env') [app] adding config value: ('epub_css_files', . at 0xffff9e25a3a0>, 'epub') [app] adding config value: ('epub_exclude_files', [], 'env') [app] adding config value: ('epub_tocdepth', 3, 'env') [app] adding config value: ('epub_tocdup', True, 'env') [app] adding config value: ('epub_tocscope', 'default', 'env') [app] adding config value: ('epub_fix_images', False, 'env') [app] adding config value: ('epub_max_image_width', 0, 'env') [app] adding config value: ('epub_show_urls', 'inline', 'epub') [app] adding config value: ('epub_use_index', . at 0xffff9e25a430>, 'epub') [app] adding config value: ('epub_description', 'unknown', 'epub') [app] adding config value: ('epub_contributor', 'unknown', 'epub') [app] adding config value: ('epub_writing_mode', 'horizontal', 'epub', ) [app] connecting event 'config-inited' (800): [id=0] [app] connecting event 'builder-inited' (500): [id=1] [app] setting up extension: 'sphinx.builders.dirhtml' [app] setting up extension: 'sphinx.builders.html' [app] adding builder: [app] adding config value: ('html_theme', 'alabaster', 'html') [app] adding config value: ('html_theme_path', [], 'html') [app] adding config value: ('html_theme_options', {}, 'html') [app] adding config value: ('html_title', . at 0xffff9e25a4c0>, 'html', []) [app] adding config value: ('html_short_title', . at 0xffff9e25a550>, 'html') [app] adding config value: ('html_style', None, 'html', []) [app] adding config value: ('html_logo', None, 'html', []) [app] adding config value: ('html_favicon', None, 'html', []) [app] adding config value: ('html_css_files', [], 'html') [app] adding config value: ('html_js_files', [], 'html') [app] adding config value: ('html_static_path', [], 'html') [app] adding config value: ('html_extra_path', [], 'html') [app] adding config value: ('html_last_updated_fmt', None, 'html', []) [app] adding config value: ('html_sidebars', {}, 'html') [app] adding config value: ('html_additional_pages', {}, 'html') [app] adding config value: ('html_domain_indices', True, 'html', []) [app] adding config value: ('html_add_permalinks', '¶', 'html') [app] adding config value: ('html_use_index', True, 'html') [app] adding config value: ('html_split_index', False, 'html') [app] adding config value: ('html_copy_source', True, 'html') [app] adding config value: ('html_show_sourcelink', True, 'html') [app] adding config value: ('html_sourcelink_suffix', '.txt', 'html') [app] adding config value: ('html_use_opensearch', '', 'html') [app] adding config value: ('html_file_suffix', None, 'html', []) [app] adding config value: ('html_link_suffix', None, 'html', []) [app] adding config value: ('html_show_copyright', True, 'html') [app] adding config value: ('html_show_sphinx', True, 'html') [app] adding config value: ('html_context', {}, 'html') [app] adding config value: ('html_output_encoding', 'utf-8', 'html') [app] adding config value: ('html_compact_lists', True, 'html') [app] adding config value: ('html_secnumber_suffix', '. ', 'html') [app] adding config value: ('html_search_language', None, 'html', []) [app] adding config value: ('html_search_options', {}, 'html') [app] adding config value: ('html_search_scorer', '', None) [app] adding config value: ('html_scaled_image_link', True, 'html') [app] adding config value: ('html_baseurl', '', 'html') [app] adding config value: ('html_codeblock_linenos_style', 'table', 'html', ) [app] adding config value: ('html_math_renderer', None, 'env') [app] adding config value: ('html4_writer', False, 'html') [app] connecting event 'config-inited' (800): [id=2] [app] connecting event 'config-inited' (800): [id=3] [app] connecting event 'config-inited' (800): [id=4] [app] connecting event 'config-inited' (800): [id=5] [app] connecting event 'config-inited' (800): [id=6] [app] connecting event 'config-inited' (800): [id=7] [app] connecting event 'builder-inited' (500): [id=8] [app] connecting event 'html-page-context' (500): [id=9] [app] setting up extension: 'sphinx.ext.mathjax' [app] adding html_math_renderer: mathjax, (, None), (, None) [app] adding config value: ('mathjax_path', 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML', 'html') [app] adding config value: ('mathjax_options', {}, 'html') [app] adding config value: ('mathjax_inline', ['\\(', '\\)'], 'html') [app] adding config value: ('mathjax_display', ['\\[', '\\]'], 'html') [app] adding config value: ('mathjax_config', None, 'html') [app] connecting event 'env-updated' (500): [id=10] [app] setting up extension: 'sphinx.builders.html.transforms' [app] adding post transform: [app] adding builder: [app] setting up extension: 'sphinx.builders.dummy' [app] adding builder: [app] setting up extension: 'sphinx.builders.gettext' [app] adding builder: [app] adding config value: ('gettext_compact', True, 'gettext', typing.Any) [app] adding config value: ('gettext_location', True, 'gettext') [app] adding config value: ('gettext_uuid', False, 'gettext') [app] adding config value: ('gettext_auto_build', True, 'env') [app] adding config value: ('gettext_additional_targets', [], 'env') [app] adding config value: ('gettext_last_translator', 'FULL NAME ', 'gettext') [app] adding config value: ('gettext_language_team', 'LANGUAGE ', 'gettext') [app] setting up extension: 'sphinx.builders.html' [app] setting up extension: 'sphinx.builders.latex' [app] setting up extension: 'sphinx.builders.latex.transforms' [app] adding transform: [app] adding post transform: [app] adding post transform: [app] adding post transform: [app] adding post transform: [app] adding post transform: [app] adding post transform: [app] adding post transform: [app] adding post transform: [app] adding builder: [app] connecting event 'config-inited' (800): [id=11] [app] connecting event 'config-inited' (800): [id=12] [app] connecting event 'builder-inited' (500): [id=13] [app] adding config value: ('latex_engine', , None, ) [app] adding config value: ('latex_documents', , None) [app] adding config value: ('latex_logo', None, None, []) [app] adding config value: ('latex_appendices', [], None) [app] adding config value: ('latex_use_latex_multicolumn', False, None) [app] adding config value: ('latex_use_xindy', , None, []) [app] adding config value: ('latex_toplevel_sectioning', None, None, ) [app] adding config value: ('latex_domain_indices', True, None, []) [app] adding config value: ('latex_show_urls', 'no', None) [app] adding config value: ('latex_show_pagerefs', False, None) [app] adding config value: ('latex_elements', {}, None) [app] adding config value: ('latex_additional_files', [], None) [app] adding config value: ('latex_theme', 'manual', None, []) [app] adding config value: ('latex_theme_options', {}, None) [app] adding config value: ('latex_theme_path', [], None, []) [app] adding config value: ('latex_docclass', , None) [app] setting up extension: 'sphinx.builders.linkcheck' [app] adding builder: [app] adding config value: ('linkcheck_ignore', [], None) [app] adding config value: ('linkcheck_auth', [], None) [app] adding config value: ('linkcheck_request_headers', {}, None) [app] adding config value: ('linkcheck_retries', 1, None) [app] adding config value: ('linkcheck_timeout', None, None, []) [app] adding config value: ('linkcheck_workers', 5, None) [app] adding config value: ('linkcheck_anchors', True, None) [app] adding config value: ('linkcheck_anchors_ignore', ['^!'], None) [app] setting up extension: 'sphinx.builders.manpage' [app] adding builder: [app] adding config value: ('man_pages', , None) [app] adding config value: ('man_show_urls', False, None) [app] setting up extension: 'sphinx.builders.singlehtml' [app] setting up extension: 'sphinx.builders.html' [app] adding builder: [app] adding config value: ('singlehtml_sidebars', . at 0xffff9de820d0>, 'html') [app] setting up extension: 'sphinx.builders.texinfo' [app] adding builder: [app] adding config value: ('texinfo_documents', , None) [app] adding config value: ('texinfo_appendices', [], None) [app] adding config value: ('texinfo_elements', {}, None) [app] adding config value: ('texinfo_domain_indices', True, None, []) [app] adding config value: ('texinfo_show_urls', 'footnote', None) [app] adding config value: ('texinfo_no_detailmenu', False, None) [app] setting up extension: 'sphinx.builders.text' [app] adding builder: [app] adding config value: ('text_sectionchars', '*=-~"+`', 'env') [app] adding config value: ('text_newlines', 'unix', 'env') [app] adding config value: ('text_add_secnumbers', True, 'env') [app] adding config value: ('text_secnumber_suffix', '. ', 'env') [app] setting up extension: 'sphinx.builders.xml' [app] adding builder: [app] adding builder: [app] adding config value: ('xml_pretty', True, 'env') [app] setting up extension: 'sphinx.config' [app] connecting event 'config-inited' (800): [id=14] [app] connecting event 'config-inited' (800): [id=15] [app] connecting event 'config-inited' (800): [id=16] [app] connecting event 'config-inited' (800): [id=17] [app] connecting event 'config-inited' (800): [id=18] [app] connecting event 'env-get-outdated' (500): [id=19] [app] setting up extension: 'sphinx.domains.c' [app] adding domain: [app] adding config value: ('c_id_attributes', [], 'env') [app] adding config value: ('c_paren_attributes', [], 'env') [app] adding post transform: [app] adding config value: ('c_allow_pre_v3', False, 'env') [app] adding config value: ('c_warn_on_allowed_pre_v3', True, 'env') [app] setting up extension: 'sphinx.domains.changeset' [app] adding domain: [app] adding directive: ('deprecated', ) [app] adding directive: ('versionadded', ) [app] adding directive: ('versionchanged', ) [app] setting up extension: 'sphinx.domains.citation' [app] adding domain: [app] adding transform: [app] adding transform: [app] setting up extension: 'sphinx.domains.cpp' [app] adding domain: [app] adding config value: ('cpp_index_common_prefix', [], 'env') [app] adding config value: ('cpp_id_attributes', [], 'env') [app] adding config value: ('cpp_paren_attributes', [], 'env') [app] adding post transform: [app] adding config value: ('cpp_debug_lookup', False, '') [app] adding config value: ('cpp_debug_show_tree', False, '') [app] connecting event 'builder-inited' (500): .setDebugFlags at 0xffff9de2c280> [id=20] [app] setting up extension: 'sphinx.domains.index' [app] adding domain: [app] adding directive: ('index', ) [app] adding role: ('index', ) [app] setting up extension: 'sphinx.domains.javascript' [app] adding domain: [app] setting up extension: 'sphinx.domains.math' [app] adding domain: [app] adding role: ('eq', ) [app] setting up extension: 'sphinx.domains.python' [app] setting up extension: 'sphinx.directives' [app] adding config value: ('strip_signature_backslash', False, 'env') [app] adding event: 'object-description-transform' [app] adding domain: [app] connecting event 'object-description-transform' (500): [id=21] [app] connecting event 'missing-reference' (900): [id=22] [app] setting up extension: 'sphinx.domains.rst' [app] adding domain: [app] setting up extension: 'sphinx.domains.std' [app] adding domain: [app] setting up extension: 'sphinx.directives' [app] setting up extension: 'sphinx.directives.code' [app] setting up extension: 'sphinx.directives.other' [app] setting up extension: 'sphinx.directives.patches' [app] setting up extension: 'sphinx.extension' [app] connecting event 'config-inited' (800): [id=23] [app] setting up extension: 'sphinx.parsers' [app] adding search source_parser: [app] setting up extension: 'sphinx.registry' [app] connecting event 'config-inited' (800): [id=24] [app] setting up extension: 'sphinx.roles' [app] setting up extension: 'sphinx.transforms' [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] setting up extension: 'sphinx.transforms.compact_bullet_list' [app] adding transform: [app] setting up extension: 'sphinx.transforms.i18n' [app] adding transform: [app] adding transform: [app] adding transform: [app] setting up extension: 'sphinx.transforms.references' [app] adding transform: [app] adding transform: [app] adding transform: [app] setting up extension: 'sphinx.transforms.post_transforms' [app] adding post transform: [app] adding post transform: [app] adding post transform: [app] setting up extension: 'sphinx.transforms.post_transforms.code' [app] adding post transform: [app] adding post transform: [app] setting up extension: 'sphinx.transforms.post_transforms.images' [app] adding post transform: [app] adding post transform: [app] setting up extension: 'sphinx.util.compat' [app] adding transform: [app] connecting event 'builder-inited' (500): [id=25] [app] setting up extension: 'sphinx.versioning' [app] adding transform: [app] setting up extension: 'sphinx.environment.collectors.dependencies' [app] adding environment collector: [app] connecting event 'doctree-read' (500): > [id=26] [app] connecting event 'env-merge-info' (500): > [id=27] [app] connecting event 'env-purge-doc' (500): > [id=28] [app] connecting event 'env-get-updated' (500): > [id=29] [app] connecting event 'env-get-outdated' (500): > [id=30] [app] setting up extension: 'sphinx.environment.collectors.asset' [app] adding environment collector: [app] connecting event 'doctree-read' (500): > [id=31] [app] connecting event 'env-merge-info' (500): > [id=32] [app] connecting event 'env-purge-doc' (500): > [id=33] [app] connecting event 'env-get-updated' (500): > [id=34] [app] connecting event 'env-get-outdated' (500): > [id=35] [app] adding environment collector: [app] connecting event 'doctree-read' (500): > [id=36] [app] connecting event 'env-merge-info' (500): > [id=37] [app] connecting event 'env-purge-doc' (500): > [id=38] [app] connecting event 'env-get-updated' (500): > [id=39] [app] connecting event 'env-get-outdated' (500): > [id=40] [app] setting up extension: 'sphinx.environment.collectors.metadata' [app] adding environment collector: [app] connecting event 'doctree-read' (500): > [id=41] [app] connecting event 'env-merge-info' (500): > [id=42] [app] connecting event 'env-purge-doc' (500): > [id=43] [app] connecting event 'env-get-updated' (500): > [id=44] [app] connecting event 'env-get-outdated' (500): > [id=45] [app] setting up extension: 'sphinx.environment.collectors.title' [app] adding environment collector: [app] connecting event 'doctree-read' (500): > [id=46] [app] connecting event 'env-merge-info' (500): > [id=47] [app] connecting event 'env-purge-doc' (500): > [id=48] [app] connecting event 'env-get-updated' (500): > [id=49] [app] connecting event 'env-get-outdated' (500): > [id=50] [app] setting up extension: 'sphinx.environment.collectors.toctree' [app] adding environment collector: [app] connecting event 'doctree-read' (500): > [id=51] [app] connecting event 'env-merge-info' (500): > [id=52] [app] connecting event 'env-purge-doc' (500): > [id=53] [app] connecting event 'env-get-updated' (500): > [id=54] [app] connecting event 'env-get-outdated' (500): > [id=55] [app] setting up extension: 'sphinxcontrib.applehelp' [app] setting up extension: 'sphinx.builders.html' [app] adding builder: [app] adding config value: ('applehelp_bundle_name', . at 0xffff9dc7e8b0>, 'applehelp') [app] adding config value: ('applehelp_bundle_id', None, 'applehelp', []) [app] adding config value: ('applehelp_dev_region', 'en-us', 'applehelp') [app] adding config value: ('applehelp_bundle_version', '1', 'applehelp') [app] adding config value: ('applehelp_icon', None, 'applehelp', []) [app] adding config value: ('applehelp_kb_product', . at 0xffff9db05670>, 'applehelp') [app] adding config value: ('applehelp_kb_url', None, 'applehelp', []) [app] adding config value: ('applehelp_remote_url', None, 'applehelp', []) [app] adding config value: ('applehelp_index_anchors', False, 'applehelp', []) [app] adding config value: ('applehelp_min_term_length', None, 'applehelp', []) [app] adding config value: ('applehelp_stopwords', . at 0xffff9db05940>, 'applehelp') [app] adding config value: ('applehelp_locale', . at 0xffff9db059d0>, 'applehelp') [app] adding config value: ('applehelp_title', . at 0xffff9db05550>, 'applehelp') [app] adding config value: ('applehelp_codesign_identity', . at 0xffff9db05a60>, 'applehelp') [app] adding config value: ('applehelp_codesign_flags', . at 0xffff9db05af0>, 'applehelp') [app] adding config value: ('applehelp_indexer_path', '/usr/bin/hiutil', 'applehelp') [app] adding config value: ('applehelp_codesign_path', '/usr/bin/codesign', 'applehelp') [app] adding config value: ('applehelp_disable_external_tools', False, 'applehelp') [app] setting up extension: 'sphinxcontrib.devhelp' [app] setting up extension: 'sphinx.builders.html' [app] adding builder: [app] adding config value: ('devhelp_basename', . at 0xffff9db058b0>, 'devhelp') [app] setting up extension: 'sphinxcontrib.htmlhelp' [app] setting up extension: 'sphinx.builders.html' [app] adding builder: [app] adding config value: ('htmlhelp_basename', , '') [app] adding config value: ('htmlhelp_file_suffix', None, 'html', []) [app] adding config value: ('htmlhelp_link_suffix', None, 'html', []) [app] setting up extension: 'sphinxcontrib.serializinghtml' [app] setting up extension: 'sphinx.builders.html' [app] adding builder: [app] adding builder: [app] setting up extension: 'sphinxcontrib.qthelp' [app] setting up extension: 'sphinx.builders.html' [app] adding builder: [app] adding config value: ('qthelp_basename', . at 0xffff9db05c10>, 'html') [app] adding config value: ('qthelp_namespace', None, 'html', []) [app] adding config value: ('qthelp_theme', 'nonav', 'html') [app] adding config value: ('qthelp_theme_options', {}, 'html') [app] setting up extension: 'alabaster' [app] adding HTML theme: 'alabaster', '/home/cermak/venv/esmg/lib/python3.8/site-packages/alabaster-0.7.12-py3.8.egg/alabaster' [app] connecting event 'html-page-context' (500): [id=56] [app] setting up extension: 'sphinxcontrib.bibtex' [app] adding config value: ('bibtex_default_style', 'alpha', 'html') [app] connecting event 'builder-inited' (500): [id=57] [app] connecting event 'doctree-resolved' (500): [id=58] [app] connecting event 'doctree-resolved' (500): [id=59] [app] connecting event 'env-purge-doc' (500): [id=60] [app] connecting event 'env-updated' (500): [id=61] [app] adding directive: ('bibliography', ) [app] adding role: ('cite', ) [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding transform: [app] setting up extension: 'sphinx.ext.ifconfig' [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding directive: ('ifconfig', ) [app] connecting event 'doctree-resolved' (500): [id=62] [app] setting up extension: 'sphinxcontrib.autodoc_doxygen' [app] connecting event 'builder-inited' (500): [id=63] [app] connecting event 'builder-inited' (500): [id=64] [app] setting up extension: 'sphinx.ext.autodoc' [app] adding autodocumenter: [app] adding directive: ('automodule', ) [app] adding autodocumenter: [app] adding directive: ('autoclass', ) [app] adding autodocumenter: [app] adding directive: ('autoexception', ) [app] adding autodocumenter: [app] adding directive: ('autodata', ) [app] adding autodocumenter: [app] adding directive: ('autodatadecl', ) [app] adding autodocumenter: [app] adding directive: ('autogenericalias', ) [app] adding autodocumenter: [app] adding directive: ('autotypevar', ) [app] adding autodocumenter: [app] adding directive: ('autofunction', ) [app] adding autodocumenter: [app] adding directive: ('autodecorator', ) [app] adding autodocumenter: [app] adding directive: ('automethod', ) [app] adding autodocumenter: [app] adding directive: ('autoattribute', ) [app] adding autodocumenter: [app] adding directive: ('autoproperty', ) [app] adding autodocumenter: [app] adding directive: ('autoinstanceattribute', ) [app] adding autodocumenter: [app] adding directive: ('autoslotsattribute', ) [app] adding config value: ('autoclass_content', 'class', True, ) [app] adding config value: ('autodoc_member_order', 'alphabetical', True, ) [app] adding config value: ('autodoc_default_options', {}, True) [app] adding config value: ('autodoc_docstring_signature', True, True) [app] adding config value: ('autodoc_mock_imports', [], True) [app] adding config value: ('autodoc_typehints', 'signature', True, ) [app] adding config value: ('autodoc_warningiserror', True, True) [app] adding config value: ('autodoc_inherit_docstrings', True, True) [app] adding event: 'autodoc-before-process-signature' [app] adding event: 'autodoc-process-docstring' [app] adding event: 'autodoc-process-signature' [app] adding event: 'autodoc-skip-member' [app] connecting event 'config-inited' (800): [id=65] [app] setting up extension: 'sphinx.ext.autodoc.type_comment' [app] connecting event 'autodoc-before-process-signature' (500): [id=66] [app] setting up extension: 'sphinx.ext.autodoc.typehints' [app] connecting event 'autodoc-process-signature' (500): [id=67] [app] connecting event 'object-description-transform' (500): [id=68] [app] setting up extension: 'sphinx.ext.autosummary' [app] setting up extension: 'sphinx.ext.autodoc' [app] adding node: (, {'html': (, ), 'latex': (, ), 'text': (, ), 'man': (, ), 'texinfo': (, )}) [app] adding translation_handlers: , {'html': (, ), 'latex': (, ), 'text': (, ), 'man': (, ), 'texinfo': (, )} [app] adding node: (, {'html': (, ), 'latex': (, ), 'text': (, ), 'man': (, ), 'texinfo': (, )}) [app] adding translation_handlers: , {'html': (, ), 'latex': (, ), 'text': (, ), 'man': (, ), 'texinfo': (, )} [app] adding directive: ('autosummary', ) [app] adding role: ('autolink', ) [app] connecting event 'builder-inited' (500): [id=69] [app] adding config value: ('autosummary_context', {}, True) [app] adding config value: ('autosummary_filename_map', {}, 'html') [app] adding config value: ('autosummary_generate', [], True, []) [app] adding config value: ('autosummary_generate_overwrite', True, False) [app] adding config value: ('autosummary_mock_imports', . at 0xffff9d33ea60>, 'env') [app] adding config value: ('autosummary_imported_members', [], False, []) [app] adding autodocumenter: [app] adding directive: ('autodoxymodule', ) [app] adding autodocumenter: [app] adding directive: ('autodoxymethod', ) [app] adding autodocumenter: [app] adding directive: ('autodoxytype', ) [app] adding config value: ('doxygen_xml', '', 'env') [app] adding config value: ('autosummary_toctree', '', 'html') [app] adding directive: ('autodoxysummary', ) [app] adding directive: ('autodoxyenum', ) [app] setting up extension: 'sphinxfortran.fortran_domain' [app] adding domain: making output directory... done [app] adding config value: ('sphinx_build_mode', '', 'env') [app] adding role: ('latex', ) [app] emitting event: 'config-inited'(,) [app] emitting event: 'builder-inited'() [autosummary] generating autosummary for: api/modules.rst, api/pages.rst [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'ALE'), ('kind', 'page')] [debug] xml parsing for ALE [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(ALE_1section_ALE) title(Basics of the Vertical Lagrangian-Remap Method in MOM6) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_adcroft2006) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_adcroft2006')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_bleck2002) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_bleck2002')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_hirt1997) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_hirt1997')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_dukowicz2000) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_dukowicz2000')]) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_ref [debug] refid(citelist_1CITEREF_white2008) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_white2008')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_white2009) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_white2009')]) [debug] method=visit_para [debug] method=visit_ndash [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] math_labels(['eq:ale-thickness-equation', 'eq:ale-temperature-equation', 'eq:ale-new-grid', 'eq:ale-remap-temperature']) [debug] method=visit_para [debug] inserting math labels [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_hallberg2009) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_hallberg2009')]) [debug] method=visit_formula [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'ALE_Timestep'), ('kind', 'page')] [debug] xml parsing for ALE_Timestep [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(ALE_Timestep_1section_ALE_remap) title(Explanation of ALE remapping) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(The initial state with level surface (left) and the perturbed state after a wave has come through (right).) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(The regrid operation (left) and the remap operation (right).) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(The final state after remapping.) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Baroclinic_Momentum_Equations'), ('kind', 'page')] [debug] xml parsing for Baroclinic_Momentum_Equations [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(Baroclinic_Momentum_Equations_1section_BC_momentum) title(Baroclinic Momentum Equations) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_shchepetkin2005) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_shchepetkin2005')]) [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(Graphical notation for timestepping schemes in which the black line represents the ideal solution and the red line shows the actual solution. Phase errors are represented by the grey shapes between the bars normal to the circle.) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(Graphical notation for the Adams-Bashforth technique used in the ROMS model.) [debug] method=visit_para [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Barotropic_Baroclinic_Coupling'), ('kind', 'page')] [debug] xml parsing for Barotropic_Baroclinic_Coupling [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_sect1 [debug] visit_sect id(Barotropic_Baroclinic_Coupling_1SSH_Estimates) title(Two estimates of the free surface height) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_emphasis [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_ref [debug] refid(PPM) kindref(compound) ref([]) [debug] ref([('id', 'PPM'), ('kind', 'page')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_hallberg2009) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_hallberg2009')]) [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_sect2 [debug] visit_sect id(Barotropic_Baroclinic_Coupling_1subsec_practical) title(How practical is this iterative approach?) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(Piecewise parabolic reconstructions of :math:`h(x)`.) [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(Newton's method iterations for finding :math:`\Delta U`.) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_sect2 [debug] visit_sect id(Barotropic_Baroclinic_Coupling_1bottom_drag) title(A note on bottom drag) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(The continuous solution for barotropic flow plus a no-slip condition at the bottom.) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_sect1 [debug] visit_sect id(Barotropic_Baroclinic_Coupling_1bt-bc_details) title(Additional details about the split time stepping) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(The barotropic transports depend on the baroclinic flows and thicknesses.) [debug] method=visit_sect1 [debug] visit_sect id(Barotropic_Baroclinic_Coupling_1time-split_summary) title(Summary of MOM6 split time stepping) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Barotropic_Momentum_Equations'), ('kind', 'page')] [debug] xml parsing for Barotropic_Momentum_Equations [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_bleck1990) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_bleck1990')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_hallberg1997a) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_hallberg1997a')]) [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'CVMix_KPP'), ('kind', 'page')] [debug] xml parsing for CVMix_KPP [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_large1994) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_large1994')]) [debug] method=visit_ulink [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_sect1 [debug] visit_sect id(CVMix_KPP_1section_KPP_nutshell) title(KPP in a nutshell) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_large1994) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_large1994')]) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_ulink [debug] method=visit_para [debug] method=visit_para [debug] method=visit_simplesect [debug] simplesect kind(see) [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__cvmix__kpp_1a94d77471726028da980fd9f998b4173f) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__cvmix__kpp_1a94d77471726028da980fd9f998b4173f'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_cvmix_kpp::kpp_calculate) node_name(None) [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Diagnostics'), ('kind', 'page')] [debug] xml parsing for Diagnostics [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_sect1 [debug] visit_sect id(Diagnostics_1diag_table) title(The "diag_table") [debug] method=visit_title [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_sect2 [debug] visit_sect id(Diagnostics_1diag_table_title) title(Title section) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_programlisting [debug] method=visit_sect2 [debug] visit_sect id(Diagnostics_1diag_table_files) title(File section) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_programlisting [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_para [debug] method=visit_programlisting [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_sect2 [debug] visit_sect id(Diagnostics_1diag_table_fields) title(Field section) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_programlisting [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_ref [debug] refid(Diagnostics_1remapped_diagnostics) kindref(member) ref([]) [debug] ref([('id', 'Diagnostics_1remapped_diagnostics')]) [debug] refid2(remapped_diagnostics) reftext(Vertically remapped diagnostics) [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_ref [debug] refid(Diagnostics_1diag_table_files) kindref(member) ref([]) [debug] ref([('id', 'Diagnostics_1diag_table_files')]) [debug] refid2(diag_table_files) reftext(File section) [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_sect2 [debug] visit_sect id(Diagnostics_1diag_table_example) title(Example) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_programlisting [debug] method=visit_sect1 [debug] visit_sect id(Diagnostics_1native_diagnostics) title(Native diagnostics) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_para [debug] method=visit_sect1 [debug] visit_sect id(Diagnostics_1remapped_diagnostics) title(Vertically remapped diagnostics) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_programlisting [debug] method=visit_para [debug] method=visit_programlisting [debug] method=visit_para [debug] method=visit_para [debug] method=visit_programlisting [debug] method=visit_sect2 [debug] visit_sect id(Diagnostics_1diag_table_vertical_coords) title(Diagnostic vertical coordinates) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_sect1 [debug] visit_sect id(Diagnostics_1diagnostics_implementation) title(APIs for diagnostics) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__diag__mediator_1ada491446bf7216fe101e6b0f6ed551e1) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__mediator_1ada491446bf7216fe101e6b0f6ed551e1'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_mediator::register_diag_field) node_name(None) [debug] method=visit_programlisting [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_programlisting [debug] method=visit_sect2 [debug] visit_sect id(Diagnostics_1diag_post_frequency) title(Artifacts of posting frequency for diagnostics) [debug] method=visit_title [debug] method=visit_para [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Discrete_Coriolis'), ('kind', 'page')] [debug] xml parsing for Discrete_Coriolis [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(Discrete_Coriolis_1Coriolis) title(Coriolis Term) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ref [debug] refid(Discrete_Grids_1horizontal_grids) kindref(member) ref([]) [debug] ref([('id', 'Discrete_Grids_1horizontal_grids')]) [debug] refid2(horizontal_grids) reftext(Horizontal grids) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_sadourny1975) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_sadourny1975')]) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_sadourny1975) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_sadourny1975')]) [debug] method=visit_formula [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_arakawa1981) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_arakawa1981')]) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] math_labels(['eq:Coriolis_abcd']) [debug] method=visit_formula [debug] inserting math labels [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_arakawa1990) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_arakawa1990')]) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_sect2 [debug] visit_sect id(Discrete_Coriolis_1Coriolis_BC) title(Wall boundary conditions) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Discrete_Grids'), ('kind', 'page')] [debug] xml parsing for Discrete_Grids [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(Discrete_Grids_1horizontal_grids) title(Horizontal grids) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(MOM6 uses an Arakawa C grid staggering of variables with a North-East indexing convention.) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(The grid metrics around both :math:`h`-points and :math:`q`-points.) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_sect1 [debug] visit_sect id(Discrete_Grids_1vertical_grids) title(Vertical grids) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(The MOM6 interfaces are at vertical location :math:`e` which are separated by the layer thicknesses :math:`h`.) [debug] method=visit_para [debug] method=visit_ref [debug] refid(ALE_Timestep) kindref(compound) ref([]) [debug] ref([('id', 'ALE_Timestep'), ('kind', 'page')]) [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Discrete_OBC'), ('kind', 'page')] [debug] xml parsing for Discrete_OBC [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Discrete_PG'), ('kind', 'page')] [debug] xml parsing for Discrete_PG [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(Discrete_PG_1section_PG) title(Pressure Gradient Term) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_adcroft2008) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_adcroft2008')]) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_hallberg1997) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_hallberg1997')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_sun1999) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_sun1999')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_hallberg2005) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_hallberg2005')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_adcroft2008) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_adcroft2008')]) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] math_labels(['eq:PG_loop']) [debug] method=visit_para [debug] inserting math labels [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(Schematic of the finite volume used for integrating the :math:`u`-component of momentum. The thermodynamic variables :math:`\theta` and :math:`s` reside on the sides of the depicted volume and are considered uniform for the vertical extent of the volume but with linear variation in the horizontal. The volume is depicted in :math:`(x, p)` space so :math:`p` is linear around the volume but :math:`\Phi` can vary arbitrarily along the edges.) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_wright1997) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_wright1997')]) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] math_labels(['eq:PG_vert']) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] inserting math labels [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Discrete_Tracer'), ('kind', 'page')] [debug] xml parsing for Discrete_Tracer [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Domain_Decomposition'), ('kind', 'page')] [debug] xml parsing for Domain_Decomposition [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(Domain_Decomposition_1section_domain_decomp) title(Domain Decomposition) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(Horizontal_Indexing_1section_Memory) kindref(member) ref([]) [debug] ref([('id', 'Horizontal_Indexing_1section_Memory')]) [debug] refid2(section_Memory) reftext(Declaration of variables) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_sect1 [debug] visit_sect id(Domain_Decomposition_1section_wide_halos) title(Wide Halos) [debug] method=visit_title [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Energetic_Consistency'), ('kind', 'page')] [debug] xml parsing for Energetic_Consistency [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Equation_of_State'), ('kind', 'page')] [debug] xml parsing for Equation_of_State [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_sect1 [debug] visit_sect id(Equation_of_State_1Linear_EOS) title(Linear Equation of State) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_sect1 [debug] visit_sect id(Equation_of_State_1Wright_EOS) title(Wright Equation of State) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_wright1997) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_wright1997')]) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_ref [debug] refid(Discrete_PG_1section_PG) kindref(member) ref([]) [debug] ref([('id', 'Discrete_PG_1section_PG')]) [debug] refid2(section_PG) reftext(Pressure Gradient Term) [debug] method=visit_sect1 [debug] visit_sect id(Equation_of_State_1NEMO_EOS) title(NEMO Equation of State) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_roquet2015) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_roquet2015')]) [debug] method=visit_sect1 [debug] visit_sect id(Equation_of_State_1UNESCO_EOS) title(UNESCO Equation of State) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_jackett1995) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_jackett1995')]) [debug] method=visit_sect1 [debug] visit_sect id(Equation_of_State_1TEOS-10_EOS) title(TEOS-10 Equation of State) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_sect1 [debug] visit_sect id(Equation_of_State_1TFREEZE) title(Freezing Temperature of Sea Water) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_millero1978) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_millero1978')]) [debug] method=visit_emphasis [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Finite_Difference_Operators'), ('kind', 'page')] [debug] xml parsing for Finite_Difference_Operators [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'General_Coordinate'), ('kind', 'page')] [debug] xml parsing for General_Coordinate [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] math_labels(['eq:r-horz-momentum', 'eq:r-hydrostatic-equation', 'eq:r-non-divergence', 'eq:r-temperature-equation', 'eq:r-salinity-equation']) [debug] method=visit_para [debug] inserting math labels [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_bleck2002) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_bleck2002')]) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] math_labels(['eq:h-horz-momentum', 'eq:h-hydrostatic-equation', 'eq:h-thickness-equation', 'eq:h-temperature-equation', 'eq:h-salinity-equation', 'eq:h-equation-of-state']) [debug] method=visit_para [debug] inserting math labels [debug] method=visit_formula [debug] method=visit_ref [debug] refid(citelist_1CITEREF_adcroft2008) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_adcroft2008')]) [debug] method=visit_formula [debug] method=visit_ref [debug] refid(citelist_1CITEREF_white2008) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_white2008')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_white2009) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_white2009')]) [debug] method=visit_ref [debug] refid(ALE_Timestep) kindref(compound) ref([]) [debug] ref([('id', 'ALE_Timestep'), ('kind', 'page')]) [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Global_Grids'), ('kind', 'page')] [debug] xml parsing for Global_Grids [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_sect1 [debug] visit_sect id(Global_Grids_1Dipole) title(Dipole Grids) [debug] method=visit_title [debug] method=visit_sect1 [debug] visit_sect id(Global_Grids_1Tripole) title(Tripole Grids) [debug] method=visit_title [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Governing_Equations'), ('kind', 'page')] [debug] xml parsing for Governing_Equations [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_ref [debug] refid(Notation) kindref(compound) ref([]) [debug] ref([('id', 'Notation'), ('kind', 'page')]) [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_emphasis [debug] method=visit_formula [debug] method=visit_ref [debug] refid(citelist_1CITEREF_wright1997) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_wright1997')]) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_emphasis [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_sect1 [debug] visit_sect id(Governing_Equations_1vector_invariant_eqns) title(Vector Invariant Equations) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Horizontal_Diffusion'), ('kind', 'page')] [debug] xml parsing for Horizontal_Diffusion [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(Horizontal_Diffusion_1eddy_flux) [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(Horizontal surface boundary layer fluxes and interior epineutral fluxes.) [debug] method=visit_para [debug] method=visit_sect1 [debug] visit_sect id(Horizontal_Diffusion_1Epineutral_Diffusion) title(Epineutral Diffusion) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_shao2019-in-review) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_shao2019-in-review')]) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(Polynomial reconstructions, starting with piecewise constant on the left, piecewise linear in the middle and piecewise parabolic on the right.) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_sect2 [debug] visit_sect id(Horizontal_Diffusion_1Epineutral_Initialization) title(Initialization) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(Polynomial reconstructions of two adjacent water columns.) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_sect2 [debug] visit_sect id(Horizontal_Diffusion_1Epineutral_Sorting) title(Sorting) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(Searching the column with the lighter surface for the water matching the other column's surface water.) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_sect2 [debug] visit_sect id(Horizontal_Diffusion_1Epineutral_Flux_Calculation) title(Flux Calculation) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(Diagram of sublayer thickness for the sublayer bounded by surfaces :math:`\gamma_n` and :math:`\gamma_{n+1}`.) [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(Flux of tracer :math:`C` along the sublayer.) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(Accumulate all the fluxes across a face from all the layers in the next column contributing to it.) [debug] method=visit_sect1 [debug] visit_sect id(Horizontal_Diffusion_1Surface_Diffusion) title(Surface Diffusion) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ref [debug] refid(Horizontal_Diffusion_1eddy_flux) kindref(member) ref([]) [debug] ref([('id', 'Horizontal_Diffusion_1eddy_flux')]) [debug] refid(Horizontal_Diffusion_1eddy_flux) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(Two cells within the surface mixed layer, red on the left, blue on the right. The mixed layer depth is shown in green.) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(Two cells within the surface mixed layer with down-gradient fluxes as shown by the black arrows.) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Horizontal_Indexing'), ('kind', 'page')] [debug] xml parsing for Horizontal_Indexing [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_sect1 [debug] visit_sect id(Horizontal_Indexing_1section_Staggering) title(Loops and staggered variables) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(MOM6 uses an Arakawa C grid staggering of variables with a North-East indexing convention. "Cells" refer to the control volumes around tracer- or h-point located variables unless labelled otherwise.) [debug] method=visit_sect2 [debug] visit_sect id(Horizontal_Indexing_1Soft_convention) title(Soft convention for loop variables) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_formula [debug] method=visit_computeroutput [debug] method=visit_formula [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_formula [debug] method=visit_computeroutput [debug] method=visit_formula [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_computeroutput [debug] method=visit_sect1 [debug] visit_sect id(Horizontal_Indexing_1section_Memory) title(Declaration of variables) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(Non-symmetric mode: All arrays are declared with the same shape (isd:ied,jsd:jed).) [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(Symmetric mode: Arrays have different shapes depending on their staggering location on the Arakawa C grid.) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__hor__index_1_1hor__index__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__hor__index_1_1hor__index__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] method=visit_ref [debug] refid(structmom__grid_1_1ocean__grid__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__grid_1_1ocean__grid__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM__memory__macros_8h) kindref(compound) ref([]) [debug] ref([('id', 'MOM__memory__macros_8h'), ('kind', 'file'), ('language', 'C++')]) [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM__memory__macros_8h) kindref(compound) ref([]) [debug] ref([('id', 'MOM__memory__macros_8h'), ('kind', 'file'), ('language', 'C++')]) [debug] method=visit_sect1 [debug] visit_sect id(Horizontal_Indexing_1Global_index) title(Calculating a global index) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__hor__index_1_1hor__index__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__hor__index_1_1hor__index__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] method=visit_ref [debug] refid(structmom__grid_1_1ocean__grid__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__grid_1_1ocean__grid__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_para [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceMOM__energetic__PBL'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceMOM__oda__driver__mod'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceMOM__tracer__flow__control'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceNETCDF'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Notation'), ('kind', 'page')] [debug] xml parsing for Notation [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(Notation_1Symbols) title(Symbols for variables) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_sect1 [debug] visit_sect id(Notation_1vector_notation) title(Vector notation) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacePCM__functions'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'PPM'), ('kind', 'page')] [debug] xml parsing for PPM [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(PPM_1section_PPM) title(Advection Scheme) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_colella1984) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_colella1984')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_carpenter1990) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_carpenter1990')]) [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(The parabolic representation of a field within a cell.) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_ref [debug] refid(citelist_1CITEREF_colella1984) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_colella1984')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_huynh1997) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_huynh1997')]) [debug] method=visit_ref [debug] refid(Tracer_Advection) kindref(compound) ref([]) [debug] ref([('id', 'Tracer_Advection'), ('kind', 'page')]) [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Parallel_IO'), ('kind', 'page')] [debug] xml parsing for Parallel_IO [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_ulink [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Passive_Tracers'), ('kind', 'page')] [debug] xml parsing for Passive_Tracers [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(Passive_Tracers_1Passive_tracers) title(Passive Tracers) [debug] method=visit_title [debug] method=visit_sect1 [debug] visit_sect id(Passive_Tracers_1Generic_tracers) title(Generic Tracers) [debug] method=visit_title [debug] method=visit_sect1 [debug] visit_sect id(Passive_Tracers_1User_tracers) title(User-defined Tracers) [debug] method=visit_title [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Regional_Grids'), ('kind', 'page')] [debug] xml parsing for Regional_Grids [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_sect1 [debug] visit_sect id(Regional_Grids_1map_projections) title(Map Projections) [debug] method=visit_title [debug] method=visit_sect1 [debug] visit_sect id(Regional_Grids_1OBC_segments) title(Open Boundary Segments) [debug] method=visit_title [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Runtime_Parameter_System'), ('kind', 'page')] [debug] xml parsing for Runtime_Parameter_System [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_sect1 [debug] visit_sect id(Runtime_Parameter_System_1reading_params) title(Getting parameters into MOM6) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_orderedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_sect2 [debug] visit_sect id(Runtime_Parameter_System_1mom6_namelist) title(Namelist parameters (input.nml)) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_sect2 [debug] visit_sect id(Runtime_Parameter_System_1fms_params) title(Other MOM6-relevant FMS parameters) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_sect2 [debug] visit_sect id(Runtime_Parameter_System_1param_syntax) title(MOM6 parameter file syntax) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_programlisting [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_para [debug] method=visit_bold [debug] method=visit_para [debug] method=visit_programlisting [debug] method=visit_sect2 [debug] visit_sect id(Runtime_Parameter_System_1param_logging) title(Logging of parameters) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_programlisting [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_sect2 [debug] visit_sect id(Runtime_Parameter_System_1param_checking) title(Error checking of parameters and parameter files) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Sea_Ice'), ('kind', 'page')] [debug] xml parsing for Sea_Ice [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(Sea_Ice_1Frazil) title(Ice Formation) [debug] method=visit_title [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Solar_Radiation'), ('kind', 'page')] [debug] xml parsing for Solar_Radiation [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(Solar_Radiation_1Jerlov_WT) title(Jerlov water type) [debug] method=visit_title [debug] method=visit_sect1 [debug] visit_sect id(Solar_Radiation_1Chl_Absorb) title(Absorption by Chlorophyll) [debug] method=visit_title [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Specifics'), ('kind', 'page')] [debug] xml parsing for Specifics [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(Specifics_1section_Specifics) title(Specifics of the Ocean Model Equations) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ref [debug] refid(General_Coordinate) kindref(compound) ref([]) [debug] ref([('id', 'General_Coordinate'), ('kind', 'page')]) [debug] method=visit_sect1 [debug] visit_sect id(Specifics_1Horiz_mom_eq) title(Horizontal Momentum Equation) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_sup [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_ref [debug] refid(citelist_1CITEREF_sadourny1975) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_sadourny1975')]) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_sup [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_ref [debug] refid(citelist_1CITEREF_SMGbook) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_SMGbook')]) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_griffies2000) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_griffies2000')]) [debug] method=visit_formula [debug] method=visit_sect1 [debug] visit_sect id(Specifics_1hydrostatic_balance) title(Hydrostatic balance) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_adcroft2008) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_adcroft2008')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_bleck2002) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_bleck2002')]) [debug] method=visit_sect1 [debug] visit_sect id(Specifics_1Thickness_and_tracer) title(Thickness and tracer equations) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_ref [debug] refid(citelist_1CITEREF_colella1984) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_colella1984')]) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_fox-kemper2011) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_fox-kemper2011')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_gent1995) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_gent1995')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_mcdougall2001) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_mcdougall2001')]) [debug] method=visit_sect1 [debug] visit_sect id(Specifics_1EOS) title(Equation of state) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_emphasis [debug] method=visit_formula [debug] method=visit_ref [debug] refid(citelist_1CITEREF_GVbook) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_GVbook')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_wright1997) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_wright1997')]) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_ref [debug] refid(citelist_1CITEREF_TEOS2010) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_TEOS2010')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_wright1997) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_wright1997')]) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Testing'), ('kind', 'page')] [debug] xml parsing for Testing [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_sect1 [debug] visit_sect id(Testing_1Travis) title(Travis Testing) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_simplesect [debug] simplesect kind(see) [debug] method=visit_para [debug] method=visit_sect1 [debug] visit_sect id(Testing_1Consortium_testing) title(Consortium Testing) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(The MOM6 consortium.) [debug] method=visit_para [debug] method=visit_sect1 [debug] visit_sect id(Testing_1Novel_tests) title(Novel Tests) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_sect2 [debug] visit_sect id(Testing_1Scalings) title(Scaling tests) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_table [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_programlisting [debug] method=visit_para [debug] method=visit_programlisting [debug] method=visit_para [debug] method=visit_programlisting [debug] method=visit_simplesect [debug] simplesect kind(see) [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__unit__scaling) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__unit__scaling'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] method=visit_sect2 [debug] visit_sect id(Testing_1Rotations) title(Rotational tests) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(The original non-rotated domain is shown on the left while the right shows the domain rotated counterclockwise by 90 degrees. The array values are shown by the (invariant) colors, while the array indices (and dimensions) change.) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_image [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_image [debug] method=visit_para [debug] method=visit_formula [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Timestep_Overview'), ('kind', 'page')] [debug] xml parsing for Timestep_Overview [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(Graphic representation of the various timesteps used by MOM6.) [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Tracer_Advection'), ('kind', 'page')] [debug] xml parsing for Tracer_Advection [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_easter1993) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_easter1993')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_colella1984) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_colella1984')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_huynh1997) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_huynh1997')]) [debug] method=visit_sect1 [debug] visit_sect id(Tracer_Advection_1Flux_advection) title(Flux advection) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_sect1 [debug] visit_sect id(Tracer_Advection_1Tracer_reconstruction) title(Tracer reconstruction) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_lin1994) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_lin1994')]) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_ref [debug] refid(PPM) kindref(compound) ref([]) [debug] ref([('id', 'PPM'), ('kind', 'page')]) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Tracer_Fluxes'), ('kind', 'page')] [debug] xml parsing for Tracer_Fluxes [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(Tracer_Fluxes_1section_Tracer_Fluxes) title(Tracer Fluxes) [debug] method=visit_title [debug] method=visit_sect1 [debug] visit_sect id(Tracer_Fluxes_1section_River_Runoff) title(River Runoff) [debug] method=visit_title [debug] method=visit_sect1 [debug] visit_sect id(Tracer_Fluxes_1section_Ice_Runoff) title(Ice Runoff) [debug] method=visit_title [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Tracer_Timestep'), ('kind', 'page')] [debug] xml parsing for Tracer_Timestep [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_ref [debug] refid(Horizontal_Diffusion) kindref(compound) ref([]) [debug] ref([('id', 'Horizontal_Diffusion'), ('kind', 'page')]) [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Tracer_Transport_Equations'), ('kind', 'page')] [debug] xml parsing for Tracer_Transport_Equations [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_image [debug] method=visit_image [debug] image type(latex) mode(latex) [debug] caption text(The 1-D finite volume advection of tracers. The reddish fluid will be in the cell at the end of the timestep.) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_sect1 [debug] visit_sect id(Tracer_Transport_Equations_1Multidimensional_Tracer_Advection) title(Multidimensional Tracer Advection) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_easter1993) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_easter1993')]) [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(Tracer_Transport_Equations_1ht-equation) [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(citelist_1CITEREF_easter1993) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_easter1993')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_durran2010) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_durran2010')]) [debug] method=visit_ref [debug] refid(citelist_1CITEREF_russell1981) kindref(member) ref([]) [debug] ref([('id', 'citelist_1CITEREF_russell1981')]) [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Vertical_Diffusion'), ('kind', 'page')] [debug] xml parsing for Vertical_Diffusion [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'Vertical_Grids'), ('kind', 'page')] [debug] xml parsing for Vertical_Grids [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(Vertical_Grids_1vert_layer) title(Layered) [debug] method=visit_title [debug] method=visit_sect1 [debug] visit_sect id(Vertical_Grids_1vert_z_star) title(Z-Star) [debug] method=visit_title [debug] method=visit_sect1 [debug] visit_sect id(Vertical_Grids_1vert_sigma) title(Sigma) [debug] method=visit_title [debug] method=visit_sect1 [debug] visit_sect id(Vertical_Grids_1vert_rho) title(Rho) [debug] method=visit_title [debug] method=visit_sect1 [debug] visit_sect id(Vertical_Grids_1vert_hybrid) title(Hybrid) [debug] method=visit_title [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceadjustment__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceadvection__test__tracer'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceatmos__ocean__fluxes__mod'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacebaroclinic__zone__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacebasin__builder'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacebenchmark__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacebfb__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacebfb__surface__forcing'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceboundary__impulse__tracer'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacecircle__obcs__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'citelist'), ('kind', 'page')] [debug] xml parsing for citelist [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_variablelist [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_adcroft2006) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_adcroft2008) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_arakawa1990) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_arakawa1981) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_bleck1990) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_bleck2002) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_carpenter1990) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_colella1984) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_dukowicz2000) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_durran2010) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_emphasis [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_easter1993) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_fox-kemper2011) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_gent1995) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_griffies2000) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_griffies2000-2) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_oumlaut [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_SMGbook) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_emphasis [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_hallberg2009) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_hallberg1997) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_hallberg1997a) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_hallberg2005) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_emphasis [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_hirt1997) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_huynh1997) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_emphasis [debug] method=visit_orderedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_TEOS2010) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_emphasis [debug] method=visit_orderedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_jackett1995) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_large1994) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_lin1994) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_mcdougall2001) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_millero1978) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_nonbreakablespace [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_roquet2015) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_russell1981) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_sadourny1975) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_shao2019-in-review) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_shchepetkin2005) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_nonbreakablespace [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_sun1999) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_GVbook) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_emphasis [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_white2008) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_white2009) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_para [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_anchor [debug] anchor id(citelist_1CITEREF_wright1997) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_nonbreakablespace [debug] method=visit_ulink [debug] method=visit_emphasis [debug] method=visit_ndash [debug] method=visit_orderedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacecoord__adapt'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacecoord__hycom'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacecoord__rho'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacecoord__sigma'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacecoord__slight'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacecoord__zlike'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacedense__water__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacedome2d__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacedome__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacedome__tracer'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacedumbbell__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacedumbbell__surface__forcing'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacedyed__channel__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacedyed__obc__tracer'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacedyed__obcs__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceexternal__gwave__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacefms__coupler__util'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceg__tracer__utils'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacegeneric__tracer'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceideal__age__example'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceidealized__hurricane'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceisomip__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceisomip__tracer'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacekdtree'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacekelvin__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacelock__exchange__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemeso__surface__forcing'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__ale'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__ale__sponge'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__array__transform'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__barotropic'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__bkgnd__mixing'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__boundary__update'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__bulk__mixed__layer'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__checksum__packages'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__checksums'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__coms'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__constants'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__continuity'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__continuity__ppm'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__controlled__forcing'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__coord__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__coriolisadv'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__cpu__clock'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__cvmix__conv'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__cvmix__ddiff'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__cvmix__kpp'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__cvmix__shear'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__debugging'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__density__integrals'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__diabatic__aux'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__diabatic__driver'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__diag__manager__wrapper'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__diag__mediator'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__diag__remap'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__diag__vkernels'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__diagnostics'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__diapyc__energy__req'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__document'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__domains'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__dyn__horgrid'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__dynamics__split__rk2'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__dynamics__unsplit'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__dynamics__unsplit__rk2'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__energetic__pbl'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__entrain__diffusive'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__eos'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__eos__linear'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__eos__nemo'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__eos__teos10'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__eos__unesco'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__eos__wright'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__error__handler'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__file__parser'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__fixed__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__forcing__type'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__full__convection'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__generic__tracer'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__geothermal'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__get__input'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__grid'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__grid__initialize'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__hor__index'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__hor__visc'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__horizontal__regridding'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__ice__shelf'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__ice__shelf__dynamics'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__ice__shelf__initialize'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__ice__shelf__state'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__int__tide__input'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__interface__heights'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__internal__tides'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__intrinsic__functions'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__io'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__isopycnal__slopes'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__kappa__shear'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__lateral__boundary__diffusion'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__lateral__mixing__coeffs'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__marine__ice'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__meke'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__meke__types'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__mixed__layer__restrat'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__neutral__diffusion'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__obsolete__diagnostics'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__obsolete__params'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__ocmip2__cfc'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__oda__driver__mod'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__offline__aux'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__offline__main'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__opacity'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__open__boundary'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__pointaccel'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__pressureforce'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__pressureforce__fv'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__pressureforce__mont'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__random'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__regridding'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__regularize__layers'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__remapping'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__restart'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__safe__alloc'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__set__diffusivity'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__set__visc'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__shared__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__spatial__means'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__sponge'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__state__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__string__functions'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__sum__output'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__surface__forcing'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__surface__forcing__gfdl'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__tfreeze'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__thickness__diffuse'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__tidal__forcing'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__tidal__mixing'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__time__manager'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__tracer__advect'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__tracer__diabatic'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__tracer__flow__control'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__tracer__hor__diff'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__tracer__initialization__from__z'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__tracer__registry'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__tracer__z__init'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__transcribe__grid'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__transform__fms'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__unit__scaling'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__unit__tests'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__variables'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__vert__friction'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__verticalgrid'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__wave__interface'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__wave__speed'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__wave__structure'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacemom__write__cputime'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacenetcdf'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceneverworld__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceocean__da__core__mod'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceocean__da__types__mod'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceocean__model__mod'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceoil__tracer'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacep1m__functions'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacep3m__functions'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacepcm__functions'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacephillips__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceplm__functions'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacepolynomial__functions'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceppm__functions'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacepqm__functions'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacepseudo__salt__tracer'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceregional__dyes'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceregrid__consts'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceregrid__edge__values'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceregrid__interp'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceregrid__solvers'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacergc__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacergc__tracer'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacerossby__front__2d__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacescm__cvmix__tests'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceseamount__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceshelfwave__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacesloshing__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacesoliton__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacesupercritical__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacetidal__bay__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacetidal__forcing'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/pages [debug] template:doxypage.rst kind: page obj.items():[('id', 'todo'), ('kind', 'page')] [debug] xml parsing for todo [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_variablelist [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacebfb__initialization_1a8e08501c7f85819406ff2e7f5cc6bb6b) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'namespacebfb__initialization_1a8e08501c7f85819406ff2e7f5cc6bb6b'), ('prot', 'private'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(bfb_initialization::first_call) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000009) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacedyed__channel__initialization_1a3e5386324e634b73ca2c9e53a1f85775) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'namespacedyed__channel__initialization_1a3e5386324e634b73ca2c9e53a1f85775'), ('prot', 'public'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(dyed_channel_initialization::ntr) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000010) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacedyed__obcs__initialization_1a29ed29b248ce766691e964a173c7ceda) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'namespacedyed__obcs__initialization_1a29ed29b248ce766691e964a173c7ceda'), ('prot', 'private'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(dyed_obcs_initialization::ntr) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000011) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(structmom__controlled__forcing_1_1ctrl__forcing__cs_1a4740b9fa9c22cc62fb957c76b65d4f11) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'structmom__controlled__forcing_1_1ctrl__forcing__cs_1a4740b9fa9c22cc62fb957c76b65d4f11'), ('prot', 'public'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_controlled_forcing::ctrl_forcing_cs::avg_time) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000012) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacemom__cvmix__shear_1aec86faeb6ba106f8c9584dd3b6368a41) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__cvmix__shear_1aec86faeb6ba106f8c9584dd3b6368a41'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_cvmix_shear::cvmix_shear_init) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000004) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacemom__lateral__mixing__coeffs) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__lateral__mixing__coeffs'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000002) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacemom__mixed__layer__restrat) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__mixed__layer__restrat'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000003) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacemom__neutral__diffusion_1ac211ae488cb6e3c6685df85d24ecd0dd) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__neutral__diffusion_1ac211ae488cb6e3c6685df85d24ecd0dd'), ('prot', 'private'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_neutral_diffusion::plm_diff) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000008) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacemom__regularize__layers_1ab3955b6fce42b5a4b03457a57f46743b) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'namespacemom__regularize__layers_1ab3955b6fce42b5a4b03457a57f46743b'), ('prot', 'public'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_regularize_layers::id_clock_pass) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000005) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacemom__set__diffusivity_1a99d0eb7701f8e04d856b75117fe7b83c) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__set__diffusivity_1a99d0eb7701f8e04d856b75117fe7b83c'), ('prot', 'private'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_set_diffusivity::double_diffusion) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000006) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacemom__set__visc_1a9865113fe07928e7a240c2868ed45e5f) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__set__visc_1a9865113fe07928e7a240c2868ed45e5f'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_set_visc::set_viscous_bbl) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000007) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacemom__wave__interface_1a86e86d267dc214498fcd8088349d5d57) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'namespacemom__wave__interface_1a86e86d267dc214498fcd8088349d5d57'), ('prot', 'private'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_wave_interface::dataoverrideisinitialized) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000018) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacemom__wave__interface_1af159120455d0f0afae144afc6a587561) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'namespacemom__wave__interface_1af159120455d0f0afae144afc6a587561'), ('prot', 'private'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_wave_interface::datasource) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000016) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacemom__wave__interface_1abc7136c467d4f1def8b2a32dfd335c3f) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'namespacemom__wave__interface_1abc7136c467d4f1def8b2a32dfd335c3f'), ('prot', 'private'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_wave_interface::la_frachbl) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000019) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacemom__wave__interface_1aab4d6b9f7e8823615c5ff975e0e40d22) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'namespacemom__wave__interface_1aab4d6b9f7e8823615c5ff975e0e40d22'), ('prot', 'private'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_wave_interface::la_misalignment) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000020) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacemom__wave__interface_1ab514cf456c7f7953f4c304b941ff4c53) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'namespacemom__wave__interface_1ab514cf456c7f7953f4c304b941ff4c53'), ('prot', 'public'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_wave_interface::numbands) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000014) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacemom__wave__interface_1a91f7f974e91056f48cb04fb01b8f0d15) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'namespacemom__wave__interface_1a91f7f974e91056f48cb04fb01b8f0d15'), ('prot', 'public'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_wave_interface::partitionmode) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000015) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacemom__wave__interface_1a14b0aa4752008d5a52dbbb5e16751122) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'namespacemom__wave__interface_1a14b0aa4752008d5a52dbbb5e16751122'), ('prot', 'private'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_wave_interface::surfbandfilename) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000017) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacemom__wave__interface_1a9add067c6322c0d863978f0a1c13b205) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'namespacemom__wave__interface_1a9add067c6322c0d863978f0a1c13b205'), ('prot', 'private'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_wave_interface::testprof) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000021) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespacemom__wave__interface_1ad81e4ea1a9510437272f5871af6993ad) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'namespacemom__wave__interface_1ad81e4ea1a9510437272f5871af6993ad'), ('prot', 'public'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_wave_interface::wavemethod) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000013) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(MOM__memory__macros_8h_1a778d74c20afedc458a527b6d5ca06fdc) kindref(member) ref([]) [debug] ref([('kind', 'define'), ('id', 'MOM__memory__macros_8h_1a778d74c20afedc458a527b6d5ca06fdc'), ('prot', 'public'), ('static', 'no')]) [debug] kind(define) real_name(MOM_memory_macros.h::SZI_) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000001) [debug] method=visit_varlistentry [debug] method=visit_term [debug] method=visit_ref [debug] refid(namespaceuser__initialization_1a91c73478b39de720dde435a23d96c2bb) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'namespaceuser__initialization_1a91c73478b39de720dde435a23d96c2bb'), ('prot', 'private'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(user_initialization::first_call) node_name(None) [debug] method=visit_listitem [debug] listitem indent = -1 [debug] method=visit_para [debug] method=visit_anchor [debug] anchor id(todo_1_todo000022) [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceuser__change__diffusivity'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceuser__initialization'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceuser__revise__forcing'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceuser__shelf__init'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceuser__surface__forcing'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespaceuser__tracer__example'), ('kind', 'namespace'), ('language', 'Fortran')] [debug] checking path: /home/cermak/src/MOM6.devrob/docs/api/generated/modules [debug] template:doxynamespace.rst kind: namespace obj.items():[('id', 'namespacewrite__ocean__obs__mod'), ('kind', 'namespace'), ('language', 'Fortran')] [autosummary] generating autosummary for: api/modules.rst, api/pages.rst building [mo]: targets for 0 po files that are out of date building [latex]: all documents updating environment: [app] emitting event: 'env-get-outdated'(, {'api/generated/pages/Runtime_Param [new config] 268 added, 0 changed, 0 removed [app] emitting event: 'env-before-read-docs'(, ['about', 'api/generated/modules/MO reading sources... [ 0%] about [app] emitting event: 'env-purge-doc'(, 'about') [app] emitting event: 'source-read'('about', ['About this documentation\n========================\n\nThis readthedocs site hosts the na [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Download, compile and run [i18n] PATCH: 'docutils.nodes.term' to have rawsource: User guide [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Repository policies [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Developer guide [app] emitting event: 'doctree-read'(>,) reading sources... [ 0%] api/generated/modules/MOM_energetic_PBL [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/MOM_energeti [app] emitting event: 'source-read'('api/generated/modules/MOM_energetic_PBL', ['.. autodoxymodule:: MOM_energetic_PBL\n :members:\n\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/MOM_energetic_PBL.rst:1: input: .. autodoxymodule:: MOM_energetic_PBL :members: [debug] xpath(./compounddef/compoundname[text()="MOM_energetic_PBL"]/..) match([('id', 'namespaceMOM__energetic__PBL'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:MOM_energetic_PBL module reference [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'MOM_energetic_PBL', , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'MOM__kappa__shear_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'MOM_energetic_PBL', , {'members': `More... `_ .. _DETAMOM_energetic_PBL: -------------------- Detailed Description -------------------- By Robert Hallberg, 2015. This file contains the subroutine (energetic_PBL) that uses an integrated boundary layer energy budget (like a bulk- or refined- bulk mixed layer scheme), but instead of homogenizing this model calculates a finite diffusivity and viscosity, which in this regard is conceptually similar to what is done with KPP or various two-equation closures. However, the scheme that is implemented here has the big advantage that is entirely implicit, but is simple enough that it requires only a single vertical pass to determine the diffusivity. The development of bulk mixed layer models stems from the work of various people, as described in the review paper by Niiler and Kraus (1979). The work here draws in with particular on the form for TKE decay proposed by Oberhuber (JPO, 1993, 808-829), with an extension to a refined bulk mixed layer as described in Hallberg (Aha Huliko'a, 2003). The physical processes portrayed in this subroutine include convectively driven mixing and mechanically driven mixing. Unlike boundary-layer mixing, stratified shear mixing is not a one-directional turbulent process, and it is dealt with elsewhere in the MOM6 code within the module ``MOM_kappa_shear.F90``. It is assumed that the heat, mass, and salt fluxes have been applied elsewhere, but that their implications for the integrated TKE budget have been captured in an array that is provided as an argument to this subroutine. This is a full 3-d array due to the effects of penetrating shortwave radiation. [app] emitting event: 'doctree-read'(>,) reading sources... [ 1%] api/generated/modules/MOM_oda_driver_mod [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/MOM_oda_driv [app] emitting event: 'source-read'('api/generated/modules/MOM_oda_driver_mod', ['.. autodoxymodule:: MOM_oda_driver_mod\n :members:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/MOM_oda_driver_mod.rst:1: input: .. autodoxymodule:: MOM_oda_driver_mod :members: [debug] xpath(./compounddef/compoundname[text()="MOM_oda_driver_mod"]/..) match([('id', 'namespaceMOM__oda__driver__mod'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:MOM_oda_driver_mod module reference [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'MOM_oda_driver_mod', , {'members': , {'members': , {'members': , {'members': `More... `_ .. _DETAMOM_oda_driver_mod: -------------------- Detailed Description -------------------- .. _namespaceMOM__oda__driver__mod_1section_ODA: The Ocean data assimilation (DA) and Ensemble Framework ======================================================= The DA framework implements ensemble capability in MOM6. Currently, this framework is enabled using the cpp directive ENSEMBLE_OCEAN. The ensembles need to be generated at the level of the calling routine for oda_init or above. The ensemble instances may exist on overlapping or non-overlapping processors. The ensemble information is accessed via the FMS ensemble manager. An independent PE layout is used to gather (prior) ensemble member information where this information is stored in the ODA control structure. This module was developed in collaboration with Feiyu Lu and Tony Rosati in the GFDL prediction group for use in their coupled ensemble framework. These interfaces should be suitable for interfacing MOM6 to other data assimilation packages as well. [app] emitting event: 'doctree-read'(>,) reading sources... [ 1%] api/generated/modules/MOM_tracer_flow_control [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/MOM_tracer_f [app] emitting event: 'source-read'('api/generated/modules/MOM_tracer_flow_control', ['.. autodoxymodule:: MOM_tracer_flow_control\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/MOM_tracer_flow_control.rst:1: input: .. autodoxymodule:: MOM_tracer_flow_control :members: [debug] xpath(./compounddef/compoundname[text()="MOM_tracer_flow_control"]/..) match([('id', 'namespaceMOM__tracer__flow__control'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:MOM_tracer_flow_control module reference [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'MOM_tracer_flow_control', , {'members': , {'members': , {'members': , {'members': `More... `_ .. _DETAMOM_tracer_flow_control: -------------------- Detailed Description -------------------- By Will Cooke, April 2003 Edited by Elizabeth Yankovsky, May 2019 This module contains two subroutines into which calls to other tracer initialization (call_tracer_init_fns) and column physics routines (call_tracer_column_fns) can be inserted. [app] emitting event: 'doctree-read'(>,) reading sources... [ 1%] api/generated/modules/NETCDF [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/NETCDF') [app] emitting event: 'source-read'('api/generated/modules/NETCDF', ['.. autodoxymodule:: NETCDF\n :members:\n\n\n']) [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/NETCDF.rst:1: input: .. autodoxymodule:: NETCDF :members: [debug] xpath(./compounddef/compoundname[text()="NETCDF"]/..) match([('id', 'namespaceNETCDF'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:NETCDF module reference [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'NETCDF', , {'members': , {'members': , {'members': , {'members': , {'members': `More... `_ .. _DETANETCDF: -------------------- Detailed Description -------------------- [app] emitting event: 'doctree-read'(>,) reading sources... [ 2%] api/generated/modules/PCM_functions [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/PCM_function [app] emitting event: 'source-read'('api/generated/modules/PCM_functions', ['.. autodoxymodule:: PCM_functions\n :members:\n\n\n']) [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/PCM_functions.rst:1: input: .. autodoxymodule:: PCM_functions :members: [debug] xpath(./compounddef/compoundname[text()="PCM_functions"]/..) match([('id', 'namespacePCM__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:PCM_functions module reference [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'PCM_functions', , {'members': , {'members': , {'members': , {'members': `More... `_ .. _DETAPCM_functions: -------------------- Detailed Description -------------------- Date of creation: 2008.06.06 L. White This module contains routines that handle one-dimensionnal finite volume reconstruction using the piecewise constant method (PCM). [app] emitting event: 'doctree-read'(>,) reading sources... [ 2%] api/generated/modules/adjustment_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/adjustment_i [app] emitting event: 'source-read'('api/generated/modules/adjustment_initialization', ['.. autodoxymodule:: adjustment_initialization\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/adjustment_initialization.rst:1: input: .. autodoxymodule:: adjustment_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~adjustment_initialization::adjustment_initialize_thickness ~adjustment_initialization::adjustment_initialize_temperature_salinity [debug] xpath(./compounddef/compoundname[text()="adjustment_initialization"]/..) match([('id', 'namespaceadjustment__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:adjustment_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'adjustment_initialization', , {'members': , {'members': , {'members': ), ('adjustment_initialize_temperature_salinity', )]) [autodoc] module analyzer failed: error importing 'adjustment_initialization' (exception was: ModuleNotFoundError("No module named 'adjustment_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US, param_file, just_read_params)) [debug] add_directive_header sig((h, G, GV, US, param_file, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine adjustment_initialize_thickness) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustment_initialize_thickness', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustment_initialize_thickness', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustment_initialize_thickness', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustment_initialize_thickness', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustment_initialize_thickness', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustment_initialize_thickness', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustment_initialize_thickness', , {'members': [autodoc] module analyzer failed: error importing 'adjustment_initialization' (exception was: ModuleNotFoundError("No module named 'adjustment_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [debug] add_directive_header sig((T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine adjustment_initialize_temperature_salinity) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustment_initialize_temperature_salinity', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustment_initialize_temperature_salinity', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustment_initialize_temperature_salinity', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustment_initialize_temperature_salinity', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustment_initialize_temperature_salinity', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustment_initialize_temperature_salinity', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustment_initialize_temperature_salinity', , [autodoc] output: ========================================== adjustment_initialization module reference ========================================== .. f:module:: adjustment_initialization Configures the model for the geostrophic adjustment test case. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~adjustment_initialization::adjustment_initialize_thickness ~adjustment_initialization::adjustment_initialize_temperature_salinity .. _DETAadjustment_initialization: -------------------- Detailed Description -------------------- Configures the model for the geostrophic adjustment test case. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine adjustment_initialize_thickness(h, G, GV, US, param_file, just_read_params) Initializes the layer thicknesses in the adjustment test case. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [out] The thickness that is being initialized [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`regrid_consts::regridding_rho ` :callto: :f:func:`regrid_consts::regridding_sigma ` .. f:subroutine:: subroutine adjustment_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params) Initialization of temperature and salinity in the adjustment test case. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param t: [out] The temperature that is being initialized. :param s: [out] The salinity that is being initialized. :param h: [in] The model thicknesses [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param eqn_of_state: Equation of state. :param just_read_params: [in] If present and true, this call will only read parameters without changing T & S. :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regrid_consts::regridding_rho ` :callto: :f:func:`regrid_consts::regridding_sigma ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US, param_file, just_read_params)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustment_initialization::adjustment_initialize_thickness', subroutine adjustment_initialization/adjustment_initialize_thicknesshGGVUSparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine adjustment_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [fd] sig(subroutine adjustment_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(adjustment_initialize_temperature_salinity) arglist(T, S, h, G, GV, param_file, eqn_of_state, just_read_params) [fd] fullname(adjustment_initialization/adjustment_initialize_temperature_salinity) ftype(None) [fd] name(('adjustment_initialization/adjustment_initialize_temperature_salinity', None)) sig(subroutine adjustment_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) signode(subroutine adjustment_initialization/adjustment_initialize_temperature_salinityTShGGVparam_fileeqn_of_statejust_read_params) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 2%] api/generated/modules/advection_test_tracer [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/advection_te [app] emitting event: 'source-read'('api/generated/modules/advection_test_tracer', ['.. autodoxymodule:: advection_test_tracer\n :mem [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/advection_test_tracer.rst:1: input: .. autodoxymodule:: advection_test_tracer :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~advection_test_tracer::advection_test_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~advection_test_tracer::register_advection_test_tracer ~advection_test_tracer::initialize_advection_test_tracer ~advection_test_tracer::advection_test_tracer_column_physics ~advection_test_tracer::advection_test_tracer_surface_state ~advection_test_tracer::advection_test_stock ~advection_test_tracer::advection_test_tracer_end [debug] xpath(./compounddef/compoundname[text()="advection_test_tracer"]/..) match([('id', 'namespaceadvection__test__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:advection_test_tracer module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'advection_test_tracer', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'advection_test_tracer' (exception was: ModuleNotFoundError("No module named 'advection_test_tracer'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'advection_test_tracer::advection_test_tracer_cs', ), ('initialize_advection_test_tracer', ), ('advection_test_tracer_column_physics', ), ('advection_test_tracer_surface_state', ), ('advection_test_stock', ), ('advection_test_tracer_end', )]) [autodoc] module analyzer failed: error importing 'advection_test_tracer' (exception was: ModuleNotFoundError("No module named 'advection_test_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] add_directive_header sig((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function register_advection_test_tracer) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_advection_test_tracer', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_advection_test_tracer', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_advection_test_tracer', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_advection_test_tracer', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_advection_test_tracer', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_advection_test_tracer', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_advection_test_tracer', , {'members': [autodoc] module analyzer failed: error importing 'advection_test_tracer' (exception was: ModuleNotFoundError("No module named 'advection_test_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((restart, day, G, GV, h, diag, OBC, CS, sponge_CSp)) [debug] add_directive_header sig((restart, day, G, GV, h, diag, OBC, CS, sponge_CSp)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine initialize_advection_test_tracer) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_advection_test_tracer', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_advection_test_tracer', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_advection_test_tracer', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_advection_test_tracer', , {'members' [autodoc] module analyzer failed: error importing 'advection_test_tracer' (exception was: ModuleNotFoundError("No module named 'advection_test_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [debug] add_directive_header sig((h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine advection_test_tracer_column_physics) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'advection_test_tracer_column_physics', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'advection_test_tracer_column_physics', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'advection_test_tracer_column_physics', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'advection_test_tracer_column_physics', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'advection_test_tracer_column_physics', , {'memb [autodoc] module analyzer failed: error importing 'advection_test_tracer' (exception was: ModuleNotFoundError("No module named 'advection_test_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, h, G, CS)) [debug] add_directive_header sig((sfc_state, h, G, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine advection_test_tracer_surface_state) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'advection_test_tracer_surface_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'advection_test_tracer_surface_state', , {'membe [autodoc] module analyzer failed: error importing 'advection_test_tracer' (exception was: ModuleNotFoundError("No module named 'advection_test_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((h, stocks, G, GV, CS, names, units, stock_index)) [debug] add_directive_header sig((h, stocks, G, GV, CS, names, units, stock_index)) [debug] DoxygenMethodDocumenter directive(function) name(integer function advection_test_stock) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [debug] method=visit_simplesect [debug] simplesect kind(return) [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'advection_test_stock', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~advection_test_tracer::advection_test_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~advection_test_tracer::register_advection_test_tracer ~advection_test_tracer::initialize_advection_test_tracer ~advection_test_tracer::advection_test_tracer_column_physics ~advection_test_tracer::advection_test_tracer_surface_state ~advection_test_tracer::advection_test_stock ~advection_test_tracer::advection_test_tracer_end .. _DETAadvection_test_tracer: -------------------- Detailed Description -------------------- This tracer package is used to test advection schemes. ------------------ Type Documentation ------------------ .. f:type:: advection_test_tracer_cs The control structure for the advect_test_tracer module. :typefield integer ntr: Number of tracers in this module. :typefield logical coupled_tracers: These tracers are not offered to the coupler. :typefield character (len=200) tracer_ic_file: The full path to the IC file, or " " to initialize internally. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(tracer_registry_type) tr_reg [pointer]: A pointer to the MOM tracer registry. :typefield real(\:,\:,\:,\:) tr [pointer]: The array of tracers used in this subroutine, in g m-3? :typefield real( ntr ) land_val: The value of tr used where land is masked out. :typefield logical use_sponge: If true, sponges may be applied somewhere in the domain. :typefield logical tracers_may_reinit: If true, the tracers may be set up via the initialization code if they are not found in the restart files. Otherwise it is a fatal error if the tracers are not found in the restart files of a restarted run. :typefield real x_origin: Parameters describing the test functions. :typefield real x_width: Parameters describing the test functions. :typefield real y_origin: Parameters describing the test functions. :typefield real y_width: Parameters describing the test functions. :typefield integer( ntr ) ind_tr: Indices returned by aof_set_coupler_flux if it is used and the surface tracer concentrations are to be provided to the coupler. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(mom_restart_cs) restart_csp [pointer]: A pointer to the restart control structure. :typefield type(vardesc)( ntr ) tr_desc: Descriptions and metadata for the tracers. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function register_advection_test_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS) Register tracer fields and subroutines to be used with MOM. :param hi: [in] A horizontal index type structure :param gv: [in] The ocean's vertical grid structure :param param_file: [in] A structure to parse for run-time parameters :param cs: The control structure returned by a previous call to register_advection_test_tracer. :param tr_reg: A pointer that is set to point to the control structure for the tracer advection and diffusion module :param restart_cs: A pointer to the restart control structure :callto: :f:func:`atmos_ocean_fluxes_mod::aof_set_coupler_flux ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ntr ` :callto: :f:func:`mom_tracer_registry::register_tracer ` :callto: :f:func:`mom_io::var_desc ` .. f:subroutine:: subroutine initialize_advection_test_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp) Initializes the NTR tracer fields in tr(:,:,:,:) and it sets up the tracer output. :param restart: [in] .true. if the fields have already been read from a restart file. :param day: [in] Time of the start of the run. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param diag: [in] A structure that is used to regulate diagnostic output. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param cs: The control structure returned by a previous call to register_advection_test_tracer. :param sponge_csp: Pointer to the control structure for the sponges. :callto: :f:func:`ntr ` :callto: :f:func:`mom_io::query_vardesc ` .. f:subroutine:: subroutine advection_test_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth) Applies diapycnal diffusion and any other column tracer physics or chemistry to the tracers from this package. This is a simple example of a set of advected passive tracers. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h_old: [in] Layer thickness before entrainment [H ~> m or kg m-2]. :param h_new: [in] Layer thickness after entrainment [H ~> m or kg m-2]. :param ea: [in] an array to which the amount of fluid entrained :param eb: [in] an array to which the amount of fluid entrained :param fluxes: [in] A structure containing pointers to thermodynamic and tracer forcing fields. Unused fields have NULL ptrs. :param dt: [in] The amount of time covered by this call [T ~> s] :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to register_advection_test_tracer. :param evap_cfl_limit: [in] Limit on the fraction of the water that can be fluxed out of the top layer in a timestep [nondim] :param minimum_forcing_depth: [in] The smallest depth over which fluxes can be applied [H ~> m or kg m-2] :callto: :f:func:`mom_tracer_diabatic::applytracerboundaryfluxesinout ` :callto: :f:func:`ntr ` :callto: :f:func:`mom_tracer_diabatic::tracer_vertdiff ` .. f:subroutine:: subroutine advection_test_tracer_surface_state(sfc_state, h, G, CS) This subroutine extracts the surface fields from this tracer package that are to be shared with the atmosphere in coupled configurations. This particular tracer package does not report anything back to the coupler. :param g: [in] The ocean's grid structure. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param h: [in] Layer thickness [H ~> m or kg m-2]. :param cs: The control structure returned by a previous call to register_advection_test_tracer. .. f:function:: integer function advection_test_stock(h, stocks, G, GV, CS, names, units, stock_index) Calculate the mass-weighted integral of all tracer stocks, returning the number of stocks it has calculated. If the stock_index is present, only the stock corresponding to that coded index is returned. :param g: [in] The ocean's grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param stocks: [out] the mass-weighted integrated amount of each tracer, in kg times concentration units [kg conc]. :param gv: [in] The ocean's vertical grid structure :param cs: The control structure returned by a previous call to register_advection_test_tracer. :param names: [out] the names of the stocks calculated. :param units: [out] the units of the stocks calculated. :param stock_index: [in] the coded index of a specific stock being sought. :returns undefined: the number of stocks calculated here. :callto: :f:func:`mom_io::query_vardesc ` :calledfrom: :f:func:`mom_tracer_flow_control::call_tracer_stocks ` .. f:subroutine:: subroutine advection_test_tracer_end(CS) Deallocate memory associated with this module. :param cs: The control structure returned by a previous call to register_advection_test_tracer. [debug] xpath(./compounddef/compoundname[text()="advection_test_tracer::advection_test_tracer_cs"]/..) match([('id', 'structadvection__test__tracer_1_1advection__test__tracer__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'advection_test_tracer::advection_test_tracer_cs', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'advection_test_tracer::advection_test_stock', , [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'advection_test_tracer::advection_test_tracer_end', type advection_test_tracer/advection_test_tracer_cs) [fd] run(.. f:function:: logical function register_advection_test_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] sig(logical function register_advection_test_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_advection_test_tracer) arglist(HI, GV, param_file, CS, tr_Reg, restart_CS) [fd] fullname(advection_test_tracer/register_advection_test_tracer) ftype(logical) [fd] name(('advection_test_tracer/register_advection_test_tracer', 'logical')) sig(logical function register_advection_test_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) signode(function advection_test_tracer/register_advection_test_tracerHIGVparam_fileCStr_Regrestart_CS [logical]) [fd] run(.. f:subroutine:: subroutine initialize_advection_test_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp)) [fd] sig(subroutine initialize_advection_test_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_advection_test_tracer) arglist(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp) [fd] fullname(advection_test_tracer/initialize_advection_test_tracer) ftype(None) [fd] name(('advection_test_tracer/initialize_advection_test_tracer', None)) sig(subroutine initialize_advection_test_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp)) signode(subroutine advection_test_tracer/initialize_advection_test_tracerrestartdayGGVhdiagOBCCSsponge_CSp) [fd] run(.. f:subroutine:: subroutine advection_test_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [fd] sig(subroutine advection_test_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(advection_test_tracer_column_physics) arglist(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth) [fd] fullname(advection_test_tracer/advection_test_tracer_column_physics) ftype(None) [fd] name(('advection_test_tracer/advection_test_tracer_column_physics', None)) sig(subroutine advection_test_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) signode(subroutine advection_test_tracer/advection_test_tracer_column_physicsh_oldh_neweaebfluxesdtGGVUSCSevap_CFL_limitminimum_forcing_depth) [fd] run(.. f:subroutine:: subroutine advection_test_tracer_surface_state(sfc_state, h, G, CS)) [fd] sig(subroutine advection_test_tracer_surface_state(sfc_state, h, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(advection_test_tracer_surface_state) arglist(sfc_state, h, G, CS) [fd] fullname(advection_test_tracer/advection_test_tracer_surface_state) ftype(None) [fd] name(('advection_test_tracer/advection_test_tracer_surface_state', None)) sig(subroutine advection_test_tracer_surface_state(sfc_state, h, G, CS)) signode(subroutine advection_test_tracer/advection_test_tracer_surface_statesfc_statehGCS) [fd] run(.. f:function:: integer function advection_test_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] sig(integer function advection_test_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] ftype(integer) objtype(function) modname(None) typename() name(advection_test_stock) arglist(h, stocks, G, GV, CS, names, units, stock_index) [fd] fullname(advection_test_tracer/advection_test_stock) ftype(integer) [fd] name(('advection_test_tracer/advection_test_stock', 'integer')) sig(integer function advection_test_stock(h, stocks, G, GV, CS, names, units, stock_index)) signode(function advection_test_tracer/advection_test_stockhstocksGGVCSnamesunitsstock_index [integer]) [fd] run(.. f:subroutine:: subroutine advection_test_tracer_end(CS)) [fd] sig(subroutine advection_test_tracer_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(advection_test_tracer_end) arglist(CS) [fd] fullname(advection_test_tracer/advection_test_tracer_end) ftype(None) [fd] name(('advection_test_tracer/advection_test_tracer_end', None)) sig(subroutine advection_test_tracer_end(CS)) signode(subroutine advection_test_tracer/advection_test_tracer_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 3%] api/generated/modules/atmos_ocean_fluxes_mod [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/atmos_ocean_ [app] emitting event: 'source-read'('api/generated/modules/atmos_ocean_fluxes_mod', ['.. autodoxymodule:: atmos_ocean_fluxes_mod\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/atmos_ocean_fluxes_mod.rst:1: input: .. autodoxymodule:: atmos_ocean_fluxes_mod :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~atmos_ocean_fluxes_mod::aof_set_coupler_flux [debug] xpath(./compounddef/compoundname[text()="atmos_ocean_fluxes_mod"]/..) match([('id', 'namespaceatmos__ocean__fluxes__mod'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:atmos_ocean_fluxes_mod module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespaceatmos__ocean__fluxes__mod) kindref(compound) ref([]) [debug] ref([('id', 'namespaceatmos__ocean__fluxes__mod'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'atmos_ocean_fluxes_mod', , {'members': , {'members': ]) [debug] ref([('id', 'namespaceatmos__ocean__fluxes__mod'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'atmos_ocean_fluxes_mod', , {'members': )]) [autodoc] module analyzer failed: error importing 'atmos_ocean_fluxes_mod' (exception was: ModuleNotFoundError("No module named 'atmos_ocean_fluxes_mod'")) [debug] DoxygenMethodDocumenter format_signature called ((name, flux_type, implementation, atm_tr_index, param, flag, mol_wt, ice_restart_file, ocean_restart_file, units, caller, verbosity)) [debug] add_directive_header sig((name, flux_type, implementation, atm_tr_index, param, flag, mol_wt, ice_restart_file, ocean_restart_file, units, caller, verbosity)) [debug] DoxygenMethodDocumenter directive(function) name(integer function aof_set_coupler_flux) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'aof_set_coupler_flux', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~atmos_ocean_fluxes_mod::aof_set_coupler_flux .. _DETAatmos_ocean_fluxes_mod: -------------------- Detailed Description -------------------- A dummy version of :f:func:`atmos_ocean_fluxes_mod` module for use when the vastly larger FMS package is not needed. module for use when the vastly larger FMS package is not needed. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: integer function aof_set_coupler_flux(name, flux_type, implementation, atm_tr_index, param, flag, mol_wt, ice_restart_file, ocean_restart_file, units, caller, verbosity) This subroutine duplicates an interface used by the FMS coupler, but only returns a value of -1. None of the arguments are used for anything. :param name: [in] An unused argument :param flux_type: [in] An unused argument :param implementation: [in] An unused argument :param atm_tr_index: [in] An unused argument :param param: [in] An unused argument :param flag: [in] An unused argument :param mol_wt: [in] An unused argument :param ice_restart_file: [in] An unused argument :param ocean_restart_file: [in] An unused argument :param units: [in] An unused argument :param caller: [in] An unused argument :param verbosity: [in] An unused argument :calledfrom: :f:func:`mom_ocmip2_cfc::flux_init_ocmip2_cfc ` :calledfrom: :f:func:`advection_test_tracer::register_advection_test_tracer ` :calledfrom: :f:func:`boundary_impulse_tracer::register_boundary_impulse_tracer ` :calledfrom: :f:func:`dome_tracer::register_dome_tracer ` :calledfrom: :f:func:`regional_dyes::register_dye_tracer ` :calledfrom: :f:func:`dyed_obc_tracer::register_dyed_obc_tracer ` :calledfrom: :f:func:`ideal_age_example::register_ideal_age_tracer ` :calledfrom: :f:func:`isomip_tracer::register_isomip_tracer ` :calledfrom: :f:func:`oil_tracer::register_oil_tracer ` :calledfrom: :f:func:`user_tracer_example::user_register_tracer_example ` [debug] DoxygenMethodDocumenter format_signature called ((name, flux_type, implementation, atm_tr_index, param, flag, mol_wt, ice_restart_file, ocean_restart_file, units, caller, verbosity)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'atmos_ocean_fluxes_mod::aof_set_coupler_flux', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'atmos_ocean_fluxes_mod::aof_set_coupler_flux', [fd] run(.. f:function:: integer function aof_set_coupler_flux(name, flux_type, implementation, atm_tr_index, param, flag, mol_wt, ice_restart_file, ocean_restart_file, units, caller, verbosity)) [fd] sig(integer function aof_set_coupler_flux(name, flux_type, implementation, atm_tr_index, param, flag, mol_wt, ice_restart_file, ocean_restart_file, units, caller, verbosity)) [fd] ftype(integer) objtype(function) modname(None) typename() name(aof_set_coupler_flux) arglist(name, flux_type, implementation, atm_tr_index, param, flag, mol_wt, ice_restart_file, ocean_restart_file, units, caller, verbosity) [fd] fullname(atmos_ocean_fluxes_mod/aof_set_coupler_flux) ftype(integer) [fd] name(('atmos_ocean_fluxes_mod/aof_set_coupler_flux', 'integer')) sig(integer function aof_set_coupler_flux(name, flux_type, implementation, atm_tr_index, param, flag, mol_wt, ice_restart_file, ocean_restart_file, units, caller, verbosity)) signode(function atmos_ocean_fluxes_mod/aof_set_coupler_fluxnameflux_typeimplementationatm_tr_indexparamflagmol_wtice_restart_fileocean_restart_fileunitscallerverbosity [integer]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 3%] api/generated/modules/baroclinic_zone_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/baroclinic_z [app] emitting event: 'source-read'('api/generated/modules/baroclinic_zone_initialization', ['.. autodoxymodule:: baroclinic_zone_initi [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/baroclinic_zone_initialization.rst:1: input: .. autodoxymodule:: baroclinic_zone_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~baroclinic_zone_initialization::bcz_params ~baroclinic_zone_initialization::baroclinic_zone_init_temperature_salinity [debug] xpath(./compounddef/compoundname[text()="baroclinic_zone_initialization"]/..) match([('id', 'namespacebaroclinic__zone__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:baroclinic_zone_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'baroclinic_zone_initialization', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'baroclinic_zone_initialization', , {'members' [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(namespacebaroclinic__zone__initialization_1section_baroclinic_zone) title(Description of the baroclinic zone initial conditions) [debug] method=visit_title [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'baroclinic_zone_initialization', , {'members' [debug] members([('bcz_params', ), ('baroclinic_zone_init_temperature_salinity', )]) [autodoc] module analyzer failed: error importing 'baroclinic_zone_initialization' (exception was: ModuleNotFoundError("No module named 'baroclinic_zone_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, param_file, S_ref, dSdz, delta_S, dSdx, T_ref, dTdz, delta_T, dTdx, L_zone, just_read_params)) [debug] add_directive_header sig((G, GV, US, param_file, S_ref, dSdz, delta_S, dSdx, T_ref, dTdz, delta_T, dTdx, L_zone, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine bcz_params) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bcz_params', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'baroclinic_zone_init_temperature_salinity', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'baroclinic_zone_init_temperature_salinity', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'baroclinic_zone_init_temperature_salinity', , { [autodoc] output: =============================================== baroclinic_zone_initialization module reference =============================================== .. f:module:: baroclinic_zone_initialization Initial conditions for an idealized baroclinic zone. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~baroclinic_zone_initialization::bcz_params ~baroclinic_zone_initialization::baroclinic_zone_init_temperature_salinity .. _DETAbaroclinic_zone_initialization: -------------------- Detailed Description -------------------- .. _namespacebaroclinic__zone__initialization_1section_baroclinic_zone: Description of the baroclinic zone initial conditions ===================================================== yada yada yada --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine bcz_params(G, GV, US, param_file, S_ref, dSdz, delta_S, dSdx, T_ref, dTdz, delta_T, dTdx, L_zone, just_read_params) Reads the parameters unique to this module. :param g: [in] Grid structure :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] Parameter file handle :param s_ref: [out] Reference salinity [ppt] :param dsdz: [out] Salinity stratification [ppt Z-1 ~> ppt m-1] :param delta_s: [out] Salinity difference across baroclinic zone [ppt] :param dsdx: [out] Linear salinity gradient [ppt m-1] :param t_ref: [out] Reference temperature [degC] :param dtdz: [out] Temperature stratification [degC Z-1 ~> degC m-1] :param delta_t: [out] Temperature difference across baroclinic zone [degC] :param dtdx: [out] Linear temperature gradient in [degC Gx_axis_units-1] :param l_zone: [out] Width of baroclinic zone in [Gx_axis_units] :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mom_file_parser::closeparameterblock ` :callto: :f:func:`mdl ` :callto: :f:func:`mom_file_parser::openparameterblock ` :calledfrom: :f:func:`baroclinic_zone_init_temperature_salinity ` .. f:subroutine:: subroutine baroclinic_zone_init_temperature_salinity(T, S, h, G, GV, US, param_file, just_read_params) Initialization of temperature and salinity with the baroclinic zone initial conditions. :param g: [in] Grid structure :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param t: [out] Potential temperature [degC] :param s: [out] Salinity [ppt] :param h: [in] The model thicknesses [H ~> m or kg m-2] :param param_file: [in] Parameter file handle :param just_read_params: [in] If present and true, this call will only read parameters without changing T & S. :callto: :f:func:`bcz_params ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, param_file, S_ref, dSdz, delta_S, dSdx, T_ref, dTdz, delta_T, dTdx, L_zone, just_read_params)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'baroclinic_zone_initialization::bcz_params', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'baroclinic_zone_initialization::bcz_params', , [debug] DoxygenMethodDocumenter format_signature called ((T, S, h, G, GV, US, param_file, just_read_params)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'baroclinic_zone_initialization::baroclinic_zone_init_temperature_salinity', subroutine baroclinic_zone_initialization/bcz_paramsGGVUSparam_fileS_refdSdzdelta_SdSdxT_refdTdzdelta_TdTdxL_zonejust_read_params) [fd] run(.. f:subroutine:: subroutine baroclinic_zone_init_temperature_salinity(T, S, h, G, GV, US, param_file, just_read_params)) [fd] sig(subroutine baroclinic_zone_init_temperature_salinity(T, S, h, G, GV, US, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(baroclinic_zone_init_temperature_salinity) arglist(T, S, h, G, GV, US, param_file, just_read_params) [fd] fullname(baroclinic_zone_initialization/baroclinic_zone_init_temperature_salinity) ftype(None) [fd] name(('baroclinic_zone_initialization/baroclinic_zone_init_temperature_salinity', None)) sig(subroutine baroclinic_zone_init_temperature_salinity(T, S, h, G, GV, US, param_file, just_read_params)) signode(subroutine baroclinic_zone_initialization/baroclinic_zone_init_temperature_salinityTShGGVUSparam_filejust_read_params) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(,) reading sources... [ 4%] api/generated/modules/basin_builder [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/basin_builde [app] emitting event: 'source-read'('api/generated/modules/basin_builder', ['.. autodoxymodule:: basin_builder\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/basin_builder.rst:1: input: .. autodoxymodule:: basin_builder :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~basin_builder::basin_builder_topography ~basin_builder::cone ~basin_builder::scurve ~basin_builder::cstprof ~basin_builder::dist_line_fixed_x ~basin_builder::dist_line_fixed_y ~basin_builder::ns_coast ~basin_builder::ew_coast ~basin_builder::ns_conic_ridge ~basin_builder::ns_scurve_ridge ~basin_builder::circ_conic_ridge ~basin_builder::circ_scurve_ridge [debug] xpath(./compounddef/compoundname[text()="basin_builder"]/..) match([('id', 'namespacebasin__builder'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:basin_builder module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'basin_builder', , {'members': , {'members': , {'members': ), ('cone', ), ('scurve', ), ('cstprof', ), ('dist_line_fixed_x', ), ('dist_line_fixed_y', ), ('ns_coast', ), ('ew_coast', ), ('ns_conic_ridge', ), ('ns_scurve_ridge', ), ('circ_conic_ridge', ), ('circ_scurve_ridge', )]) [autodoc] module analyzer failed: error importing 'basin_builder' (exception was: ModuleNotFoundError("No module named 'basin_builder'")) [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth)) [debug] add_directive_header sig((D, G, param_file, max_depth)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine basin_builder_topography) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder_topography', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~basin_builder::basin_builder_topography ~basin_builder::cone ~basin_builder::scurve ~basin_builder::cstprof ~basin_builder::dist_line_fixed_x ~basin_builder::dist_line_fixed_y ~basin_builder::ns_coast ~basin_builder::ew_coast ~basin_builder::ns_conic_ridge ~basin_builder::ns_scurve_ridge ~basin_builder::circ_conic_ridge ~basin_builder::circ_scurve_ridge .. _DETAbasin_builder: -------------------- Detailed Description -------------------- An idealized topography building system. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine basin_builder_topography(D, G, param_file, max_depth) Constructs idealized topography from simple functions. :param g: [in] The dynamic horizontal grid type :param d: [out] Ocean bottom depth in the units of depth_max :param param_file: [in] Parameter file structure :param max_depth: [in] Maximum ocean depth in arbitrary units :callto: :f:func:`circ_conic_ridge ` :callto: :f:func:`circ_scurve_ridge ` :callto: :f:func:`ew_coast ` :callto: :f:func:`mom_string_functions::lowercase ` :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`ns_coast ` :callto: :f:func:`ns_conic_ridge ` :callto: :f:func:`ns_scurve_ridge ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_topography ` .. f:function:: real function cone(x, x0, L, clip) Returns the value of a triangular function centered at x=x0 with value 1 and linearly decreasing to 0 at x=x0+/-L, and 0 otherwise. If clip is present the top of the cone is cut off at "clip", which effectively defaults to 1. :param x: [in] non-dimensional coordinate [nondim] :param x0: [in] position of peak [nondim] :param l: [in] half-width of base of cone [nondim] :param clip: [in] clipping height of cone [nondim] :calledfrom: :f:func:`circ_conic_ridge ` :calledfrom: :f:func:`ns_conic_ridge ` .. f:function:: real function scurve(x, x0, L) Returns an s-curve s(x) s.t. s(x0)<=0, s(x0+L)>=1 and cubic in between. :param x: [in] non-dimensional coordinate [nondim] :param x0: [in] position of peak [nondim] :param l: [in] half-width of base of cone [nondim] :calledfrom: :f:func:`circ_scurve_ridge ` :calledfrom: :f:func:`cstprof ` :calledfrom: :f:func:`ns_scurve_ridge ` .. f:function:: real function cstprof(x, x0, L, lf, bf, sf, sh) Returns a "coastal" profile. :param x: [in] non-dimensional coordinate [nondim] :param x0: [in] position of peak [nondim] :param l: [in] width of profile [nondim] :param lf: [in] fraction of width that is "land" [nondim] :param bf: [in] fraction of width that is "beach" [nondim] :param sf: [in] fraction of width that is "continental slope" [nondim] :param sh: [in] depth of shelf as fraction of full depth [nondim] :callto: :f:func:`scurve ` :calledfrom: :f:func:`ew_coast ` :calledfrom: :f:func:`ns_coast ` .. f:function:: real function dist_line_fixed_x(x, y, x0, y0, y1) Distance between points x,y and a line segment (x0,y0) and (x0,y1). :param x: [in] non-dimensional x-coordinate [nondim] :param y: [in] non-dimensional y-coordinate [nondim] :param x0: [in] x-position of line segment [nondim] :param y0: [in] y-position of line segment end[nondim] :param y1: [in] y-position of line segment end[nondim] :calledfrom: :f:func:`dist_line_fixed_y ` :calledfrom: :f:func:`ns_coast ` :calledfrom: :f:func:`ns_conic_ridge ` :calledfrom: :f:func:`ns_scurve_ridge ` .. f:function:: real function dist_line_fixed_y(x, y, x0, x1, y0) Distance between points x,y and a line segment (x0,y0) and (x1,y0). :param x: [in] non-dimensional x-coordinate [nondim] :param y: [in] non-dimensional y-coordinate [nondim] :param x0: [in] x-position of line segment end[nondim] :param x1: [in] x-position of line segment end[nondim] :param y0: [in] y-position of line segment [nondim] :callto: :f:func:`dist_line_fixed_x ` :calledfrom: :f:func:`ew_coast ` .. f:function:: real function ns_coast(lon, lat, lonC, lat0, lat1, dlon, sh) A "coast profile" applied in an N-S line from lonC,lat0 to lonC,lat1. :param lon: [in] Longitude [degrees_E] :param lat: [in] Latitude [degrees_N] :param lonc: [in] Longitude of coast [degrees_E] :param lat0: [in] Latitude of coast end [degrees_N] :param lat1: [in] Latitude of coast end [degrees_N] :param dlon: [in] "Radius" of coast profile [degrees] :param sh: [in] depth of shelf as fraction of full depth [nondim] :callto: :f:func:`cstprof ` :callto: :f:func:`dist_line_fixed_x ` :calledfrom: :f:func:`basin_builder_topography ` .. f:function:: real function ew_coast(lon, lat, latC, lon0, lon1, dlat, sh) A "coast profile" applied in an E-W line from lon0,latC to lon1,latC. :param lon: [in] Longitude [degrees_E] :param lat: [in] Latitude [degrees_N] :param latc: [in] Latitude of coast [degrees_N] :param lon0: [in] Longitude of coast end [degrees_E] :param lon1: [in] Longitude of coast end [degrees_E] :param dlat: [in] "Radius" of coast profile [degrees] :param sh: [in] depth of shelf as fraction of full depth [nondim] :callto: :f:func:`cstprof ` :callto: :f:func:`dist_line_fixed_y ` :calledfrom: :f:func:`basin_builder_topography ` .. f:function:: real function ns_conic_ridge(lon, lat, lonC, lat0, lat1, dlon, rh) A NS ridge with a cone profile. :param lon: [in] Longitude [degrees_E] :param lat: [in] Latitude [degrees_N] :param lonc: [in] Longitude of ridge center [degrees_E] :param lat0: [in] Latitude of ridge end [degrees_N] :param lat1: [in] Latitude of ridge end [degrees_N] :param dlon: [in] "Radius" of ridge profile [degrees] :param rh: [in] depth of ridge as fraction of full depth [nondim] :callto: :f:func:`cone ` :callto: :f:func:`dist_line_fixed_x ` :calledfrom: :f:func:`basin_builder_topography ` .. f:function:: real function ns_scurve_ridge(lon, lat, lonC, lat0, lat1, dlon, rh) A NS ridge with an scurve profile. :param lon: [in] Longitude [degrees_E] :param lat: [in] Latitude [degrees_N] :param lonc: [in] Longitude of ridge center [degrees_E] :param lat0: [in] Latitude of ridge end [degrees_N] :param lat1: [in] Latitude of ridge end [degrees_N] :param dlon: [in] "Radius" of ridge profile [degrees] :param rh: [in] depth of ridge as fraction of full depth [nondim] :callto: :f:func:`dist_line_fixed_x ` :callto: :f:func:`scurve ` :calledfrom: :f:func:`basin_builder_topography ` .. f:function:: real function circ_conic_ridge(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height) A circular ridge with cutoff conic profile. :param lon: [in] Longitude [degrees_E] :param lat: [in] Latitude [degrees_N] :param lon0: [in] Longitude of center of ring [degrees_E] :param lat0: [in] Latitude of center of ring [degrees_N] :param ring_radius: [in] Radius of ring [degrees] :param ring_thickness: [in] Radial thickness of ring [degrees] :param ridge_height: [in] Ridge height as fraction of full depth [nondim] :callto: :f:func:`cone ` :calledfrom: :f:func:`basin_builder_topography ` .. f:function:: real function circ_scurve_ridge(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height) A circular ridge with cutoff scurve profile. :param lon: [in] Longitude [degrees_E] :param lat: [in] Latitude [degrees_N] :param lon0: [in] Longitude of center of ring [degrees_E] :param lat0: [in] Latitude of center of ring [degrees_N] :param ring_radius: [in] Radius of ring [degrees] :param ring_thickness: [in] Radial thickness of ring [degrees] :param ridge_height: [in] Ridge height as fraction of full depth [nondim] :callto: :f:func:`scurve ` :calledfrom: :f:func:`basin_builder_topography ` [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::basin_builder_topography', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::basin_builder_topography', , {}, [debug] DoxygenMethodDocumenter format_signature called ((x, x0, L, clip)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::cone', , {}, ['', 'Returns the v [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::cone', , {}, ['', 'Returns the v [debug] DoxygenMethodDocumenter format_signature called ((x, x0, L)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::scurve', , {}, ['', 'Returns an [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::scurve', , {}, ['', 'Returns an [debug] DoxygenMethodDocumenter format_signature called ((x, x0, L, lf, bf, sf, sh)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::cstprof', , {}, ['', 'Returns a [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::cstprof', , {}, ['', 'Returns a [debug] DoxygenMethodDocumenter format_signature called ((x, y, x0, y0, y1)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::dist_line_fixed_x', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::dist_line_fixed_x', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((x, y, x0, x1, y0)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::dist_line_fixed_y', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::dist_line_fixed_y', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((lon, lat, lonC, lat0, lat1, dlon, sh)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::ns_coast', , {}, ['', 'A "coast [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::ns_coast', , {}, ['', 'A "coast [debug] DoxygenMethodDocumenter format_signature called ((lon, lat, latC, lon0, lon1, dlat, sh)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::ew_coast', , {}, ['', 'A "coast [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::ew_coast', , {}, ['', 'A "coast [debug] DoxygenMethodDocumenter format_signature called ((lon, lat, lonC, lat0, lat1, dlon, rh)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::ns_conic_ridge', , {}, ['', 'A N [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::ns_conic_ridge', , {}, ['', 'A N [debug] DoxygenMethodDocumenter format_signature called ((lon, lat, lonC, lat0, lat1, dlon, rh)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::ns_scurve_ridge', , {}, ['', 'A [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::ns_scurve_ridge', , {}, ['', 'A [debug] DoxygenMethodDocumenter format_signature called ((lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::circ_conic_ridge', , {}, ['', 'A [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::circ_conic_ridge', , {}, ['', 'A [debug] DoxygenMethodDocumenter format_signature called ((lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::circ_scurve_ridge', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'basin_builder::circ_scurve_ridge', , {}, ['', ' [fd] run(.. f:subroutine:: subroutine basin_builder_topography(D, G, param_file, max_depth)) [fd] sig(subroutine basin_builder_topography(D, G, param_file, max_depth)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(basin_builder_topography) arglist(D, G, param_file, max_depth) [fd] fullname(basin_builder/basin_builder_topography) ftype(None) [fd] name(('basin_builder/basin_builder_topography', None)) sig(subroutine basin_builder_topography(D, G, param_file, max_depth)) signode(subroutine basin_builder/basin_builder_topographyDGparam_filemax_depth) [fd] run(.. f:function:: real function cone(x, x0, L, clip)) [fd] sig(real function cone(x, x0, L, clip)) [fd] ftype(real) objtype(function) modname(None) typename() name(cone) arglist(x, x0, L, clip) [fd] fullname(basin_builder/cone) ftype(real) [fd] name(('basin_builder/cone', 'real')) sig(real function cone(x, x0, L, clip)) signode(function basin_builder/conexx0Lclip [real]) [fd] run(.. f:function:: real function scurve(x, x0, L)) [fd] sig(real function scurve(x, x0, L)) [fd] ftype(real) objtype(function) modname(None) typename() name(scurve) arglist(x, x0, L) [fd] fullname(basin_builder/scurve) ftype(real) [fd] name(('basin_builder/scurve', 'real')) sig(real function scurve(x, x0, L)) signode(function basin_builder/scurvexx0L [real]) [fd] run(.. f:function:: real function cstprof(x, x0, L, lf, bf, sf, sh)) [fd] sig(real function cstprof(x, x0, L, lf, bf, sf, sh)) [fd] ftype(real) objtype(function) modname(None) typename() name(cstprof) arglist(x, x0, L, lf, bf, sf, sh) [fd] fullname(basin_builder/cstprof) ftype(real) [fd] name(('basin_builder/cstprof', 'real')) sig(real function cstprof(x, x0, L, lf, bf, sf, sh)) signode(function basin_builder/cstprofxx0Llfbfsfsh [real]) [fd] run(.. f:function:: real function dist_line_fixed_x(x, y, x0, y0, y1)) [fd] sig(real function dist_line_fixed_x(x, y, x0, y0, y1)) [fd] ftype(real) objtype(function) modname(None) typename() name(dist_line_fixed_x) arglist(x, y, x0, y0, y1) [fd] fullname(basin_builder/dist_line_fixed_x) ftype(real) [fd] name(('basin_builder/dist_line_fixed_x', 'real')) sig(real function dist_line_fixed_x(x, y, x0, y0, y1)) signode(function basin_builder/dist_line_fixed_xxyx0y0y1 [real]) [fd] run(.. f:function:: real function dist_line_fixed_y(x, y, x0, x1, y0)) [fd] sig(real function dist_line_fixed_y(x, y, x0, x1, y0)) [fd] ftype(real) objtype(function) modname(None) typename() name(dist_line_fixed_y) arglist(x, y, x0, x1, y0) [fd] fullname(basin_builder/dist_line_fixed_y) ftype(real) [fd] name(('basin_builder/dist_line_fixed_y', 'real')) sig(real function dist_line_fixed_y(x, y, x0, x1, y0)) signode(function basin_builder/dist_line_fixed_yxyx0x1y0 [real]) [fd] run(.. f:function:: real function ns_coast(lon, lat, lonC, lat0, lat1, dlon, sh)) [fd] sig(real function ns_coast(lon, lat, lonC, lat0, lat1, dlon, sh)) [fd] ftype(real) objtype(function) modname(None) typename() name(ns_coast) arglist(lon, lat, lonC, lat0, lat1, dlon, sh) [fd] fullname(basin_builder/ns_coast) ftype(real) [fd] name(('basin_builder/ns_coast', 'real')) sig(real function ns_coast(lon, lat, lonC, lat0, lat1, dlon, sh)) signode(function basin_builder/ns_coastlonlatlonClat0lat1dlonsh [real]) [fd] run(.. f:function:: real function ew_coast(lon, lat, latC, lon0, lon1, dlat, sh)) [fd] sig(real function ew_coast(lon, lat, latC, lon0, lon1, dlat, sh)) [fd] ftype(real) objtype(function) modname(None) typename() name(ew_coast) arglist(lon, lat, latC, lon0, lon1, dlat, sh) [fd] fullname(basin_builder/ew_coast) ftype(real) [fd] name(('basin_builder/ew_coast', 'real')) sig(real function ew_coast(lon, lat, latC, lon0, lon1, dlat, sh)) signode(function basin_builder/ew_coastlonlatlatClon0lon1dlatsh [real]) [fd] run(.. f:function:: real function ns_conic_ridge(lon, lat, lonC, lat0, lat1, dlon, rh)) [fd] sig(real function ns_conic_ridge(lon, lat, lonC, lat0, lat1, dlon, rh)) [fd] ftype(real) objtype(function) modname(None) typename() name(ns_conic_ridge) arglist(lon, lat, lonC, lat0, lat1, dlon, rh) [fd] fullname(basin_builder/ns_conic_ridge) ftype(real) [fd] name(('basin_builder/ns_conic_ridge', 'real')) sig(real function ns_conic_ridge(lon, lat, lonC, lat0, lat1, dlon, rh)) signode(function basin_builder/ns_conic_ridgelonlatlonClat0lat1dlonrh [real]) [fd] run(.. f:function:: real function ns_scurve_ridge(lon, lat, lonC, lat0, lat1, dlon, rh)) [fd] sig(real function ns_scurve_ridge(lon, lat, lonC, lat0, lat1, dlon, rh)) [fd] ftype(real) objtype(function) modname(None) typename() name(ns_scurve_ridge) arglist(lon, lat, lonC, lat0, lat1, dlon, rh) [fd] fullname(basin_builder/ns_scurve_ridge) ftype(real) [fd] name(('basin_builder/ns_scurve_ridge', 'real')) sig(real function ns_scurve_ridge(lon, lat, lonC, lat0, lat1, dlon, rh)) signode(function basin_builder/ns_scurve_ridgelonlatlonClat0lat1dlonrh [real]) [fd] run(.. f:function:: real function circ_conic_ridge(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height)) [fd] sig(real function circ_conic_ridge(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height)) [fd] ftype(real) objtype(function) modname(None) typename() name(circ_conic_ridge) arglist(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height) [fd] fullname(basin_builder/circ_conic_ridge) ftype(real) [fd] name(('basin_builder/circ_conic_ridge', 'real')) sig(real function circ_conic_ridge(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height)) signode(function basin_builder/circ_conic_ridgelonlatlon0lat0ring_radiusring_thicknessridge_height [real]) [fd] run(.. f:function:: real function circ_scurve_ridge(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height)) [fd] sig(real function circ_scurve_ridge(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height)) [fd] ftype(real) objtype(function) modname(None) typename() name(circ_scurve_ridge) arglist(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height) [fd] fullname(basin_builder/circ_scurve_ridge) ftype(real) [fd] name(('basin_builder/circ_scurve_ridge', 'real')) sig(real function circ_scurve_ridge(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height)) signode(function basin_builder/circ_scurve_ridgelonlatlon0lat0ring_radiusring_thicknessridge_height [real]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 4%] api/generated/modules/benchmark_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/benchmark_in [app] emitting event: 'source-read'('api/generated/modules/benchmark_initialization', ['.. autodoxymodule:: benchmark_initialization\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/benchmark_initialization.rst:1: input: .. autodoxymodule:: benchmark_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~benchmark_initialization::benchmark_initialize_topography ~benchmark_initialization::benchmark_initialize_thickness ~benchmark_initialization::benchmark_init_temperature_salinity [debug] xpath(./compounddef/compoundname[text()="benchmark_initialization"]/..) match([('id', 'namespacebenchmark__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:benchmark_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'benchmark_initialization', , {'members': , {'members': , {'members': ), ('benchmark_initialize_thickness', ), ('benchmark_init_temperature_salinity', )]) [autodoc] module analyzer failed: error importing 'benchmark_initialization' (exception was: ModuleNotFoundError("No module named 'benchmark_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth, US)) [debug] add_directive_header sig((D, G, param_file, max_depth, US)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine benchmark_initialize_topography) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'benchmark_initialize_topography', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'benchmark_initialize_topography', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'benchmark_initialize_topography', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'benchmark_initialize_topography', , {'members': [autodoc] module analyzer failed: error importing 'benchmark_initialization' (exception was: ModuleNotFoundError("No module named 'benchmark_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params)) [debug] add_directive_header sig((h, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine benchmark_initialize_thickness) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'benchmark_initialize_thickness', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'benchmark_initialize_thickness', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'benchmark_initialize_thickness', , {'members': [autodoc] module analyzer failed: error importing 'benchmark_initialization' (exception was: ModuleNotFoundError("No module named 'benchmark_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params)) [debug] add_directive_header sig((T, S, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine benchmark_init_temperature_salinity) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'benchmark_init_temperature_salinity', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'benchmark_init_temperature_salinity', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'benchmark_init_temperature_salinity', , {'membe [autodoc] output: ========================================= benchmark_initialization module reference ========================================= .. f:module:: benchmark_initialization Initialization for the "bench mark" configuration. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~benchmark_initialization::benchmark_initialize_topography ~benchmark_initialization::benchmark_initialize_thickness ~benchmark_initialization::benchmark_init_temperature_salinity .. _DETAbenchmark_initialization: -------------------- Detailed Description -------------------- Initialization for the "bench mark" configuration. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine benchmark_initialize_topography(D, G, param_file, max_depth, US) This subroutine sets up the benchmark test case topography. :param g: [in] The dynamic horizontal grid type :param d: [out] Ocean bottom depth in m or [Z ~> m] if US is present :param param_file: [in] Parameter file structure :param max_depth: [in] Maximum model depth in the units of D :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::mom_mesg ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_topography ` .. f:subroutine:: subroutine benchmark_initialize_thickness(h, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params) Initializes layer thicknesses for the benchmark test case, by finding the depths of interfaces in a specified latitude-dependent temperature profile with an exponentially decaying thermocline on top of a linear stratification. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [out] The thickness that is being initialized [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param eqn_of_state: Equation of state structure :param p_ref: [in] The coordinate-density reference pressure [R L2 T-2 ~> Pa]. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mom_error_handler::mom_mesg ` .. f:subroutine:: subroutine benchmark_init_temperature_salinity(T, S, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params) Initializes layer temperatures and salinities for benchmark. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param t: [out] The potential temperature that is being initialized. :param s: [out] The salinity that is being initialized. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param eqn_of_state: Equation of state structure :param p_ref: [in] The coordinate-density reference pressure [R L2 T-2 ~> Pa]. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'benchmark_initialization::benchmark_initialize_topography', subroutine benchmark_initialization/benchmark_initialize_topographyDGparam_filemax_depthUS) [fd] run(.. f:subroutine:: subroutine benchmark_initialize_thickness(h, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params)) [fd] sig(subroutine benchmark_initialize_thickness(h, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(benchmark_initialize_thickness) arglist(h, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params) [fd] fullname(benchmark_initialization/benchmark_initialize_thickness) ftype(None) [fd] name(('benchmark_initialization/benchmark_initialize_thickness', None)) sig(subroutine benchmark_initialize_thickness(h, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params)) signode(subroutine benchmark_initialization/benchmark_initialize_thicknesshGGVUSparam_fileeqn_of_stateP_Refjust_read_params) [fd] run(.. f:subroutine:: subroutine benchmark_init_temperature_salinity(T, S, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params)) [fd] sig(subroutine benchmark_init_temperature_salinity(T, S, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(benchmark_init_temperature_salinity) arglist(T, S, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params) [fd] fullname(benchmark_initialization/benchmark_init_temperature_salinity) ftype(None) [fd] name(('benchmark_initialization/benchmark_init_temperature_salinity', None)) sig(subroutine benchmark_init_temperature_salinity(T, S, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params)) signode(subroutine benchmark_initialization/benchmark_init_temperature_salinityTSGGVUSparam_fileeqn_of_stateP_Refjust_read_params) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 4%] api/generated/modules/bfb_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/bfb_initiali [app] emitting event: 'source-read'('api/generated/modules/bfb_initialization', ['.. autodoxymodule:: bfb_initialization\n :members:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/bfb_initialization.rst:1: input: .. autodoxymodule:: bfb_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~bfb_initialization::bfb_set_coord ~bfb_initialization::bfb_initialize_sponges_southonly ~bfb_initialization::write_bfb_log [debug] xpath(./compounddef/compoundname[text()="bfb_initialization"]/..) match([('id', 'namespacebfb__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:bfb_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'bfb_initialization', , {'members': , {'members': , {'members': ), ('bfb_initialize_sponges_southonly', ), ('write_bfb_log', )]) [autodoc] module analyzer failed: error importing 'bfb_initialization' (exception was: ModuleNotFoundError("No module named 'bfb_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((Rlay, g_prime, GV, US, param_file, eqn_of_state)) [debug] add_directive_header sig((Rlay, g_prime, GV, US, param_file, eqn_of_state)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine bfb_set_coord) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bfb_set_coord', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bfb_initialize_sponges_southonly', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bfb_initialize_sponges_southonly', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bfb_initialize_sponges_southonly', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bfb_initialize_sponges_southonly', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bfb_initialize_sponges_southonly', , {'members' [autodoc] module analyzer failed: error importing 'bfb_initialization' (exception was: ModuleNotFoundError("No module named 'bfb_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((param_file)) [debug] add_directive_header sig((param_file)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine write_bfb_log) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'write_bfb_log', , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~bfb_initialization::bfb_set_coord ~bfb_initialization::bfb_initialize_sponges_southonly ~bfb_initialization::write_bfb_log .. _DETAbfb_initialization: -------------------- Detailed Description -------------------- Initialization of the boundary-forced-basing configuration. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine bfb_set_coord(Rlay, g_prime, GV, US, param_file, eqn_of_state) This subroutine specifies the vertical coordinate in terms of temperature at the surface and at the bottom. This case is set up in such a way that the temperature of the topmost layer is equal to the SST at the southern edge of the domain. The temperatures are then converted to densities of the top and bottom layers and linearly interpolated for the intermediate layers. :param gv: [in] The ocean's vertical grid structure :param rlay: [out] Layer potential density [R ~> kg m-3]. :param g_prime: [out] The reduced gravity at each interface [L2 Z-1 T-2 ~> m s-2]. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :param eqn_of_state: Equation of state structure :callto: :f:func:`first_call ` :callto: :f:func:`write_bfb_log ` :calledfrom: :f:func:`mom_coord_initialization::mom_initialize_coord ` .. f:subroutine:: subroutine bfb_initialize_sponges_southonly(G, GV, US, use_temperature, tv, param_file, CSp, h) This subroutine sets up the sponges for the southern bouundary of the domain. Maximum damping occurs within 2 degrees lat of the boundary. The damping linearly decreases northward over the next 2 degrees. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param use_temperature: [in] If true, temperature and salinity are used as state variables. :param tv: [in] A structure pointing to various thermodynamic variables :param param_file: [in] A structure to parse for run-time parameters :param csp: A pointer to the sponge control structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :callto: :f:func:`first_call ` :callto: :f:func:`mom_sponge::initialize_sponge ` :callto: :f:func:`write_bfb_log ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` .. f:subroutine:: subroutine write_bfb_log(param_file) Write output about the parameter values being used. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :callto: :f:func:`first_call ` :calledfrom: :f:func:`bfb_initialize_sponges_southonly ` :calledfrom: :f:func:`bfb_set_coord ` [debug] DoxygenMethodDocumenter format_signature called ((Rlay, g_prime, GV, US, param_file, eqn_of_state)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bfb_initialization::bfb_set_coord', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bfb_initialization::bfb_set_coord', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, use_temperature, tv, param_file, CSp, h)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bfb_initialization::bfb_initialize_sponges_southonly', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bfb_initialization::write_bfb_log', , {}, ['', [fd] run(.. f:subroutine:: subroutine bfb_set_coord(Rlay, g_prime, GV, US, param_file, eqn_of_state)) [fd] sig(subroutine bfb_set_coord(Rlay, g_prime, GV, US, param_file, eqn_of_state)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(bfb_set_coord) arglist(Rlay, g_prime, GV, US, param_file, eqn_of_state) [fd] fullname(bfb_initialization/bfb_set_coord) ftype(None) [fd] name(('bfb_initialization/bfb_set_coord', None)) sig(subroutine bfb_set_coord(Rlay, g_prime, GV, US, param_file, eqn_of_state)) signode(subroutine bfb_initialization/bfb_set_coordRlayg_primeGVUSparam_fileeqn_of_state) [fd] run(.. f:subroutine:: subroutine bfb_initialize_sponges_southonly(G, GV, US, use_temperature, tv, param_file, CSp, h)) [fd] sig(subroutine bfb_initialize_sponges_southonly(G, GV, US, use_temperature, tv, param_file, CSp, h)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(bfb_initialize_sponges_southonly) arglist(G, GV, US, use_temperature, tv, param_file, CSp, h) [fd] fullname(bfb_initialization/bfb_initialize_sponges_southonly) ftype(None) [fd] name(('bfb_initialization/bfb_initialize_sponges_southonly', None)) sig(subroutine bfb_initialize_sponges_southonly(G, GV, US, use_temperature, tv, param_file, CSp, h)) signode(subroutine bfb_initialization/bfb_initialize_sponges_southonlyGGVUSuse_temperaturetvparam_fileCSph) [fd] run(.. f:subroutine:: subroutine write_bfb_log(param_file)) [fd] sig(subroutine write_bfb_log(param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(write_bfb_log) arglist(param_file) [fd] fullname(bfb_initialization/write_bfb_log) ftype(None) [fd] name(('bfb_initialization/write_bfb_log', None)) sig(subroutine write_bfb_log(param_file)) signode(subroutine bfb_initialization/write_bfb_logparam_file) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 5%] api/generated/modules/bfb_surface_forcing [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/bfb_surface_ [app] emitting event: 'source-read'('api/generated/modules/bfb_surface_forcing', ['.. autodoxymodule:: bfb_surface_forcing\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/bfb_surface_forcing.rst:1: input: .. autodoxymodule:: bfb_surface_forcing :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~bfb_surface_forcing::bfb_surface_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~bfb_surface_forcing::bfb_buoyancy_forcing ~bfb_surface_forcing::bfb_surface_forcing_init [debug] xpath(./compounddef/compoundname[text()="bfb_surface_forcing"]/..) match([('id', 'namespacebfb__surface__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:bfb_surface_forcing module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'bfb_surface_forcing', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'bfb_surface_forcing' (exception was: ModuleNotFoundError("No module named 'bfb_surface_forcing'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'bfb_surface_forcing::bfb_surface_forcing_cs', , [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'bfb_surface_forcing::bfb_surface_forcing_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'bfb_surface_forcing::bfb_surface_forcing_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'bfb_surface_forcing::bfb_surface_forcing_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'bfb_surface_forcing::bfb_surface_forcing_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'bfb_surface_forcing::bfb_surface_forcing_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'bfb_surface_forcing::bfb_surface_forcing_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'bfb_surface_forcing::bfb_surface_forcing_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'bfb_surface_forcing::bfb_surface_forcing_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'bfb_surface_forcing::bfb_surface_forcing_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'bfb_surface_forcing::bfb_surface_forcing_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'bfb_surface_forcing::bfb_surface_forcing_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'bfb_surface_forcing::bfb_surface_forcing_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'bfb_surface_forcing::bfb_surface_forcing_cs', , [debug] members([('bfb_buoyancy_forcing', ), ('bfb_surface_forcing_init', )]) [autodoc] module analyzer failed: error importing 'bfb_surface_forcing' (exception was: ModuleNotFoundError("No module named 'bfb_surface_forcing'")) [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, fluxes, day, dt, G, US, CS)) [debug] add_directive_header sig((sfc_state, fluxes, day, dt, G, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine bfb_buoyancy_forcing) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bfb_buoyancy_forcing', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~bfb_surface_forcing::bfb_surface_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~bfb_surface_forcing::bfb_buoyancy_forcing ~bfb_surface_forcing::bfb_surface_forcing_init .. _DETAbfb_surface_forcing: -------------------- Detailed Description -------------------- Surface forcing for the boundary-forced-basin (BFB) configuration. ------------------ Type Documentation ------------------ .. f:type:: bfb_surface_forcing_cs Control structure for BFB_surface_forcing. :typefield logical use_temperature: If true, temperature and salinity are used as state variables. :typefield logical restorebuoy: If true, use restoring surface buoyancy forcing. :typefield real rho0: The density used in the Boussinesq approximation [R ~> kg m-3]. :typefield real g_earth: The gravitational acceleration [L2 Z-1 T-2 ~> m s-2]. :typefield real flux_const: The restoring rate at the surface [Z T-1 ~> m s-1]. :typefield real gust_const: A constant unresolved background gustiness that contributes to ustar [Pa]. :typefield real sst_s: SST at the southern edge of the linear forcing ramp [degC]. :typefield real sst_n: SST at the northern edge of the linear forcing ramp [degC]. :typefield real lfrslat: Southern latitude where the linear forcing ramp begins [degLat]. :typefield real lfrnlat: Northern latitude where the linear forcing ramp ends [degLat]. :typefield real drho_dt: Rate of change of density with temperature [R degC-1 ~> kg m-3 degC-1]. Note that temperature is being used as a dummy variable here. All temperatures are converted into density. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine bfb_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS) Bouyancy forcing for the boundary-forced-basin (BFB) configuration. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param fluxes: [inout] A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs. :param day: [in] Time of the fluxes. :param dt: [in] The amount of time over which the fluxes apply [s] :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: A pointer to the control structure returned by a previous call to BFB_surface_forcing_init. :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine bfb_surface_forcing_init(Time, G, US, param_file, diag, CS) Initialization for forcing the boundary-forced-basin (BFB) configuration. :param time: [in] The current model time. :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :param diag: [in] A structure that is used to regulate diagnostic output. :param cs: A pointer to the control structure for this module :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_surface_forcing::surface_forcing_init ` [debug] xpath(./compounddef/compoundname[text()="bfb_surface_forcing::bfb_surface_forcing_cs"]/..) match([('id', 'structbfb__surface__forcing_1_1bfb__surface__forcing__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'bfb_surface_forcing::bfb_surface_forcing_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bfb_surface_forcing::bfb_buoyancy_forcing', , { [debug] DoxygenMethodDocumenter format_signature called ((Time, G, US, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bfb_surface_forcing::bfb_surface_forcing_init', type bfb_surface_forcing/bfb_surface_forcing_cs) [fd] run(.. f:subroutine:: subroutine bfb_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS)) [fd] sig(subroutine bfb_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(bfb_buoyancy_forcing) arglist(sfc_state, fluxes, day, dt, G, US, CS) [fd] fullname(bfb_surface_forcing/bfb_buoyancy_forcing) ftype(None) [fd] name(('bfb_surface_forcing/bfb_buoyancy_forcing', None)) sig(subroutine bfb_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS)) signode(subroutine bfb_surface_forcing/bfb_buoyancy_forcingsfc_statefluxesdaydtGUSCS) [fd] run(.. f:subroutine:: subroutine bfb_surface_forcing_init(Time, G, US, param_file, diag, CS)) [fd] sig(subroutine bfb_surface_forcing_init(Time, G, US, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(bfb_surface_forcing_init) arglist(Time, G, US, param_file, diag, CS) [fd] fullname(bfb_surface_forcing/bfb_surface_forcing_init) ftype(None) [fd] name(('bfb_surface_forcing/bfb_surface_forcing_init', None)) sig(subroutine bfb_surface_forcing_init(Time, G, US, param_file, diag, CS)) signode(subroutine bfb_surface_forcing/bfb_surface_forcing_initTimeGUSparam_filediagCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 5%] api/generated/modules/boundary_impulse_tracer [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/boundary_imp [app] emitting event: 'source-read'('api/generated/modules/boundary_impulse_tracer', ['.. autodoxymodule:: boundary_impulse_tracer\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/boundary_impulse_tracer.rst:1: input: .. autodoxymodule:: boundary_impulse_tracer :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~boundary_impulse_tracer::boundary_impulse_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~boundary_impulse_tracer::register_boundary_impulse_tracer ~boundary_impulse_tracer::initialize_boundary_impulse_tracer ~boundary_impulse_tracer::boundary_impulse_tracer_column_physics ~boundary_impulse_tracer::boundary_impulse_stock ~boundary_impulse_tracer::boundary_impulse_tracer_surface_state ~boundary_impulse_tracer::boundary_impulse_tracer_end [debug] xpath(./compounddef/compoundname[text()="boundary_impulse_tracer"]/..) match([('id', 'namespaceboundary__impulse__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:boundary_impulse_tracer module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'boundary_impulse_tracer', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'boundary_impulse_tracer' (exception was: ModuleNotFoundError("No module named 'boundary_impulse_tracer'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'boundary_impulse_tracer::boundary_impulse_tracer_cs', ), ('initialize_boundary_impulse_tracer', ), ('boundary_impulse_tracer_column_physics', ), ('boundary_impulse_stock', ), ('boundary_impulse_tracer_surface_state', ), ('boundary_impulse_tracer_end', )]) [autodoc] module analyzer failed: error importing 'boundary_impulse_tracer' (exception was: ModuleNotFoundError("No module named 'boundary_impulse_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] add_directive_header sig((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function register_boundary_impulse_tracer) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_boundary_impulse_tracer', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_boundary_impulse_tracer', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_boundary_impulse_tracer', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_boundary_impulse_tracer', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_boundary_impulse_tracer', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_boundary_impulse_tracer', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_boundary_impulse_tracer', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_boundary_impulse_tracer', , {'members' [autodoc] module analyzer failed: error importing 'boundary_impulse_tracer' (exception was: ModuleNotFoundError("No module named 'boundary_impulse_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((restart, day, G, GV, h, diag, OBC, CS, sponge_CSp, tv)) [debug] add_directive_header sig((restart, day, G, GV, h, diag, OBC, CS, sponge_CSp, tv)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine initialize_boundary_impulse_tracer) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_boundary_impulse_tracer', , {'member [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_boundary_impulse_tracer', , {'member [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_boundary_impulse_tracer', , {'member [autodoc] module analyzer failed: error importing 'boundary_impulse_tracer' (exception was: ModuleNotFoundError("No module named 'boundary_impulse_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, debug, evap_CFL_limit, minimum_forcing_depth)) [debug] add_directive_header sig((h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, debug, evap_CFL_limit, minimum_forcing_depth)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine boundary_impulse_tracer_column_physics) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'boundary_impulse_tracer_column_physics', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'boundary_impulse_tracer_column_physics', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'boundary_impulse_tracer_column_physics', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'boundary_impulse_tracer_column_physics', , {'me [autodoc] module analyzer failed: error importing 'boundary_impulse_tracer' (exception was: ModuleNotFoundError("No module named 'boundary_impulse_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((h, stocks, G, GV, CS, names, units, stock_index)) [debug] add_directive_header sig((h, stocks, G, GV, CS, names, units, stock_index)) [debug] DoxygenMethodDocumenter directive(function) name(integer function boundary_impulse_stock) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [debug] method=visit_simplesect [debug] simplesect kind(return) [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'boundary_impulse_stock', , {'members': , {'members': , {'members': , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'boundary_impulse_tracer_surface_state', , {'mem [autodoc] module analyzer failed: error importing 'boundary_impulse_tracer' (exception was: ModuleNotFoundError("No module named 'boundary_impulse_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] add_directive_header sig((CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine boundary_impulse_tracer_end) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'boundary_impulse_tracer_end', , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~boundary_impulse_tracer::boundary_impulse_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~boundary_impulse_tracer::register_boundary_impulse_tracer ~boundary_impulse_tracer::initialize_boundary_impulse_tracer ~boundary_impulse_tracer::boundary_impulse_tracer_column_physics ~boundary_impulse_tracer::boundary_impulse_stock ~boundary_impulse_tracer::boundary_impulse_tracer_surface_state ~boundary_impulse_tracer::boundary_impulse_tracer_end .. _DETAboundary_impulse_tracer: -------------------- Detailed Description -------------------- .. _namespaceboundary__impulse__tracer_1section_BIT_desc: Boundary Impulse Response Tracer and Transit Time Distributions =============================================================== Transit time distributions (TTD) are the Green's function solution of the passive tracer equation between the oceanic surface and interior. The name derives from the idea that the 'age' (e.g. time since last contact with the atmosphere) of a water parcel is best characterized as a distribution of ages because water parcels leaving the surface arrive at a particular interior point at different times. The more commonly used ideal age tracer is the first moment of the TTD, equivalently referred to as the mean age. A boundary impulse response (BIR) is a passive tracer whose surface boundary condition is a rectangle function with width :math:`\Delta t`. In the case of unsteady flow, multiple BIRs, initiated at different times in the model can be used to infer the transit time distribution or Green's function between the oceanic surface and interior. In the case of steady or cyclostationary flow, a single BIR is sufficient. In the References section, both the theoretical discussion of TTDs and BIRs are listed along with modeling studies which have this used framework in scientific investigations .. _namespaceboundary__impulse__tracer_1section_BIT_params: Run-time parameters =================== -DO_BOUNDARY_IMPULSE_TRACER: Enables the boundary impulse tracer model -IMPULSE_SOURCE_TIME: Length of time that the surface layer acts as a source of the BIR tracer .. _namespaceboundary__impulse__tracer_1section_BIT_refs: References ========== .. _namespaceboundary__impulse__tracer_1TTD: and BIR Theory -------------- -Holzer, M., and T.M. Hall, 2000: Transit-time and tracer-age distributions in geophysical flows. J. Atmos. Sci., 57, 3539-3558, doi:10.1175/1520-0469(2000)057<3539:TTATAD>2.0.CO;2. -T.W.N. Haine, H. Zhang, D.W. Waugh, M. Holzer, On transit-time distributions in unsteady circulation models, Ocean Modelling, Volume 21, Issues 1–2, 2008, Pages 35-45, ISSN 1463-5003 `http://dx.doi.org/10.1016/j.ocemod.2007.11.004 `_ . .. _namespaceboundary__impulse__tracer_1section_BIT_apps: Modelling applications ---------------------- -Peacock, S., and M. Maltrud (2006), Transit-time distributions in a global ocean model, J. Phys. Oceanogr., 36(3), 474–495, doi:10.1175/JPO2860.1. -Maltrud, M., Bryan, F. & Peacock, Boundary impulse response functions in a century-long eddying global ocean simulation, S. Environ Fluid Mech (2010) 10: 275. doi:10.1007/s10652-009-9154-3 ------------------ Type Documentation ------------------ .. f:type:: boundary_impulse_tracer_cs The control structure for the boundary impulse tracer package. :typefield integer ntr: The number of tracers that are actually used. :typefield logical coupled_tracers: These tracers are not offered to the coupler. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(tracer_registry_type) tr_reg [pointer]: A pointer to the tracer registry. :typefield real(\:,\:,\:,\:) tr [pointer]: The array of tracers used in this subroutine, in g m-3? :typefield logical tracers_may_reinit: If true, boundary_impulse can be initialized if not found in restart file. :typefield integer( ntr_max ) ind_tr: Indices returned by aof_set_coupler_flux if it is used and the surface tracer concentrations are to be provided to the coupler. :typefield integer nkml: Number of layers in mixed layer. :typefield real( ntr_max ) land_val: A value to use to fill in tracers over land. :typefield real kw_eff: An effective piston velocity used to flux tracer out at the surface. :typefield real remaining_source_time: How much longer (same units as the timestep) to inject the tracer at the surface [s]. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(mom_restart_cs) restart_csp [pointer]: A pointer to the retart control structure. :typefield type(vardesc)( ntr_max ) tr_desc: Descriptions and metadata for the tracers. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function register_boundary_impulse_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS) Read in runtime options and add boundary impulse tracer to tracer registry. :param hi: [in] A horizontal index type structure :param gv: [in] The ocean's vertical grid structure :param param_file: [in] A structure to parse for run-time parameters :param cs: The control structure returned by a previous call to register_boundary_impulse_tracer. :param tr_reg: A pointer that is set to point to the control structure for the tracer advection and diffusion module :param restart_cs: A pointer to the restart control structure :callto: :f:func:`atmos_ocean_fluxes_mod::aof_set_coupler_flux ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ntr_max ` :callto: :f:func:`mom_io::query_vardesc ` :callto: :f:func:`mom_tracer_registry::register_tracer ` :callto: :f:func:`mom_io::var_desc ` .. f:subroutine:: subroutine initialize_boundary_impulse_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp, tv) Initialize tracer from restart or set to 1 at surface to initialize. :param restart: [in] .true. if the fields have already been read from a restart file. :param day: [in] Time of the start of the run. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param diag: [in] A structure that is used to regulate diagnostic output. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param cs: The control structure returned by a previous call to register_boundary_impulse_tracer. :param sponge_csp: Pointer to the control structure for the sponges. :param tv: [in] A structure pointing to various thermodynamic variables :callto: :f:func:`mom_io::query_vardesc ` .. f:subroutine:: subroutine boundary_impulse_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, debug, evap_CFL_limit, minimum_forcing_depth) Apply source or sink at boundary and do vertical diffusion. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h_old: [in] Layer thickness before entrainment [H ~> m or kg m-2]. :param h_new: [in] Layer thickness after entrainment [H ~> m or kg m-2]. :param ea: [in] an array to which the amount of fluid entrained :param eb: [in] an array to which the amount of fluid entrained :param fluxes: [in] A structure containing pointers to thermodynamic and tracer forcing fields. Unused fields have NULL ptrs. :param dt: [in] The amount of time covered by this call [T ~> s] :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to register_boundary_impulse_tracer. :param tv: [in] A structure pointing to various thermodynamic variables :param debug: [in] If true calculate checksums :param evap_cfl_limit: [in] Limit on the fraction of the water that can be fluxed out of the top layer in a timestep [nondim] :param minimum_forcing_depth: [in] The smallest depth over which fluxes can be applied [H ~> m or kg m-2] :callto: :f:func:`mom_tracer_diabatic::applytracerboundaryfluxesinout ` :callto: :f:func:`mom_tracer_diabatic::tracer_vertdiff ` .. f:function:: integer function boundary_impulse_stock(h, stocks, G, GV, CS, names, units, stock_index) Calculate total inventory of tracer. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param stocks: [out] the mass-weighted integrated amount of each tracer, in kg times concentration units [kg conc]. :param cs: The control structure returned by a previous call to register_boundary_impulse_tracer. :param names: [out] The names of the stocks calculated. :param units: [out] The units of the stocks calculated. :param stock_index: [in] The coded index of a specific stock being sought. :returns undefined: Return value: the number of stocks calculated here. :callto: :f:func:`mom_io::query_vardesc ` .. f:subroutine:: subroutine boundary_impulse_tracer_surface_state(sfc_state, h, G, CS) This subroutine extracts the surface fields from this tracer package that are to be shared with the atmosphere in coupled configurations. This particular tracer package does not report anything back to the coupler. :param g: [in] The ocean's grid structure. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param h: [in] Layer thickness [H ~> m or kg m-2]. :param cs: The control structure returned by a previous call to register_boundary_impulse_tracer. .. f:subroutine:: subroutine boundary_impulse_tracer_end(CS) Performs finalization of boundary impulse tracer. :param cs: The control structure returned by a previous call to register_boundary_impulse_tracer. [debug] xpath(./compounddef/compoundname[text()="boundary_impulse_tracer::boundary_impulse_tracer_cs"]/..) match([('id', 'structboundary__impulse__tracer_1_1boundary__impulse__tracer__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'boundary_impulse_tracer::boundary_impulse_tracer_cs', type boundary_impulse_tracer/boundary_impulse_tracer_cs) [fd] run(.. f:function:: logical function register_boundary_impulse_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] sig(logical function register_boundary_impulse_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_boundary_impulse_tracer) arglist(HI, GV, param_file, CS, tr_Reg, restart_CS) [fd] fullname(boundary_impulse_tracer/register_boundary_impulse_tracer) ftype(logical) [fd] name(('boundary_impulse_tracer/register_boundary_impulse_tracer', 'logical')) sig(logical function register_boundary_impulse_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) signode(function boundary_impulse_tracer/register_boundary_impulse_tracerHIGVparam_fileCStr_Regrestart_CS [logical]) [fd] run(.. f:subroutine:: subroutine initialize_boundary_impulse_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp, tv)) [fd] sig(subroutine initialize_boundary_impulse_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp, tv)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_boundary_impulse_tracer) arglist(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp, tv) [fd] fullname(boundary_impulse_tracer/initialize_boundary_impulse_tracer) ftype(None) [fd] name(('boundary_impulse_tracer/initialize_boundary_impulse_tracer', None)) sig(subroutine initialize_boundary_impulse_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp, tv)) signode(subroutine boundary_impulse_tracer/initialize_boundary_impulse_tracerrestartdayGGVhdiagOBCCSsponge_CSptv) [fd] run(.. f:subroutine:: subroutine boundary_impulse_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, debug, evap_CFL_limit, minimum_forcing_depth)) [fd] sig(subroutine boundary_impulse_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, debug, evap_CFL_limit, minimum_forcing_depth)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(boundary_impulse_tracer_column_physics) arglist(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, debug, evap_CFL_limit, minimum_forcing_depth) [fd] fullname(boundary_impulse_tracer/boundary_impulse_tracer_column_physics) ftype(None) [fd] name(('boundary_impulse_tracer/boundary_impulse_tracer_column_physics', None)) sig(subroutine boundary_impulse_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, debug, evap_CFL_limit, minimum_forcing_depth)) signode(subroutine boundary_impulse_tracer/boundary_impulse_tracer_column_physicsh_oldh_neweaebfluxesdtGGVUSCStvdebugevap_CFL_limitminimum_forcing_depth) [fd] run(.. f:function:: integer function boundary_impulse_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] sig(integer function boundary_impulse_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] ftype(integer) objtype(function) modname(None) typename() name(boundary_impulse_stock) arglist(h, stocks, G, GV, CS, names, units, stock_index) [fd] fullname(boundary_impulse_tracer/boundary_impulse_stock) ftype(integer) [fd] name(('boundary_impulse_tracer/boundary_impulse_stock', 'integer')) sig(integer function boundary_impulse_stock(h, stocks, G, GV, CS, names, units, stock_index)) signode(function boundary_impulse_tracer/boundary_impulse_stockhstocksGGVCSnamesunitsstock_index [integer]) [fd] run(.. f:subroutine:: subroutine boundary_impulse_tracer_surface_state(sfc_state, h, G, CS)) [fd] sig(subroutine boundary_impulse_tracer_surface_state(sfc_state, h, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(boundary_impulse_tracer_surface_state) arglist(sfc_state, h, G, CS) [fd] fullname(boundary_impulse_tracer/boundary_impulse_tracer_surface_state) ftype(None) [fd] name(('boundary_impulse_tracer/boundary_impulse_tracer_surface_state', None)) sig(subroutine boundary_impulse_tracer_surface_state(sfc_state, h, G, CS)) signode(subroutine boundary_impulse_tracer/boundary_impulse_tracer_surface_statesfc_statehGCS) [fd] run(.. f:subroutine:: subroutine boundary_impulse_tracer_end(CS)) [fd] sig(subroutine boundary_impulse_tracer_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(boundary_impulse_tracer_end) arglist(CS) [fd] fullname(boundary_impulse_tracer/boundary_impulse_tracer_end) ftype(None) [fd] name(('boundary_impulse_tracer/boundary_impulse_tracer_end', None)) sig(subroutine boundary_impulse_tracer_end(CS)) signode(subroutine boundary_impulse_tracer/boundary_impulse_tracer_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 5%] api/generated/modules/circle_obcs_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/circle_obcs_ [app] emitting event: 'source-read'('api/generated/modules/circle_obcs_initialization', ['.. autodoxymodule:: circle_obcs_initializatio [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/circle_obcs_initialization.rst:1: input: .. autodoxymodule:: circle_obcs_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~circle_obcs_initialization::circle_obcs_initialize_thickness [debug] xpath(./compounddef/compoundname[text()="circle_obcs_initialization"]/..) match([('id', 'namespacecircle__obcs__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:circle_obcs_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'circle_obcs_initialization', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'circle_obcs_initialization' (exception was: ModuleNotFoundError("No module named 'circle_obcs_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, param_file, just_read_params)) [debug] add_directive_header sig((h, G, GV, param_file, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine circle_obcs_initialize_thickness) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'circle_obcs_initialize_thickness', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'circle_obcs_initialize_thickness', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'circle_obcs_initialize_thickness', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'circle_obcs_initialize_thickness', , {'members' [autodoc] output: =========================================== circle_obcs_initialization module reference =========================================== .. f:module:: circle_obcs_initialization Configures the model for the "circle_obcs" experiment which tests Open Boundary Conditions radiating an SSH anomaly. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~circle_obcs_initialization::circle_obcs_initialize_thickness .. _DETAcircle_obcs_initialization: -------------------- Detailed Description -------------------- Configures the model for the "circle_obcs" experiment which tests Open Boundary Conditions radiating an SSH anomaly. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine circle_obcs_initialize_thickness(h, G, GV, param_file, just_read_params) This subroutine initializes layer thicknesses for the circle_obcs experiment. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [out] The thickness that is being initialized [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mom_error_handler::mom_mesg ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, param_file, just_read_params)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'circle_obcs_initialization::circle_obcs_initialize_thickness', subroutine circle_obcs_initialization/circle_obcs_initialize_thicknesshGGVparam_filejust_read_params) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 6%] api/generated/modules/coord_adapt [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/coord_adapt' [app] emitting event: 'source-read'('api/generated/modules/coord_adapt', ['.. autodoxymodule:: coord_adapt\n :members:\n :methods:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/coord_adapt.rst:1: input: .. autodoxymodule:: coord_adapt :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~coord_adapt::adapt_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~coord_adapt::init_coord_adapt ~coord_adapt::end_coord_adapt ~coord_adapt::set_adapt_params ~coord_adapt::build_adapt_column [debug] xpath(./compounddef/compoundname[text()="coord_adapt"]/..) match([('id', 'namespacecoord__adapt'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:coord_adapt module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_adapt', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'coord_adapt' (exception was: ModuleNotFoundError("No module named 'coord_adapt'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'coord_adapt::adapt_cs', , {'members': ]) [debug] ref([('id', 'namespacecoord__adapt'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxytype', 'coord_adapt::adapt_cs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('end_coord_adapt', ), ('set_adapt_params', ), ('build_adapt_column', )]) [autodoc] module analyzer failed: error importing 'coord_adapt' (exception was: ModuleNotFoundError("No module named 'coord_adapt'")) [debug] DoxygenMethodDocumenter format_signature called ((CS, nk, coordinateResolution, m_to_H, kg_m3_to_R)) [debug] add_directive_header sig((CS, nk, coordinateResolution, m_to_H, kg_m3_to_R)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine init_coord_adapt) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'init_coord_adapt', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'namespacecoord__adapt'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_adapt_params', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~coord_adapt::adapt_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~coord_adapt::init_coord_adapt ~coord_adapt::end_coord_adapt ~coord_adapt::set_adapt_params ~coord_adapt::build_adapt_column .. _DETAcoord_adapt: -------------------- Detailed Description -------------------- Regrid columns for the adaptive coordinate. ------------------ Type Documentation ------------------ .. f:type:: adapt_cs Control structure for adaptive coordinates (:f:func:`coord_adapt`). ). :typefield integer nk: Number of layers/levels. :typefield real(\:) coordinateresolution [allocatable]: Nominal near-surface resolution [H ~> m or kg m-2]. :typefield real adapttimeratio: Ratio of optimisation and diffusion timescales. :typefield real adaptalpha: Nondimensional coefficient determining how much optimisation to apply. :typefield real adaptzoom: Near-surface zooming depth [H ~> m or kg m-2]. :typefield real adaptzoomcoeff: Near-surface zooming coefficient. :typefield real adaptbuoycoeff: Stratification-dependent diffusion coefficient. :typefield real adaptdrho0: Reference density difference for stratification-dependent diffusion [R ~> kg m-3]. :typefield logical adaptdomin: If true, form a HYCOM1-like mixed layet by preventing interfaces from becoming shallower than the depths set by coordinateResolution. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine init_coord_adapt(CS, nk, coordinateResolution, m_to_H, kg_m3_to_R) Initialise an adapt_CS with parameters. :param cs: Unassociated pointer to hold the control structure :param nk: [in] Number of layers in the grid :param coordinateresolution: [in] Nominal near-surface resolution [m] or other units specified with m_to_H :param m_to_h: [in] A conversion factor from m to the units of thicknesses :param kg_m3_to_r: [in] A conversion factor from kg m-3 to the units of density :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_regridding::initcoord ` .. f:subroutine:: subroutine end_coord_adapt(CS) Clean up the coordinate control structure. :param cs: The control structure for this module :calledfrom: :f:func:`mom_regridding::end_regridding ` .. f:subroutine:: subroutine set_adapt_params(CS, adaptTimeRatio, adaptAlpha, adaptZoom, adaptZoomCoeff, adaptBuoyCoeff, adaptDrho0, adaptDoMin) This subtroutine can be used to set the parameters for :f:func:`coord_adapt` module. module. :param cs: The control structure for this module :param adapttimeratio: [in] Ratio of optimisation and diffusion timescales :param adaptalpha: [in] Nondimensional coefficient determining how much optimisation to apply :param adaptzoom: [in] Near-surface zooming depth [H ~> m or kg m-2] :param adaptzoomcoeff: [in] Near-surface zooming coefficient :param adaptbuoycoeff: [in] Stratification-dependent diffusion coefficient :param adaptdrho0: [in] Reference density difference for stratification-dependent diffusion [R ~> kg m-3] :param adaptdomin: [in] If true, form a HYCOM1-like mixed layer by preventing interfaces from becoming shallower than the depths set by coordinateResolution :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_regridding::set_regrid_params ` .. f:subroutine:: subroutine build_adapt_column(CS, G, GV, US, tv, i, j, zInt, tInt, sInt, h, zNext) :param cs: [in] The control structure for this module :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param tv: [in] A structure pointing to various thermodynamic variables :param i: [in] The i-index of the column to work on :param j: [in] The j-index of the column to work on :param zint: [in] Interface heights [H ~> m or kg m-2]. :param tint: [in] Interface temperatures [degC] :param sint: [in] Interface salinities [ppt] :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param znext: [inout] updated interface positions :calledfrom: :f:func:`mom_regridding::build_grid_adaptive ` [debug] xpath(./compounddef/compoundname[text()="coord_adapt::adapt_cs"]/..) match([('id', 'structcoord__adapt_1_1adapt__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacecoord__adapt) kindref(compound) ref([]) [debug] ref([('id', 'namespacecoord__adapt'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_adapt::adapt_cs', , {}, ['', 'Control s [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_adapt::adapt_cs', , {}, ['`More... , {}, ['', 'Control s [debug] DoxygenMethodDocumenter format_signature called ((CS, nk, coordinateResolution, m_to_H, kg_m3_to_R)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_adapt::init_coord_adapt', , {}, ['', 'Ini [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_adapt::init_coord_adapt', , {}, ['', 'Ini [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_adapt::end_coord_adapt', , {}, ['', 'Clea [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_adapt::end_coord_adapt', , {}, ['', 'Clea [debug] DoxygenMethodDocumenter format_signature called ((CS, adaptTimeRatio, adaptAlpha, adaptZoom, adaptZoomCoeff, adaptBuoyCoeff, adaptDrho0, adaptDoMin)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacecoord__adapt) kindref(compound) ref([]) [debug] ref([('id', 'namespacecoord__adapt'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_adapt::set_adapt_params', , {}, ['', 'Thi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_adapt::set_adapt_params', , {}, ['', 'Thi [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, US, tv, i, j, zInt, tInt, sInt, h, zNext)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_adapt::build_adapt_column', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_adapt::build_adapt_column', , {}, ['']) [fd] run(.. f:type:: adapt_cs) [fd] sig(adapt_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(adapt_cs) arglist(None) [fd] fullname(coord_adapt/adapt_cs) ftype(None) [fd] name(('coord_adapt/adapt_cs', None)) sig(adapt_cs) signode(type coord_adapt/adapt_cs) [fd] run(.. f:subroutine:: subroutine init_coord_adapt(CS, nk, coordinateResolution, m_to_H, kg_m3_to_R)) [fd] sig(subroutine init_coord_adapt(CS, nk, coordinateResolution, m_to_H, kg_m3_to_R)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(init_coord_adapt) arglist(CS, nk, coordinateResolution, m_to_H, kg_m3_to_R) [fd] fullname(coord_adapt/init_coord_adapt) ftype(None) [fd] name(('coord_adapt/init_coord_adapt', None)) sig(subroutine init_coord_adapt(CS, nk, coordinateResolution, m_to_H, kg_m3_to_R)) signode(subroutine coord_adapt/init_coord_adaptCSnkcoordinateResolutionm_to_Hkg_m3_to_R) [fd] run(.. f:subroutine:: subroutine end_coord_adapt(CS)) [fd] sig(subroutine end_coord_adapt(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(end_coord_adapt) arglist(CS) [fd] fullname(coord_adapt/end_coord_adapt) ftype(None) [fd] name(('coord_adapt/end_coord_adapt', None)) sig(subroutine end_coord_adapt(CS)) signode(subroutine coord_adapt/end_coord_adaptCS) [fd] run(.. f:subroutine:: subroutine set_adapt_params(CS, adaptTimeRatio, adaptAlpha, adaptZoom, adaptZoomCoeff, adaptBuoyCoeff, adaptDrho0, adaptDoMin)) [fd] sig(subroutine set_adapt_params(CS, adaptTimeRatio, adaptAlpha, adaptZoom, adaptZoomCoeff, adaptBuoyCoeff, adaptDrho0, adaptDoMin)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_adapt_params) arglist(CS, adaptTimeRatio, adaptAlpha, adaptZoom, adaptZoomCoeff, adaptBuoyCoeff, adaptDrho0, adaptDoMin) [fd] fullname(coord_adapt/set_adapt_params) ftype(None) [fd] name(('coord_adapt/set_adapt_params', None)) sig(subroutine set_adapt_params(CS, adaptTimeRatio, adaptAlpha, adaptZoom, adaptZoomCoeff, adaptBuoyCoeff, adaptDrho0, adaptDoMin)) signode(subroutine coord_adapt/set_adapt_paramsCSadaptTimeRatioadaptAlphaadaptZoomadaptZoomCoeffadaptBuoyCoeffadaptDrho0adaptDoMin) [fd] run(.. f:subroutine:: subroutine build_adapt_column(CS, G, GV, US, tv, i, j, zInt, tInt, sInt, h, zNext)) [fd] sig(subroutine build_adapt_column(CS, G, GV, US, tv, i, j, zInt, tInt, sInt, h, zNext)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(build_adapt_column) arglist(CS, G, GV, US, tv, i, j, zInt, tInt, sInt, h, zNext) [fd] fullname(coord_adapt/build_adapt_column) ftype(None) [fd] name(('coord_adapt/build_adapt_column', None)) sig(subroutine build_adapt_column(CS, G, GV, US, tv, i, j, zInt, tInt, sInt, h, zNext)) signode(subroutine coord_adapt/build_adapt_columnCSGGVUStvijzInttIntsInthzNext) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 6%] api/generated/modules/coord_hycom [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/coord_hycom' [app] emitting event: 'source-read'('api/generated/modules/coord_hycom', ['.. autodoxymodule:: coord_hycom\n :members:\n :methods:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/coord_hycom.rst:1: input: .. autodoxymodule:: coord_hycom :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~coord_hycom::hycom_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~coord_hycom::init_coord_hycom ~coord_hycom::end_coord_hycom ~coord_hycom::set_hycom_params ~coord_hycom::build_hycom1_column [debug] xpath(./compounddef/compoundname[text()="coord_hycom"]/..) match([('id', 'namespacecoord__hycom'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:coord_hycom module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_hycom', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'coord_hycom' (exception was: ModuleNotFoundError("No module named 'coord_hycom'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'coord_hycom::hycom_cs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('end_coord_hycom', ), ('set_hycom_params', ), ('build_hycom1_column', )]) [autodoc] module analyzer failed: error importing 'coord_hycom' (exception was: ModuleNotFoundError("No module named 'coord_hycom'")) [debug] DoxygenMethodDocumenter format_signature called ((CS, nk, coordinateResolution, target_density, interp_CS)) [debug] add_directive_header sig((CS, nk, coordinateResolution, target_density, interp_CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine init_coord_hycom) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'init_coord_hycom', , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'namespacecoord__hycom'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'end_coord_hycom', , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'namespacecoord__hycom'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_hycom_params', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~coord_hycom::hycom_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~coord_hycom::init_coord_hycom ~coord_hycom::end_coord_hycom ~coord_hycom::set_hycom_params ~coord_hycom::build_hycom1_column .. _DETAcoord_hycom: -------------------- Detailed Description -------------------- Regrid columns for the HyCOM coordinate. ------------------ Type Documentation ------------------ .. f:type:: hycom_cs Control structure containing required parameters for the HyCOM coordinate. :typefield integer nk: Number of layers/levels in generated grid. :typefield real(\:) coordinateresolution [allocatable]: Nominal near-surface resolution [Z ~> m]. :typefield real(\:) target_density [allocatable]: Nominal density of interfaces [R ~> kg m-3]. :typefield real(\:) max_interface_depths [allocatable]: Maximum depths of interfaces [H ~> m or kg m-2]. :typefield real(\:) max_layer_thickness [allocatable]: Maximum thicknesses of layers [H ~> m or kg m-2]. :typefield type(interp_cs_type) interp_cs: Interpolation control structure. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine init_coord_hycom(CS, nk, coordinateResolution, target_density, interp_CS) Initialise a hycom_CS with pointers to parameters. :param cs: Unassociated pointer to hold the control structure :param nk: [in] Number of layers in generated grid :param coordinateresolution: [in] Nominal near-surface resolution [Z ~> m] :param target_density: [in] Interface target densities [R ~> kg m-3] :param interp_cs: [in] Controls for interpolation :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_regridding::initcoord ` .. f:subroutine:: subroutine end_coord_hycom(CS) This subroutine deallocates memory in the control structure for the :f:func:`coord_hycom` module. module. :param cs: Coordinate control structure :calledfrom: :f:func:`mom_regridding::end_regridding ` .. f:subroutine:: subroutine set_hycom_params(CS, max_interface_depths, max_layer_thickness, interp_CS) This subroutine can be used to set the parameters for the :f:func:`coord_hycom` module. module. :param cs: Coordinate control structure :param max_interface_depths: [in] Maximum depths of interfaces [H ~> m or kg m-2] :param max_layer_thickness: [in] Maximum thicknesses of layers [H ~> m or kg m-2] :param interp_cs: [in] Controls for interpolation :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_regridding::set_regrid_max_depths ` :calledfrom: :f:func:`mom_regridding::set_regrid_max_thickness ` :calledfrom: :f:func:`mom_regridding::set_regrid_params ` .. f:subroutine:: subroutine build_hycom1_column(CS, eqn_of_state, nz, depth, h, T, S, p_col, z_col, z_col_new, zScale, h_neglect, h_neglect_edge) Build a HyCOM coordinate column. :param cs: [in] Coordinate control structure :param eqn_of_state: Equation of state structure :param nz: [in] Number of levels :param depth: [in] Depth of ocean bottom (positive [H ~> m or kg m-2]) :param t: [in] Temperature of column [degC] :param s: [in] Salinity of column [ppt] :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param p_col: [in] Layer pressure [R L2 T-2 ~> Pa] :param z_col: [in] Interface positions relative to the surface [H ~> m or kg m-2] :param z_col_new: [inout] Absolute positions of interfaces [H ~> m or kg m-2] :param zscale: [in] Scaling factor from the input coordinate thicknesses in [Z ~> m] to desired units for zInterface, perhaps GVZ_to_H. :param h_neglect: [in] A negligibly small width for the purpose of cell reconstruction [H ~> m or kg m-2] :param h_neglect_edge: [in] A negligibly small width for the purpose of edge value calculation [H ~> m or kg m-2] :callto: :f:func:`regrid_interp::build_and_interpolate_grid ` :calledfrom: :f:func:`mom_regridding::build_grid_hycom1 ` [debug] xpath(./compounddef/compoundname[text()="coord_hycom::hycom_cs"]/..) match([('id', 'structcoord__hycom_1_1hycom__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_hycom::hycom_cs', , {}, ['', 'Control s [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_hycom::hycom_cs', , {}, ['`More... , {}, ['', 'Control s [debug] DoxygenMethodDocumenter format_signature called ((CS, nk, coordinateResolution, target_density, interp_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_hycom::init_coord_hycom', , {}, ['', 'Ini [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_hycom::init_coord_hycom', , {}, ['', 'Ini [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacecoord__hycom) kindref(compound) ref([]) [debug] ref([('id', 'namespacecoord__hycom'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_hycom::end_coord_hycom', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_hycom::end_coord_hycom', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((CS, max_interface_depths, max_layer_thickness, interp_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacecoord__hycom) kindref(compound) ref([]) [debug] ref([('id', 'namespacecoord__hycom'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_hycom::set_hycom_params', , {}, ['', 'Thi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_hycom::set_hycom_params', , {}, ['', 'Thi [debug] DoxygenMethodDocumenter format_signature called ((CS, eqn_of_state, nz, depth, h, T, S, p_col, z_col, z_col_new, zScale, h_neglect, h_neglect_edge)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_hycom::build_hycom1_column', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_hycom::build_hycom1_column', , {}, ['', ' [fd] run(.. f:type:: hycom_cs) [fd] sig(hycom_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(hycom_cs) arglist(None) [fd] fullname(coord_hycom/hycom_cs) ftype(None) [fd] name(('coord_hycom/hycom_cs', None)) sig(hycom_cs) signode(type coord_hycom/hycom_cs) [fd] run(.. f:subroutine:: subroutine init_coord_hycom(CS, nk, coordinateResolution, target_density, interp_CS)) [fd] sig(subroutine init_coord_hycom(CS, nk, coordinateResolution, target_density, interp_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(init_coord_hycom) arglist(CS, nk, coordinateResolution, target_density, interp_CS) [fd] fullname(coord_hycom/init_coord_hycom) ftype(None) [fd] name(('coord_hycom/init_coord_hycom', None)) sig(subroutine init_coord_hycom(CS, nk, coordinateResolution, target_density, interp_CS)) signode(subroutine coord_hycom/init_coord_hycomCSnkcoordinateResolutiontarget_densityinterp_CS) [fd] run(.. f:subroutine:: subroutine end_coord_hycom(CS)) [fd] sig(subroutine end_coord_hycom(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(end_coord_hycom) arglist(CS) [fd] fullname(coord_hycom/end_coord_hycom) ftype(None) [fd] name(('coord_hycom/end_coord_hycom', None)) sig(subroutine end_coord_hycom(CS)) signode(subroutine coord_hycom/end_coord_hycomCS) [fd] run(.. f:subroutine:: subroutine set_hycom_params(CS, max_interface_depths, max_layer_thickness, interp_CS)) [fd] sig(subroutine set_hycom_params(CS, max_interface_depths, max_layer_thickness, interp_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_hycom_params) arglist(CS, max_interface_depths, max_layer_thickness, interp_CS) [fd] fullname(coord_hycom/set_hycom_params) ftype(None) [fd] name(('coord_hycom/set_hycom_params', None)) sig(subroutine set_hycom_params(CS, max_interface_depths, max_layer_thickness, interp_CS)) signode(subroutine coord_hycom/set_hycom_paramsCSmax_interface_depthsmax_layer_thicknessinterp_CS) [fd] run(.. f:subroutine:: subroutine build_hycom1_column(CS, eqn_of_state, nz, depth, h, T, S, p_col, z_col, z_col_new, zScale, h_neglect, h_neglect_edge)) [fd] sig(subroutine build_hycom1_column(CS, eqn_of_state, nz, depth, h, T, S, p_col, z_col, z_col_new, zScale, h_neglect, h_neglect_edge)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(build_hycom1_column) arglist(CS, eqn_of_state, nz, depth, h, T, S, p_col, z_col, z_col_new, zScale, h_neglect, h_neglect_edge) [fd] fullname(coord_hycom/build_hycom1_column) ftype(None) [fd] name(('coord_hycom/build_hycom1_column', None)) sig(subroutine build_hycom1_column(CS, eqn_of_state, nz, depth, h, T, S, p_col, z_col, z_col_new, zScale, h_neglect, h_neglect_edge)) signode(subroutine coord_hycom/build_hycom1_columnCSeqn_of_statenzdepthhTSp_colz_colz_col_newzScaleh_neglecth_neglect_edge) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 7%] api/generated/modules/coord_rho [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/coord_rho') [app] emitting event: 'source-read'('api/generated/modules/coord_rho', ['.. autodoxymodule:: coord_rho\n :members:\n :methods:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/coord_rho.rst:1: input: .. autodoxymodule:: coord_rho :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~coord_rho::rho_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~coord_rho::init_coord_rho ~coord_rho::end_coord_rho ~coord_rho::set_rho_params ~coord_rho::build_rho_column ~coord_rho::build_rho_column_iteratively ~coord_rho::copy_finite_thicknesses ~coord_rho::old_inflate_layers_1d [debug] xpath(./compounddef/compoundname[text()="coord_rho"]/..) match([('id', 'namespacecoord__rho'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:coord_rho module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_rho', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'coord_rho' (exception was: ModuleNotFoundError("No module named 'coord_rho'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'coord_rho::rho_cs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('end_coord_rho', ), ('set_rho_params', ), ('build_rho_column', ), ('build_rho_column_iteratively', ), ('copy_finite_thicknesses', ), ('old_inflate_layers_1d', )]) [autodoc] module analyzer failed: error importing 'coord_rho' (exception was: ModuleNotFoundError("No module named 'coord_rho'")) [debug] DoxygenMethodDocumenter format_signature called ((CS, nk, ref_pressure, target_density, interp_CS)) [debug] add_directive_header sig((CS, nk, ref_pressure, target_density, interp_CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine init_coord_rho) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'init_coord_rho', , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'namespacecoord__rho'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'end_coord_rho', , {'members': , {'members': ]) [debug] ref([('id', 'namespacecoord__rho'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_rho_params', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~coord_rho::rho_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~coord_rho::init_coord_rho ~coord_rho::end_coord_rho ~coord_rho::set_rho_params ~coord_rho::build_rho_column ~coord_rho::build_rho_column_iteratively ~coord_rho::copy_finite_thicknesses ~coord_rho::old_inflate_layers_1d .. _DETAcoord_rho: -------------------- Detailed Description -------------------- Regrid columns for the continuous isopycnal (rho) coordinate. ------------------ Type Documentation ------------------ .. f:type:: rho_cs Control structure containing required parameters for the rho coordinate. :typefield integer nk: Number of layers. :typefield real min_thickness: Minimum thickness allowed for layers, often in [H ~> m or kg m-2]. :typefield real ref_pressure: Reference pressure for density calculations [R L2 T-2 ~> Pa]. :typefield logical integrate_downward_for_e: If true, integrate for interface positions from the top downward. If false, integrate from the bottom upward, as does the rest of the model. :typefield real(\:) target_density [allocatable]: Nominal density of interfaces [R ~> kg m-3]. :typefield type(interp_cs_type) interp_cs: Interpolation control structure. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine init_coord_rho(CS, nk, ref_pressure, target_density, interp_CS) Initialise a rho_CS with pointers to parameters. :param cs: Unassociated pointer to hold the control structure :param nk: [in] Number of layers in the grid :param ref_pressure: [in] Coordinate reference pressure [R L2 T-2 ~> Pa] :param target_density: [in] Nominal density of interfaces [R ~> kg m-3] :param interp_cs: [in] Controls for interpolation :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine end_coord_rho(CS) This subroutine deallocates memory in the control structure for the :f:func:`coord_rho` module. module. :param cs: Coordinate control structure .. f:subroutine:: subroutine set_rho_params(CS, min_thickness, integrate_downward_for_e, interp_CS) This subroutine can be used to set the parameters for the :f:func:`coord_rho` module. module. :param cs: Coordinate control structure :param min_thickness: [in] Minimum allowed thickness [H ~> m or kg m-2] :param integrate_downward_for_e: [in] If true, integrate for interface positions from the top downward. If false, integrate from the bottom upward, as does the rest of the model. :param interp_cs: [in] Controls for interpolation :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine build_rho_column(CS, nz, depth, h, T, S, eqn_of_state, z_interface, h_neglect, h_neglect_edge) Build a rho coordinate column. #. Density profiles are calculated on the source grid. #. Positions of target densities (for interfaces) are found by interpolation. :param cs: [in] :f:func:`coord_rho` control structure control structure :param nz: [in] Number of levels on source grid (i.e. length of h, T, S) :param depth: [in] Depth of ocean bottom (positive downward) [H ~> m or kg m-2] :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param t: [in] Temperature for source column [degC] :param s: [in] Salinity for source column [ppt] :param eqn_of_state: Equation of state structure :param z_interface: [inout] Absolute positions of interfaces :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions [H ~> m or kg m-2] :param h_neglect_edge: [in] A negligibly small width for the purpose of edge value calculations [H ~> m or kg m-2] :callto: :f:func:`regrid_interp::build_and_interpolate_grid ` :callto: :f:func:`copy_finite_thicknesses ` :callto: :f:func:`old_inflate_layers_1d ` :calledfrom: :f:func:`mom_diag_remap::diag_remap_update ` .. f:subroutine:: subroutine build_rho_column_iteratively(CS, remapCS, nz, depth, h, T, S, eqn_of_state, zInterface, h_neglect, h_neglect_edge, dev_tol) Iteratively build a rho coordinate column. The algorithm operates as follows within each column: #. Given T & S within each layer, the layer densities are computed. #. Based on these layer densities, a global density profile is reconstructed (this profile is monotonically increasing and may be discontinuous) #. The new grid interfaces are determined based on the target interface densities. #. T & S are remapped onto the new grid. #. Return to step 1 until convergence or until the maximum number of iterations is reached, whichever comes first. :param cs: [in] Regridding control structure :param remapcs: [in] Remapping parameters and options :param nz: [in] Number of levels :param depth: [in] Depth of ocean bottom [Z ~> m] :param h: [in] Layer thicknesses in Z coordinates [Z ~> m] :param t: [in] T for column [degC] :param s: [in] S for column [ppt] :param eqn_of_state: Equation of state structure :param zinterface: [inout] Absolute positions of interfaces :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions in the same units as h [Z ~> m] :param h_neglect_edge: [in] A negligibly small width for the purpose of edge value calculations in the same units as h [Z ~> m] :param dev_tol: [in] The tolerance for the deviation between successive grids for determining when the iterative solver has converged [Z ~> m] :callto: :f:func:`regrid_interp::build_and_interpolate_grid ` :callto: :f:func:`copy_finite_thicknesses ` :callto: :f:func:`old_inflate_layers_1d ` :callto: :f:func:`mom_remapping::remapping_core_h ` .. f:subroutine:: subroutine copy_finite_thicknesses(nk, h_in, thresh, nout, h_out, mapping) Copy column thicknesses with vanished layers removed. :param nk: [in] Number of layer for h_in, T_in, S_in :param h_in: [in] Thickness of input column [H ~> m or kg m-2] or [Z ~> m] :param thresh: [in] Thickness threshold defining vanished layers [H ~> m or kg m-2] or [Z ~> m] :param nout: [out] Number of non-vanished layers :param h_out: [out] Thickness of output column [H ~> m or kg m-2] or [Z ~> m] :param mapping: [out] Index of k-out corresponding to k-in :calledfrom: :f:func:`build_rho_column ` :calledfrom: :f:func:`build_rho_column_iteratively ` .. f:subroutine:: subroutine old_inflate_layers_1d(min_thickness, nk, h) Inflate vanished layers to finite (nonzero) width. :param min_thickness: [in] Minimum allowed thickness [H ~> m or kg m-2] :param nk: [in] Number of layers in the grid :param h: [inout] Layer thicknesses [H ~> m or kg m-2] :calledfrom: :f:func:`build_rho_column ` :calledfrom: :f:func:`build_rho_column_iteratively ` :calledfrom: :f:func:`mom_regridding::inflate_vanished_layers_old ` [debug] xpath(./compounddef/compoundname[text()="coord_rho::rho_cs"]/..) match([('id', 'structcoord__rho_1_1rho__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_rho::rho_cs', , {}, ['', 'Control struc [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_rho::rho_cs', , {}, ['`More... , {}, ['', 'Control struc [debug] DoxygenMethodDocumenter format_signature called ((CS, nk, ref_pressure, target_density, interp_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_rho::init_coord_rho', , {}, ['', 'Initial [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_rho::init_coord_rho', , {}, ['', 'Initial [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacecoord__rho) kindref(compound) ref([]) [debug] ref([('id', 'namespacecoord__rho'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_rho::end_coord_rho', , {}, ['', 'This sub [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_rho::end_coord_rho', , {}, ['', 'This sub [debug] DoxygenMethodDocumenter format_signature called ((CS, min_thickness, integrate_downward_for_e, interp_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacecoord__rho) kindref(compound) ref([]) [debug] ref([('id', 'namespacecoord__rho'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_rho::set_rho_params', , {}, ['', 'This su [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_rho::set_rho_params', , {}, ['', 'This su [debug] DoxygenMethodDocumenter format_signature called ((CS, nz, depth, h, T, S, eqn_of_state, z_interface, h_neglect, h_neglect_edge)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_rho::build_rho_column', , {}, ['', 'Build [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_rho::build_rho_column', , {}, ['', 'Build [debug] DoxygenMethodDocumenter format_signature called ((CS, remapCS, nz, depth, h, T, S, eqn_of_state, zInterface, h_neglect, h_neglect_edge, dev_tol)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_rho::build_rho_column_iteratively', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_rho::build_rho_column_iteratively', , {}, [debug] DoxygenMethodDocumenter format_signature called ((nk, h_in, thresh, nout, h_out, mapping)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_rho::copy_finite_thicknesses', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_rho::copy_finite_thicknesses', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((min_thickness, nk, h)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_rho::old_inflate_layers_1d', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_rho::old_inflate_layers_1d', , {}, ['', ' [fd] run(.. f:type:: rho_cs) [fd] sig(rho_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(rho_cs) arglist(None) [fd] fullname(coord_rho/rho_cs) ftype(None) [fd] name(('coord_rho/rho_cs', None)) sig(rho_cs) signode(type coord_rho/rho_cs) [fd] run(.. f:subroutine:: subroutine init_coord_rho(CS, nk, ref_pressure, target_density, interp_CS)) [fd] sig(subroutine init_coord_rho(CS, nk, ref_pressure, target_density, interp_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(init_coord_rho) arglist(CS, nk, ref_pressure, target_density, interp_CS) [fd] fullname(coord_rho/init_coord_rho) ftype(None) [fd] name(('coord_rho/init_coord_rho', None)) sig(subroutine init_coord_rho(CS, nk, ref_pressure, target_density, interp_CS)) signode(subroutine coord_rho/init_coord_rhoCSnkref_pressuretarget_densityinterp_CS) [fd] run(.. f:subroutine:: subroutine end_coord_rho(CS)) [fd] sig(subroutine end_coord_rho(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(end_coord_rho) arglist(CS) [fd] fullname(coord_rho/end_coord_rho) ftype(None) [fd] name(('coord_rho/end_coord_rho', None)) sig(subroutine end_coord_rho(CS)) signode(subroutine coord_rho/end_coord_rhoCS) [fd] run(.. f:subroutine:: subroutine set_rho_params(CS, min_thickness, integrate_downward_for_e, interp_CS)) [fd] sig(subroutine set_rho_params(CS, min_thickness, integrate_downward_for_e, interp_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_rho_params) arglist(CS, min_thickness, integrate_downward_for_e, interp_CS) [fd] fullname(coord_rho/set_rho_params) ftype(None) [fd] name(('coord_rho/set_rho_params', None)) sig(subroutine set_rho_params(CS, min_thickness, integrate_downward_for_e, interp_CS)) signode(subroutine coord_rho/set_rho_paramsCSmin_thicknessintegrate_downward_for_einterp_CS) [fd] run(.. f:subroutine:: subroutine build_rho_column(CS, nz, depth, h, T, S, eqn_of_state, z_interface, h_neglect, h_neglect_edge)) [fd] sig(subroutine build_rho_column(CS, nz, depth, h, T, S, eqn_of_state, z_interface, h_neglect, h_neglect_edge)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(build_rho_column) arglist(CS, nz, depth, h, T, S, eqn_of_state, z_interface, h_neglect, h_neglect_edge) [fd] fullname(coord_rho/build_rho_column) ftype(None) [fd] name(('coord_rho/build_rho_column', None)) sig(subroutine build_rho_column(CS, nz, depth, h, T, S, eqn_of_state, z_interface, h_neglect, h_neglect_edge)) signode(subroutine coord_rho/build_rho_columnCSnzdepthhTSeqn_of_statez_interfaceh_neglecth_neglect_edge) [fd] run(.. f:subroutine:: subroutine build_rho_column_iteratively(CS, remapCS, nz, depth, h, T, S, eqn_of_state, zInterface, h_neglect, h_neglect_edge, dev_tol)) [fd] sig(subroutine build_rho_column_iteratively(CS, remapCS, nz, depth, h, T, S, eqn_of_state, zInterface, h_neglect, h_neglect_edge, dev_tol)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(build_rho_column_iteratively) arglist(CS, remapCS, nz, depth, h, T, S, eqn_of_state, zInterface, h_neglect, h_neglect_edge, dev_tol) [fd] fullname(coord_rho/build_rho_column_iteratively) ftype(None) [fd] name(('coord_rho/build_rho_column_iteratively', None)) sig(subroutine build_rho_column_iteratively(CS, remapCS, nz, depth, h, T, S, eqn_of_state, zInterface, h_neglect, h_neglect_edge, dev_tol)) signode(subroutine coord_rho/build_rho_column_iterativelyCSremapCSnzdepthhTSeqn_of_statezInterfaceh_neglecth_neglect_edgedev_tol) [fd] run(.. f:subroutine:: subroutine copy_finite_thicknesses(nk, h_in, thresh, nout, h_out, mapping)) [fd] sig(subroutine copy_finite_thicknesses(nk, h_in, thresh, nout, h_out, mapping)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(copy_finite_thicknesses) arglist(nk, h_in, thresh, nout, h_out, mapping) [fd] fullname(coord_rho/copy_finite_thicknesses) ftype(None) [fd] name(('coord_rho/copy_finite_thicknesses', None)) sig(subroutine copy_finite_thicknesses(nk, h_in, thresh, nout, h_out, mapping)) signode(subroutine coord_rho/copy_finite_thicknessesnkh_inthreshnouth_outmapping) [fd] run(.. f:subroutine:: subroutine old_inflate_layers_1d(min_thickness, nk, h)) [fd] sig(subroutine old_inflate_layers_1d(min_thickness, nk, h)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(old_inflate_layers_1d) arglist(min_thickness, nk, h) [fd] fullname(coord_rho/old_inflate_layers_1d) ftype(None) [fd] name(('coord_rho/old_inflate_layers_1d', None)) sig(subroutine old_inflate_layers_1d(min_thickness, nk, h)) signode(subroutine coord_rho/old_inflate_layers_1dmin_thicknessnkh) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 7%] api/generated/modules/coord_sigma [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/coord_sigma' [app] emitting event: 'source-read'('api/generated/modules/coord_sigma', ['.. autodoxymodule:: coord_sigma\n :members:\n :methods:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/coord_sigma.rst:1: input: .. autodoxymodule:: coord_sigma :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~coord_sigma::sigma_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~coord_sigma::init_coord_sigma ~coord_sigma::end_coord_sigma ~coord_sigma::set_sigma_params ~coord_sigma::build_sigma_column [debug] xpath(./compounddef/compoundname[text()="coord_sigma"]/..) match([('id', 'namespacecoord__sigma'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:coord_sigma module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_sigma', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'coord_sigma' (exception was: ModuleNotFoundError("No module named 'coord_sigma'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'coord_sigma::sigma_cs', , {'members': , {'members': , {'members': , {'members': , {'members': ), ('end_coord_sigma', ), ('set_sigma_params', ), ('build_sigma_column', )]) [autodoc] module analyzer failed: error importing 'coord_sigma' (exception was: ModuleNotFoundError("No module named 'coord_sigma'")) [debug] DoxygenMethodDocumenter format_signature called ((CS, nk, coordinateResolution)) [debug] add_directive_header sig((CS, nk, coordinateResolution)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine init_coord_sigma) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'init_coord_sigma', , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'namespacecoord__sigma'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'end_coord_sigma', , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'namespacecoord__sigma'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_sigma_params', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~coord_sigma::sigma_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~coord_sigma::init_coord_sigma ~coord_sigma::end_coord_sigma ~coord_sigma::set_sigma_params ~coord_sigma::build_sigma_column .. _DETAcoord_sigma: -------------------- Detailed Description -------------------- Regrid columns for the sigma coordinate. ------------------ Type Documentation ------------------ .. f:type:: sigma_cs Control structure containing required parameters for the sigma coordinate. :typefield integer nk: Number of levels. :typefield real min_thickness: Minimum thickness allowed for layers. :typefield real(\:) coordinateresolution [allocatable]: Target coordinate resolution, nondimensional. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine init_coord_sigma(CS, nk, coordinateResolution) Initialise a sigma_CS with pointers to parameters. :param cs: Unassociated pointer to hold the control structure :param nk: [in] Number of layers in the grid :param coordinateresolution: [in] Nominal coordinate resolution [nondim] :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_regridding::initcoord ` .. f:subroutine:: subroutine end_coord_sigma(CS) This subroutine deallocates memory in the control structure for the :f:func:`coord_sigma` module. module. :param cs: Coordinate control structure :calledfrom: :f:func:`mom_regridding::end_regridding ` .. f:subroutine:: subroutine set_sigma_params(CS, min_thickness) This subroutine can be used to set the parameters for the :f:func:`coord_sigma` module. module. :param cs: Coordinate control structure :param min_thickness: [in] Minimum allowed thickness [H ~> m or kg m-2] :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_regridding::set_regrid_params ` .. f:subroutine:: subroutine build_sigma_column(CS, depth, totalThickness, zInterface) Build a sigma coordinate column. :param cs: [in] Coordinate control structure :param depth: [in] Depth of ocean bottom (positive [H ~> m or kg m-2]) :param totalthickness: [in] Column thickness (positive [H ~> m or kg m-2]) :param zinterface: [inout] Absolute positions of interfaces [H ~> m or kg m-2] :calledfrom: :f:func:`mom_regridding::build_sigma_grid ` :calledfrom: :f:func:`mom_diag_remap::diag_remap_update ` [debug] xpath(./compounddef/compoundname[text()="coord_sigma::sigma_cs"]/..) match([('id', 'structcoord__sigma_1_1sigma__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_sigma::sigma_cs', , {}, ['', 'Control s [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_sigma::sigma_cs', , {}, ['`More... , {}, ['', 'Control s [debug] DoxygenMethodDocumenter format_signature called ((CS, nk, coordinateResolution)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_sigma::init_coord_sigma', , {}, ['', 'Ini [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_sigma::init_coord_sigma', , {}, ['', 'Ini [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacecoord__sigma) kindref(compound) ref([]) [debug] ref([('id', 'namespacecoord__sigma'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_sigma::end_coord_sigma', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_sigma::end_coord_sigma', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((CS, min_thickness)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacecoord__sigma) kindref(compound) ref([]) [debug] ref([('id', 'namespacecoord__sigma'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_sigma::set_sigma_params', , {}, ['', 'Thi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_sigma::set_sigma_params', , {}, ['', 'Thi [debug] DoxygenMethodDocumenter format_signature called ((CS, depth, totalThickness, zInterface)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_sigma::build_sigma_column', , {}, ['', 'B [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_sigma::build_sigma_column', , {}, ['', 'B [fd] run(.. f:type:: sigma_cs) [fd] sig(sigma_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(sigma_cs) arglist(None) [fd] fullname(coord_sigma/sigma_cs) ftype(None) [fd] name(('coord_sigma/sigma_cs', None)) sig(sigma_cs) signode(type coord_sigma/sigma_cs) [fd] run(.. f:subroutine:: subroutine init_coord_sigma(CS, nk, coordinateResolution)) [fd] sig(subroutine init_coord_sigma(CS, nk, coordinateResolution)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(init_coord_sigma) arglist(CS, nk, coordinateResolution) [fd] fullname(coord_sigma/init_coord_sigma) ftype(None) [fd] name(('coord_sigma/init_coord_sigma', None)) sig(subroutine init_coord_sigma(CS, nk, coordinateResolution)) signode(subroutine coord_sigma/init_coord_sigmaCSnkcoordinateResolution) [fd] run(.. f:subroutine:: subroutine end_coord_sigma(CS)) [fd] sig(subroutine end_coord_sigma(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(end_coord_sigma) arglist(CS) [fd] fullname(coord_sigma/end_coord_sigma) ftype(None) [fd] name(('coord_sigma/end_coord_sigma', None)) sig(subroutine end_coord_sigma(CS)) signode(subroutine coord_sigma/end_coord_sigmaCS) [fd] run(.. f:subroutine:: subroutine set_sigma_params(CS, min_thickness)) [fd] sig(subroutine set_sigma_params(CS, min_thickness)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_sigma_params) arglist(CS, min_thickness) [fd] fullname(coord_sigma/set_sigma_params) ftype(None) [fd] name(('coord_sigma/set_sigma_params', None)) sig(subroutine set_sigma_params(CS, min_thickness)) signode(subroutine coord_sigma/set_sigma_paramsCSmin_thickness) [fd] run(.. f:subroutine:: subroutine build_sigma_column(CS, depth, totalThickness, zInterface)) [fd] sig(subroutine build_sigma_column(CS, depth, totalThickness, zInterface)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(build_sigma_column) arglist(CS, depth, totalThickness, zInterface) [fd] fullname(coord_sigma/build_sigma_column) ftype(None) [fd] name(('coord_sigma/build_sigma_column', None)) sig(subroutine build_sigma_column(CS, depth, totalThickness, zInterface)) signode(subroutine coord_sigma/build_sigma_columnCSdepthtotalThicknesszInterface) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 7%] api/generated/modules/coord_slight [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/coord_slight [app] emitting event: 'source-read'('api/generated/modules/coord_slight', ['.. autodoxymodule:: coord_slight\n :members:\n :methods [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/coord_slight.rst:1: input: .. autodoxymodule:: coord_slight :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~coord_slight::slight_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~coord_slight::init_coord_slight ~coord_slight::end_coord_slight ~coord_slight::set_slight_params ~coord_slight::build_slight_column ~coord_slight::rho_interfaces_col [debug] xpath(./compounddef/compoundname[text()="coord_slight"]/..) match([('id', 'namespacecoord__slight'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:coord_slight module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_slight', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'coord_slight' (exception was: ModuleNotFoundError("No module named 'coord_slight'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'coord_slight::slight_cs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('end_coord_slight', ), ('set_slight_params', ), ('build_slight_column', ), ('rho_interfaces_col', )]) [autodoc] module analyzer failed: error importing 'coord_slight' (exception was: ModuleNotFoundError("No module named 'coord_slight'")) [debug] DoxygenMethodDocumenter format_signature called ((CS, nk, ref_pressure, target_density, interp_CS, m_to_H)) [debug] add_directive_header sig((CS, nk, ref_pressure, target_density, interp_CS, m_to_H)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine init_coord_slight) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'init_coord_slight', , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'namespacecoord__slight'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'end_coord_slight', , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'namespacecoord__slight'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_slight_params', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~coord_slight::slight_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~coord_slight::init_coord_slight ~coord_slight::end_coord_slight ~coord_slight::set_slight_params ~coord_slight::build_slight_column ~coord_slight::rho_interfaces_col .. _DETAcoord_slight: -------------------- Detailed Description -------------------- Regrid columns for the SLight coordinate. ------------------ Type Documentation ------------------ .. f:type:: slight_cs Control structure containing required parameters for the SLight coordinate. :typefield integer nk: Number of layers/levels. :typefield real min_thickness: Minimum thickness allowed when building the new grid through regridding [H ~> m or kg m-2]. :typefield real ref_pressure: Reference pressure for potential density calculations [R L2 T-2 ~> Pa]. :typefield real compressibility_fraction: Fraction (between 0 and 1) of compressibility to add to potential density profiles when interpolating for target grid positions. [nondim]. :typefield real rho_ml_avg_depth: Depth over which to average to determine the mixed layer potential density [H ~> m or kg m-2]. :typefield real nlay_ml_offset: Number of layers to offset the mixed layer density to find resolved stratification [nondim]. :typefield integer nz_fixed_surface: The number of fixed-thickness layers at the top of the model. :typefield real dz_ml_min: The fixed resolution in the topmost SLight_nkml_min layers [H ~> m or kg m-2]. :typefield logical fix_haloclines: If true, detect regions with much weaker stratification in the coordinate than based on in-situ density, and use a stretched coordinate there. :typefield real halocline_filter_length: A length scale over which to filter T & S when looking for spuriously unstable water mass profiles [H ~> m or kg m-2]. :typefield real halocline_strat_tol: A value of the stratification ratio that defines a problematic halocline region [nondim]. :typefield real(\:) target_density [allocatable]: Nominal density of interfaces [R ~> kg m-3]. :typefield real(\:) max_interface_depths [allocatable]: Maximum depths of interfaces [H ~> m or kg m-2]. :typefield real(\:) max_layer_thickness [allocatable]: Maximum thicknesses of layers [H ~> m or kg m-2]. :typefield type(interp_cs_type) interp_cs: Interpolation control structure. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine init_coord_slight(CS, nk, ref_pressure, target_density, interp_CS, m_to_H) Initialise a slight_CS with pointers to parameters. :param cs: Unassociated pointer to hold the control structure :param nk: [in] Number of layers in the grid :param ref_pressure: [in] Coordinate reference pressure [R L2 T-2 ~> Pa] :param target_density: [in] Nominal density of interfaces [R ~> kg m-3] :param interp_cs: [in] Controls for interpolation :param m_to_h: [in] A conversion factor from m to the units of thicknesses :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_regridding::initcoord ` .. f:subroutine:: subroutine end_coord_slight(CS) This subroutine deallocates memory in the control structure for the :f:func:`coord_slight` module. module. :param cs: Coordinate control structure :calledfrom: :f:func:`mom_regridding::end_regridding ` .. f:subroutine:: subroutine set_slight_params(CS, max_interface_depths, max_layer_thickness, min_thickness, compressibility_fraction, dz_ml_min, nz_fixed_surface, Rho_ML_avg_depth, nlay_ML_offset, fix_haloclines, halocline_filter_length, halocline_strat_tol, interp_CS) This subroutine can be used to set the parameters for the :f:func:`coord_slight` module. module. :param cs: Coordinate control structure :param max_interface_depths: [in] Maximum depths of interfaces [H ~> m or kg m-2] :param max_layer_thickness: [in] Maximum thicknesses of layers [H ~> m or kg m-2] :param min_thickness: [in] Minimum thickness allowed when building the new grid through regridding [H ~> m or kg m-2] :param compressibility_fraction: [in] Fraction (between 0 and 1) of compressibility to add to potential density profiles when interpolating for target grid positions. [nondim] :param dz_ml_min: [in] The fixed resolution in the topmost SLight_nkml_min layers [H ~> m or kg m-2] :param nz_fixed_surface: [in] The number of fixed-thickness layers at the top of the model :param rho_ml_avg_depth: [in] Depth over which to average to determine the mixed layer potential density [H ~> m or kg m-2] :param nlay_ml_offset: [in] Number of layers to offset the mixed layer density to find resolved stratification [nondim] :param fix_haloclines: [in] If true, detect regions with much weaker than based on in-situ density, and use a stretched coordinate there. :param halocline_filter_length: [in] A length scale over which to filter T & S when looking for spuriously unstable water mass profiles [H ~> m or kg m-2]. :param halocline_strat_tol: [in] A value of the stratification ratio that defines a problematic halocline region [nondim]. :param interp_cs: [in] Controls for interpolation :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_regridding::set_regrid_max_depths ` :calledfrom: :f:func:`mom_regridding::set_regrid_max_thickness ` :calledfrom: :f:func:`mom_regridding::set_regrid_params ` .. f:subroutine:: subroutine build_slight_column(CS, eqn_of_state, H_to_pres, H_subroundoff, nz, depth, h_col, T_col, S_col, p_col, z_col, z_col_new, h_neglect, h_neglect_edge) Build a SLight coordinate column. :param cs: [in] Coordinate control structure :param eqn_of_state: Equation of state structure :param h_to_pres: [in] A conversion factor from thicknesses to scaled pressure [R L2 T-2 H-1 ~> Pa m-1 or Pa m2 kg-1] :param h_subroundoff: [in] GVH_subroundoff :param nz: [in] Number of levels :param depth: [in] Depth of ocean bottom (positive [H ~> m or kg m-2]) :param t_col: [in] T for column :param s_col: [in] S for column :param h_col: [in] Layer thicknesses [H ~> m or kg m-2] :param p_col: [in] Layer center pressure [R L2 T-2 ~> Pa] :param z_col: [in] Interface positions relative to the surface [H ~> m or kg m-2] :param z_col_new: [inout] Absolute positions of interfaces [H ~> m or kg m-2] :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions [H ~> m or kg m-2]. :param h_neglect_edge: [in] A negligibly small width for the purpose of edge value calculations [H ~> m or kg m-2]. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`rho_interfaces_col ` :calledfrom: :f:func:`mom_regridding::build_grid_slight ` .. f:subroutine:: subroutine rho_interfaces_col(rho_col, h_col, z_col, rho_tgt, nz, z_col_new, CS, reliable, debug, h_neglect, h_neglect_edge) Finds the new interface locations in a column of water that match the prescribed target densities. :param nz: [in] Number of layers :param rho_col: [in] Initial layer reference densities [R ~> kg m-3]. :param h_col: [in] Initial layer thicknesses [H ~> m or kg m-2]. :param z_col: [in] Initial interface heights [H ~> m or kg m-2]. :param rho_tgt: [in] Interface target densities. :param z_col_new: [inout] New interface heights [H ~> m or kg m-2]. :param cs: [in] Coordinate control structure :param reliable: [inout] If true, the interface positions are well defined from a stable region. :param debug: [in] If present and true, do debugging checks. :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions [H ~> m or kg m-2] :param h_neglect_edge: [in] A negligibly small width for the purpose of edge value calculations [H ~> m or kg m-2] :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regrid_interp::nr_iterations ` :callto: :f:func:`regrid_interp::nr_tolerance ` :calledfrom: :f:func:`build_slight_column ` [debug] xpath(./compounddef/compoundname[text()="coord_slight::slight_cs"]/..) match([('id', 'structcoord__slight_1_1slight__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_slight::slight_cs', , {}, ['', 'Control [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_slight::slight_cs', , {}, ['`More... , {}, ['', 'Control [debug] DoxygenMethodDocumenter format_signature called ((CS, nk, ref_pressure, target_density, interp_CS, m_to_H)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_slight::init_coord_slight', , {}, ['', 'I [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_slight::init_coord_slight', , {}, ['', 'I [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacecoord__slight) kindref(compound) ref([]) [debug] ref([('id', 'namespacecoord__slight'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_slight::end_coord_slight', , {}, ['', 'Th [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_slight::end_coord_slight', , {}, ['', 'Th [debug] DoxygenMethodDocumenter format_signature called ((CS, max_interface_depths, max_layer_thickness, min_thickness, compressibility_fraction, dz_ml_min, nz_fixed_surface, Rho_ML_avg_depth, nlay_ML_offset, fix_haloclines, halocline_filter_length, halocline_strat_tol, interp_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacecoord__slight) kindref(compound) ref([]) [debug] ref([('id', 'namespacecoord__slight'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_slight::set_slight_params', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_slight::set_slight_params', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((CS, eqn_of_state, H_to_pres, H_subroundoff, nz, depth, h_col, T_col, S_col, p_col, z_col, z_col_new, h_neglect, h_neglect_edge)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_slight::build_slight_column', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_slight::build_slight_column', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((rho_col, h_col, z_col, rho_tgt, nz, z_col_new, CS, reliable, debug, h_neglect, h_neglect_edge)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_slight::rho_interfaces_col', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_slight::rho_interfaces_col', , {}, ['', ' [fd] run(.. f:type:: slight_cs) [fd] sig(slight_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(slight_cs) arglist(None) [fd] fullname(coord_slight/slight_cs) ftype(None) [fd] name(('coord_slight/slight_cs', None)) sig(slight_cs) signode(type coord_slight/slight_cs) [fd] run(.. f:subroutine:: subroutine init_coord_slight(CS, nk, ref_pressure, target_density, interp_CS, m_to_H)) [fd] sig(subroutine init_coord_slight(CS, nk, ref_pressure, target_density, interp_CS, m_to_H)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(init_coord_slight) arglist(CS, nk, ref_pressure, target_density, interp_CS, m_to_H) [fd] fullname(coord_slight/init_coord_slight) ftype(None) [fd] name(('coord_slight/init_coord_slight', None)) sig(subroutine init_coord_slight(CS, nk, ref_pressure, target_density, interp_CS, m_to_H)) signode(subroutine coord_slight/init_coord_slightCSnkref_pressuretarget_densityinterp_CSm_to_H) [fd] run(.. f:subroutine:: subroutine end_coord_slight(CS)) [fd] sig(subroutine end_coord_slight(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(end_coord_slight) arglist(CS) [fd] fullname(coord_slight/end_coord_slight) ftype(None) [fd] name(('coord_slight/end_coord_slight', None)) sig(subroutine end_coord_slight(CS)) signode(subroutine coord_slight/end_coord_slightCS) [fd] run(.. f:subroutine:: subroutine set_slight_params(CS, max_interface_depths, max_layer_thickness, min_thickness, compressibility_fraction, dz_ml_min, nz_fixed_surface, Rho_ML_avg_depth, nlay_ML_offset, fix_haloclines, halocline_filter_length, halocline_strat_tol, interp_CS)) [fd] sig(subroutine set_slight_params(CS, max_interface_depths, max_layer_thickness, min_thickness, compressibility_fraction, dz_ml_min, nz_fixed_surface, Rho_ML_avg_depth, nlay_ML_offset, fix_haloclines, halocline_filter_length, halocline_strat_tol, interp_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_slight_params) arglist(CS, max_interface_depths, max_layer_thickness, min_thickness, compressibility_fraction, dz_ml_min, nz_fixed_surface, Rho_ML_avg_depth, nlay_ML_offset, fix_haloclines, halocline_filter_length, halocline_strat_tol, interp_CS) [fd] fullname(coord_slight/set_slight_params) ftype(None) [fd] name(('coord_slight/set_slight_params', None)) sig(subroutine set_slight_params(CS, max_interface_depths, max_layer_thickness, min_thickness, compressibility_fraction, dz_ml_min, nz_fixed_surface, Rho_ML_avg_depth, nlay_ML_offset, fix_haloclines, halocline_filter_length, halocline_strat_tol, interp_CS)) signode(subroutine coord_slight/set_slight_paramsCSmax_interface_depthsmax_layer_thicknessmin_thicknesscompressibility_fractiondz_ml_minnz_fixed_surfaceRho_ML_avg_depthnlay_ML_offsetfix_haloclineshalocline_filter_lengthhalocline_strat_tolinterp_CS) [fd] run(.. f:subroutine:: subroutine build_slight_column(CS, eqn_of_state, H_to_pres, H_subroundoff, nz, depth, h_col, T_col, S_col, p_col, z_col, z_col_new, h_neglect, h_neglect_edge)) [fd] sig(subroutine build_slight_column(CS, eqn_of_state, H_to_pres, H_subroundoff, nz, depth, h_col, T_col, S_col, p_col, z_col, z_col_new, h_neglect, h_neglect_edge)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(build_slight_column) arglist(CS, eqn_of_state, H_to_pres, H_subroundoff, nz, depth, h_col, T_col, S_col, p_col, z_col, z_col_new, h_neglect, h_neglect_edge) [fd] fullname(coord_slight/build_slight_column) ftype(None) [fd] name(('coord_slight/build_slight_column', None)) sig(subroutine build_slight_column(CS, eqn_of_state, H_to_pres, H_subroundoff, nz, depth, h_col, T_col, S_col, p_col, z_col, z_col_new, h_neglect, h_neglect_edge)) signode(subroutine coord_slight/build_slight_columnCSeqn_of_stateH_to_presH_subroundoffnzdepthh_colT_colS_colp_colz_colz_col_newh_neglecth_neglect_edge) [fd] run(.. f:subroutine:: subroutine rho_interfaces_col(rho_col, h_col, z_col, rho_tgt, nz, z_col_new, CS, reliable, debug, h_neglect, h_neglect_edge)) [fd] sig(subroutine rho_interfaces_col(rho_col, h_col, z_col, rho_tgt, nz, z_col_new, CS, reliable, debug, h_neglect, h_neglect_edge)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rho_interfaces_col) arglist(rho_col, h_col, z_col, rho_tgt, nz, z_col_new, CS, reliable, debug, h_neglect, h_neglect_edge) [fd] fullname(coord_slight/rho_interfaces_col) ftype(None) [fd] name(('coord_slight/rho_interfaces_col', None)) sig(subroutine rho_interfaces_col(rho_col, h_col, z_col, rho_tgt, nz, z_col_new, CS, reliable, debug, h_neglect, h_neglect_edge)) signode(subroutine coord_slight/rho_interfaces_colrho_colh_colz_colrho_tgtnzz_col_newCSreliabledebugh_neglecth_neglect_edge) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 8%] api/generated/modules/coord_zlike [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/coord_zlike' [app] emitting event: 'source-read'('api/generated/modules/coord_zlike', ['.. autodoxymodule:: coord_zlike\n :members:\n :methods:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/coord_zlike.rst:1: input: .. autodoxymodule:: coord_zlike :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~coord_zlike::zlike_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~coord_zlike::init_coord_zlike ~coord_zlike::end_coord_zlike ~coord_zlike::set_zlike_params ~coord_zlike::build_zstar_column [debug] xpath(./compounddef/compoundname[text()="coord_zlike"]/..) match([('id', 'namespacecoord__zlike'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:coord_zlike module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_zlike', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'coord_zlike' (exception was: ModuleNotFoundError("No module named 'coord_zlike'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'coord_zlike::zlike_cs', , {'members': , {'members': , {'members': , {'members': , {'members': ), ('end_coord_zlike', ), ('set_zlike_params', ), ('build_zstar_column', )]) [autodoc] module analyzer failed: error importing 'coord_zlike' (exception was: ModuleNotFoundError("No module named 'coord_zlike'")) [debug] DoxygenMethodDocumenter format_signature called ((CS, nk, coordinateResolution)) [debug] add_directive_header sig((CS, nk, coordinateResolution)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine init_coord_zlike) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'init_coord_zlike', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~coord_zlike::zlike_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~coord_zlike::init_coord_zlike ~coord_zlike::end_coord_zlike ~coord_zlike::set_zlike_params ~coord_zlike::build_zstar_column .. _DETAcoord_zlike: -------------------- Detailed Description -------------------- Regrid columns for a z-like coordinate (z-star, z-level) ------------------ Type Documentation ------------------ .. f:type:: zlike_cs Control structure containing required parameters for a z-like coordinate. :typefield integer nk: Number of levels to be generated. :typefield real min_thickness: Minimum thickness allowed for layers, in the same thickness units (perhaps [H ~> m or kg m-2]) that will be used in all subsequent calls to build_zstar_column with this structure. :typefield real(\:) coordinateresolution [allocatable]: Target coordinate resolution, usually in [Z ~> m]. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine init_coord_zlike(CS, nk, coordinateResolution) Initialise a zlike_CS with pointers to parameters. :param cs: Unassociated pointer to hold the control structure :param nk: [in] Number of levels in the grid :param coordinateresolution: [in] Target coordinate resolution [Z ~> m] :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_regridding::initcoord ` .. f:subroutine:: subroutine end_coord_zlike(CS) Deallocates the zlike control structure. :param cs: Coordinate control structure :calledfrom: :f:func:`mom_regridding::end_regridding ` .. f:subroutine:: subroutine set_zlike_params(CS, min_thickness) Set parameters in the zlike structure. :param cs: Coordinate control structure :param min_thickness: [in] Minimum allowed thickness [H ~> m or kg m-2] :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_regridding::set_regrid_params ` .. f:subroutine:: subroutine build_zstar_column(CS, depth, total_thickness, zInterface, z_rigid_top, eta_orig, zScale) Builds a z* coordinate with a minimum thickness. :param cs: [in] Coordinate control structure :param depth: [in] Depth of ocean bottom (positive downward in the output units), units may be [Z ~> m] or [H ~> m or kg m-2] :param total_thickness: [in] Column thickness (positive definite in the same units as depth) [Z ~> m] or [H ~> m or kg m-2] :param zinterface: [inout] Absolute positions of interfaces :param z_rigid_top: [in] The height of a rigid top (positive upward in the same units as depth) [Z ~> m] or [H ~> m or kg m-2] :param eta_orig: [in] The actual original height of the top in the same units as depth) [Z ~> m] or [H ~> m or kg m-2] :param zscale: [in] Scaling factor from the target coordinate resolution in Z to desired units for zInterface, perhaps Z_to_H :calledfrom: :f:func:`mom_regridding::build_zstar_grid ` :calledfrom: :f:func:`mom_diag_remap::diag_remap_update ` [debug] xpath(./compounddef/compoundname[text()="coord_zlike::zlike_cs"]/..) match([('id', 'structcoord__zlike_1_1zlike__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_zlike::zlike_cs', , {}, ['', 'Control s [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_zlike::zlike_cs', , {}, ['`More... , {}, ['', 'Control s [debug] DoxygenMethodDocumenter format_signature called ((CS, nk, coordinateResolution)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_zlike::init_coord_zlike', , {}, ['', 'Ini [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_zlike::init_coord_zlike', , {}, ['', 'Ini [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_zlike::end_coord_zlike', , {}, ['', 'Deal [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_zlike::end_coord_zlike', , {}, ['', 'Deal [debug] DoxygenMethodDocumenter format_signature called ((CS, min_thickness)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_zlike::set_zlike_params', , {}, ['', 'Set [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_zlike::set_zlike_params', , {}, ['', 'Set [debug] DoxygenMethodDocumenter format_signature called ((CS, depth, total_thickness, zInterface, z_rigid_top, eta_orig, zScale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_zlike::build_zstar_column', , {}, ['', 'B [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coord_zlike::build_zstar_column', , {}, ['', 'B [fd] run(.. f:type:: zlike_cs) [fd] sig(zlike_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(zlike_cs) arglist(None) [fd] fullname(coord_zlike/zlike_cs) ftype(None) [fd] name(('coord_zlike/zlike_cs', None)) sig(zlike_cs) signode(type coord_zlike/zlike_cs) [fd] run(.. f:subroutine:: subroutine init_coord_zlike(CS, nk, coordinateResolution)) [fd] sig(subroutine init_coord_zlike(CS, nk, coordinateResolution)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(init_coord_zlike) arglist(CS, nk, coordinateResolution) [fd] fullname(coord_zlike/init_coord_zlike) ftype(None) [fd] name(('coord_zlike/init_coord_zlike', None)) sig(subroutine init_coord_zlike(CS, nk, coordinateResolution)) signode(subroutine coord_zlike/init_coord_zlikeCSnkcoordinateResolution) [fd] run(.. f:subroutine:: subroutine end_coord_zlike(CS)) [fd] sig(subroutine end_coord_zlike(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(end_coord_zlike) arglist(CS) [fd] fullname(coord_zlike/end_coord_zlike) ftype(None) [fd] name(('coord_zlike/end_coord_zlike', None)) sig(subroutine end_coord_zlike(CS)) signode(subroutine coord_zlike/end_coord_zlikeCS) [fd] run(.. f:subroutine:: subroutine set_zlike_params(CS, min_thickness)) [fd] sig(subroutine set_zlike_params(CS, min_thickness)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_zlike_params) arglist(CS, min_thickness) [fd] fullname(coord_zlike/set_zlike_params) ftype(None) [fd] name(('coord_zlike/set_zlike_params', None)) sig(subroutine set_zlike_params(CS, min_thickness)) signode(subroutine coord_zlike/set_zlike_paramsCSmin_thickness) [fd] run(.. f:subroutine:: subroutine build_zstar_column(CS, depth, total_thickness, zInterface, z_rigid_top, eta_orig, zScale)) [fd] sig(subroutine build_zstar_column(CS, depth, total_thickness, zInterface, z_rigid_top, eta_orig, zScale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(build_zstar_column) arglist(CS, depth, total_thickness, zInterface, z_rigid_top, eta_orig, zScale) [fd] fullname(coord_zlike/build_zstar_column) ftype(None) [fd] name(('coord_zlike/build_zstar_column', None)) sig(subroutine build_zstar_column(CS, depth, total_thickness, zInterface, z_rigid_top, eta_orig, zScale)) signode(subroutine coord_zlike/build_zstar_columnCSdepthtotal_thicknesszInterfacez_rigid_topeta_origzScale) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 8%] api/generated/modules/dense_water_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/dense_water_ [app] emitting event: 'source-read'('api/generated/modules/dense_water_initialization', ['.. autodoxymodule:: dense_water_initializatio [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/dense_water_initialization.rst:1: input: .. autodoxymodule:: dense_water_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dense_water_initialization::dense_water_initialize_topography ~dense_water_initialization::dense_water_initialize_ts ~dense_water_initialization::dense_water_initialize_sponges [debug] xpath(./compounddef/compoundname[text()="dense_water_initialization"]/..) match([('id', 'namespacedense__water__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:dense_water_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dense_water_initialization', , {'members': , {'members': , {'members': ), ('dense_water_initialize_ts', ), ('dense_water_initialize_sponges', )]) [autodoc] module analyzer failed: error importing 'dense_water_initialization' (exception was: ModuleNotFoundError("No module named 'dense_water_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth)) [debug] add_directive_header sig((D, G, param_file, max_depth)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine dense_water_initialize_topography) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dense_water_initialize_topography', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dense_water_initialize_topography', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dense_water_initialize_topography', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dense_water_initialize_topography', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dense_water_initialize_topography', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dense_water_initialize_topography', , {'members [autodoc] module analyzer failed: error importing 'dense_water_initialization' (exception was: ModuleNotFoundError("No module named 'dense_water_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, param_file, eqn_of_state, T, S, h, just_read_params)) [debug] add_directive_header sig((G, GV, param_file, eqn_of_state, T, S, h, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine dense_water_initialize_ts) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dense_water_initialize_ts', , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dense_water_initialize_sponges', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dense_water_initialize_sponges', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dense_water_initialize_sponges', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dense_water_initialize_sponges', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dense_water_initialize_sponges', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dense_water_initialize_sponges', , {'members': [autodoc] output: =========================================== dense_water_initialization module reference =========================================== .. f:module:: dense_water_initialization Initialization routines for the dense water formation and overflow experiment. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dense_water_initialization::dense_water_initialize_topography ~dense_water_initialization::dense_water_initialize_ts ~dense_water_initialization::dense_water_initialize_sponges .. _DETAdense_water_initialization: -------------------- Detailed Description -------------------- This experiment consists of a shelf accumulating dense water, which spills over an upward slope and a sill, before flowing down a slope into an open ocean region. It's intended as a test of one of the motivating situations for the adaptive coordinate. The nondimensional widths of the 5 regions are controlled by the ``DENSE_WATER_DOMAIN_PARAMS``, and the heights of the sill and shelf as a fraction of the total domain depth are controlled by ``DENSE_WATER_SILL_HEIGHT`` and ``DENSE_WATER_SHELF_HEIGHT``. The density in the domain is governed by a linear equation of state, and is set up with a mixed layer of non-dimensional depth ``DENSE_WATER_MLD`` below which there is a linear stratification from ``S_REF``, increasing by ``S_RANGE`` to the bottom. To force the experiment, there are sponges on the inflow and outflow of the domain. The inflow sponge has a salinity anomaly of ``DENSE_WATER_EAST_SPONGE_SALT`` through the entire depth. The outflow sponge simply restores to the initial condition. Both sponges have controllable widths and restoring timescales. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine dense_water_initialize_topography(D, G, param_file, max_depth) Initialize the topography field for the dense water experiment. :param g: [in] The dynamic horizontal grid type :param d: [out] Ocean bottom depth in the units of depth_max :param param_file: [in] Parameter file structure :param max_depth: [in] Maximum ocean depth in arbitrary units :callto: :f:func:`default_shelf ` :callto: :f:func:`default_sill ` :callto: :f:func:`mdl ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_topography ` .. f:subroutine:: subroutine dense_water_initialize_ts(G, GV, param_file, eqn_of_state, T, S, h, just_read_params) Initialize the temperature and salinity for the dense water experiment. :param g: [in] Horizontal grid control structure :param gv: [in] Vertical grid control structure :param param_file: [in] Parameter file structure :param eqn_of_state: EOS structure :param t: [out] Output temperature [degC] :param s: [out] Output salinity [ppt] :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`default_mld ` :callto: :f:func:`mdl ` .. f:subroutine:: subroutine dense_water_initialize_sponges(G, GV, US, tv, param_file, use_ALE, CSp, ACSp) Initialize the restoring sponges for the dense water experiment. :param g: [in] Horizontal grid control structure :param gv: [in] Vertical grid control structure :param us: [in] A dimensional unit scaling type :param tv: [in] Thermodynamic variables :param param_file: [in] Parameter file structure :param use_ale: [in] ALE flag :param csp: Layered sponge control structure pointer :param acsp: ALE sponge control structure pointer :callto: :f:func:`default_mld ` :callto: :f:func:`default_sill ` :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dense_water_initialization::dense_water_initialize_topography', subroutine dense_water_initialization/dense_water_initialize_topographyDGparam_filemax_depth) [fd] run(.. f:subroutine:: subroutine dense_water_initialize_ts(G, GV, param_file, eqn_of_state, T, S, h, just_read_params)) [fd] sig(subroutine dense_water_initialize_ts(G, GV, param_file, eqn_of_state, T, S, h, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dense_water_initialize_ts) arglist(G, GV, param_file, eqn_of_state, T, S, h, just_read_params) [fd] fullname(dense_water_initialization/dense_water_initialize_ts) ftype(None) [fd] name(('dense_water_initialization/dense_water_initialize_ts', None)) sig(subroutine dense_water_initialize_ts(G, GV, param_file, eqn_of_state, T, S, h, just_read_params)) signode(subroutine dense_water_initialization/dense_water_initialize_tsGGVparam_fileeqn_of_stateTShjust_read_params) [fd] run(.. f:subroutine:: subroutine dense_water_initialize_sponges(G, GV, US, tv, param_file, use_ALE, CSp, ACSp)) [fd] sig(subroutine dense_water_initialize_sponges(G, GV, US, tv, param_file, use_ALE, CSp, ACSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dense_water_initialize_sponges) arglist(G, GV, US, tv, param_file, use_ALE, CSp, ACSp) [fd] fullname(dense_water_initialization/dense_water_initialize_sponges) ftype(None) [fd] name(('dense_water_initialization/dense_water_initialize_sponges', None)) sig(subroutine dense_water_initialize_sponges(G, GV, US, tv, param_file, use_ALE, CSp, ACSp)) signode(subroutine dense_water_initialization/dense_water_initialize_spongesGGVUStvparam_fileuse_ALECSpACSp) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 8%] api/generated/modules/dome2d_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/dome2d_initi [app] emitting event: 'source-read'('api/generated/modules/dome2d_initialization', ['.. autodoxymodule:: dome2d_initialization\n :mem [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/dome2d_initialization.rst:1: input: .. autodoxymodule:: dome2d_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dome2d_initialization::dome2d_initialize_topography ~dome2d_initialization::dome2d_initialize_thickness ~dome2d_initialization::dome2d_initialize_temperature_salinity ~dome2d_initialization::dome2d_initialize_sponges [debug] xpath(./compounddef/compoundname[text()="dome2d_initialization"]/..) match([('id', 'namespacedome2d__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:dome2d_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dome2d_initialization', , {'members': , {'members': , {'members': ), ('dome2d_initialize_thickness', ), ('dome2d_initialize_temperature_salinity', ), ('dome2d_initialize_sponges', )]) [autodoc] module analyzer failed: error importing 'dome2d_initialization' (exception was: ModuleNotFoundError("No module named 'dome2d_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth)) [debug] add_directive_header sig((D, G, param_file, max_depth)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine dome2d_initialize_topography) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome2d_initialize_topography', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome2d_initialize_temperature_salinity', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome2d_initialize_temperature_salinity', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome2d_initialize_temperature_salinity', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome2d_initialize_temperature_salinity', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome2d_initialize_temperature_salinity', , {'me [autodoc] module analyzer failed: error importing 'dome2d_initialization' (exception was: ModuleNotFoundError("No module named 'dome2d_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, tv, param_file, use_ALE, CSp, ACSp)) [debug] add_directive_header sig((G, GV, US, tv, param_file, use_ALE, CSp, ACSp)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine dome2d_initialize_sponges) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome2d_initialize_sponges', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dome2d_initialization::dome2d_initialize_topography ~dome2d_initialization::dome2d_initialize_thickness ~dome2d_initialization::dome2d_initialize_temperature_salinity ~dome2d_initialization::dome2d_initialize_sponges .. _DETAdome2d_initialization: -------------------- Detailed Description -------------------- Initialization of the 2D DOME experiment with density water initialized on a coastal shelf. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine dome2d_initialize_topography(D, G, param_file, max_depth) Initialize topography with a shelf and slope in a 2D domain. :param g: [in] The dynamic horizontal grid type :param d: [out] Ocean bottom depth in the units of depth_max :param param_file: [in] Parameter file structure :param max_depth: [in] Maximum ocean depth in arbitrary units :callto: :f:func:`mdl ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_topography ` .. f:subroutine:: subroutine dome2d_initialize_thickness(h, G, GV, US, param_file, just_read_params) Initialize thicknesses according to coordinate mode. :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [out] The thickness that is being initialized [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`regrid_consts::regridding_rho ` :callto: :f:func:`regrid_consts::regridding_sigma ` .. f:subroutine:: subroutine dome2d_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params) Initialize temperature and salinity in the 2d DOME configuration. :param g: [in] Ocean grid structure :param gv: [in] The ocean's vertical grid structure. :param t: [out] Potential temperature [degC] :param s: [out] Salinity [ppt] :param h: [in] Layer thickness [H ~> m or kg m-2] :param param_file: [in] Parameter file structure :param eqn_of_state: Equation of state structure :param just_read_params: [in] If present and true, this call will only read parameters without changing T & S. :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regrid_consts::regridding_rho ` :callto: :f:func:`regrid_consts::regridding_sigma ` .. f:subroutine:: subroutine dome2d_initialize_sponges(G, GV, US, tv, param_file, use_ALE, CSp, ACSp) Set up sponges in 2d DOME configuration. :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param tv: [in] Thermodynamics structure :param param_file: [in] Parameter file structure :param use_ale: [in] If true, indicates model is in ALE mode :param csp: Layer-mode sponge structure :param acsp: ALE-mode sponge structure :callto: :f:func:`mom_sponge::initialize_sponge ` :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome2d_initialization::dome2d_initialize_topography', subroutine dome2d_initialization/dome2d_initialize_topographyDGparam_filemax_depth) [fd] run(.. f:subroutine:: subroutine dome2d_initialize_thickness(h, G, GV, US, param_file, just_read_params)) [fd] sig(subroutine dome2d_initialize_thickness(h, G, GV, US, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dome2d_initialize_thickness) arglist(h, G, GV, US, param_file, just_read_params) [fd] fullname(dome2d_initialization/dome2d_initialize_thickness) ftype(None) [fd] name(('dome2d_initialization/dome2d_initialize_thickness', None)) sig(subroutine dome2d_initialize_thickness(h, G, GV, US, param_file, just_read_params)) signode(subroutine dome2d_initialization/dome2d_initialize_thicknesshGGVUSparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine dome2d_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [fd] sig(subroutine dome2d_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dome2d_initialize_temperature_salinity) arglist(T, S, h, G, GV, param_file, eqn_of_state, just_read_params) [fd] fullname(dome2d_initialization/dome2d_initialize_temperature_salinity) ftype(None) [fd] name(('dome2d_initialization/dome2d_initialize_temperature_salinity', None)) sig(subroutine dome2d_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) signode(subroutine dome2d_initialization/dome2d_initialize_temperature_salinityTShGGVparam_fileeqn_of_statejust_read_params) [fd] run(.. f:subroutine:: subroutine dome2d_initialize_sponges(G, GV, US, tv, param_file, use_ALE, CSp, ACSp)) [fd] sig(subroutine dome2d_initialize_sponges(G, GV, US, tv, param_file, use_ALE, CSp, ACSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dome2d_initialize_sponges) arglist(G, GV, US, tv, param_file, use_ALE, CSp, ACSp) [fd] fullname(dome2d_initialization/dome2d_initialize_sponges) ftype(None) [fd] name(('dome2d_initialization/dome2d_initialize_sponges', None)) sig(subroutine dome2d_initialize_sponges(G, GV, US, tv, param_file, use_ALE, CSp, ACSp)) signode(subroutine dome2d_initialization/dome2d_initialize_spongesGGVUStvparam_fileuse_ALECSpACSp) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 9%] api/generated/modules/dome_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/dome_initial [app] emitting event: 'source-read'('api/generated/modules/dome_initialization', ['.. autodoxymodule:: dome_initialization\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/dome_initialization.rst:1: input: .. autodoxymodule:: dome_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dome_initialization::dome_initialize_topography ~dome_initialization::dome_initialize_thickness ~dome_initialization::dome_initialize_sponges ~dome_initialization::dome_set_obc_data [debug] xpath(./compounddef/compoundname[text()="dome_initialization"]/..) match([('id', 'namespacedome__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:dome_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dome_initialization', , {'members': , {'members': , {'members': ), ('dome_initialize_thickness', ), ('dome_initialize_sponges', ), ('dome_set_obc_data', )]) [autodoc] module analyzer failed: error importing 'dome_initialization' (exception was: ModuleNotFoundError("No module named 'dome_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth, US)) [debug] add_directive_header sig((D, G, param_file, max_depth, US)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine dome_initialize_topography) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome_initialize_topography', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dome_initialization::dome_initialize_topography ~dome_initialization::dome_initialize_thickness ~dome_initialization::dome_initialize_sponges ~dome_initialization::dome_set_obc_data .. _DETAdome_initialization: -------------------- Detailed Description -------------------- Configures the model for the "DOME" experiment. DOME = Dynamics of Overflows and Mixing Experiment. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine dome_initialize_topography(D, G, param_file, max_depth, US) This subroutine sets up the DOME topography. :param g: [in] The dynamic horizontal grid type :param d: [out] Ocean bottom depth in m or Z if US is present :param param_file: [in] Parameter file structure :param max_depth: [in] Maximum model depth in the units of D :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::mom_mesg ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_topography ` .. f:subroutine:: subroutine dome_initialize_thickness(h, G, GV, param_file, just_read_params) This subroutine initializes layer thicknesses for the DOME experiment. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [out] The thickness that is being initialized [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mom_error_handler::mom_mesg ` .. f:subroutine:: subroutine dome_initialize_sponges(G, GV, US, tv, PF, CSp) This subroutine sets the inverse restoration time (Idamp), and ! the values towards which the interface heights and an arbitrary ! number of tracers should be restored within each sponge. The ! interface height is always subject to damping, and must always be ! the first registered field. ! :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param tv: [in] A structure containing pointers to any available thermodynamic fields, including potential temperature and salinity or mixed layer density. Absent fields have NULL ptrs. :param pf: [in] A structure indicating the open file to parse for model parameter values. :param csp: A pointer that is set to point to the control structure for this module. :callto: :f:func:`mom_sponge::initialize_sponge ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_sponge::set_up_sponge_field ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` .. f:subroutine:: subroutine dome_set_obc_data(OBC, tv, G, GV, US, param_file, tr_Reg) This subroutine sets the properties of flow at open boundary conditions. This particular example is for the DOME inflow describe in Legg et al. 2006. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param tv: [in] A structure containing pointers to any available thermodynamic fields, including potential temperature and salinity or mixed layer density. Absent fields have NULL ptrs. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param tr_reg: Tracer registry. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_open_boundary::register_segment_tracer ` :callto: :f:func:`mom_tracer_registry::tracer_name_lookup ` [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome_initialization::dome_initialize_topography', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome_initialization::dome_initialize_sponges', [debug] DoxygenMethodDocumenter format_signature called ((OBC, tv, G, GV, US, param_file, tr_Reg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome_initialization::dome_set_obc_data', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome_initialization::dome_set_obc_data', , {}, [fd] run(.. f:subroutine:: subroutine dome_initialize_topography(D, G, param_file, max_depth, US)) [fd] sig(subroutine dome_initialize_topography(D, G, param_file, max_depth, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dome_initialize_topography) arglist(D, G, param_file, max_depth, US) [fd] fullname(dome_initialization/dome_initialize_topography) ftype(None) [fd] name(('dome_initialization/dome_initialize_topography', None)) sig(subroutine dome_initialize_topography(D, G, param_file, max_depth, US)) signode(subroutine dome_initialization/dome_initialize_topographyDGparam_filemax_depthUS) [fd] run(.. f:subroutine:: subroutine dome_initialize_thickness(h, G, GV, param_file, just_read_params)) [fd] sig(subroutine dome_initialize_thickness(h, G, GV, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dome_initialize_thickness) arglist(h, G, GV, param_file, just_read_params) [fd] fullname(dome_initialization/dome_initialize_thickness) ftype(None) [fd] name(('dome_initialization/dome_initialize_thickness', None)) sig(subroutine dome_initialize_thickness(h, G, GV, param_file, just_read_params)) signode(subroutine dome_initialization/dome_initialize_thicknesshGGVparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine dome_initialize_sponges(G, GV, US, tv, PF, CSp)) [fd] sig(subroutine dome_initialize_sponges(G, GV, US, tv, PF, CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dome_initialize_sponges) arglist(G, GV, US, tv, PF, CSp) [fd] fullname(dome_initialization/dome_initialize_sponges) ftype(None) [fd] name(('dome_initialization/dome_initialize_sponges', None)) sig(subroutine dome_initialize_sponges(G, GV, US, tv, PF, CSp)) signode(subroutine dome_initialization/dome_initialize_spongesGGVUStvPFCSp) [fd] run(.. f:subroutine:: subroutine dome_set_obc_data(OBC, tv, G, GV, US, param_file, tr_Reg)) [fd] sig(subroutine dome_set_obc_data(OBC, tv, G, GV, US, param_file, tr_Reg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dome_set_obc_data) arglist(OBC, tv, G, GV, US, param_file, tr_Reg) [fd] fullname(dome_initialization/dome_set_obc_data) ftype(None) [fd] name(('dome_initialization/dome_set_obc_data', None)) sig(subroutine dome_set_obc_data(OBC, tv, G, GV, US, param_file, tr_Reg)) signode(subroutine dome_initialization/dome_set_obc_dataOBCtvGGVUSparam_filetr_Reg) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 9%] api/generated/modules/dome_tracer [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/dome_tracer' [app] emitting event: 'source-read'('api/generated/modules/dome_tracer', ['.. autodoxymodule:: dome_tracer\n :members:\n :methods:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/dome_tracer.rst:1: input: .. autodoxymodule:: dome_tracer :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~dome_tracer::dome_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dome_tracer::register_dome_tracer ~dome_tracer::initialize_dome_tracer ~dome_tracer::dome_tracer_column_physics ~dome_tracer::dome_tracer_surface_state ~dome_tracer::dome_tracer_end [debug] xpath(./compounddef/compoundname[text()="dome_tracer"]/..) match([('id', 'namespacedome__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:dome_tracer module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dome_tracer', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'dome_tracer' (exception was: ModuleNotFoundError("No module named 'dome_tracer'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'dome_tracer::dome_tracer_cs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('initialize_dome_tracer', ), ('dome_tracer_column_physics', ), ('dome_tracer_surface_state', ), ('dome_tracer_end', )]) [autodoc] module analyzer failed: error importing 'dome_tracer' (exception was: ModuleNotFoundError("No module named 'dome_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] add_directive_header sig((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function register_dome_tracer) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_dome_tracer', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~dome_tracer::dome_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dome_tracer::register_dome_tracer ~dome_tracer::initialize_dome_tracer ~dome_tracer::dome_tracer_column_physics ~dome_tracer::dome_tracer_surface_state ~dome_tracer::dome_tracer_end .. _DETAdome_tracer: -------------------- Detailed Description -------------------- By Robert Hallberg, 2002 This file contains an example of the code that is needed to set up and use a set (in this case eleven) of dynamically passive tracers. These tracers dye the inflowing water or water initially within a range of latitudes or water initially in a range of depths. A single subroutine is called from within each file to register each of the tracers for reinitialization and advection and to register the subroutine that initializes the tracers and set up their output and the subroutine that does any tracer physics or chemistry along with diapycnal mixing (included here because some tracers may float or swim vertically or dye diapycnal processes). ------------------ Type Documentation ------------------ .. f:type:: dome_tracer_cs The DOME_tracer control structure. :typefield logical coupled_tracers: These tracers are not offered to the coupler. :typefield character (len=200) tracer_ic_file: The full path to the IC file, or " " to initialize internally. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(tracer_registry_type) tr_reg [pointer]: A pointer to the tracer registry. :typefield real(\:,\:,\:,\:) tr [pointer]: The array of tracers used in this package, in g m-3? :typefield real( ntr ) land_val: The value of tr used where land is masked out. :typefield logical use_sponge: If true, sponges may be applied somewhere in the domain. :typefield integer( ntr ) ind_tr: Indices returned by aof_set_coupler_flux if it is used and the surface tracer concentrations are to be provided to the coupler. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(vardesc)( ntr ) tr_desc: Descriptions and metadata for the tracers. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function register_dome_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS) Register tracer fields and subroutines to be used with MOM. :param hi: [in] A horizontal index type structure. :param gv: [in] The ocean's vertical grid structure :param param_file: [in] A structure to parse for run-time parameters :param cs: A pointer that is set to point to the control structure for this module :param tr_reg: A pointer to the tracer registry. :param restart_cs: A pointer to the restart control structure. :callto: :f:func:`atmos_ocean_fluxes_mod::aof_set_coupler_flux ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ntr ` :callto: :f:func:`mom_tracer_registry::register_tracer ` :callto: :f:func:`mom_io::var_desc ` .. f:subroutine:: subroutine initialize_dome_tracer(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp, param_file) Initializes the NTR tracer fields in tr(:,:,:,:) and sets up the tracer output. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param restart: [in] .true. if the fields have already been read from a restart file. :param day: [in] Time of the start of the run. :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param diag: [in] Structure used to regulate diagnostic output. :param obc: Structure specifying open boundary options. :param cs: The control structure returned by a previous call to DOME_register_tracer. :param sponge_csp: A pointer to the control structure for the sponges, if they are in use. :param param_file: [in] A structure to parse for run-time parameters :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ntr ` :callto: :f:func:`mom_io::query_vardesc ` :callto: :f:func:`mom_sponge::set_up_sponge_field ` .. f:subroutine:: subroutine dome_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth) This subroutine applies diapycnal diffusion and any other column tracer physics or chemistry to the tracers from this file. This is a simple example of a set of advected passive tracers. The arguments to this subroutine are redundant in that h_new(k) = h_old(k) + ea(k) - eb(k-1) + eb(k) - ea(k+1) :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h_old: [in] Layer thickness before entrainment [H ~> m or kg m-2]. :param h_new: [in] Layer thickness after entrainment [H ~> m or kg m-2]. :param ea: [in] an array to which the amount of fluid entrained :param eb: [in] an array to which the amount of fluid entrained :param fluxes: [in] A structure containing pointers to thermodynamic and tracer forcing fields. Unused fields have NULL ptrs. :param dt: [in] The amount of time covered by this call [T ~> s] :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to DOME_register_tracer. :param evap_cfl_limit: [in] Limit on the fraction of the water that can be fluxed out of the top layer in a timestep [nondim] :param minimum_forcing_depth: [in] The smallest depth over which fluxes can be applied [H ~> m or kg m-2] :callto: :f:func:`mom_tracer_diabatic::applytracerboundaryfluxesinout ` :callto: :f:func:`ntr ` :callto: :f:func:`mom_tracer_diabatic::tracer_vertdiff ` .. f:subroutine:: subroutine dome_tracer_surface_state(sfc_state, h, G, CS) This subroutine extracts the surface fields from this tracer package that are to be shared with the atmosphere in coupled configurations. This particular tracer package does not report anything back to the coupler. :param g: [in] The ocean's grid structure. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param h: [in] Layer thickness [H ~> m or kg m-2]. :param cs: The control structure returned by a previous call to DOME_register_tracer. :callto: :f:func:`ntr ` .. f:subroutine:: subroutine dome_tracer_end(CS) Clean up memory allocations, if any. :param cs: The control structure returned by a previous call to DOME_register_tracer. [debug] xpath(./compounddef/compoundname[text()="dome_tracer::dome_tracer_cs"]/..) match([('id', 'structdome__tracer_1_1dome__tracer__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dome_tracer::dome_tracer_cs', , {}, ['', 'The [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dome_tracer::dome_tracer_cs', , {}, ['`More.. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dome_tracer::dome_tracer_cs', , {}, ['', 'The [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome_tracer::register_dome_tracer', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome_tracer::register_dome_tracer', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp, param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome_tracer::initialize_dome_tracer', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome_tracer::initialize_dome_tracer', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome_tracer::dome_tracer_column_physics', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome_tracer::dome_tracer_column_physics', , {}, [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, h, G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome_tracer::dome_tracer_surface_state', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome_tracer::dome_tracer_surface_state', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome_tracer::dome_tracer_end', , {}, ['', 'Clea [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dome_tracer::dome_tracer_end', , {}, ['', 'Clea [fd] run(.. f:type:: dome_tracer_cs) [fd] sig(dome_tracer_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(dome_tracer_cs) arglist(None) [fd] fullname(dome_tracer/dome_tracer_cs) ftype(None) [fd] name(('dome_tracer/dome_tracer_cs', None)) sig(dome_tracer_cs) signode(type dome_tracer/dome_tracer_cs) [fd] run(.. f:function:: logical function register_dome_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] sig(logical function register_dome_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_dome_tracer) arglist(HI, GV, param_file, CS, tr_Reg, restart_CS) [fd] fullname(dome_tracer/register_dome_tracer) ftype(logical) [fd] name(('dome_tracer/register_dome_tracer', 'logical')) sig(logical function register_dome_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) signode(function dome_tracer/register_dome_tracerHIGVparam_fileCStr_Regrestart_CS [logical]) [fd] run(.. f:subroutine:: subroutine initialize_dome_tracer(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp, param_file)) [fd] sig(subroutine initialize_dome_tracer(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp, param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_dome_tracer) arglist(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp, param_file) [fd] fullname(dome_tracer/initialize_dome_tracer) ftype(None) [fd] name(('dome_tracer/initialize_dome_tracer', None)) sig(subroutine initialize_dome_tracer(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp, param_file)) signode(subroutine dome_tracer/initialize_dome_tracerrestartdayGGVUShdiagOBCCSsponge_CSpparam_file) [fd] run(.. f:subroutine:: subroutine dome_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [fd] sig(subroutine dome_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dome_tracer_column_physics) arglist(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth) [fd] fullname(dome_tracer/dome_tracer_column_physics) ftype(None) [fd] name(('dome_tracer/dome_tracer_column_physics', None)) sig(subroutine dome_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) signode(subroutine dome_tracer/dome_tracer_column_physicsh_oldh_neweaebfluxesdtGGVUSCSevap_CFL_limitminimum_forcing_depth) [fd] run(.. f:subroutine:: subroutine dome_tracer_surface_state(sfc_state, h, G, CS)) [fd] sig(subroutine dome_tracer_surface_state(sfc_state, h, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dome_tracer_surface_state) arglist(sfc_state, h, G, CS) [fd] fullname(dome_tracer/dome_tracer_surface_state) ftype(None) [fd] name(('dome_tracer/dome_tracer_surface_state', None)) sig(subroutine dome_tracer_surface_state(sfc_state, h, G, CS)) signode(subroutine dome_tracer/dome_tracer_surface_statesfc_statehGCS) [fd] run(.. f:subroutine:: subroutine dome_tracer_end(CS)) [fd] sig(subroutine dome_tracer_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dome_tracer_end) arglist(CS) [fd] fullname(dome_tracer/dome_tracer_end) ftype(None) [fd] name(('dome_tracer/dome_tracer_end', None)) sig(subroutine dome_tracer_end(CS)) signode(subroutine dome_tracer/dome_tracer_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 10%] api/generated/modules/dumbbell_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/dumbbell_ini [app] emitting event: 'source-read'('api/generated/modules/dumbbell_initialization', ['.. autodoxymodule:: dumbbell_initialization\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/dumbbell_initialization.rst:1: input: .. autodoxymodule:: dumbbell_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dumbbell_initialization::dumbbell_initialize_topography ~dumbbell_initialization::dumbbell_initialize_thickness ~dumbbell_initialization::dumbbell_initialize_temperature_salinity ~dumbbell_initialization::dumbbell_initialize_sponges [debug] xpath(./compounddef/compoundname[text()="dumbbell_initialization"]/..) match([('id', 'namespacedumbbell__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:dumbbell_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dumbbell_initialization', , {'members': , {'members': , {'members': ), ('dumbbell_initialize_thickness', ), ('dumbbell_initialize_temperature_salinity', ), ('dumbbell_initialize_sponges', )]) [autodoc] module analyzer failed: error importing 'dumbbell_initialization' (exception was: ModuleNotFoundError("No module named 'dumbbell_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth)) [debug] add_directive_header sig((D, G, param_file, max_depth)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine dumbbell_initialize_topography) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_initialize_topography', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_initialize_topography', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_initialize_topography', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_initialize_topography', , {'members': [autodoc] module analyzer failed: error importing 'dumbbell_initialization' (exception was: ModuleNotFoundError("No module named 'dumbbell_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US, param_file, just_read_params)) [debug] add_directive_header sig((h, G, GV, US, param_file, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine dumbbell_initialize_thickness) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_initialize_thickness', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_initialize_thickness', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_initialize_thickness', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_initialize_thickness', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_initialize_thickness', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_initialize_thickness', , {'members': < [autodoc] module analyzer failed: error importing 'dumbbell_initialization' (exception was: ModuleNotFoundError("No module named 'dumbbell_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [debug] add_directive_header sig((T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine dumbbell_initialize_temperature_salinity) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_initialize_temperature_salinity', , {' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_initialize_temperature_salinity', , {' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_initialize_temperature_salinity', , {' [autodoc] module analyzer failed: error importing 'dumbbell_initialization' (exception was: ModuleNotFoundError("No module named 'dumbbell_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, tv, param_file, use_ALE, CSp, ACSp)) [debug] add_directive_header sig((G, GV, US, tv, param_file, use_ALE, CSp, ACSp)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine dumbbell_initialize_sponges) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_initialize_sponges', , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dumbbell_initialization::dumbbell_initialize_topography ~dumbbell_initialization::dumbbell_initialize_thickness ~dumbbell_initialization::dumbbell_initialize_temperature_salinity ~dumbbell_initialization::dumbbell_initialize_sponges .. _DETAdumbbell_initialization: -------------------- Detailed Description -------------------- Configures the model for the idealized dumbbell test case. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine dumbbell_initialize_topography(D, G, param_file, max_depth) Initialization of topography. :param g: [in] The dynamic horizontal grid type :param d: [out] Ocean bottom depth in the units of depth_max :param param_file: [in] Parameter file structure :param max_depth: [in] Maximum ocean depth in arbitrary units :callto: :f:func:`mdl ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_topography ` .. f:subroutine:: subroutine dumbbell_initialize_thickness(h, G, GV, US, param_file, just_read_params) Initializes the layer thicknesses to be uniform in the dumbbell test case. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [out] The thickness that is being initialized [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`regrid_consts::regridding_rho ` :callto: :f:func:`regrid_consts::regridding_sigma ` .. f:subroutine:: subroutine dumbbell_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params) Initial values for temperature and salinity for the dumbbell test case. :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param t: [out] Potential temperature [degC] :param s: [out] Salinity [ppt] :param h: [in] Layer thickness [H ~> m or kg m-2] :param param_file: [in] Parameter file structure :param eqn_of_state: Equation of state structure :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mdl ` .. f:subroutine:: subroutine dumbbell_initialize_sponges(G, GV, US, tv, param_file, use_ALE, CSp, ACSp) Initialize the restoring sponges for the dumbbell test case. :param g: [in] Horizontal grid control structure :param gv: [in] Vertical grid control structure :param us: [in] A dimensional unit scaling type :param tv: [in] Thermodynamic variables :param param_file: [in] Parameter file structure :param use_ale: [in] ALE flag :param csp: Layered sponge control structure pointer :param acsp: ALE sponge control structure pointer :callto: :f:func:`mdl ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_initialization::dumbbell_initialize_topography', subroutine dumbbell_initialization/dumbbell_initialize_topographyDGparam_filemax_depth) [fd] run(.. f:subroutine:: subroutine dumbbell_initialize_thickness(h, G, GV, US, param_file, just_read_params)) [fd] sig(subroutine dumbbell_initialize_thickness(h, G, GV, US, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dumbbell_initialize_thickness) arglist(h, G, GV, US, param_file, just_read_params) [fd] fullname(dumbbell_initialization/dumbbell_initialize_thickness) ftype(None) [fd] name(('dumbbell_initialization/dumbbell_initialize_thickness', None)) sig(subroutine dumbbell_initialize_thickness(h, G, GV, US, param_file, just_read_params)) signode(subroutine dumbbell_initialization/dumbbell_initialize_thicknesshGGVUSparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine dumbbell_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [fd] sig(subroutine dumbbell_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dumbbell_initialize_temperature_salinity) arglist(T, S, h, G, GV, param_file, eqn_of_state, just_read_params) [fd] fullname(dumbbell_initialization/dumbbell_initialize_temperature_salinity) ftype(None) [fd] name(('dumbbell_initialization/dumbbell_initialize_temperature_salinity', None)) sig(subroutine dumbbell_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) signode(subroutine dumbbell_initialization/dumbbell_initialize_temperature_salinityTShGGVparam_fileeqn_of_statejust_read_params) [fd] run(.. f:subroutine:: subroutine dumbbell_initialize_sponges(G, GV, US, tv, param_file, use_ALE, CSp, ACSp)) [fd] sig(subroutine dumbbell_initialize_sponges(G, GV, US, tv, param_file, use_ALE, CSp, ACSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dumbbell_initialize_sponges) arglist(G, GV, US, tv, param_file, use_ALE, CSp, ACSp) [fd] fullname(dumbbell_initialization/dumbbell_initialize_sponges) ftype(None) [fd] name(('dumbbell_initialization/dumbbell_initialize_sponges', None)) sig(subroutine dumbbell_initialize_sponges(G, GV, US, tv, param_file, use_ALE, CSp, ACSp)) signode(subroutine dumbbell_initialization/dumbbell_initialize_spongesGGVUStvparam_fileuse_ALECSpACSp) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 10%] api/generated/modules/dumbbell_surface_forcing [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/dumbbell_sur [app] emitting event: 'source-read'('api/generated/modules/dumbbell_surface_forcing', ['.. autodoxymodule:: dumbbell_surface_forcing\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/dumbbell_surface_forcing.rst:1: input: .. autodoxymodule:: dumbbell_surface_forcing :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~dumbbell_surface_forcing::dumbbell_surface_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dumbbell_surface_forcing::dumbbell_buoyancy_forcing ~dumbbell_surface_forcing::dumbbell_dynamic_forcing ~dumbbell_surface_forcing::dumbbell_surface_forcing_init [debug] xpath(./compounddef/compoundname[text()="dumbbell_surface_forcing"]/..) match([('id', 'namespacedumbbell__surface__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:dumbbell_surface_forcing module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dumbbell_surface_forcing', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'dumbbell_surface_forcing' (exception was: ModuleNotFoundError("No module named 'dumbbell_surface_forcing'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'dumbbell_surface_forcing::dumbbell_surface_forcing_cs', ), ('dumbbell_dynamic_forcing', ), ('dumbbell_surface_forcing_init', )]) [autodoc] module analyzer failed: error importing 'dumbbell_surface_forcing' (exception was: ModuleNotFoundError("No module named 'dumbbell_surface_forcing'")) [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, fluxes, day, dt, G, US, CS)) [debug] add_directive_header sig((sfc_state, fluxes, day, dt, G, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine dumbbell_buoyancy_forcing) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_buoyancy_forcing', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_surface_forcing_init', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dumbbell_surface_forcing_init', , {'members': < [autodoc] output: ========================================= dumbbell_surface_forcing module reference ========================================= .. f:module:: dumbbell_surface_forcing Surface forcing for the dumbbell test case. `More... `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~dumbbell_surface_forcing::dumbbell_surface_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dumbbell_surface_forcing::dumbbell_buoyancy_forcing ~dumbbell_surface_forcing::dumbbell_dynamic_forcing ~dumbbell_surface_forcing::dumbbell_surface_forcing_init .. _DETAdumbbell_surface_forcing: -------------------- Detailed Description -------------------- Surface forcing for the dumbbell test case. ------------------ Type Documentation ------------------ .. f:type:: dumbbell_surface_forcing_cs Control structure for the dumbbell test case forcing. :typefield logical use_temperature: If true, temperature and salinity are used as state variables. :typefield logical restorebuoy: If true, use restoring surface buoyancy forcing. :typefield real rho0: The density used in the Boussinesq approximation [R ~> kg m-3]. :typefield real g_earth: The gravitational acceleration [L2 Z-1 T-2 ~> m s-2]. :typefield real flux_const: The restoring rate at the surface [Z T-1 ~> m s-1]. :typefield real slp_amplitude: The amplitude of pressure loading [R L2 T-2 ~> Pa] applied to the reservoirs. :typefield real slp_period: Period of sinusoidal pressure wave [days]. :typefield real(\:,\:) forcing_mask [allocatable]: A mask regulating where forcing occurs. :typefield real(\:,\:) s_restore [allocatable]: The surface salinity field toward which to restore [ppt]. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine dumbbell_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS) Surface buoyancy (heat and fresh water) fluxes for the dumbbell test case. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param fluxes: [inout] A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs. :param day: [in] Time of the fluxes. :param dt: [in] The amount of time over which the fluxes apply [s] :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: A control structure returned by a previous call to dumbbell_surface_forcing_init :calledfrom: :f:func:`mom_surface_forcing::set_forcing ` .. f:subroutine:: subroutine dumbbell_dynamic_forcing(sfc_state, fluxes, day, dt, G, CS) Dynamic forcing for the dumbbell test case. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param fluxes: [inout] A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs. :param day: [in] Time of the fluxes. :param dt: [in] The amount of time over which the fluxes apply [s] :param g: [in] The ocean's grid structure :param cs: A control structure returned by a previous call to dumbbell_surface_forcing_init .. f:subroutine:: subroutine dumbbell_surface_forcing_init(Time, G, US, param_file, diag, CS) Reads and sets up the forcing for the dumbbell test case. :param time: [in] The current model time. :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :param diag: [in] A structure that is used to regulate diagnostic output. :param cs: A pointer to the control structure for this module :callto: :f:func:`mom_error_handler::mom_error ` [debug] xpath(./compounddef/compoundname[text()="dumbbell_surface_forcing::dumbbell_surface_forcing_cs"]/..) match([('id', 'structdumbbell__surface__forcing_1_1dumbbell__surface__forcing__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dumbbell_surface_forcing::dumbbell_surface_forcing_cs', type dumbbell_surface_forcing/dumbbell_surface_forcing_cs) [fd] run(.. f:subroutine:: subroutine dumbbell_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS)) [fd] sig(subroutine dumbbell_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dumbbell_buoyancy_forcing) arglist(sfc_state, fluxes, day, dt, G, US, CS) [fd] fullname(dumbbell_surface_forcing/dumbbell_buoyancy_forcing) ftype(None) [fd] name(('dumbbell_surface_forcing/dumbbell_buoyancy_forcing', None)) sig(subroutine dumbbell_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS)) signode(subroutine dumbbell_surface_forcing/dumbbell_buoyancy_forcingsfc_statefluxesdaydtGUSCS) [fd] run(.. f:subroutine:: subroutine dumbbell_dynamic_forcing(sfc_state, fluxes, day, dt, G, CS)) [fd] sig(subroutine dumbbell_dynamic_forcing(sfc_state, fluxes, day, dt, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dumbbell_dynamic_forcing) arglist(sfc_state, fluxes, day, dt, G, CS) [fd] fullname(dumbbell_surface_forcing/dumbbell_dynamic_forcing) ftype(None) [fd] name(('dumbbell_surface_forcing/dumbbell_dynamic_forcing', None)) sig(subroutine dumbbell_dynamic_forcing(sfc_state, fluxes, day, dt, G, CS)) signode(subroutine dumbbell_surface_forcing/dumbbell_dynamic_forcingsfc_statefluxesdaydtGCS) [fd] run(.. f:subroutine:: subroutine dumbbell_surface_forcing_init(Time, G, US, param_file, diag, CS)) [fd] sig(subroutine dumbbell_surface_forcing_init(Time, G, US, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dumbbell_surface_forcing_init) arglist(Time, G, US, param_file, diag, CS) [fd] fullname(dumbbell_surface_forcing/dumbbell_surface_forcing_init) ftype(None) [fd] name(('dumbbell_surface_forcing/dumbbell_surface_forcing_init', None)) sig(subroutine dumbbell_surface_forcing_init(Time, G, US, param_file, diag, CS)) signode(subroutine dumbbell_surface_forcing/dumbbell_surface_forcing_initTimeGUSparam_filediagCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 10%] api/generated/modules/dyed_channel_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/dyed_channel [app] emitting event: 'source-read'('api/generated/modules/dyed_channel_initialization', ['.. autodoxymodule:: dyed_channel_initializat [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/dyed_channel_initialization.rst:1: input: .. autodoxymodule:: dyed_channel_initialization :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~dyed_channel_initialization::dyed_channel_obc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dyed_channel_initialization::register_dyed_channel_obc ~dyed_channel_initialization::dyed_channel_obc_end ~dyed_channel_initialization::dyed_channel_set_obc_tracer_data ~dyed_channel_initialization::dyed_channel_update_flow [debug] xpath(./compounddef/compoundname[text()="dyed_channel_initialization"]/..) match([('id', 'namespacedyed__channel__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:dyed_channel_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dyed_channel_initialization', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dyed_channel_initialization', , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dyed_channel_initialization', , {'members': < [debug] members([('dyed_channel_initialization::dyed_channel_obc_cs', )]) [autodoc] module analyzer failed: error importing 'dyed_channel_initialization' (exception was: ModuleNotFoundError("No module named 'dyed_channel_initialization'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'dyed_channel_initialization::dyed_channel_obc_cs', ), ('dyed_channel_obc_end', ), ('dyed_channel_set_obc_tracer_data', ), ('dyed_channel_update_flow', )]) [autodoc] module analyzer failed: error importing 'dyed_channel_initialization' (exception was: ModuleNotFoundError("No module named 'dyed_channel_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((param_file, CS, OBC_Reg)) [debug] add_directive_header sig((param_file, CS, OBC_Reg)) [debug] DoxygenMethodDocumenter directive(function) name(logical function register_dyed_channel_obc) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_dyed_channel_obc', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dyed_channel_set_obc_tracer_data', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dyed_channel_set_obc_tracer_data', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dyed_channel_set_obc_tracer_data', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dyed_channel_set_obc_tracer_data', , {'members' [autodoc] module analyzer failed: error importing 'dyed_channel_initialization' (exception was: ModuleNotFoundError("No module named 'dyed_channel_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((OBC, CS, G, Time)) [debug] add_directive_header sig((OBC, CS, G, Time)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine dyed_channel_update_flow) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dyed_channel_update_flow', , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~dyed_channel_initialization::dyed_channel_obc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dyed_channel_initialization::register_dyed_channel_obc ~dyed_channel_initialization::dyed_channel_obc_end ~dyed_channel_initialization::dyed_channel_set_obc_tracer_data ~dyed_channel_initialization::dyed_channel_update_flow .. _DETAdyed_channel_initialization: -------------------- Detailed Description -------------------- Setting dyes, one for painting the inflow on each side. ------------------ Type Documentation ------------------ .. f:type:: dyed_channel_obc_cs Control structure for dyed-channel open boundaries. :typefield real zonal_flow: Mean inflow. :typefield real tidal_amp: Sloshing amplitude. :typefield real frequency: Sloshing frequency. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function register_dyed_channel_obc(param_file, CS, OBC_Reg) Add dyed channel to OBC registry. :param param_file: [in] parameter file. :param cs: Dyed channel control structure. :param obc_reg: OBC registry. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_open_boundary::register_obc ` .. f:subroutine:: subroutine dyed_channel_obc_end(CS) Clean up the dyed_channel OBC from registry. :param cs: Dyed channel control structure. .. f:subroutine:: subroutine dyed_channel_set_obc_tracer_data(OBC, G, GV, param_file, tr_Reg) This subroutine sets the dye and flow properties at open boundary conditions. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param tr_reg: Tracer registry. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ntr ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` .. f:subroutine:: subroutine dyed_channel_update_flow(OBC, CS, G, Time) This subroutine updates the long-channel flow. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param cs: Dyed channel control structure. :param g: [in] The ocean's grid structure. :param time: [in] model time. :callto: :f:func:`mom_error_handler::mom_error ` [debug] xpath(./compounddef/compoundname[text()="dyed_channel_initialization::dyed_channel_obc_cs"]/..) match([('id', 'structdyed__channel__initialization_1_1dyed__channel__obc__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dyed_channel_initialization::dyed_channel_obc_cs', type dyed_channel_initialization/dyed_channel_obc_cs) [fd] run(.. f:function:: logical function register_dyed_channel_obc(param_file, CS, OBC_Reg)) [fd] sig(logical function register_dyed_channel_obc(param_file, CS, OBC_Reg)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_dyed_channel_obc) arglist(param_file, CS, OBC_Reg) [fd] fullname(dyed_channel_initialization/register_dyed_channel_obc) ftype(logical) [fd] name(('dyed_channel_initialization/register_dyed_channel_obc', 'logical')) sig(logical function register_dyed_channel_obc(param_file, CS, OBC_Reg)) signode(function dyed_channel_initialization/register_dyed_channel_obcparam_fileCSOBC_Reg [logical]) [fd] run(.. f:subroutine:: subroutine dyed_channel_obc_end(CS)) [fd] sig(subroutine dyed_channel_obc_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dyed_channel_obc_end) arglist(CS) [fd] fullname(dyed_channel_initialization/dyed_channel_obc_end) ftype(None) [fd] name(('dyed_channel_initialization/dyed_channel_obc_end', None)) sig(subroutine dyed_channel_obc_end(CS)) signode(subroutine dyed_channel_initialization/dyed_channel_obc_endCS) [fd] run(.. f:subroutine:: subroutine dyed_channel_set_obc_tracer_data(OBC, G, GV, param_file, tr_Reg)) [fd] sig(subroutine dyed_channel_set_obc_tracer_data(OBC, G, GV, param_file, tr_Reg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dyed_channel_set_obc_tracer_data) arglist(OBC, G, GV, param_file, tr_Reg) [fd] fullname(dyed_channel_initialization/dyed_channel_set_obc_tracer_data) ftype(None) [fd] name(('dyed_channel_initialization/dyed_channel_set_obc_tracer_data', None)) sig(subroutine dyed_channel_set_obc_tracer_data(OBC, G, GV, param_file, tr_Reg)) signode(subroutine dyed_channel_initialization/dyed_channel_set_obc_tracer_dataOBCGGVparam_filetr_Reg) [fd] run(.. f:subroutine:: subroutine dyed_channel_update_flow(OBC, CS, G, Time)) [fd] sig(subroutine dyed_channel_update_flow(OBC, CS, G, Time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dyed_channel_update_flow) arglist(OBC, CS, G, Time) [fd] fullname(dyed_channel_initialization/dyed_channel_update_flow) ftype(None) [fd] name(('dyed_channel_initialization/dyed_channel_update_flow', None)) sig(subroutine dyed_channel_update_flow(OBC, CS, G, Time)) signode(subroutine dyed_channel_initialization/dyed_channel_update_flowOBCCSGTime) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 11%] api/generated/modules/dyed_obc_tracer [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/dyed_obc_tra [app] emitting event: 'source-read'('api/generated/modules/dyed_obc_tracer', ['.. autodoxymodule:: dyed_obc_tracer\n :members:\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/dyed_obc_tracer.rst:1: input: .. autodoxymodule:: dyed_obc_tracer :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~dyed_obc_tracer::dyed_obc_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dyed_obc_tracer::register_dyed_obc_tracer ~dyed_obc_tracer::initialize_dyed_obc_tracer ~dyed_obc_tracer::dyed_obc_tracer_column_physics ~dyed_obc_tracer::dyed_obc_tracer_end [debug] xpath(./compounddef/compoundname[text()="dyed_obc_tracer"]/..) match([('id', 'namespacedyed__obc__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:dyed_obc_tracer module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dyed_obc_tracer', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'dyed_obc_tracer' (exception was: ModuleNotFoundError("No module named 'dyed_obc_tracer'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'dyed_obc_tracer::dyed_obc_tracer_cs', , {'membe [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'dyed_obc_tracer::dyed_obc_tracer_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'dyed_obc_tracer::dyed_obc_tracer_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'dyed_obc_tracer::dyed_obc_tracer_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'dyed_obc_tracer::dyed_obc_tracer_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'dyed_obc_tracer::dyed_obc_tracer_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'dyed_obc_tracer::dyed_obc_tracer_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'dyed_obc_tracer::dyed_obc_tracer_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'dyed_obc_tracer::dyed_obc_tracer_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'dyed_obc_tracer::dyed_obc_tracer_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'dyed_obc_tracer::dyed_obc_tracer_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'dyed_obc_tracer::dyed_obc_tracer_cs', , {'membe [debug] members([('register_dyed_obc_tracer', ), ('initialize_dyed_obc_tracer', ), ('dyed_obc_tracer_column_physics', ), ('dyed_obc_tracer_end', )]) [autodoc] module analyzer failed: error importing 'dyed_obc_tracer' (exception was: ModuleNotFoundError("No module named 'dyed_obc_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] add_directive_header sig((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function register_dyed_obc_tracer) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_dyed_obc_tracer', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dyed_obc_tracer_column_physics', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dyed_obc_tracer_column_physics', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dyed_obc_tracer_column_physics', , {'members': [autodoc] module analyzer failed: error importing 'dyed_obc_tracer' (exception was: ModuleNotFoundError("No module named 'dyed_obc_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] add_directive_header sig((CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine dyed_obc_tracer_end) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dyed_obc_tracer_end', , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~dyed_obc_tracer::dyed_obc_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dyed_obc_tracer::register_dyed_obc_tracer ~dyed_obc_tracer::initialize_dyed_obc_tracer ~dyed_obc_tracer::dyed_obc_tracer_column_physics ~dyed_obc_tracer::dyed_obc_tracer_end .. _DETAdyed_obc_tracer: -------------------- Detailed Description -------------------- By Kate Hedstrom, 2017, copied from DOME tracers and also dye_example. This file contains an example of the code that is needed to set up and use a set of dynamically passive tracers. These tracers dye the inflowing water, one per open boundary segment. A single subroutine is called from within each file to register each of the tracers for reinitialization and advection and to register the subroutine that initializes the tracers and set up their output and the subroutine that does any tracer physics or chemistry along with diapycnal mixing (included here because some tracers may float or swim vertically or dye diapycnal processes). ------------------ Type Documentation ------------------ .. f:type:: dyed_obc_tracer_cs The control structure for the dyed_obc tracer package. :typefield integer ntr: The number of tracers that are actually used. :typefield logical coupled_tracers: These tracers are not offered to the coupler. :typefield character (len=200) tracer_ic_file: The full path to the IC file, or " " to initialize internally. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(tracer_registry_type) tr_reg [pointer]: A pointer to the tracer registry. :typefield real(\:,\:,\:,\:) tr [pointer]: The array of tracers used in this subroutine, in g m-3? :typefield integer(\:) ind_tr [allocatable]: Indices returned by aof_set_coupler_flux if it is used and the surface tracer concentrations are to be provided to the coupler. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(mom_restart_cs) restart_csp [pointer]: A pointer to the restart control structure. :typefield type(vardesc)(\:) tr_desc [allocatable]: Descriptions and metadata for the tracers. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function register_dyed_obc_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS) Register tracer fields and subroutines to be used with MOM. :param hi: [in] A horizontal index type structure. :param gv: [in] The ocean's vertical grid structure :param param_file: [in] A structure to parse for run-time parameters :param cs: A pointer that is set to point to the control structure for this module :param tr_reg: A pointer to the tracer registry. :param restart_cs: A pointer to the restart control structure. :callto: :f:func:`atmos_ocean_fluxes_mod::aof_set_coupler_flux ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_tracer_registry::register_tracer ` :callto: :f:func:`mom_io::var_desc ` .. f:subroutine:: subroutine initialize_dyed_obc_tracer(restart, day, G, GV, h, diag, OBC, CS) Initializes the CSntr tracer fields in tr(:,:,:,:) and sets up the tracer output. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param restart: [in] .true. if the fields have already been read from a restart file. :param day: [in] Time of the start of the run. :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param diag: [in] Structure used to regulate diagnostic output. :param obc: Structure specifying open boundary options. :param cs: The control structure returned by a previous call to dyed_obc_register_tracer. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_io::query_vardesc ` .. f:subroutine:: subroutine dyed_obc_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth) This subroutine applies diapycnal diffusion and any other column tracer physics or chemistry to the tracers from this file. This is a simple example of a set of advected passive tracers. The arguments to this subroutine are redundant in that h_new(k) = h_old(k) + ea(k) - eb(k-1) + eb(k) - ea(k+1) :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h_old: [in] Layer thickness before entrainment [H ~> m or kg m-2]. :param h_new: [in] Layer thickness after entrainment [H ~> m or kg m-2]. :param ea: [in] an array to which the amount of fluid entrained :param eb: [in] an array to which the amount of fluid entrained :param fluxes: [in] A structure containing pointers to thermodynamic and tracer forcing fields. Unused fields have NULL ptrs. :param dt: [in] The amount of time covered by this call [T ~> s] :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to dyed_obc_register_tracer. :param evap_cfl_limit: [in] Limit on the fraction of the water that can be fluxed out of the top layer in a timestep [nondim] :param minimum_forcing_depth: [in] The smallest depth over which fluxes can be applied [H ~> m or kg m-2] :callto: :f:func:`mom_tracer_diabatic::applytracerboundaryfluxesinout ` :callto: :f:func:`mom_tracer_diabatic::tracer_vertdiff ` .. f:subroutine:: subroutine dyed_obc_tracer_end(CS) Clean up memory allocations, if any. :param cs: The control structure returned by a previous call to dyed_obc_register_tracer. [debug] xpath(./compounddef/compoundname[text()="dyed_obc_tracer::dyed_obc_tracer_cs"]/..) match([('id', 'structdyed__obc__tracer_1_1dyed__obc__tracer__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dyed_obc_tracer::dyed_obc_tracer_cs', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dyed_obc_tracer::dyed_obc_tracer_cs', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dyed_obc_tracer::dyed_obc_tracer_cs', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dyed_obc_tracer::register_dyed_obc_tracer', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dyed_obc_tracer::register_dyed_obc_tracer', , { [debug] DoxygenMethodDocumenter format_signature called ((restart, day, G, GV, h, diag, OBC, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dyed_obc_tracer::initialize_dyed_obc_tracer', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dyed_obc_tracer::initialize_dyed_obc_tracer', , [debug] DoxygenMethodDocumenter format_signature called ((h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dyed_obc_tracer::dyed_obc_tracer_column_physics', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dyed_obc_tracer::dyed_obc_tracer_end', , {}, [' [fd] run(.. f:type:: dyed_obc_tracer_cs) [fd] sig(dyed_obc_tracer_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(dyed_obc_tracer_cs) arglist(None) [fd] fullname(dyed_obc_tracer/dyed_obc_tracer_cs) ftype(None) [fd] name(('dyed_obc_tracer/dyed_obc_tracer_cs', None)) sig(dyed_obc_tracer_cs) signode(type dyed_obc_tracer/dyed_obc_tracer_cs) [fd] run(.. f:function:: logical function register_dyed_obc_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] sig(logical function register_dyed_obc_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_dyed_obc_tracer) arglist(HI, GV, param_file, CS, tr_Reg, restart_CS) [fd] fullname(dyed_obc_tracer/register_dyed_obc_tracer) ftype(logical) [fd] name(('dyed_obc_tracer/register_dyed_obc_tracer', 'logical')) sig(logical function register_dyed_obc_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) signode(function dyed_obc_tracer/register_dyed_obc_tracerHIGVparam_fileCStr_Regrestart_CS [logical]) [fd] run(.. f:subroutine:: subroutine initialize_dyed_obc_tracer(restart, day, G, GV, h, diag, OBC, CS)) [fd] sig(subroutine initialize_dyed_obc_tracer(restart, day, G, GV, h, diag, OBC, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_dyed_obc_tracer) arglist(restart, day, G, GV, h, diag, OBC, CS) [fd] fullname(dyed_obc_tracer/initialize_dyed_obc_tracer) ftype(None) [fd] name(('dyed_obc_tracer/initialize_dyed_obc_tracer', None)) sig(subroutine initialize_dyed_obc_tracer(restart, day, G, GV, h, diag, OBC, CS)) signode(subroutine dyed_obc_tracer/initialize_dyed_obc_tracerrestartdayGGVhdiagOBCCS) [fd] run(.. f:subroutine:: subroutine dyed_obc_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [fd] sig(subroutine dyed_obc_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dyed_obc_tracer_column_physics) arglist(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth) [fd] fullname(dyed_obc_tracer/dyed_obc_tracer_column_physics) ftype(None) [fd] name(('dyed_obc_tracer/dyed_obc_tracer_column_physics', None)) sig(subroutine dyed_obc_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) signode(subroutine dyed_obc_tracer/dyed_obc_tracer_column_physicsh_oldh_neweaebfluxesdtGGVUSCSevap_CFL_limitminimum_forcing_depth) [fd] run(.. f:subroutine:: subroutine dyed_obc_tracer_end(CS)) [fd] sig(subroutine dyed_obc_tracer_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dyed_obc_tracer_end) arglist(CS) [fd] fullname(dyed_obc_tracer/dyed_obc_tracer_end) ftype(None) [fd] name(('dyed_obc_tracer/dyed_obc_tracer_end', None)) sig(subroutine dyed_obc_tracer_end(CS)) signode(subroutine dyed_obc_tracer/dyed_obc_tracer_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 11%] api/generated/modules/dyed_obcs_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/dyed_obcs_in [app] emitting event: 'source-read'('api/generated/modules/dyed_obcs_initialization', ['.. autodoxymodule:: dyed_obcs_initialization\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/dyed_obcs_initialization.rst:1: input: .. autodoxymodule:: dyed_obcs_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dyed_obcs_initialization::dyed_obcs_set_obc_data [debug] xpath(./compounddef/compoundname[text()="dyed_obcs_initialization"]/..) match([('id', 'namespacedyed__obcs__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:dyed_obcs_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dyed_obcs_initialization', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'dyed_obcs_initialization' (exception was: ModuleNotFoundError("No module named 'dyed_obcs_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((OBC, G, GV, param_file, tr_Reg)) [debug] add_directive_header sig((OBC, G, GV, param_file, tr_Reg)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine dyed_obcs_set_obc_data) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dyed_obcs_set_obc_data', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~dyed_obcs_initialization::dyed_obcs_set_obc_data .. _DETAdyed_obcs_initialization: -------------------- Detailed Description -------------------- Setting dyes, one for painting the inflow on each side. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine dyed_obcs_set_obc_data(OBC, G, GV, param_file, tr_Reg) This subroutine sets the dye properties at open boundary conditions. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param tr_reg: Tracer registry. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ntr ` :callto: :f:func:`mom_open_boundary::register_segment_tracer ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` [debug] DoxygenMethodDocumenter format_signature called ((OBC, G, GV, param_file, tr_Reg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'dyed_obcs_initialization::dyed_obcs_set_obc_data', subroutine dyed_obcs_initialization/dyed_obcs_set_obc_dataOBCGGVparam_filetr_Reg) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 11%] api/generated/modules/external_gwave_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/external_gwa [app] emitting event: 'source-read'('api/generated/modules/external_gwave_initialization', ['.. autodoxymodule:: external_gwave_initial [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/external_gwave_initialization.rst:1: input: .. autodoxymodule:: external_gwave_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~external_gwave_initialization::external_gwave_initialize_thickness [debug] xpath(./compounddef/compoundname[text()="external_gwave_initialization"]/..) match([('id', 'namespaceexternal__gwave__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:external_gwave_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'external_gwave_initialization', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'external_gwave_initialization', , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'external_gwave_initialization', , {'members': [debug] members([('external_gwave_initialize_thickness', )]) [autodoc] module analyzer failed: error importing 'external_gwave_initialization' (exception was: ModuleNotFoundError("No module named 'external_gwave_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US, param_file, just_read_params)) [debug] add_directive_header sig((h, G, GV, US, param_file, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine external_gwave_initialize_thickness) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'external_gwave_initialize_thickness', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'external_gwave_initialize_thickness', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'external_gwave_initialize_thickness', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'external_gwave_initialize_thickness', , {'membe [autodoc] output: ============================================== external_gwave_initialization module reference ============================================== .. f:module:: external_gwave_initialization Initialization for the "external gravity wave wave" configuration. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~external_gwave_initialization::external_gwave_initialize_thickness .. _DETAexternal_gwave_initialization: -------------------- Detailed Description -------------------- Initialization for the "external gravity wave wave" configuration. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine external_gwave_initialize_thickness(h, G, GV, US, param_file, just_read_params) This subroutine initializes layer thicknesses for the external_gwave experiment. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [out] The thickness that is being initialized [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mom_error_handler::mom_mesg ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US, param_file, just_read_params)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'external_gwave_initialization::external_gwave_initialize_thickness', subroutine external_gwave_initialization/external_gwave_initialize_thicknesshGGVUSparam_filejust_read_params) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(,) reading sources... [ 12%] api/generated/modules/fms_coupler_util [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/fms_coupler_ [app] emitting event: 'source-read'('api/generated/modules/fms_coupler_util', ['.. autodoxymodule:: fms_coupler_util\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/fms_coupler_util.rst:1: input: .. autodoxymodule:: fms_coupler_util :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~fms_coupler_util::extract_coupler_values ~fms_coupler_util::set_coupler_values [debug] xpath(./compounddef/compoundname[text()="fms_coupler_util"]/..) match([('id', 'namespacefms__coupler__util'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:fms_coupler_util module reference [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'fms_coupler_util', , {'members': , {'members': , {'members': , {'members': , {'members': ), ('set_coupler_values', )]) [autodoc] module analyzer failed: error importing 'fms_coupler_util' (exception was: ModuleNotFoundError("No module named 'fms_coupler_util'")) [debug] DoxygenMethodDocumenter format_signature called ((BC_struc, BC_index, BC_element, array_out, ilb, jlb, is, ie, js, je, conversion)) [debug] add_directive_header sig((BC_struc, BC_index, BC_element, array_out, ilb, jlb, is, ie, js, je, conversion)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine extract_coupler_values) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'extract_coupler_values', , {'members': , {'members': , {'members': , {'members': `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~fms_coupler_util::extract_coupler_values ~fms_coupler_util::set_coupler_values .. _DETAfms_coupler_util: -------------------- Detailed Description -------------------- --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine extract_coupler_values(BC_struc, BC_index, BC_element, array_out, ilb, jlb, is, ie, js, je, conversion) Get element and index of a boundary condition. :param array_out: [out] The array being filled with the input values :param ilb: [in] Lower bounds :param jlb: [in] Lower bounds :param bc_struc: [in] The type from which the data is being extracted :param bc_index: [in] The boundary condition number being extracted :param bc_element: [in] The element of the boundary condition being extracted :param is: [in] The i- limits of array_out to be filled :param ie: [in] The i- limits of array_out to be filled :param js: [in] The j- limits of array_out to be filled :param je: [in] The j- limits of array_out to be filled :param conversion: [in] A number that every element is multiplied by .. f:subroutine:: subroutine set_coupler_values(array_in, BC_struc, BC_index, BC_element, ilb, jlb, is, ie, js, je, conversion) Set element and index of a boundary condition. :param array_in: [in] The array containing the values to load into the BC :param ilb: [in] Lower bounds :param jlb: [in] Lower bounds :param bc_struc: [inout] The type into which the data is being loaded :param bc_index: [in] The boundary condition number being set :param bc_element: [in] The element of the boundary condition being set :param is: [in] The i- limits of array_out to be filled :param ie: [in] The i- limits of array_out to be filled :param js: [in] The j- limits of array_out to be filled :param je: [in] The j- limits of array_out to be filled :param conversion: [in] A number that every element is multiplied by [debug] DoxygenMethodDocumenter format_signature called ((BC_struc, BC_index, BC_element, array_out, ilb, jlb, is, ie, js, je, conversion)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'fms_coupler_util::extract_coupler_values', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'fms_coupler_util::extract_coupler_values', , {} [debug] DoxygenMethodDocumenter format_signature called ((array_in, BC_struc, BC_index, BC_element, ilb, jlb, is, ie, js, je, conversion)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'fms_coupler_util::set_coupler_values', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'fms_coupler_util::set_coupler_values', , {}, [' [fd] run(.. f:subroutine:: subroutine extract_coupler_values(BC_struc, BC_index, BC_element, array_out, ilb, jlb, is, ie, js, je, conversion)) [fd] sig(subroutine extract_coupler_values(BC_struc, BC_index, BC_element, array_out, ilb, jlb, is, ie, js, je, conversion)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(extract_coupler_values) arglist(BC_struc, BC_index, BC_element, array_out, ilb, jlb, is, ie, js, je, conversion) [fd] fullname(fms_coupler_util/extract_coupler_values) ftype(None) [fd] name(('fms_coupler_util/extract_coupler_values', None)) sig(subroutine extract_coupler_values(BC_struc, BC_index, BC_element, array_out, ilb, jlb, is, ie, js, je, conversion)) signode(subroutine fms_coupler_util/extract_coupler_valuesBC_strucBC_indexBC_elementarray_outilbjlbisiejsjeconversion) [fd] run(.. f:subroutine:: subroutine set_coupler_values(array_in, BC_struc, BC_index, BC_element, ilb, jlb, is, ie, js, je, conversion)) [fd] sig(subroutine set_coupler_values(array_in, BC_struc, BC_index, BC_element, ilb, jlb, is, ie, js, je, conversion)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_coupler_values) arglist(array_in, BC_struc, BC_index, BC_element, ilb, jlb, is, ie, js, je, conversion) [fd] fullname(fms_coupler_util/set_coupler_values) ftype(None) [fd] name(('fms_coupler_util/set_coupler_values', None)) sig(subroutine set_coupler_values(array_in, BC_struc, BC_index, BC_element, ilb, jlb, is, ie, js, je, conversion)) signode(subroutine fms_coupler_util/set_coupler_valuesarray_inBC_strucBC_indexBC_elementilbjlbisiejsjeconversion) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 12%] api/generated/modules/g_tracer_utils [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/g_tracer_uti [app] emitting event: 'source-read'('api/generated/modules/g_tracer_utils', ['.. autodoxymodule:: g_tracer_utils\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/g_tracer_utils.rst:1: input: .. autodoxymodule:: g_tracer_utils :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~g_tracer_utils::g_diag_type ~g_tracer_utils::g_tracer_common ~g_tracer_utils::g_tracer_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~g_tracer_utils::g_tracer_flux_init ~g_tracer_utils::g_tracer_set_csdiag ~g_tracer_utils::g_tracer_set_common ~g_tracer_utils::g_tracer_get_common ~g_tracer_utils::g_tracer_get_4d ~g_tracer_utils::g_tracer_get_3d ~g_tracer_utils::g_tracer_get_2d ~g_tracer_utils::g_tracer_get_4d_val ~g_tracer_utils::g_tracer_get_3d_val ~g_tracer_utils::g_tracer_get_2d_val ~g_tracer_utils::g_tracer_get_real ~g_tracer_utils::g_tracer_get_string ~g_tracer_utils::g_tracer_set_2d ~g_tracer_utils::g_tracer_set_3d ~g_tracer_utils::g_tracer_set_4d ~g_tracer_utils::g_tracer_set_real ~g_tracer_utils::g_tracer_send_diag ~g_tracer_utils::g_tracer_get_name ~g_tracer_utils::g_tracer_get_alias ~g_tracer_utils::g_tracer_is_prog ~g_tracer_utils::g_tracer_get_next ~g_tracer_utils::g_tracer_vertdiff_g [debug] xpath(./compounddef/compoundname[text()="g_tracer_utils"]/..) match([('id', 'namespaceg__tracer__utils'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:g_tracer_utils module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespaceg__tracer__utils) kindref(compound) ref([]) [debug] ref([('id', 'namespaceg__tracer__utils'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'g_tracer_utils', , {'members': , {'members': ]) [debug] ref([('id', 'namespaceg__tracer__utils'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'g_tracer_utils', , {'members': ), ('g_tracer_utils::g_tracer_common', ), ('g_tracer_utils::g_tracer_type', )]) [autodoc] module analyzer failed: error importing 'g_tracer_utils' (exception was: ModuleNotFoundError("No module named 'g_tracer_utils'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'g_tracer_utils::g_diag_type', , {'members': , {'members': , {'members': , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'g_tracer_utils::g_tracer_common', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'g_tracer_utils::g_tracer_common', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'g_tracer_utils::g_tracer_common', , {'members': [autodoc] module analyzer failed: error importing 'g_tracer_utils' (exception was: ModuleNotFoundError("No module named 'g_tracer_utils'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'g_tracer_utils::g_tracer_type', , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'g_tracer_utils::g_tracer_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'g_tracer_utils::g_tracer_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'g_tracer_utils::g_tracer_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'g_tracer_utils::g_tracer_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'g_tracer_utils::g_tracer_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'g_tracer_utils::g_tracer_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'g_tracer_utils::g_tracer_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'g_tracer_utils::g_tracer_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'g_tracer_utils::g_tracer_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'g_tracer_utils::g_tracer_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'g_tracer_utils::g_tracer_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'g_tracer_utils::g_tracer_type', , {'members': < [debug] members([('g_tracer_flux_init', ), ('g_tracer_set_csdiag', ), ('g_tracer_set_common', ), ('g_tracer_get_common', ), ('g_tracer_get_4d', ), ('g_tracer_get_3d', ), ('g_tracer_get_2d', ), ('g_tracer_get_4d_val', ), ('g_tracer_get_3d_val', ), ('g_tracer_get_2d_val', ), ('g_tracer_get_real', ), ('g_tracer_get_string', ), ('g_tracer_set_2d', ), ('g_tracer_set_3d', ), ('g_tracer_set_4d', ), ('g_tracer_set_real', ), ('g_tracer_send_diag', ), ('g_tracer_get_name', ), ('g_tracer_get_alias', ), ('g_tracer_is_prog', ), ('g_tracer_get_next', ), ('g_tracer_vertdiff_g', )]) [autodoc] module analyzer failed: error importing 'g_tracer_utils' (exception was: ModuleNotFoundError("No module named 'g_tracer_utils'")) [debug] DoxygenMethodDocumenter format_signature called ((g_tracer)) [debug] add_directive_header sig((g_tracer)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine g_tracer_flux_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_flux_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~g_tracer_utils::g_diag_type ~g_tracer_utils::g_tracer_common ~g_tracer_utils::g_tracer_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~g_tracer_utils::g_tracer_flux_init ~g_tracer_utils::g_tracer_set_csdiag ~g_tracer_utils::g_tracer_set_common ~g_tracer_utils::g_tracer_get_common ~g_tracer_utils::g_tracer_get_4d ~g_tracer_utils::g_tracer_get_3d ~g_tracer_utils::g_tracer_get_2d ~g_tracer_utils::g_tracer_get_4d_val ~g_tracer_utils::g_tracer_get_3d_val ~g_tracer_utils::g_tracer_get_2d_val ~g_tracer_utils::g_tracer_get_real ~g_tracer_utils::g_tracer_get_string ~g_tracer_utils::g_tracer_set_2d ~g_tracer_utils::g_tracer_set_3d ~g_tracer_utils::g_tracer_set_4d ~g_tracer_utils::g_tracer_set_real ~g_tracer_utils::g_tracer_send_diag ~g_tracer_utils::g_tracer_get_name ~g_tracer_utils::g_tracer_get_alias ~g_tracer_utils::g_tracer_is_prog ~g_tracer_utils::g_tracer_get_next ~g_tracer_utils::g_tracer_vertdiff_g .. _DETAg_tracer_utils: -------------------- Detailed Description -------------------- :f:func:`g_tracer_utils` module consists of core utility subroutines to be used by all generic tracer modules. These include the lowest level functions for adding, allocating memory, and record keeping of individual generic tracers irrespective of their physical/chemical nature. module consists of core utility subroutines to be used by all generic tracer modules. These include the lowest level functions for adding, allocating memory, and record keeping of individual generic tracers irrespective of their physical/chemical nature. ------------------ Type Documentation ------------------ .. f:type:: g_diag_type Unknown. :typefield integer dummy [private]: A dummy member, not part of the API. .. f:type:: g_tracer_common The following type fields are common to ALL generic tracers and hence has to be instantiated only once. :typefield integer isd [private]: Domain extents. :typefield integer jsd [private]: Start index of the data domain in the j-direction. .. f:type:: g_tracer_type Each generic tracer node is an instant of a FORTRAN type with the following member variables. These member fields are supposed to uniquely define an individual tracer. One such type shall be instantiated for EACH individual tracer. :typefield real(\:,\:,\:,\:) field [pointer, private]: Tracer concentration field in space (and time) MOM keeps the prognostic tracer fields at 3 time levels, hence 4D. :typefield real(\:,\:) trunoff [allocatable, private]: Tracer concentration in river runoff. :typefield logical requires_restart [private]: Unknown. :typefield character (len=fm_string_len) src_file [private]: Tracer source filename. :typefield character (len=fm_string_len) src_var_name [private]: Tracer source variable name. :typefield character (len=fm_string_len) src_var_unit [private]: Tracer source variable units. :typefield character (len=fm_string_len) src_var_gridspec [private]: Tracer source grid file name. :typefield integer src_var_record [private]: Unknown. :typefield logical requires_src_info [private]: Unknown. :typefield real src_var_unit_conversion [private]: This factor depends on the tracer. Ask Jasmin. :typefield real src_var_valid_min [private]: Unknown. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine g_tracer_flux_init(g_tracer) Unknown. :param g_tracer: Pointer to this tracer node .. f:subroutine:: subroutine g_tracer_set_csdiag(diag_CS) Unknown. :param diag_cs: [in] Unknown :calledfrom: :f:func:`mom_generic_tracer::initialize_mom_generic_tracer ` :calledfrom: :f:func:`mom_generic_tracer::mom_generic_tracer_column_physics ` .. f:subroutine:: subroutine g_tracer_set_common(isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_kmt, init_time) :param isc: [in] Computation start index in i direction :param iec: [in] Computation end index in i direction :param jsc: [in] Computation start index in j direction :param jec: [in] Computation end index in j direction :param isd: [in] Data start index in i direction :param ied: [in] Data end index in i direction :param jsd: [in] Data start index in j direction :param jed: [in] Data end index in j direction :param nk: [in] Number of levels in k direction :param ntau: [in] Unknown :param axes: [in] Domain axes? :param grid_tmask: [in] Unknown :param grid_kmt: [in] Unknown :param init_time: [in] Unknown .. f:subroutine:: subroutine g_tracer_get_common(isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_mask_coast, grid_kmt, init_time, diag_CS) :param isc: [out] Computation start index in i direction :param iec: [out] Computation end index in i direction :param jsc: [out] Computation start index in j direction :param jec: [out] Computation end index in j direction :param isd: [out] Data start index in i direction :param ied: [out] Data end index in i direction :param jsd: [out] Data start index in j direction :param jed: [out] Data end index in j direction :param nk: [out] Number of levels in k direction :param ntau: [out] Unknown :param axes: [out] Unknown :param init_time: [out] Unknown :param grid_tmask: Unknown :param grid_mask_coast: Unknown :param grid_kmt: Unknown :param diag_cs: Unknown .. f:subroutine:: subroutine g_tracer_get_4d(g_tracer_list, name, member, array_ptr) Unknown. :param name: [in] Unknown :param member: [in] Unknown :param g_tracer_list: Unknown :param array_ptr: Unknown .. f:subroutine:: subroutine g_tracer_get_3d(g_tracer_list, name, member, array_ptr) Unknown. :param name: [in] Unknown :param member: [in] Unknown :param g_tracer_list: Unknown :param array_ptr: Unknown .. f:subroutine:: subroutine g_tracer_get_2d(g_tracer_list, name, member, array_ptr) Unknown. :param name: [in] Unknown :param member: [in] Unknown :param g_tracer_list: Unknown :param array_ptr: Unknown .. f:subroutine:: subroutine g_tracer_get_4d_val(g_tracer_list, name, member, array, isd, jsd) Unknown. :param name: [in] Unknown :param member: [in] Unknown :param g_tracer_list: Unknown :param isd: [in] Unknown :param jsd: [in] Unknown :param array: [out] Unknown .. f:subroutine:: subroutine g_tracer_get_3d_val(g_tracer_list, name, member, array, isd, jsd, ntau, positive) Unknown. :param name: [in] Unknown :param member: [in] Unknown :param g_tracer_list: Unknown :param isd: [in] Unknown :param jsd: [in] Unknown :param ntau: [in] Unknown :param positive: [in] Unknown :param array: [out] Unknown .. f:subroutine:: subroutine g_tracer_get_2d_val(g_tracer_list, name, member, array, isd, jsd) Unknown. :param name: [in] Unknown :param member: [in] Unknown :param g_tracer_list: Unknown :param isd: [in] Unknown :param jsd: [in] Unknown :param array: [out] Unknown .. f:subroutine:: subroutine g_tracer_get_real(g_tracer_list, name, member, value) Unknown. :param name: [in] Unknown :param member: [in] Unknown :param g_tracer_list: Unknown :param value: [out] Unknown .. f:subroutine:: subroutine g_tracer_get_string(g_tracer_list, name, member, string) Unknown. :param name: [in] Unknown :param member: [in] Unknown :param g_tracer_list: Unknown :param string: [out] Unknown .. f:subroutine:: subroutine g_tracer_set_2d(g_tracer_list, name, member, array, isd, jsd, weight) Unknown. :param name: [in] Unknown :param member: [in] Unknown :param g_tracer_list: Unknown :param isd: [in] Unknown :param jsd: [in] Unknown :param array: [in] Unknown :param weight: [in] Unknown .. f:subroutine:: subroutine g_tracer_set_3d(g_tracer_list, name, member, array, isd, jsd, ntau) Unknown. :param name: [in] Unknown :param member: [in] Unknown :param g_tracer_list: Unknown :param isd: [in] Unknown :param jsd: [in] Unknown :param ntau: [in] Unknown :param array: [in] Unknown .. f:subroutine:: subroutine g_tracer_set_4d(g_tracer_list, name, member, array, isd, jsd) Unknown. :param name: [in] Unknown :param member: [in] Unknown :param g_tracer_list: Unknown :param isd: [in] Unknown :param jsd: [in] Unknown :param array: [in] Unknown .. f:subroutine:: subroutine g_tracer_set_real(g_tracer_list, name, member, value) Unknown. :param name: [in] Unknown :param member: [in] Unknown :param g_tracer_list: Unknown :param value: [in] Unknown .. f:subroutine:: subroutine g_tracer_send_diag(g_tracer_list, model_time, tau) :param g_tracer_list: pointer to the head of the generic tracer list :param model_time: [in] Time :param tau: [in] The time step for the field 4D field to be reported .. f:subroutine:: subroutine g_tracer_get_name(g_tracer, string) Unknown. :param g_tracer: Unknown :param string: [out] Unknown .. f:subroutine:: subroutine g_tracer_get_alias(g_tracer, string) Unknown. :param g_tracer: Unknown :param string: [out] Unknown :calledfrom: :f:func:`mom_generic_tracer::initialize_mom_generic_tracer ` :calledfrom: :f:func:`mom_generic_tracer::mom_generic_tracer_column_physics ` :calledfrom: :f:func:`mom_generic_tracer::mom_generic_tracer_min_max ` :calledfrom: :f:func:`mom_generic_tracer::mom_generic_tracer_stock ` :calledfrom: :f:func:`mom_generic_tracer::register_mom_generic_tracer ` .. f:function:: logical function g_tracer_is_prog(g_tracer) Is the tracer prognostic? :param g_tracer: Pointer to tracer node .. f:subroutine:: subroutine g_tracer_get_next(g_tracer, g_tracer_next) get the next tracer in the list :param g_tracer: Pointer to tracer node :param g_tracer_next: Pointer to the next tracer node in the list .. f:subroutine:: subroutine g_tracer_vertdiff_g(g_tracer, h_old, ea, eb, dt, kg_m2_to_H, m_to_H, tau, mom) Vertical Diffusion of a tracer node. This subroutine solves a tridiagonal equation to find and set values of vertically diffused field for a tracer node.This is ported from GOLD (vertdiff) and simplified Since the surface flux from the atmosphere (stf) has the units of mol/m^2/sec the resulting tracer concentration has units of mol/Kg :param g_tracer: Unknown :param h_old: [in] Layer thickness before entrainment, in m or kg m-2. :param ea: [in] The amount of fluid entrained from the layer above, in H. :param eb: [in] The amount of fluid entrained from the layer below, in H. :param dt: [in] The amount of time covered by this call, in s. :param kg_m2_to_h: [in] A conversion factor that translates kg m-2 into the units of h_old (H) :param m_to_h: [in] A conversion factor that translates m into the units of h_old (H). :param tau: [in] Unknown :param mom: [in] Unknown [debug] xpath(./compounddef/compoundname[text()="g_tracer_utils::g_diag_type"]/..) match([('id', 'structg__tracer__utils_1_1g__diag__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'g_tracer_utils::g_diag_type', , {}, ['', 'Unk [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'g_tracer_utils::g_diag_type', , {}, ['`More.. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'g_tracer_utils::g_diag_type', , {}, ['', 'Unk [debug] xpath(./compounddef/compoundname[text()="g_tracer_utils::g_tracer_common"]/..) match([('id', 'structg__tracer__utils_1_1g__tracer__common'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'g_tracer_utils::g_tracer_common', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'g_tracer_utils::g_tracer_common', , {}, ['`Mo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'g_tracer_utils::g_tracer_common', , {}, ['', [debug] xpath(./compounddef/compoundname[text()="g_tracer_utils::g_tracer_type"]/..) match([('id', 'structg__tracer__utils_1_1g__tracer__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'g_tracer_utils::g_tracer_type', , {}, ['', 'E [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'g_tracer_utils::g_tracer_type', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'g_tracer_utils::g_tracer_type', , {}, ['', 'E [debug] DoxygenMethodDocumenter format_signature called ((g_tracer)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_flux_init', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_flux_init', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((diag_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_set_csdiag', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_set_csdiag', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_kmt, init_time)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_set_common', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_set_common', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_mask_coast, grid_kmt, init_time, diag_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_common', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_common', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((g_tracer_list, name, member, array_ptr)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_4d', , {}, ['', 'U [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_4d', , {}, ['', 'U [debug] DoxygenMethodDocumenter format_signature called ((g_tracer_list, name, member, array_ptr)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_3d', , {}, ['', 'U [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_3d', , {}, ['', 'U [debug] DoxygenMethodDocumenter format_signature called ((g_tracer_list, name, member, array_ptr)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_2d', , {}, ['', 'U [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_2d', , {}, ['', 'U [debug] DoxygenMethodDocumenter format_signature called ((g_tracer_list, name, member, array, isd, jsd)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_4d_val', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_4d_val', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((g_tracer_list, name, member, array, isd, jsd, ntau, positive)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_3d_val', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_3d_val', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((g_tracer_list, name, member, array, isd, jsd)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_2d_val', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_2d_val', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((g_tracer_list, name, member, value)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_real', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_real', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((g_tracer_list, name, member, string)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_string', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_string', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((g_tracer_list, name, member, array, isd, jsd, weight)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_set_2d', , {}, ['', 'U [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_set_2d', , {}, ['', 'U [debug] DoxygenMethodDocumenter format_signature called ((g_tracer_list, name, member, array, isd, jsd, ntau)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_set_3d', , {}, ['', 'U [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_set_3d', , {}, ['', 'U [debug] DoxygenMethodDocumenter format_signature called ((g_tracer_list, name, member, array, isd, jsd)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_set_4d', , {}, ['', 'U [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_set_4d', , {}, ['', 'U [debug] DoxygenMethodDocumenter format_signature called ((g_tracer_list, name, member, value)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_set_real', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_set_real', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((g_tracer_list, model_time, tau)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_send_diag', , {}, [''] [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_send_diag', , {}, [''] [debug] DoxygenMethodDocumenter format_signature called ((g_tracer, string)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_name', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_name', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((g_tracer, string)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_alias', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_alias', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((g_tracer)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_is_prog', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_is_prog', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((g_tracer, g_tracer_next)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_next', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_get_next', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((g_tracer, h_old, ea, eb, dt, kg_m2_to_H, m_to_H, tau, mom)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_vertdiff_g', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'g_tracer_utils::g_tracer_vertdiff_g', , {}, ['' [fd] run(.. f:type:: g_diag_type) [fd] sig(g_diag_type) [fd] ftype(None) objtype(None) modname(None) typename() name(g_diag_type) arglist(None) [fd] fullname(g_tracer_utils/g_diag_type) ftype(None) [fd] name(('g_tracer_utils/g_diag_type', None)) sig(g_diag_type) signode(type g_tracer_utils/g_diag_type) [fd] run(.. f:type:: g_tracer_common) [fd] sig(g_tracer_common) [fd] ftype(None) objtype(None) modname(None) typename() name(g_tracer_common) arglist(None) [fd] fullname(g_tracer_utils/g_tracer_common) ftype(None) [fd] name(('g_tracer_utils/g_tracer_common', None)) sig(g_tracer_common) signode(type g_tracer_utils/g_tracer_common) [fd] run(.. f:type:: g_tracer_type) [fd] sig(g_tracer_type) [fd] ftype(None) objtype(None) modname(None) typename() name(g_tracer_type) arglist(None) [fd] fullname(g_tracer_utils/g_tracer_type) ftype(None) [fd] name(('g_tracer_utils/g_tracer_type', None)) sig(g_tracer_type) signode(type g_tracer_utils/g_tracer_type) [fd] run(.. f:subroutine:: subroutine g_tracer_flux_init(g_tracer)) [fd] sig(subroutine g_tracer_flux_init(g_tracer)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_flux_init) arglist(g_tracer) [fd] fullname(g_tracer_utils/g_tracer_flux_init) ftype(None) [fd] name(('g_tracer_utils/g_tracer_flux_init', None)) sig(subroutine g_tracer_flux_init(g_tracer)) signode(subroutine g_tracer_utils/g_tracer_flux_initg_tracer) [fd] run(.. f:subroutine:: subroutine g_tracer_set_csdiag(diag_CS)) [fd] sig(subroutine g_tracer_set_csdiag(diag_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_set_csdiag) arglist(diag_CS) [fd] fullname(g_tracer_utils/g_tracer_set_csdiag) ftype(None) [fd] name(('g_tracer_utils/g_tracer_set_csdiag', None)) sig(subroutine g_tracer_set_csdiag(diag_CS)) signode(subroutine g_tracer_utils/g_tracer_set_csdiagdiag_CS) [fd] run(.. f:subroutine:: subroutine g_tracer_set_common(isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_kmt, init_time)) [fd] sig(subroutine g_tracer_set_common(isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_kmt, init_time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_set_common) arglist(isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_kmt, init_time) [fd] fullname(g_tracer_utils/g_tracer_set_common) ftype(None) [fd] name(('g_tracer_utils/g_tracer_set_common', None)) sig(subroutine g_tracer_set_common(isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_kmt, init_time)) signode(subroutine g_tracer_utils/g_tracer_set_commonisciecjscjecisdiedjsdjednkntauaxesgrid_tmaskgrid_kmtinit_time) [fd] run(.. f:subroutine:: subroutine g_tracer_get_common(isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_mask_coast, grid_kmt, init_time, diag_CS)) [fd] sig(subroutine g_tracer_get_common(isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_mask_coast, grid_kmt, init_time, diag_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_get_common) arglist(isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_mask_coast, grid_kmt, init_time, diag_CS) [fd] fullname(g_tracer_utils/g_tracer_get_common) ftype(None) [fd] name(('g_tracer_utils/g_tracer_get_common', None)) sig(subroutine g_tracer_get_common(isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_mask_coast, grid_kmt, init_time, diag_CS)) signode(subroutine g_tracer_utils/g_tracer_get_commonisciecjscjecisdiedjsdjednkntauaxesgrid_tmaskgrid_mask_coastgrid_kmtinit_timediag_CS) [fd] run(.. f:subroutine:: subroutine g_tracer_get_4d(g_tracer_list, name, member, array_ptr)) [fd] sig(subroutine g_tracer_get_4d(g_tracer_list, name, member, array_ptr)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_get_4d) arglist(g_tracer_list, name, member, array_ptr) [fd] fullname(g_tracer_utils/g_tracer_get_4d) ftype(None) [fd] name(('g_tracer_utils/g_tracer_get_4d', None)) sig(subroutine g_tracer_get_4d(g_tracer_list, name, member, array_ptr)) signode(subroutine g_tracer_utils/g_tracer_get_4dg_tracer_listnamememberarray_ptr) [fd] run(.. f:subroutine:: subroutine g_tracer_get_3d(g_tracer_list, name, member, array_ptr)) [fd] sig(subroutine g_tracer_get_3d(g_tracer_list, name, member, array_ptr)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_get_3d) arglist(g_tracer_list, name, member, array_ptr) [fd] fullname(g_tracer_utils/g_tracer_get_3d) ftype(None) [fd] name(('g_tracer_utils/g_tracer_get_3d', None)) sig(subroutine g_tracer_get_3d(g_tracer_list, name, member, array_ptr)) signode(subroutine g_tracer_utils/g_tracer_get_3dg_tracer_listnamememberarray_ptr) [fd] run(.. f:subroutine:: subroutine g_tracer_get_2d(g_tracer_list, name, member, array_ptr)) [fd] sig(subroutine g_tracer_get_2d(g_tracer_list, name, member, array_ptr)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_get_2d) arglist(g_tracer_list, name, member, array_ptr) [fd] fullname(g_tracer_utils/g_tracer_get_2d) ftype(None) [fd] name(('g_tracer_utils/g_tracer_get_2d', None)) sig(subroutine g_tracer_get_2d(g_tracer_list, name, member, array_ptr)) signode(subroutine g_tracer_utils/g_tracer_get_2dg_tracer_listnamememberarray_ptr) [fd] run(.. f:subroutine:: subroutine g_tracer_get_4d_val(g_tracer_list, name, member, array, isd, jsd)) [fd] sig(subroutine g_tracer_get_4d_val(g_tracer_list, name, member, array, isd, jsd)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_get_4d_val) arglist(g_tracer_list, name, member, array, isd, jsd) [fd] fullname(g_tracer_utils/g_tracer_get_4d_val) ftype(None) [fd] name(('g_tracer_utils/g_tracer_get_4d_val', None)) sig(subroutine g_tracer_get_4d_val(g_tracer_list, name, member, array, isd, jsd)) signode(subroutine g_tracer_utils/g_tracer_get_4d_valg_tracer_listnamememberarrayisdjsd) [fd] run(.. f:subroutine:: subroutine g_tracer_get_3d_val(g_tracer_list, name, member, array, isd, jsd, ntau, positive)) [fd] sig(subroutine g_tracer_get_3d_val(g_tracer_list, name, member, array, isd, jsd, ntau, positive)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_get_3d_val) arglist(g_tracer_list, name, member, array, isd, jsd, ntau, positive) [fd] fullname(g_tracer_utils/g_tracer_get_3d_val) ftype(None) [fd] name(('g_tracer_utils/g_tracer_get_3d_val', None)) sig(subroutine g_tracer_get_3d_val(g_tracer_list, name, member, array, isd, jsd, ntau, positive)) signode(subroutine g_tracer_utils/g_tracer_get_3d_valg_tracer_listnamememberarrayisdjsdntaupositive) [fd] run(.. f:subroutine:: subroutine g_tracer_get_2d_val(g_tracer_list, name, member, array, isd, jsd)) [fd] sig(subroutine g_tracer_get_2d_val(g_tracer_list, name, member, array, isd, jsd)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_get_2d_val) arglist(g_tracer_list, name, member, array, isd, jsd) [fd] fullname(g_tracer_utils/g_tracer_get_2d_val) ftype(None) [fd] name(('g_tracer_utils/g_tracer_get_2d_val', None)) sig(subroutine g_tracer_get_2d_val(g_tracer_list, name, member, array, isd, jsd)) signode(subroutine g_tracer_utils/g_tracer_get_2d_valg_tracer_listnamememberarrayisdjsd) [fd] run(.. f:subroutine:: subroutine g_tracer_get_real(g_tracer_list, name, member, value)) [fd] sig(subroutine g_tracer_get_real(g_tracer_list, name, member, value)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_get_real) arglist(g_tracer_list, name, member, value) [fd] fullname(g_tracer_utils/g_tracer_get_real) ftype(None) [fd] name(('g_tracer_utils/g_tracer_get_real', None)) sig(subroutine g_tracer_get_real(g_tracer_list, name, member, value)) signode(subroutine g_tracer_utils/g_tracer_get_realg_tracer_listnamemembervalue) [fd] run(.. f:subroutine:: subroutine g_tracer_get_string(g_tracer_list, name, member, string)) [fd] sig(subroutine g_tracer_get_string(g_tracer_list, name, member, string)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_get_string) arglist(g_tracer_list, name, member, string) [fd] fullname(g_tracer_utils/g_tracer_get_string) ftype(None) [fd] name(('g_tracer_utils/g_tracer_get_string', None)) sig(subroutine g_tracer_get_string(g_tracer_list, name, member, string)) signode(subroutine g_tracer_utils/g_tracer_get_stringg_tracer_listnamememberstring) [fd] run(.. f:subroutine:: subroutine g_tracer_set_2d(g_tracer_list, name, member, array, isd, jsd, weight)) [fd] sig(subroutine g_tracer_set_2d(g_tracer_list, name, member, array, isd, jsd, weight)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_set_2d) arglist(g_tracer_list, name, member, array, isd, jsd, weight) [fd] fullname(g_tracer_utils/g_tracer_set_2d) ftype(None) [fd] name(('g_tracer_utils/g_tracer_set_2d', None)) sig(subroutine g_tracer_set_2d(g_tracer_list, name, member, array, isd, jsd, weight)) signode(subroutine g_tracer_utils/g_tracer_set_2dg_tracer_listnamememberarrayisdjsdweight) [fd] run(.. f:subroutine:: subroutine g_tracer_set_3d(g_tracer_list, name, member, array, isd, jsd, ntau)) [fd] sig(subroutine g_tracer_set_3d(g_tracer_list, name, member, array, isd, jsd, ntau)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_set_3d) arglist(g_tracer_list, name, member, array, isd, jsd, ntau) [fd] fullname(g_tracer_utils/g_tracer_set_3d) ftype(None) [fd] name(('g_tracer_utils/g_tracer_set_3d', None)) sig(subroutine g_tracer_set_3d(g_tracer_list, name, member, array, isd, jsd, ntau)) signode(subroutine g_tracer_utils/g_tracer_set_3dg_tracer_listnamememberarrayisdjsdntau) [fd] run(.. f:subroutine:: subroutine g_tracer_set_4d(g_tracer_list, name, member, array, isd, jsd)) [fd] sig(subroutine g_tracer_set_4d(g_tracer_list, name, member, array, isd, jsd)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_set_4d) arglist(g_tracer_list, name, member, array, isd, jsd) [fd] fullname(g_tracer_utils/g_tracer_set_4d) ftype(None) [fd] name(('g_tracer_utils/g_tracer_set_4d', None)) sig(subroutine g_tracer_set_4d(g_tracer_list, name, member, array, isd, jsd)) signode(subroutine g_tracer_utils/g_tracer_set_4dg_tracer_listnamememberarrayisdjsd) [fd] run(.. f:subroutine:: subroutine g_tracer_set_real(g_tracer_list, name, member, value)) [fd] sig(subroutine g_tracer_set_real(g_tracer_list, name, member, value)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_set_real) arglist(g_tracer_list, name, member, value) [fd] fullname(g_tracer_utils/g_tracer_set_real) ftype(None) [fd] name(('g_tracer_utils/g_tracer_set_real', None)) sig(subroutine g_tracer_set_real(g_tracer_list, name, member, value)) signode(subroutine g_tracer_utils/g_tracer_set_realg_tracer_listnamemembervalue) [fd] run(.. f:subroutine:: subroutine g_tracer_send_diag(g_tracer_list, model_time, tau)) [fd] sig(subroutine g_tracer_send_diag(g_tracer_list, model_time, tau)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_send_diag) arglist(g_tracer_list, model_time, tau) [fd] fullname(g_tracer_utils/g_tracer_send_diag) ftype(None) [fd] name(('g_tracer_utils/g_tracer_send_diag', None)) sig(subroutine g_tracer_send_diag(g_tracer_list, model_time, tau)) signode(subroutine g_tracer_utils/g_tracer_send_diagg_tracer_listmodel_timetau) [fd] run(.. f:subroutine:: subroutine g_tracer_get_name(g_tracer, string)) [fd] sig(subroutine g_tracer_get_name(g_tracer, string)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_get_name) arglist(g_tracer, string) [fd] fullname(g_tracer_utils/g_tracer_get_name) ftype(None) [fd] name(('g_tracer_utils/g_tracer_get_name', None)) sig(subroutine g_tracer_get_name(g_tracer, string)) signode(subroutine g_tracer_utils/g_tracer_get_nameg_tracerstring) [fd] run(.. f:subroutine:: subroutine g_tracer_get_alias(g_tracer, string)) [fd] sig(subroutine g_tracer_get_alias(g_tracer, string)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_get_alias) arglist(g_tracer, string) [fd] fullname(g_tracer_utils/g_tracer_get_alias) ftype(None) [fd] name(('g_tracer_utils/g_tracer_get_alias', None)) sig(subroutine g_tracer_get_alias(g_tracer, string)) signode(subroutine g_tracer_utils/g_tracer_get_aliasg_tracerstring) [fd] run(.. f:function:: logical function g_tracer_is_prog(g_tracer)) [fd] sig(logical function g_tracer_is_prog(g_tracer)) [fd] ftype(logical) objtype(function) modname(None) typename() name(g_tracer_is_prog) arglist(g_tracer) [fd] fullname(g_tracer_utils/g_tracer_is_prog) ftype(logical) [fd] name(('g_tracer_utils/g_tracer_is_prog', 'logical')) sig(logical function g_tracer_is_prog(g_tracer)) signode(function g_tracer_utils/g_tracer_is_progg_tracer [logical]) [fd] run(.. f:subroutine:: subroutine g_tracer_get_next(g_tracer, g_tracer_next)) [fd] sig(subroutine g_tracer_get_next(g_tracer, g_tracer_next)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_get_next) arglist(g_tracer, g_tracer_next) [fd] fullname(g_tracer_utils/g_tracer_get_next) ftype(None) [fd] name(('g_tracer_utils/g_tracer_get_next', None)) sig(subroutine g_tracer_get_next(g_tracer, g_tracer_next)) signode(subroutine g_tracer_utils/g_tracer_get_nextg_tracerg_tracer_next) [fd] run(.. f:subroutine:: subroutine g_tracer_vertdiff_g(g_tracer, h_old, ea, eb, dt, kg_m2_to_H, m_to_H, tau, mom)) [fd] sig(subroutine g_tracer_vertdiff_g(g_tracer, h_old, ea, eb, dt, kg_m2_to_H, m_to_H, tau, mom)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(g_tracer_vertdiff_g) arglist(g_tracer, h_old, ea, eb, dt, kg_m2_to_H, m_to_H, tau, mom) [fd] fullname(g_tracer_utils/g_tracer_vertdiff_g) ftype(None) [fd] name(('g_tracer_utils/g_tracer_vertdiff_g', None)) sig(subroutine g_tracer_vertdiff_g(g_tracer, h_old, ea, eb, dt, kg_m2_to_H, m_to_H, tau, mom)) signode(subroutine g_tracer_utils/g_tracer_vertdiff_gg_tracerh_oldeaebdtkg_m2_to_Hm_to_Htaumom) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 13%] api/generated/modules/generic_tracer [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/generic_trac [app] emitting event: 'source-read'('api/generated/modules/generic_tracer', ['.. autodoxymodule:: generic_tracer\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/generic_tracer.rst:1: input: .. autodoxymodule:: generic_tracer :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~generic_tracer::generic_tracer_register ~generic_tracer::generic_tracer_init ~generic_tracer::generic_tracer_register_diag ~generic_tracer::generic_tracer_coupler_get ~generic_tracer::generic_tracer_coupler_accumulate ~generic_tracer::generic_tracer_source ~generic_tracer::generic_tracer_update_from_bottom ~generic_tracer::generic_tracer_vertdiff_g ~generic_tracer::generic_tracer_coupler_set ~generic_tracer::generic_tracer_end ~generic_tracer::generic_tracer_get_list ~generic_tracer::generic_tracer_get_diag_list [debug] xpath(./compounddef/compoundname[text()="generic_tracer"]/..) match([('id', 'namespacegeneric__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:generic_tracer module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'generic_tracer', , {'members': , {'members': , {'members': ), ('generic_tracer_init', ), ('generic_tracer_register_diag', ), ('generic_tracer_coupler_get', ), ('generic_tracer_coupler_accumulate', ), ('generic_tracer_source', ), ('generic_tracer_update_from_bottom', ), ('generic_tracer_vertdiff_g', ), ('generic_tracer_coupler_set', ), ('generic_tracer_end', ), ('generic_tracer_get_list', ), ('generic_tracer_get_diag_list', )]) [autodoc] module analyzer failed: error importing 'generic_tracer' (exception was: ModuleNotFoundError("No module named 'generic_tracer'")) [debug] DoxygenMethodDocumenter format_signature called (None) [debug] add_directive_header sig(None) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine generic_tracer_register) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer_register', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer_coupler_accumulate', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer_coupler_accumulate', , {'members [autodoc] module analyzer failed: error importing 'generic_tracer' (exception was: ModuleNotFoundError("No module named 'generic_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((Temp, Salt, rho_dzt, dzt, hblt_depth, ilb, jlb, tau, dtts, grid_dat, model_time, nbands, max_wavelength_band, sw_pen_band, opacity_band, internal_heat, frunoff, grid_ht, current_wave_stress, sosga)) [debug] add_directive_header sig((Temp, Salt, rho_dzt, dzt, hblt_depth, ilb, jlb, tau, dtts, grid_dat, model_time, nbands, max_wavelength_band, sw_pen_band, opacity_band, internal_heat, frunoff, grid_ht, current_wave_stress, sosga)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine generic_tracer_source) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer_source', , {'members': , {'members': , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer_update_from_bottom', , {'members [autodoc] module analyzer failed: error importing 'generic_tracer' (exception was: ModuleNotFoundError("No module named 'generic_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((h_old, ea, eb, dt, kg_m2_to_H, m_to_H, tau)) [debug] add_directive_header sig((h_old, ea, eb, dt, kg_m2_to_H, m_to_H, tau)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine generic_tracer_vertdiff_g) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer_vertdiff_g', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~generic_tracer::generic_tracer_register ~generic_tracer::generic_tracer_init ~generic_tracer::generic_tracer_register_diag ~generic_tracer::generic_tracer_coupler_get ~generic_tracer::generic_tracer_coupler_accumulate ~generic_tracer::generic_tracer_source ~generic_tracer::generic_tracer_update_from_bottom ~generic_tracer::generic_tracer_vertdiff_g ~generic_tracer::generic_tracer_coupler_set ~generic_tracer::generic_tracer_end ~generic_tracer::generic_tracer_get_list ~generic_tracer::generic_tracer_get_diag_list .. _DETAgeneric_tracer: -------------------- Detailed Description -------------------- A non-functioning template of the GFDL ocean BGC. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine generic_tracer_registerNone Unknown. .. f:subroutine:: subroutine generic_tracer_init(isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_kmt, init_time) Initialize generic tracers. :param isc: [in] Computation start index in i direction :param iec: [in] Computation end index in i direction :param jsc: [in] Computation start index in j direction :param jec: [in] Computation end index in j direction :param isd: [in] Data start index in i direction :param ied: [in] Data end index in i direction :param jsd: [in] Data start index in j direction :param jed: [in] Data end index in j direction :param nk: [in] Number of levels in k direction :param ntau: [in] Unknown :param axes: [in] Domain axes? :param init_time: [in] Time :param grid_tmask: [in] Mask :param grid_kmt: [in] Number of wet cells in column .. f:subroutine:: subroutine generic_tracer_register_diagNone Unknown. .. f:subroutine:: subroutine generic_tracer_coupler_get(IOB_struc) Get coupler values. :param iob_struc: [in] Ice Ocean Boundary flux structure .. f:subroutine:: subroutine generic_tracer_coupler_accumulate(IOB_struc, weight, model_time) Unknown. :param iob_struc: [in] Ice Ocean Boundary flux structure :param weight: [in] Unknown :param model_time: [in] Time :calledfrom: :f:func:`mom_generic_tracer::mom_generic_tracer_fluxes_accumulate ` .. f:subroutine:: subroutine generic_tracer_source(Temp, Salt, rho_dzt, dzt, hblt_depth, ilb, jlb, tau, dtts, grid_dat, model_time, nbands, max_wavelength_band, sw_pen_band, opacity_band, internal_heat, frunoff, grid_ht, current_wave_stress, sosga) Calls the corresponding generic_X_update_from_source routine for each package X. :param temp: [in] Potential temperature [deg C] :param salt: [in] Salinity [psu] :param rho_dzt: [in] Unknown :param dzt: [in] Ocean layer thickness [m] :param hblt_depth: [in] Boundary layer depth :param ilb: [in] Lower bounds of x extent of input arrays on data domain :param jlb: [in] Lower bounds of y extent of input arrays on data domain :param tau: [in] Time step index of field :param dtts: [in] Unknown :param grid_dat: [in] Unknown :param model_time: [in] Time :param nbands: [in] Unknown :param max_wavelength_band: [in] Unknown :param sw_pen_band: [in] Shortwave penetration :param opacity_band: [in] Unknown :param internal_heat: [in] Unknown :param frunoff: [in] Unknown :param grid_ht: [in] Unknown :param current_wave_stress: [in] Unknown :param sosga: [in] Global average sea surface salinity .. f:subroutine:: subroutine generic_tracer_update_from_bottom(dt, tau, model_time) Update the tracers from bottom fluxes. :param dt: [in] Time step increment :param tau: [in] Time step index used for the concentration field :param model_time: [in] Time .. f:subroutine:: subroutine generic_tracer_vertdiff_g(h_old, ea, eb, dt, kg_m2_to_H, m_to_H, tau) Vertically diffuse all generic tracers for GOLD ocean. :param h_old: [in] Unknown :param ea: [in] Unknown :param eb: [in] Unknown :param dt: [in] Unknown :param kg_m2_to_h: [in] Unknown :param m_to_h: [in] Unknown :param tau: [in] Unknown .. f:subroutine:: subroutine generic_tracer_coupler_set(IOB_struc, ST, SS, rho, ilb, jlb, tau, dzt, sosga, model_time) Set the coupler values for each generic tracer. :param iob_struc: [inout] Ice Ocean Boundary flux structure :param ilb: [in] Lower bounds of x extent of input arrays on data domain :param jlb: [in] Lower bounds of y extent of input arrays on data domain :param tau: [in] Time step index of field :param st: [in] Sea surface temperature [deg C] :param ss: [in] Sea surface salinity [psu] :param rho: [in] Ocean density [kg m-3] :param dzt: [in] Layer thickness [m] :param sosga: [in] Unknown :param model_time: [in] Time .. f:subroutine:: subroutine generic_tracer_endNone End this module by calling the corresponding generic_X_end for each package X. .. f:subroutine:: subroutine generic_tracer_get_list(list) Get a pointer to the head of the generic tracers list. :param list: Pointer to head of the linked list .. f:subroutine:: subroutine generic_tracer_get_diag_list(list) Unknown. :param list: Pointer to head of the linked list [debug] DoxygenMethodDocumenter format_signature called (None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_register', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_register', , {}, [debug] DoxygenMethodDocumenter format_signature called ((isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_kmt, init_time)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_init', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_init', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called (None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_register_diag', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_register_diag', [debug] DoxygenMethodDocumenter format_signature called ((IOB_struc)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_coupler_get', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_coupler_get', , [debug] DoxygenMethodDocumenter format_signature called ((IOB_struc, weight, model_time)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_coupler_accumulate', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_source', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((dt, tau, model_time)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_update_from_bottom', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_vertdiff_g', , { [debug] DoxygenMethodDocumenter format_signature called ((IOB_struc, ST, SS, rho, ilb, jlb, tau, dzt, sosga, model_time)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_coupler_set', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_coupler_set', , [debug] DoxygenMethodDocumenter format_signature called (None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_end', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_end', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((list)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_get_list', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_get_list', , {}, [debug] DoxygenMethodDocumenter format_signature called ((list)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_get_diag_list', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'generic_tracer::generic_tracer_get_diag_list', [fd] run(.. f:subroutine:: subroutine generic_tracer_registerNone) [fd] sig(subroutine generic_tracer_registerNone) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(generic_tracer_registerNone) arglist(None) [fd] fullname(generic_tracer/generic_tracer_registerNone) ftype(None) [fd] name(('generic_tracer/generic_tracer_registerNone', None)) sig(subroutine generic_tracer_registerNone) signode(subroutine generic_tracer/generic_tracer_registerNone) [fd] run(.. f:subroutine:: subroutine generic_tracer_init(isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_kmt, init_time)) [fd] sig(subroutine generic_tracer_init(isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_kmt, init_time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(generic_tracer_init) arglist(isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_kmt, init_time) [fd] fullname(generic_tracer/generic_tracer_init) ftype(None) [fd] name(('generic_tracer/generic_tracer_init', None)) sig(subroutine generic_tracer_init(isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_kmt, init_time)) signode(subroutine generic_tracer/generic_tracer_initisciecjscjecisdiedjsdjednkntauaxesgrid_tmaskgrid_kmtinit_time) [fd] run(.. f:subroutine:: subroutine generic_tracer_register_diagNone) [fd] sig(subroutine generic_tracer_register_diagNone) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(generic_tracer_register_diagNone) arglist(None) [fd] fullname(generic_tracer/generic_tracer_register_diagNone) ftype(None) [fd] name(('generic_tracer/generic_tracer_register_diagNone', None)) sig(subroutine generic_tracer_register_diagNone) signode(subroutine generic_tracer/generic_tracer_register_diagNone) [fd] run(.. f:subroutine:: subroutine generic_tracer_coupler_get(IOB_struc)) [fd] sig(subroutine generic_tracer_coupler_get(IOB_struc)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(generic_tracer_coupler_get) arglist(IOB_struc) [fd] fullname(generic_tracer/generic_tracer_coupler_get) ftype(None) [fd] name(('generic_tracer/generic_tracer_coupler_get', None)) sig(subroutine generic_tracer_coupler_get(IOB_struc)) signode(subroutine generic_tracer/generic_tracer_coupler_getIOB_struc) [fd] run(.. f:subroutine:: subroutine generic_tracer_coupler_accumulate(IOB_struc, weight, model_time)) [fd] sig(subroutine generic_tracer_coupler_accumulate(IOB_struc, weight, model_time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(generic_tracer_coupler_accumulate) arglist(IOB_struc, weight, model_time) [fd] fullname(generic_tracer/generic_tracer_coupler_accumulate) ftype(None) [fd] name(('generic_tracer/generic_tracer_coupler_accumulate', None)) sig(subroutine generic_tracer_coupler_accumulate(IOB_struc, weight, model_time)) signode(subroutine generic_tracer/generic_tracer_coupler_accumulateIOB_strucweightmodel_time) [fd] run(.. f:subroutine:: subroutine generic_tracer_source(Temp, Salt, rho_dzt, dzt, hblt_depth, ilb, jlb, tau, dtts, grid_dat, model_time, nbands, max_wavelength_band, sw_pen_band, opacity_band, internal_heat, frunoff, grid_ht, current_wave_stress, sosga)) [fd] sig(subroutine generic_tracer_source(Temp, Salt, rho_dzt, dzt, hblt_depth, ilb, jlb, tau, dtts, grid_dat, model_time, nbands, max_wavelength_band, sw_pen_band, opacity_band, internal_heat, frunoff, grid_ht, current_wave_stress, sosga)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(generic_tracer_source) arglist(Temp, Salt, rho_dzt, dzt, hblt_depth, ilb, jlb, tau, dtts, grid_dat, model_time, nbands, max_wavelength_band, sw_pen_band, opacity_band, internal_heat, frunoff, grid_ht, current_wave_stress, sosga) [fd] fullname(generic_tracer/generic_tracer_source) ftype(None) [fd] name(('generic_tracer/generic_tracer_source', None)) sig(subroutine generic_tracer_source(Temp, Salt, rho_dzt, dzt, hblt_depth, ilb, jlb, tau, dtts, grid_dat, model_time, nbands, max_wavelength_band, sw_pen_band, opacity_band, internal_heat, frunoff, grid_ht, current_wave_stress, sosga)) signode(subroutine generic_tracer/generic_tracer_sourceTempSaltrho_dztdzthblt_depthilbjlbtaudttsgrid_datmodel_timenbandsmax_wavelength_bandsw_pen_bandopacity_bandinternal_heatfrunoffgrid_htcurrent_wave_stresssosga) [fd] run(.. f:subroutine:: subroutine generic_tracer_update_from_bottom(dt, tau, model_time)) [fd] sig(subroutine generic_tracer_update_from_bottom(dt, tau, model_time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(generic_tracer_update_from_bottom) arglist(dt, tau, model_time) [fd] fullname(generic_tracer/generic_tracer_update_from_bottom) ftype(None) [fd] name(('generic_tracer/generic_tracer_update_from_bottom', None)) sig(subroutine generic_tracer_update_from_bottom(dt, tau, model_time)) signode(subroutine generic_tracer/generic_tracer_update_from_bottomdttaumodel_time) [fd] run(.. f:subroutine:: subroutine generic_tracer_vertdiff_g(h_old, ea, eb, dt, kg_m2_to_H, m_to_H, tau)) [fd] sig(subroutine generic_tracer_vertdiff_g(h_old, ea, eb, dt, kg_m2_to_H, m_to_H, tau)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(generic_tracer_vertdiff_g) arglist(h_old, ea, eb, dt, kg_m2_to_H, m_to_H, tau) [fd] fullname(generic_tracer/generic_tracer_vertdiff_g) ftype(None) [fd] name(('generic_tracer/generic_tracer_vertdiff_g', None)) sig(subroutine generic_tracer_vertdiff_g(h_old, ea, eb, dt, kg_m2_to_H, m_to_H, tau)) signode(subroutine generic_tracer/generic_tracer_vertdiff_gh_oldeaebdtkg_m2_to_Hm_to_Htau) [fd] run(.. f:subroutine:: subroutine generic_tracer_coupler_set(IOB_struc, ST, SS, rho, ilb, jlb, tau, dzt, sosga, model_time)) [fd] sig(subroutine generic_tracer_coupler_set(IOB_struc, ST, SS, rho, ilb, jlb, tau, dzt, sosga, model_time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(generic_tracer_coupler_set) arglist(IOB_struc, ST, SS, rho, ilb, jlb, tau, dzt, sosga, model_time) [fd] fullname(generic_tracer/generic_tracer_coupler_set) ftype(None) [fd] name(('generic_tracer/generic_tracer_coupler_set', None)) sig(subroutine generic_tracer_coupler_set(IOB_struc, ST, SS, rho, ilb, jlb, tau, dzt, sosga, model_time)) signode(subroutine generic_tracer/generic_tracer_coupler_setIOB_strucSTSSrhoilbjlbtaudztsosgamodel_time) [fd] run(.. f:subroutine:: subroutine generic_tracer_endNone) [fd] sig(subroutine generic_tracer_endNone) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(generic_tracer_endNone) arglist(None) [fd] fullname(generic_tracer/generic_tracer_endNone) ftype(None) [fd] name(('generic_tracer/generic_tracer_endNone', None)) sig(subroutine generic_tracer_endNone) signode(subroutine generic_tracer/generic_tracer_endNone) [fd] run(.. f:subroutine:: subroutine generic_tracer_get_list(list)) [fd] sig(subroutine generic_tracer_get_list(list)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(generic_tracer_get_list) arglist(list) [fd] fullname(generic_tracer/generic_tracer_get_list) ftype(None) [fd] name(('generic_tracer/generic_tracer_get_list', None)) sig(subroutine generic_tracer_get_list(list)) signode(subroutine generic_tracer/generic_tracer_get_listlist) [fd] run(.. f:subroutine:: subroutine generic_tracer_get_diag_list(list)) [fd] sig(subroutine generic_tracer_get_diag_list(list)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(generic_tracer_get_diag_list) arglist(list) [fd] fullname(generic_tracer/generic_tracer_get_diag_list) ftype(None) [fd] name(('generic_tracer/generic_tracer_get_diag_list', None)) sig(subroutine generic_tracer_get_diag_list(list)) signode(subroutine generic_tracer/generic_tracer_get_diag_listlist) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 13%] api/generated/modules/ideal_age_example [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/ideal_age_ex [app] emitting event: 'source-read'('api/generated/modules/ideal_age_example', ['.. autodoxymodule:: ideal_age_example\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/ideal_age_example.rst:1: input: .. autodoxymodule:: ideal_age_example :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~ideal_age_example::ideal_age_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~ideal_age_example::register_ideal_age_tracer ~ideal_age_example::initialize_ideal_age_tracer ~ideal_age_example::ideal_age_tracer_column_physics ~ideal_age_example::ideal_age_stock ~ideal_age_example::ideal_age_tracer_surface_state ~ideal_age_example::ideal_age_example_end [debug] xpath(./compounddef/compoundname[text()="ideal_age_example"]/..) match([('id', 'namespaceideal__age__example'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:ideal_age_example module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ideal_age_example', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'ideal_age_example' (exception was: ModuleNotFoundError("No module named 'ideal_age_example'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ideal_age_example::ideal_age_tracer_cs', , {'me [debug] members([('register_ideal_age_tracer', ), ('initialize_ideal_age_tracer', ), ('ideal_age_tracer_column_physics', ), ('ideal_age_stock', ), ('ideal_age_tracer_surface_state', ), ('ideal_age_example_end', )]) [autodoc] module analyzer failed: error importing 'ideal_age_example' (exception was: ModuleNotFoundError("No module named 'ideal_age_example'")) [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] add_directive_header sig((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function register_ideal_age_tracer) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_ideal_age_tracer', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ideal_age_tracer_column_physics', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ideal_age_tracer_column_physics', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ideal_age_tracer_column_physics', , {'members': [autodoc] module analyzer failed: error importing 'ideal_age_example' (exception was: ModuleNotFoundError("No module named 'ideal_age_example'")) [debug] DoxygenMethodDocumenter format_signature called ((h, stocks, G, GV, CS, names, units, stock_index)) [debug] add_directive_header sig((h, stocks, G, GV, CS, names, units, stock_index)) [debug] DoxygenMethodDocumenter directive(function) name(integer function ideal_age_stock) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [debug] method=visit_simplesect [debug] simplesect kind(return) [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ideal_age_stock', , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ideal_age_tracer_surface_state', , {'members': [autodoc] module analyzer failed: error importing 'ideal_age_example' (exception was: ModuleNotFoundError("No module named 'ideal_age_example'")) [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] add_directive_header sig((CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine ideal_age_example_end) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ideal_age_example_end', , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~ideal_age_example::ideal_age_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~ideal_age_example::register_ideal_age_tracer ~ideal_age_example::initialize_ideal_age_tracer ~ideal_age_example::ideal_age_tracer_column_physics ~ideal_age_example::ideal_age_stock ~ideal_age_example::ideal_age_tracer_surface_state ~ideal_age_example::ideal_age_example_end .. _DETAideal_age_example: -------------------- Detailed Description -------------------- Originally by Robert Hallberg, 2002 This file contains an example of the code that is needed to set up and use a set (in this case two) of dynamically passive tracers for diagnostic purposes. The tracers here are an ideal age tracer that ages at a rate of 1/year once it is isolated from the surface, and a vintage tracer, whose surface concentration grows exponen- with time with a 30-year timescale (similar to CFCs). ------------------ Type Documentation ------------------ .. f:type:: ideal_age_tracer_cs The control structure for the ideal_age_tracer package. :typefield integer ntr: The number of tracers that are actually used. :typefield logical coupled_tracers: These tracers are not offered to the coupler. :typefield integer nkml: The number of layers in the mixed layer. The ideal. :typefield character (len=200) ic_file: The file in which the age-tracer initial values can be found, or an empty string for internal initialization. :typefield logical z_ic_file: If true, the IC_file is in Z-space. The default is false. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(tracer_registry_type) tr_reg [pointer]: A pointer to the tracer registry. :typefield real(\:,\:,\:,\:) tr [pointer]: The array of tracers used in this package, in g m-3? :typefield real( ntr_max ) ic_val: The (uniform) initial condition value. :typefield real( ntr_max ) young_val: The value assigned to tr at the surface. :typefield real( ntr_max ) land_val: The value of tr used where land is masked out. :typefield real( ntr_max ) sfc_growth_rate: The exponential growth rate for the surface value [year-1]. :typefield real( ntr_max ) tracer_start_year: The year in which tracers start aging, or at which the surface value equals young_val, in years. :typefield logical tracers_may_reinit: If true, these tracers be set up via the initialization code if they are not found in the restart files. :typefield logical( ntr_max ) tracer_ages: Indicates whether each tracer ages. :typefield integer( ntr_max ) ind_tr: Indices returned by aof_set_coupler_flux if it is used and the surface tracer concentrations are to be provided to the coupler. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(mom_restart_cs) restart_csp [pointer]: A pointer to the restart controls structure. :typefield type(vardesc)( ntr_max ) tr_desc: Descriptions and metadata for the tracers. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function register_ideal_age_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS) Register the ideal age tracer fields to be used with MOM. :param hi: [in] A horizontal index type structure :param gv: [in] The ocean's vertical grid structure :param param_file: [in] A structure to parse for run-time parameters :param cs: The control structure returned by a previous call to register_ideal_age_tracer. :param tr_reg: A pointer that is set to point to the control structure for the tracer advection and diffusion module :param restart_cs: A pointer to the restart control structure :callto: :f:func:`atmos_ocean_fluxes_mod::aof_set_coupler_flux ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_io::query_vardesc ` :callto: :f:func:`mom_tracer_registry::register_tracer ` :callto: :f:func:`mom_io::var_desc ` .. f:subroutine:: subroutine initialize_ideal_age_tracer(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp) Sets the ideal age traces to their initial values and sets up the tracer output. :param restart: [in] .true. if the fields have already been read from a restart file. :param day: [in] Time of the start of the run. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param diag: [in] A structure that is used to regulate diagnostic output. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param cs: The control structure returned by a previous call to register_ideal_age_tracer. :param sponge_csp: Pointer to the control structure for the sponges. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_io::query_vardesc ` :callto: :f:func:`mom_tracer_z_init::tracer_z_init ` .. f:subroutine:: subroutine ideal_age_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth) Applies diapycnal diffusion, aging and regeneration at the surface to the ideal age tracers. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h_old: [in] Layer thickness before entrainment [H ~> m or kg m-2]. :param h_new: [in] Layer thickness after entrainment [H ~> m or kg m-2]. :param ea: [in] an array to which the amount of fluid entrained :param eb: [in] an array to which the amount of fluid entrained :param fluxes: [in] A structure containing pointers to thermodynamic and tracer forcing fields. Unused fields have NULL ptrs. :param dt: [in] The amount of time covered by this call [T ~> s] :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to register_ideal_age_tracer. :param evap_cfl_limit: [in] Limit on the fraction of the water that can be fluxed out of the top layer in a timestep [nondim] :param minimum_forcing_depth: [in] The smallest depth over which fluxes can be applied [H ~> m or kg m-2] :callto: :f:func:`mom_tracer_diabatic::applytracerboundaryfluxesinout ` :callto: :f:func:`mom_tracer_diabatic::tracer_vertdiff ` .. f:function:: integer function ideal_age_stock(h, stocks, G, GV, CS, names, units, stock_index) Calculates the mass-weighted integral of all tracer stocks, returning the number of stocks it has calculated. If stock_index is present, only the stock corresponding to that coded index is found. :param g: [in] The ocean's grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param stocks: [out] the mass-weighted integrated amount of each tracer, in kg times concentration units [kg conc]. :param gv: [in] The ocean's vertical grid structure :param cs: The control structure returned by a previous call to register_ideal_age_tracer. :param names: [out] the names of the stocks calculated. :param units: [out] the units of the stocks calculated. :param stock_index: [in] the coded index of a specific stock being sought. :returns undefined: The number of stocks calculated here. :callto: :f:func:`mom_io::query_vardesc ` :calledfrom: :f:func:`mom_tracer_flow_control::call_tracer_stocks ` .. f:subroutine:: subroutine ideal_age_tracer_surface_state(sfc_state, h, G, CS) This subroutine extracts the surface fields from this tracer package that are to be shared with the atmosphere in coupled configurations. This particular tracer package does not report anything back to the coupler. :param g: [in] The ocean's grid structure. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param h: [in] Layer thickness [H ~> m or kg m-2]. :param cs: The control structure returned by a previous call to register_ideal_age_tracer. .. f:subroutine:: subroutine ideal_age_example_end(CS) Deallocate any memory associated with this tracer package. :param cs: The control structure returned by a previous call to register_ideal_age_tracer. [debug] xpath(./compounddef/compoundname[text()="ideal_age_example::ideal_age_tracer_cs"]/..) match([('id', 'structideal__age__example_1_1ideal__age__tracer__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ideal_age_example::ideal_age_tracer_cs', , {} [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ideal_age_example::ideal_age_tracer_cs', , {} [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ideal_age_example::ideal_age_tracer_cs', , {} [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ideal_age_example::register_ideal_age_tracer', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ideal_age_example::register_ideal_age_tracer', [debug] DoxygenMethodDocumenter format_signature called ((restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ideal_age_example::initialize_ideal_age_tracer', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ideal_age_example::ideal_age_stock', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, h, G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ideal_age_example::ideal_age_tracer_surface_state', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ideal_age_example::ideal_age_example_end', , {} [fd] run(.. f:type:: ideal_age_tracer_cs) [fd] sig(ideal_age_tracer_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(ideal_age_tracer_cs) arglist(None) [fd] fullname(ideal_age_example/ideal_age_tracer_cs) ftype(None) [fd] name(('ideal_age_example/ideal_age_tracer_cs', None)) sig(ideal_age_tracer_cs) signode(type ideal_age_example/ideal_age_tracer_cs) [fd] run(.. f:function:: logical function register_ideal_age_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] sig(logical function register_ideal_age_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_ideal_age_tracer) arglist(HI, GV, param_file, CS, tr_Reg, restart_CS) [fd] fullname(ideal_age_example/register_ideal_age_tracer) ftype(logical) [fd] name(('ideal_age_example/register_ideal_age_tracer', 'logical')) sig(logical function register_ideal_age_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) signode(function ideal_age_example/register_ideal_age_tracerHIGVparam_fileCStr_Regrestart_CS [logical]) [fd] run(.. f:subroutine:: subroutine initialize_ideal_age_tracer(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp)) [fd] sig(subroutine initialize_ideal_age_tracer(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_ideal_age_tracer) arglist(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp) [fd] fullname(ideal_age_example/initialize_ideal_age_tracer) ftype(None) [fd] name(('ideal_age_example/initialize_ideal_age_tracer', None)) sig(subroutine initialize_ideal_age_tracer(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp)) signode(subroutine ideal_age_example/initialize_ideal_age_tracerrestartdayGGVUShdiagOBCCSsponge_CSp) [fd] run(.. f:subroutine:: subroutine ideal_age_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [fd] sig(subroutine ideal_age_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ideal_age_tracer_column_physics) arglist(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth) [fd] fullname(ideal_age_example/ideal_age_tracer_column_physics) ftype(None) [fd] name(('ideal_age_example/ideal_age_tracer_column_physics', None)) sig(subroutine ideal_age_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) signode(subroutine ideal_age_example/ideal_age_tracer_column_physicsh_oldh_neweaebfluxesdtGGVUSCSevap_CFL_limitminimum_forcing_depth) [fd] run(.. f:function:: integer function ideal_age_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] sig(integer function ideal_age_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] ftype(integer) objtype(function) modname(None) typename() name(ideal_age_stock) arglist(h, stocks, G, GV, CS, names, units, stock_index) [fd] fullname(ideal_age_example/ideal_age_stock) ftype(integer) [fd] name(('ideal_age_example/ideal_age_stock', 'integer')) sig(integer function ideal_age_stock(h, stocks, G, GV, CS, names, units, stock_index)) signode(function ideal_age_example/ideal_age_stockhstocksGGVCSnamesunitsstock_index [integer]) [fd] run(.. f:subroutine:: subroutine ideal_age_tracer_surface_state(sfc_state, h, G, CS)) [fd] sig(subroutine ideal_age_tracer_surface_state(sfc_state, h, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ideal_age_tracer_surface_state) arglist(sfc_state, h, G, CS) [fd] fullname(ideal_age_example/ideal_age_tracer_surface_state) ftype(None) [fd] name(('ideal_age_example/ideal_age_tracer_surface_state', None)) sig(subroutine ideal_age_tracer_surface_state(sfc_state, h, G, CS)) signode(subroutine ideal_age_example/ideal_age_tracer_surface_statesfc_statehGCS) [fd] run(.. f:subroutine:: subroutine ideal_age_example_end(CS)) [fd] sig(subroutine ideal_age_example_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ideal_age_example_end) arglist(CS) [fd] fullname(ideal_age_example/ideal_age_example_end) ftype(None) [fd] name(('ideal_age_example/ideal_age_example_end', None)) sig(subroutine ideal_age_example_end(CS)) signode(subroutine ideal_age_example/ideal_age_example_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 13%] api/generated/modules/idealized_hurricane [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/idealized_hu [app] emitting event: 'source-read'('api/generated/modules/idealized_hurricane', ['.. autodoxymodule:: idealized_hurricane\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/idealized_hurricane.rst:1: input: .. autodoxymodule:: idealized_hurricane :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~idealized_hurricane::idealized_hurricane_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~idealized_hurricane::idealized_hurricane_wind_init ~idealized_hurricane::idealized_hurricane_wind_forcing ~idealized_hurricane::idealized_hurricane_wind_profile ~idealized_hurricane::scm_idealized_hurricane_wind_forcing [debug] xpath(./compounddef/compoundname[text()="idealized_hurricane"]/..) match([('id', 'namespaceidealized__hurricane'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:idealized_hurricane module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'idealized_hurricane', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'idealized_hurricane' (exception was: ModuleNotFoundError("No module named 'idealized_hurricane'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'idealized_hurricane::idealized_hurricane_cs', , [debug] members([('idealized_hurricane_wind_init', ), ('idealized_hurricane_wind_forcing', ), ('idealized_hurricane_wind_profile', ), ('scm_idealized_hurricane_wind_forcing', )]) [autodoc] module analyzer failed: error importing 'idealized_hurricane' (exception was: ModuleNotFoundError("No module named 'idealized_hurricane'")) [debug] DoxygenMethodDocumenter format_signature called ((Time, G, US, param_file, CS)) [debug] add_directive_header sig((Time, G, US, param_file, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine idealized_hurricane_wind_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'idealized_hurricane_wind_init', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'idealized_hurricane_wind_init', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'idealized_hurricane_wind_init', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'idealized_hurricane_wind_init', , {'members': < [autodoc] module analyzer failed: error importing 'idealized_hurricane' (exception was: ModuleNotFoundError("No module named 'idealized_hurricane'")) [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, forces, day, G, US, CS)) [debug] add_directive_header sig((sfc_state, forces, day, G, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine idealized_hurricane_wind_forcing) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'idealized_hurricane_wind_forcing', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'idealized_hurricane_wind_forcing', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'idealized_hurricane_wind_forcing', , {'members' [autodoc] module analyzer failed: error importing 'idealized_hurricane' (exception was: ModuleNotFoundError("No module named 'idealized_hurricane'")) [debug] DoxygenMethodDocumenter format_signature called ((CS, US, absf, YY, XX, UOCN, VOCN, Tx, Ty)) [debug] add_directive_header sig((CS, US, absf, YY, XX, UOCN, VOCN, Tx, Ty)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine idealized_hurricane_wind_profile) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'idealized_hurricane_wind_profile', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'idealized_hurricane_wind_profile', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'idealized_hurricane_wind_profile', , {'members' [autodoc] module analyzer failed: error importing 'idealized_hurricane' (exception was: ModuleNotFoundError("No module named 'idealized_hurricane'")) [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, forces, day, G, US, CS)) [debug] add_directive_header sig((sfc_state, forces, day, G, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine scm_idealized_hurricane_wind_forcing) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'scm_idealized_hurricane_wind_forcing', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'scm_idealized_hurricane_wind_forcing', , {'memb [autodoc] output: ==================================== idealized_hurricane module reference ==================================== .. f:module:: idealized_hurricane Forcing for the idealized hurricane and SCM_idealized_hurricane examples. `More... `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~idealized_hurricane::idealized_hurricane_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~idealized_hurricane::idealized_hurricane_wind_init ~idealized_hurricane::idealized_hurricane_wind_forcing ~idealized_hurricane::idealized_hurricane_wind_profile ~idealized_hurricane::scm_idealized_hurricane_wind_forcing .. _DETAidealized_hurricane: -------------------- Detailed Description -------------------- Forcing for the idealized hurricane and SCM_idealized_hurricane examples. ------------------ Type Documentation ------------------ .. f:type:: idealized_hurricane_cs Container for parameters describing idealized wind structure. :typefield real rho_a: Mean air density [R ~> kg m-3]. :typefield real pressure_ambient: Pressure at surface of ambient air [R L2 T-2 ~> Pa]. :typefield real pressure_central: Pressure at surface at hurricane center [R L2 T-2 ~> Pa]. :typefield real rad_max_wind: Radius of maximum winds [L ~> m]. :typefield real max_windspeed: Maximum wind speeds [L T-1 ~> m s-1]. :typefield real hurr_translation_spd: Hurricane translation speed [L T-1 ~> m s-1]. :typefield real hurr_translation_dir: Hurricane translation direction [radians]. :typefield real gustiness: Gustiness (optional, used in u*) [R L Z T-2 ~> Pa]. :typefield real rho0: A reference ocean density [R ~> kg m-3]. :typefield real hurr_cen_y0: The initial y position of the hurricane This experiment is conducted in a Cartesian grid and this is assumed to be in meters [L ~> m]. :typefield real hurr_cen_x0: The initial x position of the hurricane This experiment is conducted in a Cartesian grid and this is assumed to be in meters [L ~> m]. :typefield real holland_a: Parameter 'A' from the Holland formula [nondim]. :typefield real holland_b: Parameter 'B' from the Holland formula [nondim]. :typefield real holland_axbxdp: 'A' x 'B' x (Pressure Ambient-Pressure central) for the Holland prorfile calculation [R L2 T-2 ~> Pa] :typefield logical relative_tau: A logical to take difference between wind and surface currents to compute the stress. :typefield logical answers_2018: If true, use expressions driving the idealized hurricane test case that recover the answers from the end of 2018. Otherwise use expressions that are rescalable and respect rotational symmetry. :typefield logical scm_mode: If true this being used in Single Column Model mode. :typefield logical br_bench: A "benchmark" configuration (which is meant to provide identical wind to reproduce a previous experiment, where that wind formula contained an error) :typefield real dy_from_center: (Fixed) distance in y from storm center path [L ~> m] :typefield real pi: Mathematical constant. :typefield real deg2rad: Mathematical constant. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine idealized_hurricane_wind_init(Time, G, US, param_file, CS) Initializes wind profile for the SCM idealized hurricane example. :param time: [in] Model time :param g: [in] Grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] Input parameter structure :param cs: Parameter container for this module :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine idealized_hurricane_wind_forcing(sfc_state, forces, day, G, US, CS) Computes the surface wind for the idealized hurricane test cases. :param sfc_state: [in] Surface state structure :param forces: [inout] A structure with the driving mechanical forces :param day: [in] Time in days :param g: [inout] Grid structure :param us: [in] A dimensional unit scaling type :param cs: Container for idealized hurricane parameters :callto: :f:func:`idealized_hurricane_wind_profile ` .. f:subroutine:: subroutine idealized_hurricane_wind_profile(CS, US, absf, YY, XX, UOCN, VOCN, Tx, Ty) Calculate the wind speed at a location as a function of time. :param cs: Container for idealized hurricane parameters :param us: [in] A dimensional unit scaling type :param absf: [in] Input Coriolis magnitude [T-1 ~> s-1] :param yy: [in] Location in m relative to center y [L ~> m] :param xx: [in] Location in m relative to center x [L ~> m] :param uocn: [in] X surface current [L T-1 ~> m s-1] :param vocn: [in] Y surface current [L T-1 ~> m s-1] :param tx: [out] X stress [R L Z T-2 ~> Pa] :param ty: [out] Y stress [R L Z T-2 ~> Pa] :calledfrom: :f:func:`idealized_hurricane_wind_forcing ` .. f:subroutine:: subroutine scm_idealized_hurricane_wind_forcing(sfc_state, forces, day, G, US, CS) This subroutine is primarily needed as a legacy for reproducing answers. It is included as an additional subroutine rather than padded into the previous routine with flags to ease its eventual removal. Its functionality is replaced with the new routines and it can be deleted when answer changes are acceptable. :param sfc_state: [in] Surface state structure :param forces: [inout] A structure with the driving mechanical forces :param day: [in] Time in days :param g: [inout] Grid structure :param us: [in] A dimensional unit scaling type :param cs: Container for SCM parameters [debug] xpath(./compounddef/compoundname[text()="idealized_hurricane::idealized_hurricane_cs"]/..) match([('id', 'structidealized__hurricane_1_1idealized__hurricane__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'idealized_hurricane::idealized_hurricane_cs', type idealized_hurricane/idealized_hurricane_cs) [fd] run(.. f:subroutine:: subroutine idealized_hurricane_wind_init(Time, G, US, param_file, CS)) [fd] sig(subroutine idealized_hurricane_wind_init(Time, G, US, param_file, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(idealized_hurricane_wind_init) arglist(Time, G, US, param_file, CS) [fd] fullname(idealized_hurricane/idealized_hurricane_wind_init) ftype(None) [fd] name(('idealized_hurricane/idealized_hurricane_wind_init', None)) sig(subroutine idealized_hurricane_wind_init(Time, G, US, param_file, CS)) signode(subroutine idealized_hurricane/idealized_hurricane_wind_initTimeGUSparam_fileCS) [fd] run(.. f:subroutine:: subroutine idealized_hurricane_wind_forcing(sfc_state, forces, day, G, US, CS)) [fd] sig(subroutine idealized_hurricane_wind_forcing(sfc_state, forces, day, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(idealized_hurricane_wind_forcing) arglist(sfc_state, forces, day, G, US, CS) [fd] fullname(idealized_hurricane/idealized_hurricane_wind_forcing) ftype(None) [fd] name(('idealized_hurricane/idealized_hurricane_wind_forcing', None)) sig(subroutine idealized_hurricane_wind_forcing(sfc_state, forces, day, G, US, CS)) signode(subroutine idealized_hurricane/idealized_hurricane_wind_forcingsfc_stateforcesdayGUSCS) [fd] run(.. f:subroutine:: subroutine idealized_hurricane_wind_profile(CS, US, absf, YY, XX, UOCN, VOCN, Tx, Ty)) [fd] sig(subroutine idealized_hurricane_wind_profile(CS, US, absf, YY, XX, UOCN, VOCN, Tx, Ty)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(idealized_hurricane_wind_profile) arglist(CS, US, absf, YY, XX, UOCN, VOCN, Tx, Ty) [fd] fullname(idealized_hurricane/idealized_hurricane_wind_profile) ftype(None) [fd] name(('idealized_hurricane/idealized_hurricane_wind_profile', None)) sig(subroutine idealized_hurricane_wind_profile(CS, US, absf, YY, XX, UOCN, VOCN, Tx, Ty)) signode(subroutine idealized_hurricane/idealized_hurricane_wind_profileCSUSabsfYYXXUOCNVOCNTxTy) [fd] run(.. f:subroutine:: subroutine scm_idealized_hurricane_wind_forcing(sfc_state, forces, day, G, US, CS)) [fd] sig(subroutine scm_idealized_hurricane_wind_forcing(sfc_state, forces, day, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(scm_idealized_hurricane_wind_forcing) arglist(sfc_state, forces, day, G, US, CS) [fd] fullname(idealized_hurricane/scm_idealized_hurricane_wind_forcing) ftype(None) [fd] name(('idealized_hurricane/scm_idealized_hurricane_wind_forcing', None)) sig(subroutine scm_idealized_hurricane_wind_forcing(sfc_state, forces, day, G, US, CS)) signode(subroutine idealized_hurricane/scm_idealized_hurricane_wind_forcingsfc_stateforcesdayGUSCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 14%] api/generated/modules/isomip_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/isomip_initi [app] emitting event: 'source-read'('api/generated/modules/isomip_initialization', ['.. autodoxymodule:: isomip_initialization\n :mem [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/isomip_initialization.rst:1: input: .. autodoxymodule:: isomip_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~isomip_initialization::isomip_initialize_topography ~isomip_initialization::isomip_initialize_thickness ~isomip_initialization::isomip_initialize_temperature_salinity ~isomip_initialization::isomip_initialize_sponges [debug] xpath(./compounddef/compoundname[text()="isomip_initialization"]/..) match([('id', 'namespaceisomip__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:isomip_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'isomip_initialization', , {'members': , {'members': , {'members': ), ('isomip_initialize_thickness', ), ('isomip_initialize_temperature_salinity', ), ('isomip_initialize_sponges', )]) [autodoc] module analyzer failed: error importing 'isomip_initialization' (exception was: ModuleNotFoundError("No module named 'isomip_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth, US)) [debug] add_directive_header sig((D, G, param_file, max_depth, US)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine isomip_initialize_topography) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_initialize_topography', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_initialize_temperature_salinity', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_initialize_temperature_salinity', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_initialize_temperature_salinity', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_initialize_temperature_salinity', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_initialize_temperature_salinity', , {'me [autodoc] module analyzer failed: error importing 'isomip_initialization' (exception was: ModuleNotFoundError("No module named 'isomip_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, tv, PF, use_ALE, CSp, ACSp)) [debug] add_directive_header sig((G, GV, US, tv, PF, use_ALE, CSp, ACSp)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine isomip_initialize_sponges) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_initialize_sponges', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~isomip_initialization::isomip_initialize_topography ~isomip_initialization::isomip_initialize_thickness ~isomip_initialization::isomip_initialize_temperature_salinity ~isomip_initialization::isomip_initialize_sponges .. _DETAisomip_initialization: -------------------- Detailed Description -------------------- See this paper for details: `http://www.geosci-model-dev-discuss.net/8/9859/2015/gmdd-8-9859-2015.pdf `_ --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine isomip_initialize_topography(D, G, param_file, max_depth, US) Initialization of topography for the ISOMIP configuration. :param g: [in] The dynamic horizontal grid type :param d: [out] Ocean bottom depth in m or Z if US is present :param param_file: [in] Parameter file structure :param max_depth: [in] Maximum model depth in the units of D :param us: [in] A dimensional unit scaling type :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_mesg ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_topography ` .. f:subroutine:: subroutine isomip_initialize_thickness(h, G, GV, US, param_file, tv, just_read_params) Initialization of thicknesses. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [out] The thickness that is being initialized [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param tv: [in] A structure containing pointers to any available thermodynamic fields, including the eqn. of state. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`regrid_consts::regridding_sigma_shelf_zstar ` .. f:subroutine:: subroutine isomip_initialize_temperature_salinity(T, S, h, G, GV, US, param_file, eqn_of_state, just_read_params) Initial values for temperature and salinity. :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param t: [out] Potential temperature [degC] :param s: [out] Salinity [ppt] :param h: [in] Layer thickness [H ~> m or kg m-2] :param param_file: [in] Parameter file structure :param eqn_of_state: Equation of state structure :param just_read_params: [in] If present and true, this call will only read parameters without changing T & S. :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regrid_consts::regridding_sigma_shelf_zstar ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` .. f:subroutine:: subroutine isomip_initialize_sponges(G, GV, US, tv, PF, use_ALE, CSp, ACSp) Sets up the the inverse restoration time (Idamp), and. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param tv: [in] A structure containing pointers to any available thermodynamic fields, potential temperature and salinity or mixed layer density. Absent fields have NULL ptrs. :param pf: [in] A structure indicating the open file to parse for model parameter values. :param use_ale: [in] If true, indicates model is in ALE mode :param csp: Layer-mode sponge structure :param acsp: ALE-mode sponge structure :callto: :f:func:`mom_sponge::initialize_sponge ` :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regrid_consts::regridding_sigma_shelf_zstar ` :callto: :f:func:`mom_sponge::set_up_sponge_field ` [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_initialization::isomip_initialize_topography', subroutine isomip_initialization/isomip_initialize_topographyDGparam_filemax_depthUS) [fd] run(.. f:subroutine:: subroutine isomip_initialize_thickness(h, G, GV, US, param_file, tv, just_read_params)) [fd] sig(subroutine isomip_initialize_thickness(h, G, GV, US, param_file, tv, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(isomip_initialize_thickness) arglist(h, G, GV, US, param_file, tv, just_read_params) [fd] fullname(isomip_initialization/isomip_initialize_thickness) ftype(None) [fd] name(('isomip_initialization/isomip_initialize_thickness', None)) sig(subroutine isomip_initialize_thickness(h, G, GV, US, param_file, tv, just_read_params)) signode(subroutine isomip_initialization/isomip_initialize_thicknesshGGVUSparam_filetvjust_read_params) [fd] run(.. f:subroutine:: subroutine isomip_initialize_temperature_salinity(T, S, h, G, GV, US, param_file, eqn_of_state, just_read_params)) [fd] sig(subroutine isomip_initialize_temperature_salinity(T, S, h, G, GV, US, param_file, eqn_of_state, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(isomip_initialize_temperature_salinity) arglist(T, S, h, G, GV, US, param_file, eqn_of_state, just_read_params) [fd] fullname(isomip_initialization/isomip_initialize_temperature_salinity) ftype(None) [fd] name(('isomip_initialization/isomip_initialize_temperature_salinity', None)) sig(subroutine isomip_initialize_temperature_salinity(T, S, h, G, GV, US, param_file, eqn_of_state, just_read_params)) signode(subroutine isomip_initialization/isomip_initialize_temperature_salinityTShGGVUSparam_fileeqn_of_statejust_read_params) [fd] run(.. f:subroutine:: subroutine isomip_initialize_sponges(G, GV, US, tv, PF, use_ALE, CSp, ACSp)) [fd] sig(subroutine isomip_initialize_sponges(G, GV, US, tv, PF, use_ALE, CSp, ACSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(isomip_initialize_sponges) arglist(G, GV, US, tv, PF, use_ALE, CSp, ACSp) [fd] fullname(isomip_initialization/isomip_initialize_sponges) ftype(None) [fd] name(('isomip_initialization/isomip_initialize_sponges', None)) sig(subroutine isomip_initialize_sponges(G, GV, US, tv, PF, use_ALE, CSp, ACSp)) signode(subroutine isomip_initialization/isomip_initialize_spongesGGVUStvPFuse_ALECSpACSp) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 14%] api/generated/modules/isomip_tracer [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/isomip_trace [app] emitting event: 'source-read'('api/generated/modules/isomip_tracer', ['.. autodoxymodule:: isomip_tracer\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/isomip_tracer.rst:1: input: .. autodoxymodule:: isomip_tracer :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~isomip_tracer::isomip_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~isomip_tracer::register_isomip_tracer ~isomip_tracer::initialize_isomip_tracer ~isomip_tracer::isomip_tracer_column_physics ~isomip_tracer::isomip_tracer_surface_state ~isomip_tracer::isomip_tracer_end [debug] xpath(./compounddef/compoundname[text()="isomip_tracer"]/..) match([('id', 'namespaceisomip__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:isomip_tracer module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'isomip_tracer', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'isomip_tracer' (exception was: ModuleNotFoundError("No module named 'isomip_tracer'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'isomip_tracer::isomip_tracer_cs', , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'isomip_tracer::isomip_tracer_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'isomip_tracer::isomip_tracer_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'isomip_tracer::isomip_tracer_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'isomip_tracer::isomip_tracer_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'isomip_tracer::isomip_tracer_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'isomip_tracer::isomip_tracer_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'isomip_tracer::isomip_tracer_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'isomip_tracer::isomip_tracer_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'isomip_tracer::isomip_tracer_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'isomip_tracer::isomip_tracer_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'isomip_tracer::isomip_tracer_cs', , {'members': [debug] members([('register_isomip_tracer', ), ('initialize_isomip_tracer', ), ('isomip_tracer_column_physics', ), ('isomip_tracer_surface_state', ), ('isomip_tracer_end', )]) [autodoc] module analyzer failed: error importing 'isomip_tracer' (exception was: ModuleNotFoundError("No module named 'isomip_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] add_directive_header sig((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function register_isomip_tracer) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_isomip_tracer', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~isomip_tracer::isomip_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~isomip_tracer::register_isomip_tracer ~isomip_tracer::initialize_isomip_tracer ~isomip_tracer::isomip_tracer_column_physics ~isomip_tracer::isomip_tracer_surface_state ~isomip_tracer::isomip_tracer_end .. _DETAisomip_tracer: -------------------- Detailed Description -------------------- For now, just one passive tracer is injected in the sponge layer. ------------------ Type Documentation ------------------ .. f:type:: isomip_tracer_cs ISOMIP tracer package control structure. :typefield logical coupled_tracers: These tracers are not offered to the coupler. :typefield character (len=200) tracer_ic_file: The full path to the IC file, or " " to initialize internally. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(tracer_registry_type) tr_reg [pointer]: A pointer to the MOM tracer registry. :typefield real(\:,\:,\:,\:) tr [pointer]: The array of tracers used in this package, in g m-3? :typefield real( ntr ) land_val: The value of tr used where land is masked out. :typefield logical use_sponge: If true, sponges may be applied somewhere in the domain. :typefield integer( ntr ) ind_tr: Indices returned by aof_set_coupler_flux if it is used and the surface tracer concentrations are to be provided to the coupler. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(vardesc)( ntr ) tr_desc: Descriptions and metadata for the tracers in this package. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function register_isomip_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS) This subroutine is used to register tracer fields. :param hi: [in] A horizontal index type structure. :param gv: [in] The ocean's vertical grid structure. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param cs: A pointer that is set to point to the control structure for this module (in/out). :param tr_reg: A pointer to the tracer registry. :param restart_cs: A pointer to the restart control structure. :callto: :f:func:`atmos_ocean_fluxes_mod::aof_set_coupler_flux ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ntr ` :callto: :f:func:`mom_tracer_registry::register_tracer ` :callto: :f:func:`mom_io::var_desc ` .. f:subroutine:: subroutine initialize_isomip_tracer(restart, day, G, GV, h, diag, OBC, CS, ALE_sponge_CSp) Initializes the NTR tracer fields in tr(:,:,:,:) :param g: [in] Grid structure. :param gv: [in] The ocean's vertical grid structure. :param restart: [in] .true. if the fields have already been read from a restart file. :param day: [in] Time of the start of the run. :param h: [in] Layer thickness [H ~> m or kg m-2]. :param diag: [in] A structure that is used to regulate diagnostic output. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. This is not being used for now. :param cs: The control structure returned by a previous call to ISOMIP_register_tracer. :param ale_sponge_csp: A pointer to the control structure for the sponges, if they are in use. Otherwise this may be unassociated. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ntr ` :callto: :f:func:`mom_io::query_vardesc ` .. f:subroutine:: subroutine isomip_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth) This subroutine applies diapycnal diffusion, including the surface boundary conditions and any other column tracer physics or chemistry to the tracers from this file. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h_old: [in] Layer thickness before entrainment [H ~> m or kg m-2]. :param h_new: [in] Layer thickness after entrainment [H ~> m or kg m-2]. :param ea: [in] an array to which the amount of fluid entrained :param eb: [in] an array to which the amount of fluid entrained :param fluxes: [in] A structure containing pointers to thermodynamic and tracer forcing fields. Unused fields have NULL ptrs. :param dt: [in] The amount of time covered by this call [T ~> s] :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to ISOMIP_register_tracer. :param evap_cfl_limit: [in] Limit on the fraction of the water that can be fluxed out of the top layer in a timestep [nondim] :param minimum_forcing_depth: [in] The smallest depth over which fluxes can be applied [H ~> m or kg m-2] :callto: :f:func:`mom_tracer_diabatic::applytracerboundaryfluxesinout ` :callto: :f:func:`ntr ` :callto: :f:func:`mom_tracer_diabatic::tracer_vertdiff ` .. f:subroutine:: subroutine isomip_tracer_surface_state(sfc_state, h, G, CS) This subroutine extracts the surface fields from this tracer package that are to be shared with the atmosphere in coupled configurations. This particular tracer package does not report anything back to the coupler. :param g: [in] The ocean's grid structure. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param h: [in] Layer thickness [H ~> m or kg m-2]. :param cs: The control structure returned by a previous call to ISOMIP_register_tracer. :callto: :f:func:`ntr ` .. f:subroutine:: subroutine isomip_tracer_end(CS) Deallocate any memory used by the ISOMIP tracer package. :param cs: The control structure returned by a previous call to ISOMIP_register_tracer. [debug] xpath(./compounddef/compoundname[text()="isomip_tracer::isomip_tracer_cs"]/..) match([('id', 'structisomip__tracer_1_1isomip__tracer__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'isomip_tracer::isomip_tracer_cs', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'isomip_tracer::isomip_tracer_cs', , {}, ['`Mo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'isomip_tracer::isomip_tracer_cs', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_tracer::register_isomip_tracer', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_tracer::register_isomip_tracer', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((restart, day, G, GV, h, diag, OBC, CS, ALE_sponge_CSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_tracer::initialize_isomip_tracer', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_tracer::initialize_isomip_tracer', , {}, [debug] DoxygenMethodDocumenter format_signature called ((h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_tracer::isomip_tracer_column_physics', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_tracer::isomip_tracer_column_physics', , [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, h, G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_tracer::isomip_tracer_surface_state', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_tracer::isomip_tracer_surface_state', , [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_tracer::isomip_tracer_end', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'isomip_tracer::isomip_tracer_end', , {}, ['', ' [fd] run(.. f:type:: isomip_tracer_cs) [fd] sig(isomip_tracer_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(isomip_tracer_cs) arglist(None) [fd] fullname(isomip_tracer/isomip_tracer_cs) ftype(None) [fd] name(('isomip_tracer/isomip_tracer_cs', None)) sig(isomip_tracer_cs) signode(type isomip_tracer/isomip_tracer_cs) [fd] run(.. f:function:: logical function register_isomip_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] sig(logical function register_isomip_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_isomip_tracer) arglist(HI, GV, param_file, CS, tr_Reg, restart_CS) [fd] fullname(isomip_tracer/register_isomip_tracer) ftype(logical) [fd] name(('isomip_tracer/register_isomip_tracer', 'logical')) sig(logical function register_isomip_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) signode(function isomip_tracer/register_isomip_tracerHIGVparam_fileCStr_Regrestart_CS [logical]) [fd] run(.. f:subroutine:: subroutine initialize_isomip_tracer(restart, day, G, GV, h, diag, OBC, CS, ALE_sponge_CSp)) [fd] sig(subroutine initialize_isomip_tracer(restart, day, G, GV, h, diag, OBC, CS, ALE_sponge_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_isomip_tracer) arglist(restart, day, G, GV, h, diag, OBC, CS, ALE_sponge_CSp) [fd] fullname(isomip_tracer/initialize_isomip_tracer) ftype(None) [fd] name(('isomip_tracer/initialize_isomip_tracer', None)) sig(subroutine initialize_isomip_tracer(restart, day, G, GV, h, diag, OBC, CS, ALE_sponge_CSp)) signode(subroutine isomip_tracer/initialize_isomip_tracerrestartdayGGVhdiagOBCCSALE_sponge_CSp) [fd] run(.. f:subroutine:: subroutine isomip_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [fd] sig(subroutine isomip_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(isomip_tracer_column_physics) arglist(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth) [fd] fullname(isomip_tracer/isomip_tracer_column_physics) ftype(None) [fd] name(('isomip_tracer/isomip_tracer_column_physics', None)) sig(subroutine isomip_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) signode(subroutine isomip_tracer/isomip_tracer_column_physicsh_oldh_neweaebfluxesdtGGVUSCSevap_CFL_limitminimum_forcing_depth) [fd] run(.. f:subroutine:: subroutine isomip_tracer_surface_state(sfc_state, h, G, CS)) [fd] sig(subroutine isomip_tracer_surface_state(sfc_state, h, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(isomip_tracer_surface_state) arglist(sfc_state, h, G, CS) [fd] fullname(isomip_tracer/isomip_tracer_surface_state) ftype(None) [fd] name(('isomip_tracer/isomip_tracer_surface_state', None)) sig(subroutine isomip_tracer_surface_state(sfc_state, h, G, CS)) signode(subroutine isomip_tracer/isomip_tracer_surface_statesfc_statehGCS) [fd] run(.. f:subroutine:: subroutine isomip_tracer_end(CS)) [fd] sig(subroutine isomip_tracer_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(isomip_tracer_end) arglist(CS) [fd] fullname(isomip_tracer/isomip_tracer_end) ftype(None) [fd] name(('isomip_tracer/isomip_tracer_end', None)) sig(subroutine isomip_tracer_end(CS)) signode(subroutine isomip_tracer/isomip_tracer_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 14%] api/generated/modules/kdtree [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/kdtree') [app] emitting event: 'source-read'('api/generated/modules/kdtree', ['.. autodoxymodule:: kdtree\n :members:\n :types:\n\n ------ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/kdtree.rst:1: input: .. autodoxymodule:: kdtree :members: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~kdtree::kd_root [debug] xpath(./compounddef/compoundname[text()="kdtree"]/..) match([('id', 'namespacekdtree'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:kdtree module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'kdtree', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'kdtree' (exception was: ModuleNotFoundError("No module named 'kdtree'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'kdtree::kd_root', , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~kdtree::kd_root .. _DETAkdtree: -------------------- Detailed Description -------------------- A null version of K-d tree from geoKdTree. ------------------ Type Documentation ------------------ .. f:type:: kd_root A K-d tree tpe. :typefield integer dummy [private]: To stop a compiler from doing nothing. [debug] xpath(./compounddef/compoundname[text()="kdtree::kd_root"]/..) match([('id', 'structkdtree_1_1kd__root'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'kdtree::kd_root', , {}, ['', 'A K-d tree tpe. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'kdtree::kd_root', , {}, ['`More... , {}, ['', 'A K-d tree tpe. [fd] run(.. f:type:: kd_root) [fd] sig(kd_root) [fd] ftype(None) objtype(None) modname(None) typename() name(kd_root) arglist(None) [fd] fullname(kdtree/kd_root) ftype(None) [fd] name(('kdtree/kd_root', None)) sig(kd_root) signode(type kdtree/kd_root) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [app] emitting event: 'doctree-read'(>,) reading sources... [ 15%] api/generated/modules/kelvin_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/kelvin_initi [app] emitting event: 'source-read'('api/generated/modules/kelvin_initialization', ['.. autodoxymodule:: kelvin_initialization\n :mem [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/kelvin_initialization.rst:1: input: .. autodoxymodule:: kelvin_initialization :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~kelvin_initialization::kelvin_obc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~kelvin_initialization::register_kelvin_obc ~kelvin_initialization::kelvin_obc_end ~kelvin_initialization::kelvin_initialize_topography ~kelvin_initialization::kelvin_set_obc_data [debug] xpath(./compounddef/compoundname[text()="kelvin_initialization"]/..) match([('id', 'namespacekelvin__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:kelvin_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'kelvin_initialization', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'kelvin_initialization' (exception was: ModuleNotFoundError("No module named 'kelvin_initialization'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'kelvin_initialization::kelvin_obc_cs', , {'memb [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'kelvin_initialization::kelvin_obc_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'kelvin_initialization::kelvin_obc_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'kelvin_initialization::kelvin_obc_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'kelvin_initialization::kelvin_obc_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'kelvin_initialization::kelvin_obc_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'kelvin_initialization::kelvin_obc_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'kelvin_initialization::kelvin_obc_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'kelvin_initialization::kelvin_obc_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'kelvin_initialization::kelvin_obc_cs', , {'memb [debug] members([('register_kelvin_obc', ), ('kelvin_obc_end', ), ('kelvin_initialize_topography', ), ('kelvin_set_obc_data', )]) [autodoc] module analyzer failed: error importing 'kelvin_initialization' (exception was: ModuleNotFoundError("No module named 'kelvin_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((param_file, CS, OBC_Reg)) [debug] add_directive_header sig((param_file, CS, OBC_Reg)) [debug] DoxygenMethodDocumenter directive(function) name(logical function register_kelvin_obc) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_kelvin_obc', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~kelvin_initialization::kelvin_obc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~kelvin_initialization::register_kelvin_obc ~kelvin_initialization::kelvin_obc_end ~kelvin_initialization::kelvin_initialize_topography ~kelvin_initialization::kelvin_set_obc_data .. _DETAkelvin_initialization: -------------------- Detailed Description -------------------- Kelvin = coastally-trapped Kelvin waves from the ROMS examples. Initialize with level surfaces and drive the wave in at the west, radiate out at the east. ------------------ Type Documentation ------------------ .. f:type:: kelvin_obc_cs Control structure for Kelvin wave open boundaries. :typefield integer mode: Vertical mode. :typefield real coast_angle: Angle of coastline. :typefield real coast_offset1: Longshore distance to coastal angle. :typefield real coast_offset2: Longshore distance to coastal angle. :typefield real h0: Bottom depth. :typefield real f_0: Coriolis parameter. :typefield real rho_range: Density range. :typefield real rho_0: Mean density. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function register_kelvin_obc(param_file, CS, OBC_Reg) Add Kelvin wave to OBC registry. :param param_file: [in] parameter file. :param cs: Kelvin wave control structure. :param obc_reg: OBC registry. :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine kelvin_obc_end(CS) Clean up the Kelvin wave OBC from registry. :param cs: Kelvin wave control structure. :calledfrom: :f:func:`mom_boundary_update::obc_register_end ` .. f:subroutine:: subroutine kelvin_initialize_topography(D, G, param_file, max_depth, US) This subroutine sets up the Kelvin topography and land mask. :param g: [in] The dynamic horizontal grid type :param d: [out] Ocean bottom depth in m or Z if US is present :param param_file: [in] Parameter file structure :param max_depth: [in] Maximum model depth in the units of D :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::mom_mesg ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_topography ` .. f:subroutine:: subroutine kelvin_set_obc_data(OBC, CS, G, GV, US, h, Time) This subroutine sets the properties of flow at open boundary conditions. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param cs: Kelvin wave control structure. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [in] layer thickness [H ~> m or kg m-2]. :param time: [in] model time. :callto: :f:func:`mom_error_handler::mom_error ` [debug] xpath(./compounddef/compoundname[text()="kelvin_initialization::kelvin_obc_cs"]/..) match([('id', 'structkelvin__initialization_1_1kelvin__obc__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'kelvin_initialization::kelvin_obc_cs', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'kelvin_initialization::kelvin_obc_cs', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'kelvin_initialization::kelvin_obc_cs', , {}, [debug] DoxygenMethodDocumenter format_signature called ((param_file, CS, OBC_Reg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'kelvin_initialization::register_kelvin_obc', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'kelvin_initialization::register_kelvin_obc', , [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'kelvin_initialization::kelvin_obc_end', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'kelvin_initialization::kelvin_obc_end', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'kelvin_initialization::kelvin_initialize_topography', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'kelvin_initialization::kelvin_set_obc_data', , [fd] run(.. f:type:: kelvin_obc_cs) [fd] sig(kelvin_obc_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(kelvin_obc_cs) arglist(None) [fd] fullname(kelvin_initialization/kelvin_obc_cs) ftype(None) [fd] name(('kelvin_initialization/kelvin_obc_cs', None)) sig(kelvin_obc_cs) signode(type kelvin_initialization/kelvin_obc_cs) [fd] run(.. f:function:: logical function register_kelvin_obc(param_file, CS, OBC_Reg)) [fd] sig(logical function register_kelvin_obc(param_file, CS, OBC_Reg)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_kelvin_obc) arglist(param_file, CS, OBC_Reg) [fd] fullname(kelvin_initialization/register_kelvin_obc) ftype(logical) [fd] name(('kelvin_initialization/register_kelvin_obc', 'logical')) sig(logical function register_kelvin_obc(param_file, CS, OBC_Reg)) signode(function kelvin_initialization/register_kelvin_obcparam_fileCSOBC_Reg [logical]) [fd] run(.. f:subroutine:: subroutine kelvin_obc_end(CS)) [fd] sig(subroutine kelvin_obc_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(kelvin_obc_end) arglist(CS) [fd] fullname(kelvin_initialization/kelvin_obc_end) ftype(None) [fd] name(('kelvin_initialization/kelvin_obc_end', None)) sig(subroutine kelvin_obc_end(CS)) signode(subroutine kelvin_initialization/kelvin_obc_endCS) [fd] run(.. f:subroutine:: subroutine kelvin_initialize_topography(D, G, param_file, max_depth, US)) [fd] sig(subroutine kelvin_initialize_topography(D, G, param_file, max_depth, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(kelvin_initialize_topography) arglist(D, G, param_file, max_depth, US) [fd] fullname(kelvin_initialization/kelvin_initialize_topography) ftype(None) [fd] name(('kelvin_initialization/kelvin_initialize_topography', None)) sig(subroutine kelvin_initialize_topography(D, G, param_file, max_depth, US)) signode(subroutine kelvin_initialization/kelvin_initialize_topographyDGparam_filemax_depthUS) [fd] run(.. f:subroutine:: subroutine kelvin_set_obc_data(OBC, CS, G, GV, US, h, Time)) [fd] sig(subroutine kelvin_set_obc_data(OBC, CS, G, GV, US, h, Time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(kelvin_set_obc_data) arglist(OBC, CS, G, GV, US, h, Time) [fd] fullname(kelvin_initialization/kelvin_set_obc_data) ftype(None) [fd] name(('kelvin_initialization/kelvin_set_obc_data', None)) sig(subroutine kelvin_set_obc_data(OBC, CS, G, GV, US, h, Time)) signode(subroutine kelvin_initialization/kelvin_set_obc_dataOBCCSGGVUShTime) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 15%] api/generated/modules/lock_exchange_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/lock_exchang [app] emitting event: 'source-read'('api/generated/modules/lock_exchange_initialization', ['.. autodoxymodule:: lock_exchange_initializ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/lock_exchange_initialization.rst:1: input: .. autodoxymodule:: lock_exchange_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~lock_exchange_initialization::lock_exchange_initialize_thickness [debug] xpath(./compounddef/compoundname[text()="lock_exchange_initialization"]/..) match([('id', 'namespacelock__exchange__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:lock_exchange_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'lock_exchange_initialization', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'lock_exchange_initialization', , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'lock_exchange_initialization', , {'members': [debug] members([('lock_exchange_initialize_thickness', )]) [autodoc] module analyzer failed: error importing 'lock_exchange_initialization' (exception was: ModuleNotFoundError("No module named 'lock_exchange_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US, param_file, just_read_params)) [debug] add_directive_header sig((h, G, GV, US, param_file, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine lock_exchange_initialize_thickness) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'lock_exchange_initialize_thickness', , {'member [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'lock_exchange_initialize_thickness', , {'member [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'lock_exchange_initialize_thickness', , {'member [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'lock_exchange_initialize_thickness', , {'member [autodoc] output: ============================================= lock_exchange_initialization module reference ============================================= .. f:module:: lock_exchange_initialization Initialization of the "lock exchange" experiment. lock_exchange = A 2-d density driven hydraulic exchange flow. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~lock_exchange_initialization::lock_exchange_initialize_thickness .. _DETAlock_exchange_initialization: -------------------- Detailed Description -------------------- Initialization of the "lock exchange" experiment. lock_exchange = A 2-d density driven hydraulic exchange flow. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine lock_exchange_initialize_thickness(h, G, GV, US, param_file, just_read_params) This subroutine initializes layer thicknesses for the lock_exchange experiment. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [out] The thickness that is being initialized [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mom_error_handler::mom_mesg ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US, param_file, just_read_params)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'lock_exchange_initialization::lock_exchange_initialize_thickness', subroutine lock_exchange_initialization/lock_exchange_initialize_thicknesshGGVUSparam_filejust_read_params) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 16%] api/generated/modules/meso_surface_forcing [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/meso_surface [app] emitting event: 'source-read'('api/generated/modules/meso_surface_forcing', ['.. autodoxymodule:: meso_surface_forcing\n :membe [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/meso_surface_forcing.rst:1: input: .. autodoxymodule:: meso_surface_forcing :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~meso_surface_forcing::meso_surface_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~meso_surface_forcing::meso_buoyancy_forcing ~meso_surface_forcing::meso_surface_forcing_init [debug] xpath(./compounddef/compoundname[text()="meso_surface_forcing"]/..) match([('id', 'namespacemeso__surface__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:meso_surface_forcing module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'meso_surface_forcing', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'meso_surface_forcing' (exception was: ModuleNotFoundError("No module named 'meso_surface_forcing'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'meso_surface_forcing::meso_surface_forcing_cs', ), ('meso_surface_forcing_init', )]) [autodoc] module analyzer failed: error importing 'meso_surface_forcing' (exception was: ModuleNotFoundError("No module named 'meso_surface_forcing'")) [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, fluxes, day, dt, G, US, CS)) [debug] add_directive_header sig((sfc_state, fluxes, day, dt, G, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine meso_buoyancy_forcing) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'meso_buoyancy_forcing', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~meso_surface_forcing::meso_surface_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~meso_surface_forcing::meso_buoyancy_forcing ~meso_surface_forcing::meso_surface_forcing_init .. _DETAmeso_surface_forcing: -------------------- Detailed Description -------------------- Rewritten by Robert Hallberg, June 2009 This file contains the subroutines that a user should modify to to set the surface wind stresses and fluxes of buoyancy or temperature and fresh water. They are called when the run-time parameters WIND_CONFIG or BUOY_CONFIG are set to "USER". The standard version has simple examples, along with run-time error messages that will cause the model to abort if this code has not been modified. This code is intended for use with relatively simple specifications of the forcing. For more complicated forms, it is probably a good idea to read the forcing from input files using "file" for WIND_CONFIG and BUOY_CONFIG. MESO_buoyancy forcing is used to set the surface buoyancy forcing, which may include a number of fresh water flux fields (evap, liq_precip, froz_precip, liq_runoff, froz_runoff, and vprec) and the surface heat fluxes (sw, lw, latent and sens) if temperature and salinity are state variables, or it may simply be the buoyancy flux if it is not. This routine also has coded a restoring to surface values of temperature and salinity. ------------------ Type Documentation ------------------ .. f:type:: meso_surface_forcing_cs This control structure is used to store parameters associated with the MESO forcing. :typefield logical use_temperature: If true, temperature and salinity are used as state variables. :typefield logical restorebuoy: If true, use restoring surface buoyancy forcing. :typefield real rho0: The density used in the Boussinesq approximation [R ~> kg m-3]. :typefield real g_earth: The gravitational acceleration [L2 Z-1 T-2 ~> m s-2]. :typefield real flux_const: The restoring rate at the surface [Z T-1 ~> m s-1]. :typefield real gust_const: A constant unresolved background gustiness that contributes to ustar [Pa]. :typefield real(\:,\:) t_restore [pointer]: The temperature to restore the SST toward [degC]. :typefield real(\:,\:) s_restore [pointer]: The salinity to restore the sea surface salnity toward [ppt]. :typefield real(\:,\:) pme [pointer]: The prescribed precip minus evap [Z T-1 ~> m s-1]. :typefield real(\:,\:) solar [pointer]: The shortwave forcing into the ocean [Q R Z T-1 ~> W m-2]. :typefield real(\:,\:) heat [pointer]: The prescribed longwave, latent and sensible heat flux into the ocean [Q R Z T-1 ~> W m-2]. :typefield character (len=200) inputdir: The directory where NetCDF input files are. :typefield character (len=200) salinityrestore_file: The file with the target sea surface salinity. :typefield character (len=200) sstrestore_file: The file with the target sea surface temperature. :typefield character (len=200) solar_file: The file with the shortwave forcing. :typefield character (len=200) heating_file: The file with the longwave, latent, and sensible heating. :typefield character (len=200) pme_file: The file with precipitation minus evaporation. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine meso_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS) This subroutine sets up the MESO buoyancy forcing, which uses control-theory style specification restorative buoyancy fluxes at large scales. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param fluxes: [inout] A structure containing thermodynamic forcing fields :param day: [in] The time of the fluxes :param dt: [in] The amount of time over which the fluxes apply [s] :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: A pointer to the control structure returned by a previous call to MESO_surface_forcing_init :callto: :f:func:`first_call ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine meso_surface_forcing_init(Time, G, US, param_file, diag, CS) Initialize the MESO surface forcing module. :param time: [in] The current model time :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :param diag: [inout] structure used to regulate diagnostic output :param cs: A pointer that is set to point to the control structure for this module :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_surface_forcing::surface_forcing_init ` [debug] xpath(./compounddef/compoundname[text()="meso_surface_forcing::meso_surface_forcing_cs"]/..) match([('id', 'structmeso__surface__forcing_1_1meso__surface__forcing__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'meso_surface_forcing::meso_surface_forcing_cs', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'meso_surface_forcing::meso_buoyancy_forcing', , [debug] DoxygenMethodDocumenter format_signature called ((Time, G, US, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'meso_surface_forcing::meso_surface_forcing_init', type meso_surface_forcing/meso_surface_forcing_cs) [fd] run(.. f:subroutine:: subroutine meso_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS)) [fd] sig(subroutine meso_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(meso_buoyancy_forcing) arglist(sfc_state, fluxes, day, dt, G, US, CS) [fd] fullname(meso_surface_forcing/meso_buoyancy_forcing) ftype(None) [fd] name(('meso_surface_forcing/meso_buoyancy_forcing', None)) sig(subroutine meso_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS)) signode(subroutine meso_surface_forcing/meso_buoyancy_forcingsfc_statefluxesdaydtGUSCS) [fd] run(.. f:subroutine:: subroutine meso_surface_forcing_init(Time, G, US, param_file, diag, CS)) [fd] sig(subroutine meso_surface_forcing_init(Time, G, US, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(meso_surface_forcing_init) arglist(Time, G, US, param_file, diag, CS) [fd] fullname(meso_surface_forcing/meso_surface_forcing_init) ftype(None) [fd] name(('meso_surface_forcing/meso_surface_forcing_init', None)) sig(subroutine meso_surface_forcing_init(Time, G, US, param_file, diag, CS)) signode(subroutine meso_surface_forcing/meso_surface_forcing_initTimeGUSparam_filediagCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 16%] api/generated/modules/mom [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom') [app] emitting event: 'source-read'('api/generated/modules/mom', ['.. autodoxymodule:: mom\n :members:\n :methods:\n :types:\n\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom.rst:1: input: .. autodoxymodule:: mom :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom::mom_control_struct ~mom::mom_diag_ids --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom::step_mom ~mom::step_mom_dynamics ~mom::step_mom_tracer_dyn ~mom::step_mom_thermo ~mom::step_offline ~mom::initialize_mom ~mom::finish_mom_initialization ~mom::register_diags ~mom::mom_timing_init ~mom::set_restart_fields ~mom::adjust_ssh_for_p_atm ~mom::extract_surface_state ~mom::rotate_initial_state ~mom::mom_state_is_synchronized ~mom::get_mom_state_elements ~mom::get_ocean_stocks ~mom::mom_end [debug] xpath(./compounddef/compoundname[text()="mom"]/..) match([('id', 'namespacemom'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom', , {'members': , {'members': ]) [debug] ref([('id', 'MOM_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_sect1 [debug] visit_sect id(namespacemom_1section_structure) title(Structure of MOM) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_verbatim [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM__memory_8h) kindref(compound) ref([]) [debug] ref([('id', 'MOM__memory_8h'), ('kind', 'file'), ('language', 'C++')]) [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM__memory_8h) kindref(compound) ref([]) [debug] ref([('id', 'MOM__memory_8h'), ('kind', 'file'), ('language', 'C++')]) [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM_8F90) kindref(compound) ref([]) [debug] ref([('id', 'MOM_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM_8F90) kindref(compound) ref([]) [debug] ref([('id', 'MOM_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_sect1 [debug] visit_sect id(namespacemom_1section_heat_budget) title(Diagnosing MOM heat budget) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_sect2 [debug] visit_sect id(namespacemom_1subsection_2d_heat_budget) title(Depth integrated heat budget) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 1 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 1 [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 2 [debug] method=visit_para [debug] method=visit_sect2 [debug] visit_sect id(namespacemom_1subsection_3d_heat_budget) title(Depth integrated heat budget) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 1 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM_8F90) kindref(compound) ref([]) [debug] ref([('id', 'MOM_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 1 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM_8F90) kindref(compound) ref([]) [debug] ref([('id', 'MOM_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom', , {'members': ), ('mom::mom_diag_ids', )]) [autodoc] module analyzer failed: error importing 'mom' (exception was: ModuleNotFoundError("No module named 'mom'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom::mom_control_struct', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('step_mom_dynamics', ), ('step_mom_tracer_dyn', ), ('step_mom_thermo', ), ('step_offline', ), ('initialize_mom', ), ('finish_mom_initialization', ), ('register_diags', ), ('mom_timing_init', ), ('set_restart_fields', ), ('adjust_ssh_for_p_atm', ), ('extract_surface_state', ), ('rotate_initial_state', ), ('mom_state_is_synchronized', ), ('get_mom_state_elements', ), ('get_ocean_stocks', ), ('mom_end', )]) [autodoc] module analyzer failed: error importing 'mom' (exception was: ModuleNotFoundError("No module named 'mom'")) [debug] DoxygenMethodDocumenter format_signature called ((forces_in, fluxes_in, sfc_state, Time_start, time_int_in, CS, Waves, do_dynamics, do_thermodynamics, start_cycle, end_cycle, cycle_length, reset_therm)) [debug] add_directive_header sig((forces_in, fluxes_in, sfc_state, Time_start, time_int_in, CS, Waves, do_dynamics, do_thermodynamics, start_cycle, end_cycle, cycle_length, reset_therm)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine step_mom) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'step_mom', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom::mom_control_struct ~mom::mom_diag_ids --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom::step_mom ~mom::step_mom_dynamics ~mom::step_mom_tracer_dyn ~mom::step_mom_thermo ~mom::step_offline ~mom::initialize_mom ~mom::finish_mom_initialization ~mom::register_diags ~mom::mom_timing_init ~mom::set_restart_fields ~mom::adjust_ssh_for_p_atm ~mom::extract_surface_state ~mom::rotate_initial_state ~mom::mom_state_is_synchronized ~mom::get_mom_state_elements ~mom::get_ocean_stocks ~mom::mom_end .. _DETAmom: -------------------- Detailed Description -------------------- Modular Ocean Model (MOM) Version 6.0 (MOM6) Additional contributions from: * Whit Anderson * Brian Arbic * Will Cooke * Anand Gnanadesikan * Matthew Harrison * Mehmet Ilicak * Laura Jackson * Jasmine John * John Krasting * Zhi Liang * Bonnie Samuels * Harper Simmons * Laurent White * Niki Zadeh MOM ice-shelf code was developed by * Daniel Goldberg * Robert Hallberg * Chris Little * Olga Sergienko .. _namespacemom_1section_overview: Overview of MOM =============== This program (MOM) simulates the ocean by numerically solving the hydrostatic primitive equations in generalized Lagrangian vertical coordinates, typically tracking stretched pressure (p*) surfaces or following isopycnals in the ocean's interior, and general orthogonal horizontal coordinates. Unlike earlier versions of MOM, in MOM6 these equations are horizontally discretized on an Arakawa C-grid. (It remains to be seen whether a B-grid dynamic core will be revived in MOM6 at a later date; for now applications requiring a B-grid discretization should use MOM5.1.) MOM6 offers a range of options for the physical parameterizations, from those most appropriate to highly idealized models for geophysical fluid dynamics studies to a rich suite of processes appropriate for realistic ocean simulations. The thermodynamic options typically use conservative temperature and preformed salinity as conservative state variables and a full nonlinear equation of state, but there are also idealized adiabatic configurations of the model that use fixed density layers. Version 6.0 of MOM continues in the long tradition of a commitment to climate-quality ocean simulations embodied in previous versions of MOM, even as it draws extensively on the lessons learned in the development of the Generalized Ocean Layered Dynamics (GOLD) ocean model, which was also primarily developed at NOAA/GFDL. MOM has also benefited tremendously from the FMS infrastructure, which it utilizes and shares with other component models developed at NOAA/GFDL. When run is isopycnal-coordinate mode, the uppermost few layers are often used to describe a bulk mixed layer, including the effects of penetrating shortwave radiation. Either a split- explicit time stepping scheme or a non-split scheme may be used for the dynamics, while the time stepping may be split (and use different numbers of steps to cover the same interval) for the forcing, the thermodynamics, and for the dynamics. Most of the numerics are second order accurate in space. MOM can run with an absurdly thin minimum layer thickness. A variety of non-isopycnal vertical coordinate options are under development, but all exploit the advantages of a Lagrangian vertical coordinate, as discussed in detail by Adcroft and Hallberg (Ocean Modelling, 2006). Details of the numerics and physical parameterizations are provided in the appropriate source files. All of the available options are selected at run-time by parsing the input files, usually MOM_input and MOM_override, and the options choices are then documented for each run in MOM_param_docs. MOM6 integrates the equations forward in time in three distinct phases. In one phase, the dynamic equations for the velocities and layer thicknesses are advanced, capturing the propagation of external and internal inertia-gravity waves, Rossby waves, and other strictly adiabatic processes, including lateral stresses, vertical viscosity and momentum forcing, and interface height diffusion (commonly called Gent-McWilliams diffusion in depth- coordinate models). In the second phase, all tracers are advected and diffused along the layers. The third phase applies diabatic processes, vertical mixing of water properties, and perhaps vertical remapping to cause the layers to track the desired vertical coordinate. The present file ( ``MOM.F90``) orchestrates the main time stepping loops. One time integration option for the dynamics uses a split explicit time stepping scheme to rapidly step the barotropic pressure and velocity fields. The barotropic velocities are averaged over the baroclinic time step before they are used to advect thickness and determine the baroclinic accelerations. As described in Hallberg and Adcroft (2009), a barotropic correction is applied to the time-mean layer velocities to ensure that the sum of the layer transports agrees with the time-mean barotropic transport, thereby ensuring that the estimates of the free surface from the sum of the layer thicknesses agrees with the final free surface height as calculated by the barotropic solver. The barotropic and baroclinic velocities are kept consistent by recalculating the barotropic velocities from the baroclinic transports each time step. This scheme is described in Hallberg, 1997, J. Comp. Phys. 135, 54-65 and in Hallberg and Adcroft, 2009, Ocean Modelling, 29, 15-26. The other time integration options use non-split time stepping schemes based on the 3-step third order Runge-Kutta scheme described in Matsuno, 1966, J. Met. Soc. Japan, 44, 85-88, or on a two-step quasi-2nd order Runge-Kutta scheme. These are much slower than the split time-stepping scheme, but they are useful for providing a more robust solution for debugging cases where the more complicated split time-stepping scheme may be giving suspect solutions. There are a range of closure options available. Horizontal velocities are subject to a combination of horizontal biharmonic and Laplacian friction (based on a stress tensor formalism) and a vertical Fickian viscosity (perhaps using the kinematic viscosity of water). The horizontal viscosities may be constant, spatially varying or may be dynamically calculated using Smagorinsky's approach. A diapycnal diffusion of density and thermodynamic quantities is also allowed, but not required, as is horizontal diffusion of interface heights (akin to the Gent-McWilliams closure of geopotential coordinate models). The diapycnal mixing may use a fixed diffusivity or it may use the shear Richardson number dependent closure, like that described in Jackson et al. (JPO, 2008). When there is diapycnal diffusion, it applies to momentum as well. As this is in addition to the vertical viscosity, the vertical Prandtl always exceeds 1. A refined bulk-mixed layer is often used to describe the planetary boundary layer in realistic ocean simulations. MOM has a number of noteworthy debugging capabilities. Excessively large velocities are truncated and MOM will stop itself after a number of such instances to keep the model from crashing altogether. This is useful in diagnosing failures, or (by accepting some truncations) it may be useful for getting the model past the adjustment from an ill-balanced initial condition. In addition, all of the accelerations in the columns with excessively large velocities may be directed to a text file. Parallelization errors may be diagnosed using the DEBUG option, which causes extensive checksums to be written out along with comments indicating where in the algorithm the sums originate and what variable is being summed. The point where these checksums differ between runs is usually a good indication of where in the code the problem lies. All of the test cases provided with MOM are routinely tested to ensure that they give bitwise identical results regardless of the domain decomposition, or whether they use static or dynamic memory allocation. .. _namespacemom_1section_structure: Structure of MOM ================ About 115 other files of source code and 4 header files comprise the MOM code, although there are several hundred more files that make up the FMS infrastructure upon which MOM is built. Each of the MOM files contains comments documenting what it does, and most of the file names are fairly self-evident. In addition, all subroutines and data types are referenced via a module use, only statement, and the module names are consistent with the file names, so it is not too hard to find the source file for a subroutine. The typical MOM directory tree is as follows: :: ../MOM |-- config_src | |-- coupled_driver | |-- dynamic | `-- solo_driver |-- examples | |-- CM2G | |-- ... | `-- torus_advection_test `-- src |-- core |-- diagnostics |-- equation_of_state |-- framework |-- ice_shelf |-- initialization |-- parameterizations | |-- lateral | `-- vertical |-- tracer `-- user Rather than describing each file here, each directory contents will be described to give a broad overview of the MOM code structure. The directories under config_src contain files that are used for configuring the code, for instance for coupled or ocean-only runs. Only one or two of these directories are used in compiling any, particular run. * config_src/coupled_driver: The files here are used to couple MOM as a component in a larger run driven by the FMS coupler. This includes code that converts various forcing fields into the code structures and flux and unit conventions used by MOM, and converts the MOM surface fields back to the forms used by other FMS components. * config_src/dynamic: The only file here is the version of ``MOM_memory.h`` that is used for dynamic memory configurations of MOM. * config_src/solo_driver: The files here are include the _main driver that is used when MOM is configured as an ocean-only model, as well as the files that specify the surface forcing in this configuration. The directories under examples provide a large number of working configurations of MOM, along with reference solutions for several different compilers on GFDL's latest large computer. The versions of ``MOM_memory.h`` in these directories need not be used if dynamic memory allocation is desired, and the answers should be unchanged. The directories under src contain most of the MOM files. These files are used in every configuration using MOM. * src/core: The files here constitute the MOM dynamic core. This directory also includes files with the types that describe the model's lateral grid and have defined types that are shared across various MOM modules to allow for more succinct and flexible subroutine argument lists. * src/diagnostics: The files here calculate various diagnostics that are anciliary to the model itself. While most of these diagnostics do not directly affect the model's solution, there are some, like the calculation of the deformation radius, that are used in some of the process parameterizations. * src/equation_of_state: These files describe the physical properties of sea-water, including both the equation of state and when it freezes. * src/framework: These files provide infrastructure utilities for MOM. Many are simply wrappers for capabilities provided by FMS, although others provide capabilities (like the file_parser) that are unique to MOM. When MOM is adapted to use a modeling infrastructure distinct from FMS, most of the required changes are in this directory. * src/initialization: These are the files that are used to initialize the MOM grid or provide the initial physical state for MOM. These files are not intended to be modified, but provide a means for calling user-specific initialization code like the examples in src/user. * src/parameterizations/lateral: These files implement a number of quasi-lateral (along-layer) process parameterizations, including lateral viscosities, parameterizations of eddy effects, and the calculation of tidal forcing. * src/parameterizations/vertical: These files implement a number of vertical mixing or diabatic processes, including the effects of vertical viscosity and code to parameterize the planetary boundary layer. There is a separate driver that orchestrates this portion of the algorithm, and there is a diversity of parameterizations to be found here. * src/tracer: These files handle the lateral transport and diffusion of tracers, or are the code to implement various passive tracer packages. Additional tracer packages are readily accommodated. * src/user: These are either stub routines that a user could use to change the model's initial conditions or forcing, or are examples that implement specific test cases. These files can easily be hand edited to create new analytically specified configurations. Most simulations can be set up by modifying only the files MOM_input, and possibly one or two of the files in src/user. In addition, the diag_table (MOM_diag_table) will commonly be modified to tailor the output to the needs of the question at hand. The FMS utility mkmf works with a file called path_names to build an appropriate makefile, and path_names should be edited to reflect the actual location of the desired source code. There are 3 publicly visible subroutines in this file ( ``MOM.F90``). * step_MOM steps MOM over a specified interval of time. * MOM_initialize calls initialize and does other initialization that does not warrant user modification. * extract_surface_state determines the surface (bulk mixed layer if traditional isoycnal vertical coordinate) properties of the current model state and packages pointers to these fields into an exported structure. The remaining subroutines in this file ( ``src/core/MOM.F90``) are: * find_total_transport determines the barotropic mass transport. * register_diags registers many diagnostic fields for the dynamic solver, or of the main model variables. * MOM_timing_init initializes various CPU time clocks. * write_static_fields writes out various time-invariant fields. * set_restart_fields is used to specify those fields that are written to and read from the restart file. .. _namespacemom_1section_heat_budget: Diagnosing MOM heat budget ========================== Here are some example heat budgets for the ALE version of MOM6. .. _namespacemom_1subsection_2d_heat_budget: Depth integrated heat budget ---------------------------- Depth integrated heat budget diagnostic for MOM. * OPOTTEMPTEND_2d = T_ADVECTION_XY_2d + OPOTTEMPPMDIFF_2d + HFDS + HFGEOU * T_ADVECTION_XY_2d = horizontal advection * OPOTTEMPPMDIFF_2d = neutral diffusion * HFDS = net surface boundary heat flux * HFGEOU = geothermal heat flux * HFDS = net surface boundary heat flux entering the ocean = rsntds + rlntds + hfls + hfss + heat_pme + hfsifrazil * More heat flux cross-checks * hfds = net_heat_coupler + hfsifrazil + heat_pme * heat_pme = heat_content_surfwater = heat_content_massin + heat_content_massout = heat_content_fprec + heat_content_cond + heat_content_vprec * hfrunoffds + hfevapds + hfrainds .. _namespacemom_1subsection_3d_heat_budget: Depth integrated heat budget ---------------------------- Here is an example 3d heat budget diagnostic for MOM. * OPOTTEMPTEND = T_ADVECTION_XY + TH_TENDENCY_VERT_REMAP + OPOTTEMPDIFF + OPOTTEMPPMDIFF * BOUNDARY_FORCING_HEAT_TENDENCY + FRAZIL_HEAT_TENDENCY * OPOTTEMPTEND = net tendency of heat as diagnosed in ``MOM.F90`` * T_ADVECTION_XY = heating of a cell from lateral advection * TH_TENDENCY_VERT_REMAP = heating of a cell from vertical remapping * OPOTTEMPDIFF = heating of a cell from diabatic diffusion * OPOTTEMPPMDIFF = heating of a cell from neutral diffusion * BOUNDARY_FORCING_HEAT_TENDENCY = heating of cell from boundary fluxes * FRAZIL_HEAT_TENDENCY = heating of cell from frazil * TH_TENDENCY_VERT_REMAP has zero vertical sum, as it redistributes heat in vertical. * OPOTTEMPDIFF has zero vertical sum, as it redistributes heat in the vertical. * BOUNDARY_FORCING_HEAT_TENDENCY generally has 3d structure, with k > 1 contributions from penetrative shortwave, and from other fluxes for the case when layers are tiny, in which case MOM6 partitions tendencies into k > 1 layers. * FRAZIL_HEAT_TENDENCY generally has 3d structure, since MOM6 frazil calculation checks the full ocean column. * FRAZIL_HEAT_TENDENCY[k=@sum] = HFSIFRAZIL = column integrated frazil heating. * HFDS = FRAZIL_HEAT_TENDENCY[k=@sum] + BOUNDARY_FORCING_HEAT_TENDENCY[k=@sum] Here is an example 2d heat budget (depth summed) diagnostic for MOM. * OPOTTEMPTEND_2d = T_ADVECTION_XY_2d + OPOTTEMPPMDIFF_2d + HFDS Here is an example 3d salt budget diagnostic for MOM. * OSALTTEND = S_ADVECTION_XY + SH_TENDENCY_VERT_REMAP + OSALTDIFF + OSALTPMDIFF * BOUNDARY_FORCING_SALT_TENDENCY * OSALTTEND = net tendency of salt as diagnosed in ``MOM.F90`` * S_ADVECTION_XY = salt convergence to cell from lateral advection * SH_TENDENCY_VERT_REMAP = salt convergence to cell from vertical remapping * OSALTDIFF = salt convergence to cell from diabatic diffusion * OSALTPMDIFF = salt convergence to cell from neutral diffusion * BOUNDARY_FORCING_SALT_TENDENCY = salt convergence to cell from boundary fluxes * SH_TENDENCY_VERT_REMAP has zero vertical sum, as it redistributes salt in vertical. * OSALTDIFF has zero vertical sum, as it redistributes salt in the vertical. * BOUNDARY_FORCING_SALT_TENDENCY generally has 3d structure, with k > 1 contributions from the case when layers are tiny, in which case MOM6 partitions tendencies into k > 1 layers. * SFDSI = BOUNDARY_FORCING_SALT_TENDENCY[k=@sum] Here is an example 2d salt budget (depth summed) diagnostic for MOM. * OSALTTEND_2d = S_ADVECTION_XY_2d + OSALTPMDIFF_2d + SFDSI (+ SALT_FLUX_RESTORE) ------------------ Type Documentation ------------------ .. f:type:: mom_control_struct Control structure for the MOM module, including the variables that describe the state of the ocean. :typefield real(\: h [:, :), allocatable]: layer thickness [H ~> m or kg m-2] :typefield real(\: t [:, :), allocatable]: potential temperature [degC] :typefield real(\: s [:, :), allocatable]: salinity [ppt] :typefield real(\: u [:, :), allocatable]: zonal velocity component [L T-1 ~> m s-1] :typefield real(\: uh [:, :), allocatable]: uh = u * h * dy at u grid points [H L2 T-1 ~> m3 s-1 or kg s-1] :typefield real(\: uhtr [:, :), allocatable]: accumulated zonal thickness fluxes to advect tracers [H L2 ~> m3 or kg] :typefield real(\: v [:, :), allocatable]: meridional velocity [L T-1 ~> m s-1] :typefield real(\: vh [:, :), allocatable]: vh = v * h * dx at v grid points [H L2 T-1 ~> m3 s-1 or kg s-1] :typefield real(\: vhtr [:, :), allocatable]: accumulated meridional thickness fluxes to advect tracers [H L2 ~> m3 or kg] :typefield real(\: ssh_rint [:), allocatable]: A running time integral of the sea surface height [T m ~> s m]. :typefield real(\: ave_ssh_ibc [:), allocatable]: time-averaged (over a forcing time step) sea surface height with a correction for the inverse barometer [m] :typefield real(\: eta_av_bc [:), allocatable]: free surface height or column mass time averaged over the last baroclinic dynamics time step [H ~> m or kg m-2] :typefield real(\:,\:) hml [pointer]: active mixed layer depth [Z ~> m] :typefield real time_in_cycle: The running time of the current time-stepping cycle in calls that step the dynamics, and also the length of the time integral of ssh_rint [T ~> s]. :typefield real time_in_thermo_cycle: The running time of the current time-stepping cycle in calls that step the thermodynamics [T ~> s]. :typefield type(ocean_grid_type) g_in: Input grid metric. :typefield type(ocean_grid_type) g [pointer]: Model grid metric. :typefield logical rotate_index: True if index map is rotated. :typefield type(verticalgrid_type) gv [pointer]: structure containing vertical grid info :typefield type(unit_scale_type) us [pointer]: structure containing various unit conversion factors :typefield type(thermo_var_ptrs) tv: structure containing pointers to available thermodynamic fields :typefield real t_dyn_rel_adv: The time of the dynamics relative to tracer advection and lateral mixing [T ~> s], or equivalently the elapsed time since advectively updating the tracers. t_dyn_rel_adv is invariably positive and may span multiple coupling timesteps. :typefield real t_dyn_rel_thermo: The time of the dynamics relative to diabatic processes and remapping [T ~> s]. t_dyn_rel_thermo can be negative or positive depending on whether the diabatic processes are applied before or after the dynamics and may span multiple coupling timesteps. :typefield real t_dyn_rel_diag: The time of the diagnostics relative to diabatic processes and remapping [T ~> s]. t_dyn_rel_diag is always positive, since the diagnostics must lag. :typefield logical preadv_h_stored: If true, the thicknesses from before the advective cycle have been stored for use in diagnostics. :typefield type(diag_ctrl) diag: structure to regulate diagnostic output timing :typefield type(vertvisc_type) visc: structure containing vertical viscosities, bottom drag viscosities, and related fields :typefield type(meke_type) meke [pointer]: structure containing fields related to the Mesoscale Eddy Kinetic Energy :typefield logical adiabatic: If true, there are no diapycnal mass fluxes, and no calls to routines to calculate or apply diapycnal fluxes. :typefield logical diabatic_first: If true, apply diabatic and thermodynamic processes before time stepping the dynamics. :typefield logical use_ale_algorithm: If true, use the ALE algorithm rather than layered isopycnal/stacked shallow water mode. This logical is set by calling the function useRegridding() from the MOM_regridding module. :typefield logical offline_tracer_mode: If true, :typefield type(time_type) time [pointer]: pointer to the ocean clock :typefield real dt: (baroclinic) dynamics time step [T ~> s] :typefield real dt_therm: thermodynamics time step [T ~> s] :typefield logical thermo_spans_coupling: If true, thermodynamic and tracer time steps can span multiple coupled time steps. :typefield integer nstep_tot: The total number of dynamic timesteps tcaaken so far in this run segment. :typefield logical count_calls: If true, count the calls to step_MOM, rather than the number of dynamics steps in nstep_tot. :typefield logical debug: If true, write verbose checksums for debugging purposes. :typefield integer ntrunc: number u,v truncations since last call to write_energy :typefield integer cont_stencil: The stencil for thickness from the continuity solver. :typefield logical do_dynamics: If false, does not call step_MOM_dyn_*. This is an undocumented run-time flag that is fragile. :typefield logical split: If true, use the split time stepping scheme. :typefield logical use_rk2: If true, use RK2 instead of RK3 in unsplit mode (i.e., no split between barotropic and baroclinic). :typefield logical thickness_diffuse: If true, diffuse interface height w/ a diffusivity KHTH. :typefield logical thickness_diffuse_first: If true, diffuse thickness before dynamics. :typefield logical mixedlayer_restrat: If true, use submesoscale mixed layer restratifying scheme. :typefield logical usemeke: If true, call the MEKE parameterization. :typefield logical usewaves: If true, update Stokes drift. :typefield logical use_p_surf_in_eos: If true, always include the surface pressure contributions in equation of state calculations. :typefield real dtbt_reset_period: The time interval between dynamic recalculation of the barotropic time step [s]. If this is negative dtbt is never calculated, and if it is 0, dtbt is calculated every step. :typefield type(time_type) dtbt_reset_interval: A time_time representation of dtbt_reset_period. :typefield type(time_type) dtbt_reset_time: The next time DTBT should be calculated. :typefield real(\:,\:,\:) h_pre_dyn [pointer]: The thickness before the transports [H ~> m or kg m-2]. :typefield real(\:,\:,\:) t_pre_dyn [pointer]: Temperature before the transports [degC]. :typefield real(\:,\:,\:) s_pre_dyn [pointer]: Salinity before the transports [ppt]. :typefield type(accel_diag_ptrs) adp: structure containing pointers to accelerations, for derived diagnostics (e.g., energy budgets) :typefield type(cont_diag_ptrs) cdp: structure containing pointers to continuity equation terms, for derived diagnostics (e.g., energy budgets) :typefield real(\:,\:,\:) u_prev [pointer]: previous value of u stored for diagnostics [L T-1 ~> m s-1] :typefield real(\:,\:,\:) v_prev [pointer]: previous value of v stored for diagnostics [L T-1 ~> m s-1] :typefield logical interp_p_surf: If true, linearly interpolate surface pressure over the coupling time step, using specified value at the end of the coupling step. False by default. :typefield logical p_surf_prev_set: If true, p_surf_prev has been properly set from a previous time-step or the ocean restart file. This is only valid when interp_p_surf is true. :typefield real(\:,\:) p_surf_prev [pointer]: surface pressure [R L2 T-2 ~> Pa] at end previous call to step_MOM :typefield real(\:,\:) p_surf_begin [pointer]: surface pressure [R L2 T-2 ~> Pa] at start of step_MOM_dyn_... :typefield real(\:,\:) p_surf_end [pointer]: surface pressure [R L2 T-2 ~> Pa] at end of step_MOM_dyn_... :typefield logical write_ic: If true, then the initial conditions will be written to file. :typefield character (len=120) ic_file: A file into which the initial conditions are written in a new run if SAVE_INITIAL_CONDS is true. :typefield logical calc_rho_for_sea_lev: If true, calculate rho to convert pressure to sea level. :typefield real hmix: Diagnostic mixed layer thickness over which to average surface tracer properties when a bulk mixed layer is not used [Z ~> m], or a negative value if a bulk mixed layer is being used. :typefield real hfrz: If HFrz > 0, the nominal depth over which melt potential is computed [Z ~> m]. The actual depth over which melt potential is computed is min(HFrz, OBLD), where OBLD is the boundary layer depth. If HFrz <= 0 (default), melt potential will not be computed. :typefield real hmix_uv: Depth scale over which to average surface flow to feedback to the coupler/driver [Z ~> m] when bulk mixed layer is not used, or a negative value if a bulk mixed layer is being used. :typefield logical check_bad_sfc_vals: If true, scan surface state for ridiculous values. :typefield real bad_val_ssh_max: Maximum SSH before triggering bad value message [Z ~> m]. :typefield real bad_val_sst_max: Maximum SST before triggering bad value message [degC]. :typefield real bad_val_sst_min: Minimum SST before triggering bad value message [degC]. :typefield real bad_val_sss_max: Maximum SSS before triggering bad value message [ppt]. :typefield real bad_val_col_thick: Minimum column thickness before triggering bad value message [Z ~> m]. :typefield logical answers_2018: If true, use expressions for the surface properties that recover the answers from the end of 2018. Otherwise, use more appropriate expressions that differ at roundoff for non-Boussinsq cases. :typefield type( mom_diag_ids ) ids: Handles used for diagnostics. :typefield type(transport_diag_ids) transport_ids: Handles used for transport diagnostics. :typefield type(surface_diag_ids) sfc_ids: Handles used for surface diagnostics. :typefield type(diag_grid_storage) diag_pre_sync: The grid (thicknesses) before remapping. :typefield type(diag_grid_storage) diag_pre_dyn: The grid (thicknesses) before dynamics. :typefield type(mom_dyn_unsplit_cs) dyn_unsplit_csp [pointer]: Pointer to the control structure used for the unsplit dynamics. :typefield type(mom_dyn_unsplit_rk2_cs) dyn_unsplit_rk2_csp [pointer]: Pointer to the control structure used for the unsplit RK2 dynamics. :typefield type(mom_dyn_split_rk2_cs) dyn_split_rk2_csp [pointer]: Pointer to the control structure used for the mode-split RK2 dynamics. :typefield type(thickness_diffuse_cs) thickness_diffuse_csp [pointer]: Pointer to the control structure used for the isopycnal height diffusive transport. This is also common referred to as Gent-McWilliams diffusion. :typefield type(mixedlayer_restrat_cs) mixedlayer_restrat_csp [pointer]: Pointer to the control structure used for the mixed layer restratification. :typefield type(set_visc_cs) set_visc_csp [pointer]: Pointer to the control structure used to set viscosities. :typefield type(diabatic_cs) diabatic_csp [pointer]: Pointer to the control structure for the diabatic driver. :typefield type(meke_cs) meke_csp [pointer]: Pointer to the control structure for the MEKE updates. :typefield type(varmix_cs) varmix [pointer]: Pointer to the control structure for the variable mixing module. :typefield type(barotropic_cs) barotropic_csp [pointer]: Pointer to the control structure for the barotropic module. :typefield type(tracer_registry_type) tracer_reg [pointer]: Pointer to the MOM tracer registry. :typefield type(tracer_advect_cs) tracer_adv_csp [pointer]: Pointer to the MOM tracer advection control structure. :typefield type(tracer_hor_diff_cs) tracer_diff_csp [pointer]: Pointer to the MOM along-isopycnal tracer diffusion control structure. :typefield type(tracer_flow_control_cs) tracer_flow_csp [pointer]: Pointer to the control structure that orchestrates the calling of tracer packages. :typefield type(update_obc_cs) update_obc_csp [pointer]: Pointer to the control structure for updating open boundary condition properties. :typefield type(ocean_obc_type) obc [pointer]: Pointer to the MOM open boundary condition type. :typefield type(sponge_cs) sponge_csp [pointer]: Pointer to the layered-mode sponge control structure. :typefield type(ale_sponge_cs) ale_sponge_csp [pointer]: Pointer to the ALE-mode sponge control structure. :typefield type(ale_cs) ale_csp [pointer]: Pointer to the Arbitrary Lagrangian Eulerian (ALE) vertical coordinate control structure. :typefield type(sum_output_cs) sum_output_csp [pointer]: Pointer to the globally summed output control structure. :typefield type(diagnostics_cs) diagnostics_csp [pointer]: Pointer to the MOM diagnostics control structure. :typefield type(offline_transport_cs) offline_csp [pointer]: Pointer to the offline tracer transport control structure. :typefield logical ensemble_ocean: if true, this run is part of a larger ensemble for the purpose of data assimilation or statistical analysis. :typefield type(oda_cs) odacs [pointer]: a pointer to the control structure for handling ensemble model state vectors and data assimilation increments and priors .. f:type:: mom_diag_ids A structure with diagnostic IDs of the state variables. :typefield integer id_u [private]: 3-d state field diagnostic IDs :typefield integer id_v [private]: 3-d state field diagnostic IDs :typefield integer id_h [private]: 3-d state field diagnostic IDs :typefield integer id_ssh_inst [private]: 2-d state field diagnotic ID --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine step_mom(forces_in, fluxes_in, sfc_state, Time_start, time_int_in, CS, Waves, do_dynamics, do_thermodynamics, start_cycle, end_cycle, cycle_length, reset_therm) This subroutine orchestrates the time stepping of MOM. The adiabatic dynamics are stepped by calls to one of the step_MOM_dyn_...routines. The action of lateral processes on tracers occur in calls to advect_tracer and tracer_hordiff. Vertical mixing and possibly remapping occur inside of diabatic. :param forces_in: [inout] A structure with the driving mechanical forces :param fluxes_in: [inout] A structure with pointers to themodynamic, tracer and mass exchange forcing fields :param sfc_state: [inout] surface ocean state :param time_start: [in] starting time of a segment, as a time type :param time_int_in: [in] time interval covered by this run segment [s]. :param cs: control structure from initialize_MOM :param waves: An optional pointer to a wave property CS :param do_dynamics: [in] Present and false, do not do updates due to the dynamics. :param do_thermodynamics: [in] Present and false, do not do updates due to the thermodynamics or remapping. :param start_cycle: [in] This indicates whether this call is to be treated as the first call to step_MOM in a time-stepping cycle; missing is like true. :param end_cycle: [in] This indicates whether this call is to be treated as the last call to step_MOM in a time-stepping cycle; missing is like true. :param cycle_length: [in] The amount of time in a coupled time stepping cycle [s]. :param reset_therm: [in] This indicates whether the running sums of thermodynamic quantities should be reset. If missing, this is like start_cycle. :callto: :f:func:`adjust_ssh_for_p_atm ` :callto: :f:func:`mom_lateral_mixing_coeffs::calc_depth_function ` :callto: :f:func:`mom_lateral_mixing_coeffs::calc_resoln_function ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_error_handler::calltree_waypoint ` :callto: :f:func:`mom_domains::complete_group_pass ` :callto: :f:func:`mom_diag_mediator::diag_copy_diag_to_storage ` :callto: :f:func:`extract_surface_state ` :callto: :f:func:`id_clock_diagnostics ` :callto: :f:func:`id_clock_dynamics ` :callto: :f:func:`id_clock_ocean ` :callto: :f:func:`id_clock_other ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`mom_state_is_synchronized ` :callto: :f:func:`mom_forcing_type::rotate_forcing ` :callto: :f:func:`mom_forcing_type::rotate_mech_forcing ` :callto: :f:func:`mom_variables::rotate_surface_state ` :callto: :f:func:`mom_oda_driver_mod::set_analysis_time ` :callto: :f:func:`mom_oda_driver_mod::set_prior_tracer ` :callto: :f:func:`mom_domains::start_group_pass ` :callto: :f:func:`step_mom_dynamics ` :callto: :f:func:`step_mom_thermo ` :callto: :f:func:`step_mom_tracer_dyn ` :callto: :f:func:`mom_wave_interface::update_stokes_drift ` :calledfrom: :f:func:`mom_main ` .. f:subroutine:: subroutine step_mom_dynamics(forces, p_surf_begin, p_surf_end, dt, dt_thermo, bbl_time_int, CS, Time_local, Waves) Time step the ocean dynamics, including the momentum and continuity equations. :param forces: [in] A structure with the driving mechanical forces :param p_surf_begin: A pointer (perhaps NULL) to the surface pressure at the beginning of this dynamic step, intent in [R L2 T-2 ~> Pa]. :param p_surf_end: A pointer (perhaps NULL) to the surface pressure at the end of this dynamic step, intent in [R L2 T-2 ~> Pa]. :param dt: [in] time interval covered by this call [T ~> s]. :param dt_thermo: [in] time interval covered by any updates that may span multiple dynamics steps [T ~> s]. :param bbl_time_int: [in] time interval over which updates to the bottom boundary layer properties will apply [T ~> s], or zero not to update the properties. :param cs: control structure from initialize_MOM :param time_local: [in] End time of a segment, as a time type :param waves: Container for wave related parameters; the :callto: :f:func:`mom_error_handler::calltree_waypoint ` :callto: :f:func:`id_clock_bbl_visc ` :callto: :f:func:`id_clock_diagnostics ` :callto: :f:func:`id_clock_dynamics ` :callto: :f:func:`id_clock_ml_restrat ` :callto: :f:func:`id_clock_other ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_thick_diff ` :callto: :f:func:`mom_meke::step_forward_meke ` :callto: :f:func:`mom_thickness_diffuse::thickness_diffuse ` :calledfrom: :f:func:`step_mom ` .. f:subroutine:: subroutine step_mom_tracer_dyn(CS, G, GV, US, h, Time_local) step_MOM_tracer_dyn does tracer advection and lateral diffusion, bringing the tracers up to date with the changes in state due to the dynamics. Surface sources and sinks and remapping are handled via step_MOM_thermo. :param cs: [inout] control structure :param g: [inout] ocean grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] layer thicknesses after the transports [H ~> m or kg m-2] :param time_local: [in] The model time at the end of the time step. :callto: :f:func:`mom_error_handler::calltree_waypoint ` :callto: :f:func:`id_clock_diagnostics ` :callto: :f:func:`id_clock_other ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_thermo ` :callto: :f:func:`id_clock_tracer ` :calledfrom: :f:func:`step_mom ` .. f:subroutine:: subroutine step_mom_thermo(CS, G, GV, US, u, v, h, tv, fluxes, dtdia, Time_end_thermo, update_BBL, Waves) MOM_step_thermo orchestrates the thermodynamic time stepping and vertical remapping, via calls to diabatic (or adiabatic) and ALE_main. :param cs: [inout] Master MOM control structure :param g: [inout] ocean grid structure :param gv: [inout] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param u: [inout] zonal velocity [L T-1 ~> m s-1] :param v: [inout] meridional velocity [L T-1 ~> m s-1] :param h: [inout] layer thickness [H ~> m or kg m-2] :param tv: [inout] A structure pointing to various thermodynamic variables :param fluxes: [inout] pointers to forcing fields :param dtdia: [in] The time interval over which to advance [T ~> s] :param time_end_thermo: [in] End of averaging interval for thermo diags :param update_bbl: [in] If true, calculate the bottom boundary layer properties. :param waves: Container for wave related parameters :callto: :f:func:`mom_diabatic_driver::adiabatic ` :callto: :f:func:`mom_oda_driver_mod::apply_oda_tracer_increments ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_error_handler::calltree_waypoint ` :callto: :f:func:`id_clock_adiabatic ` :callto: :f:func:`id_clock_ale ` :callto: :f:func:`id_clock_bbl_visc ` :callto: :f:func:`id_clock_diabatic ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_thermo ` :calledfrom: :f:func:`step_mom ` .. f:subroutine:: subroutine step_offline(forces, fluxes, sfc_state, Time_start, time_interval, CS) step_offline is the main driver for running tracers offline in MOM6. This has been primarily developed with ALE configurations in mind. Some work has been done in isopycnal configuration, but the work is very preliminary. Some more detail about this capability along with some of the subroutines called here can be found in tracers/MOM_offline_control.F90 :param forces: [in] A structure with the driving mechanical forces :param fluxes: [inout] pointers to forcing fields :param sfc_state: [inout] surface ocean state :param time_start: [in] starting time of a segment, as a time type :param time_interval: [in] time interval :param cs: control structure from initialize_MOM :callto: :f:func:`adjust_ssh_for_p_atm ` :callto: :f:func:`mom_ale::ale_offline_tracer_final ` :callto: :f:func:`mom_lateral_mixing_coeffs::calc_depth_function ` :callto: :f:func:`mom_lateral_mixing_coeffs::calc_resoln_function ` :callto: :f:func:`extract_surface_state ` :callto: :f:func:`id_clock_ale ` :callto: :f:func:`id_clock_offline_tracer ` :callto: :f:func:`mom_offline_main::offline_advection_layer ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`ocean_model_mod::update_ocean_model ` .. f:subroutine:: subroutine initialize_mom(Time, Time_init, param_file, dirs, CS, restart_CSp, Time_in, offline_tracer_mode, input_restart_file, diag_ptr, count_calls, tracer_flow_CSp) Initialize MOM, including memory allocation, setting up parameters and diagnostics, initializing the ocean state variables, and initializing subsidiary modules. :param time: [inout] model time, set in this routine :param time_init: [in] The start time for the coupled model's calendar :param param_file: [out] structure indicating parameter file to parse :param dirs: [out] structure with directory paths :param cs: pointer set in this routine to MOM control structure :param restart_csp: pointer set in this routine to the restart control structure that will be used for MOM. :param time_in: [in] time passed to MOM_initialize_state when model is not being started from a restart file :param offline_tracer_mode: [out] True is returned if tracers are being run offline :param input_restart_file: [in] If present, name of restart file to read :param diag_ptr: A pointer set in this routine to the diagnostic regulatory structure :param tracer_flow_csp: A pointer set in this routine to :param count_calls: [in] If true, nstep_tot counts the number of calls to step_MOM instead of the number of dynamics timesteps. :callto: :f:func:`mom_diabatic_driver::adiabatic_driver_init ` :callto: :f:func:`mom_boundary_update::call_obc_register ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_error_handler::calltree_waypoint ` :callto: :f:func:`mom_dyn_horgrid::create_dyn_horgrid ` :callto: :f:func:`mom_dyn_horgrid::destroy_dyn_horgrid ` :callto: :f:func:`mom_diag_mediator::diag_copy_diag_to_storage ` :callto: :f:func:`mom_eos::eos_init ` :callto: :f:func:`mom_obsolete_params::find_obsolete_params ` :callto: :f:func:`mom_get_input::get_mom_input ` :callto: :f:func:`mom_verticalgrid::get_tr_flux_units ` :callto: :f:func:`id_clock_init ` :callto: :f:func:`id_clock_mom_init ` :callto: :f:func:`id_clock_pass_init ` :callto: :f:func:`id_clock_unit_tests ` :callto: :f:func:`mom_ale_sponge::init_ale_sponge_diags ` :callto: :f:func:`mom_sponge::init_sponge_diags ` :callto: :f:func:`mom_restart::is_new_run ` :callto: :f:func:`mom_tracer_registry::lock_tracer_registry ` :callto: :f:func:`mom_meke::meke_alloc_register_restart ` :callto: :f:func:`mom_meke::meke_init ` :callto: :f:func:`mom_mixed_layer_restrat::mixedlayer_restrat_register_restarts ` :callto: :f:func:`mom_coord_initialization::mom_initialize_coord ` :callto: :f:func:`mom_fixed_initialization::mom_initialize_fixed ` :callto: :f:func:`mom_state_initialization::mom_initialize_state ` :callto: :f:func:`mom_sum_output::mom_sum_output_init ` :callto: :f:func:`mom_timing_init ` :callto: :f:func:`register_diags ` :callto: :f:func:`mom_obsolete_diagnostics::register_obsolete_diagnostics ` :callto: :f:func:`mom_restart::restart_init ` :callto: :f:func:`mom_transcribe_grid::rotate_dyngrid ` :callto: :f:func:`mom_hor_index::rotate_hor_index ` :callto: :f:func:`rotate_initial_state ` :callto: :f:func:`mom_open_boundary::rotate_obc_config ` :callto: :f:func:`mom_open_boundary::rotate_obc_init ` :callto: :f:func:`mom_grid::set_first_direction ` :callto: :f:func:`set_restart_fields ` :callto: :f:func:`mom_set_visc::set_visc_register_restarts ` :callto: :f:func:`mom_thickness_diffuse::thickness_diffuse_init ` :callto: :f:func:`mom_unit_tests::unit_tests ` :calledfrom: :f:func:`mom_main ` .. f:subroutine:: subroutine finish_mom_initialization(Time, dirs, CS, restart_CSp) Finishes initializing MOM and writes out the initial conditions. :param time: [in] model time, used in this routine :param dirs: [in] structure with directory paths :param cs: pointer to MOM control structure :param restart_csp: pointer to the restart control structure that will be used for MOM. :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_unit_scaling::fix_restart_unit_scaling ` :callto: :f:func:`id_clock_init ` :calledfrom: :f:func:`mom_main ` .. f:subroutine:: subroutine register_diags(Time, G, GV, US, IDs, diag) Register certain diagnostics. :param time: [in] current model time :param g: [in] ocean grid structure :param gv: [in] ocean vertical grid structure :param us: [inout] A dimensional unit scaling type :param ids: [inout] A structure with the diagnostic IDs. :param diag: [inout] regulates diagnostic output :callto: :f:func:`mom_verticalgrid::get_thickness_units ` :calledfrom: :f:func:`initialize_mom ` .. f:subroutine:: subroutine mom_timing_init(CS) Set up CPU clock IDs for timing various subroutines. :param cs: [in] control structure set up by initialize_MOM. :callto: :f:func:`id_clock_adiabatic ` :callto: :f:func:`id_clock_ale ` :callto: :f:func:`id_clock_bbl_visc ` :callto: :f:func:`id_clock_continuity ` :callto: :f:func:`id_clock_diabatic ` :callto: :f:func:`id_clock_diagnostics ` :callto: :f:func:`id_clock_dynamics ` :callto: :f:func:`id_clock_ml_restrat ` :callto: :f:func:`id_clock_mom_init ` :callto: :f:func:`id_clock_ocean ` :callto: :f:func:`id_clock_offline_tracer ` :callto: :f:func:`id_clock_other ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_pass_init ` :callto: :f:func:`id_clock_thermo ` :callto: :f:func:`id_clock_thick_diff ` :callto: :f:func:`id_clock_tracer ` :callto: :f:func:`id_clock_z_diag ` :calledfrom: :f:func:`initialize_mom ` .. f:subroutine:: subroutine set_restart_fields(GV, US, param_file, CS, restart_CSp) Set the fields that are needed for bitwise identical restarting the time stepping scheme. In addition to those specified here directly, there may be fields related to the forcing or to the barotropic solver that are needed; these are specified in sub- routines that are called from this one. This routine should be altered if there are any changes to the time stepping scheme. The CHECK_RESTART facility may be used to confirm that all needed restart fields have been included. :param gv: [inout] ocean vertical grid structure :param us: [inout] A dimensional unit scaling type :param param_file: [in] opened file for parsing to get parameters :param cs: [in] control structure set up by initialize_MOM :param restart_csp: pointer to the restart control structure that will be used for MOM. :callto: :f:func:`mom_verticalgrid::get_flux_units ` :callto: :f:func:`mom_verticalgrid::get_thickness_units ` :calledfrom: :f:func:`initialize_mom ` .. f:subroutine:: subroutine adjust_ssh_for_p_atm(tv, G, GV, US, ssh, p_atm, use_EOS) Apply a correction to the sea surface height to compensate for the atmospheric pressure (the inverse barometer). :param tv: [in] A structure pointing to various thermodynamic variables :param g: [in] ocean grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param ssh: [inout] time mean surface height [m] :param p_atm: Ocean surface pressure [R L2 T-2 ~> Pa] :param use_eos: [in] If true, calculate the density for the SSH correction using the equation of state. :callto: :f:func:`mom_eos::eos_domain ` :calledfrom: :f:func:`step_mom ` :calledfrom: :f:func:`step_offline ` .. f:subroutine:: subroutine extract_surface_state(CS, sfc_state_in) Set the surface (return) properties of the ocean model by setting the appropriate fields in sfc_state. Unused fields are set to NULL or are unallocated. :param cs: Master MOM control structure :param sfc_state_in: [inout] transparent ocean surface state structure shared with the calling routine data in this structure is intent out. :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_checksum_packages::mom_surface_chksum ` :callto: :f:func:`mom_variables::rotate_surface_state ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`step_mom ` :calledfrom: :f:func:`step_offline ` .. f:subroutine:: subroutine rotate_initial_state(u_in, v_in, h_in, T_in, S_in, use_temperature, turns, u, v, h, T, S) Rotate initialization fields from input to rotated arrays. :calledfrom: :f:func:`initialize_mom ` .. f:function:: logical function mom_state_is_synchronized(CS, adv_dyn) Return true if all phases of step_MOM are at the same point in time. :param cs: MOM control structure :param adv_dyn: [in] If present and true, only check whether the advection is up-to-date with the dynamics. :returns undefined: True if all phases of the update are synchronized. :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`step_mom ` .. f:subroutine:: subroutine get_mom_state_elements(CS, G, GV, US, C_p, C_p_scaled, use_temp) This subroutine offers access to values or pointers to other types from within the MOM_control_struct, allowing the MOM_control_struct to be opaque. :param cs: MOM control structure :param g: structure containing metrics and grid info :param gv: structure containing vertical grid info :param us: A dimensional unit scaling type :param c_p: [out] The heat capacity [J kg degC-1] :param c_p_scaled: [out] The heat capacity in scaled units [Q degC-1 ~> J kg degC-1] :param use_temp: [out] True if temperature is a state variable :calledfrom: :f:func:`mom_main ` .. f:subroutine:: subroutine get_ocean_stocks(CS, mass, heat, salt, on_PE_only) Find the global integrals of various quantities. :param cs: MOM control structure :param heat: [out] The globally integrated integrated ocean heat [J]. :param salt: [out] The globally integrated integrated ocean salt [kg]. :param mass: [out] The globally integrated integrated ocean mass [kg]. :param on_pe_only: [in] If present and true, only sum on the local PE. :callto: :f:func:`mom_spatial_means::global_mass_integral ` :calledfrom: :f:func:`ocean_model_mod::ocean_stock_pe ` .. f:subroutine:: subroutine mom_end(CS) End of ocean model, including memory deallocation. :param cs: MOM control structure :callto: :f:func:`mom_diabatic_driver::diabatic_driver_end ` :callto: :f:func:`mom_boundary_update::obc_register_end ` :callto: :f:func:`mom_offline_main::offline_transport_end ` :callto: :f:func:`mom_tracer_advect::tracer_advect_end ` :callto: :f:func:`mom_tracer_flow_control::tracer_flow_control_end ` :callto: :f:func:`mom_tracer_hor_diff::tracer_hor_diff_end ` :callto: :f:func:`mom_tracer_registry::tracer_registry_end ` :callto: :f:func:`mom_unit_scaling::unit_scaling_end ` :calledfrom: :f:func:`mom_main ` [debug] xpath(./compounddef/compoundname[text()="mom::mom_control_struct"]/..) match([('id', 'structmom_1_1mom__control__struct'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom::mom_control_struct', , {}, ['', 'Control [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom::mom_control_struct', , {}, ['`More... , {}, ['', 'Control [debug] xpath(./compounddef/compoundname[text()="mom::mom_diag_ids"]/..) match([('id', 'structmom_1_1mom__diag__ids'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom::mom_diag_ids', , {}, ['', 'A structure w [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom::mom_diag_ids', , {}, ['`More... , {}, ['', 'A structure w [debug] DoxygenMethodDocumenter format_signature called ((forces_in, fluxes_in, sfc_state, Time_start, time_int_in, CS, Waves, do_dynamics, do_thermodynamics, start_cycle, end_cycle, cycle_length, reset_therm)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::step_mom', , {}, ['', 'This subroutine orc [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::step_mom', , {}, ['', 'This subroutine orc [debug] DoxygenMethodDocumenter format_signature called ((forces, p_surf_begin, p_surf_end, dt, dt_thermo, bbl_time_int, CS, Time_local, Waves)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::step_mom_dynamics', , {}, ['', 'Time step [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::step_mom_dynamics', , {}, ['', 'Time step [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, US, h, Time_local)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::step_mom_tracer_dyn', , {}, ['', 'step_MOM [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::step_mom_tracer_dyn', , {}, ['', 'step_MOM [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, US, u, v, h, tv, fluxes, dtdia, Time_end_thermo, update_BBL, Waves)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::step_mom_thermo', , {}, ['', 'MOM_step_the [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::step_mom_thermo', , {}, ['', 'MOM_step_the [debug] DoxygenMethodDocumenter format_signature called ((forces, fluxes, sfc_state, Time_start, time_interval, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::step_offline', , {}, ['', 'step_offline is [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::step_offline', , {}, ['', 'step_offline is [debug] DoxygenMethodDocumenter format_signature called ((Time, Time_init, param_file, dirs, CS, restart_CSp, Time_in, offline_tracer_mode, input_restart_file, diag_ptr, count_calls, tracer_flow_CSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::initialize_mom', , {}, ['', 'Initialize MO [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::initialize_mom', , {}, ['', 'Initialize MO [debug] DoxygenMethodDocumenter format_signature called ((Time, dirs, CS, restart_CSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::finish_mom_initialization', , {}, ['', 'Fi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::finish_mom_initialization', , {}, ['', 'Fi [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, IDs, diag)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::register_diags', , {}, ['', 'Register cert [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::register_diags', , {}, ['', 'Register cert [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::mom_timing_init', , {}, ['', 'Set up CPU c [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::mom_timing_init', , {}, ['', 'Set up CPU c [debug] DoxygenMethodDocumenter format_signature called ((GV, US, param_file, CS, restart_CSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::set_restart_fields', , {}, ['', 'Set the f [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::set_restart_fields', , {}, ['', 'Set the f [debug] DoxygenMethodDocumenter format_signature called ((tv, G, GV, US, ssh, p_atm, use_EOS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::adjust_ssh_for_p_atm', , {}, ['', 'Apply a [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::adjust_ssh_for_p_atm', , {}, ['', 'Apply a [debug] DoxygenMethodDocumenter format_signature called ((CS, sfc_state_in)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::extract_surface_state', , {}, ['', 'Set th [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::extract_surface_state', , {}, ['', 'Set th [debug] DoxygenMethodDocumenter format_signature called ((u_in, v_in, h_in, T_in, S_in, use_temperature, turns, u, v, h, T, S)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::rotate_initial_state', , {}, ['', 'Rotate [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::rotate_initial_state', , {}, ['', 'Rotate [debug] DoxygenMethodDocumenter format_signature called ((CS, adv_dyn)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::mom_state_is_synchronized', , {}, ['', 'Re [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::mom_state_is_synchronized', , {}, ['', 'Re [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, US, C_p, C_p_scaled, use_temp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::get_mom_state_elements', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::get_mom_state_elements', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((CS, mass, heat, salt, on_PE_only)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::get_ocean_stocks', , {}, ['', 'Find the gl [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::get_ocean_stocks', , {}, ['', 'Find the gl [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::mom_end', , {}, ['', 'End of ocean model, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom::mom_end', , {}, ['', 'End of ocean model, [fd] run(.. f:type:: mom_control_struct) [fd] sig(mom_control_struct) [fd] ftype(None) objtype(None) modname(None) typename() name(mom_control_struct) arglist(None) [fd] fullname(mom/mom_control_struct) ftype(None) [fd] name(('mom/mom_control_struct', None)) sig(mom_control_struct) signode(type mom/mom_control_struct) [fd] run(.. f:type:: mom_diag_ids) [fd] sig(mom_diag_ids) [fd] ftype(None) objtype(None) modname(None) typename() name(mom_diag_ids) arglist(None) [fd] fullname(mom/mom_diag_ids) ftype(None) [fd] name(('mom/mom_diag_ids', None)) sig(mom_diag_ids) signode(type mom/mom_diag_ids) [fd] run(.. f:subroutine:: subroutine step_mom(forces_in, fluxes_in, sfc_state, Time_start, time_int_in, CS, Waves, do_dynamics, do_thermodynamics, start_cycle, end_cycle, cycle_length, reset_therm)) [fd] sig(subroutine step_mom(forces_in, fluxes_in, sfc_state, Time_start, time_int_in, CS, Waves, do_dynamics, do_thermodynamics, start_cycle, end_cycle, cycle_length, reset_therm)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(step_mom) arglist(forces_in, fluxes_in, sfc_state, Time_start, time_int_in, CS, Waves, do_dynamics, do_thermodynamics, start_cycle, end_cycle, cycle_length, reset_therm) [fd] fullname(mom/step_mom) ftype(None) [fd] name(('mom/step_mom', None)) sig(subroutine step_mom(forces_in, fluxes_in, sfc_state, Time_start, time_int_in, CS, Waves, do_dynamics, do_thermodynamics, start_cycle, end_cycle, cycle_length, reset_therm)) signode(subroutine mom/step_momforces_influxes_insfc_stateTime_starttime_int_inCSWavesdo_dynamicsdo_thermodynamicsstart_cycleend_cyclecycle_lengthreset_therm) [fd] run(.. f:subroutine:: subroutine step_mom_dynamics(forces, p_surf_begin, p_surf_end, dt, dt_thermo, bbl_time_int, CS, Time_local, Waves)) [fd] sig(subroutine step_mom_dynamics(forces, p_surf_begin, p_surf_end, dt, dt_thermo, bbl_time_int, CS, Time_local, Waves)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(step_mom_dynamics) arglist(forces, p_surf_begin, p_surf_end, dt, dt_thermo, bbl_time_int, CS, Time_local, Waves) [fd] fullname(mom/step_mom_dynamics) ftype(None) [fd] name(('mom/step_mom_dynamics', None)) sig(subroutine step_mom_dynamics(forces, p_surf_begin, p_surf_end, dt, dt_thermo, bbl_time_int, CS, Time_local, Waves)) signode(subroutine mom/step_mom_dynamicsforcesp_surf_beginp_surf_enddtdt_thermobbl_time_intCSTime_localWaves) [fd] run(.. f:subroutine:: subroutine step_mom_tracer_dyn(CS, G, GV, US, h, Time_local)) [fd] sig(subroutine step_mom_tracer_dyn(CS, G, GV, US, h, Time_local)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(step_mom_tracer_dyn) arglist(CS, G, GV, US, h, Time_local) [fd] fullname(mom/step_mom_tracer_dyn) ftype(None) [fd] name(('mom/step_mom_tracer_dyn', None)) sig(subroutine step_mom_tracer_dyn(CS, G, GV, US, h, Time_local)) signode(subroutine mom/step_mom_tracer_dynCSGGVUShTime_local) [fd] run(.. f:subroutine:: subroutine step_mom_thermo(CS, G, GV, US, u, v, h, tv, fluxes, dtdia, Time_end_thermo, update_BBL, Waves)) [fd] sig(subroutine step_mom_thermo(CS, G, GV, US, u, v, h, tv, fluxes, dtdia, Time_end_thermo, update_BBL, Waves)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(step_mom_thermo) arglist(CS, G, GV, US, u, v, h, tv, fluxes, dtdia, Time_end_thermo, update_BBL, Waves) [fd] fullname(mom/step_mom_thermo) ftype(None) [fd] name(('mom/step_mom_thermo', None)) sig(subroutine step_mom_thermo(CS, G, GV, US, u, v, h, tv, fluxes, dtdia, Time_end_thermo, update_BBL, Waves)) signode(subroutine mom/step_mom_thermoCSGGVUSuvhtvfluxesdtdiaTime_end_thermoupdate_BBLWaves) [fd] run(.. f:subroutine:: subroutine step_offline(forces, fluxes, sfc_state, Time_start, time_interval, CS)) [fd] sig(subroutine step_offline(forces, fluxes, sfc_state, Time_start, time_interval, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(step_offline) arglist(forces, fluxes, sfc_state, Time_start, time_interval, CS) [fd] fullname(mom/step_offline) ftype(None) [fd] name(('mom/step_offline', None)) sig(subroutine step_offline(forces, fluxes, sfc_state, Time_start, time_interval, CS)) signode(subroutine mom/step_offlineforcesfluxessfc_stateTime_starttime_intervalCS) [fd] run(.. f:subroutine:: subroutine initialize_mom(Time, Time_init, param_file, dirs, CS, restart_CSp, Time_in, offline_tracer_mode, input_restart_file, diag_ptr, count_calls, tracer_flow_CSp)) [fd] sig(subroutine initialize_mom(Time, Time_init, param_file, dirs, CS, restart_CSp, Time_in, offline_tracer_mode, input_restart_file, diag_ptr, count_calls, tracer_flow_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_mom) arglist(Time, Time_init, param_file, dirs, CS, restart_CSp, Time_in, offline_tracer_mode, input_restart_file, diag_ptr, count_calls, tracer_flow_CSp) [fd] fullname(mom/initialize_mom) ftype(None) [fd] name(('mom/initialize_mom', None)) sig(subroutine initialize_mom(Time, Time_init, param_file, dirs, CS, restart_CSp, Time_in, offline_tracer_mode, input_restart_file, diag_ptr, count_calls, tracer_flow_CSp)) signode(subroutine mom/initialize_momTimeTime_initparam_filedirsCSrestart_CSpTime_inoffline_tracer_modeinput_restart_filediag_ptrcount_callstracer_flow_CSp) [fd] run(.. f:subroutine:: subroutine finish_mom_initialization(Time, dirs, CS, restart_CSp)) [fd] sig(subroutine finish_mom_initialization(Time, dirs, CS, restart_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(finish_mom_initialization) arglist(Time, dirs, CS, restart_CSp) [fd] fullname(mom/finish_mom_initialization) ftype(None) [fd] name(('mom/finish_mom_initialization', None)) sig(subroutine finish_mom_initialization(Time, dirs, CS, restart_CSp)) signode(subroutine mom/finish_mom_initializationTimedirsCSrestart_CSp) [fd] run(.. f:subroutine:: subroutine register_diags(Time, G, GV, US, IDs, diag)) [fd] sig(subroutine register_diags(Time, G, GV, US, IDs, diag)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_diags) arglist(Time, G, GV, US, IDs, diag) [fd] fullname(mom/register_diags) ftype(None) [fd] name(('mom/register_diags', None)) sig(subroutine register_diags(Time, G, GV, US, IDs, diag)) signode(subroutine mom/register_diagsTimeGGVUSIDsdiag) [fd] run(.. f:subroutine:: subroutine mom_timing_init(CS)) [fd] sig(subroutine mom_timing_init(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_timing_init) arglist(CS) [fd] fullname(mom/mom_timing_init) ftype(None) [fd] name(('mom/mom_timing_init', None)) sig(subroutine mom_timing_init(CS)) signode(subroutine mom/mom_timing_initCS) [fd] run(.. f:subroutine:: subroutine set_restart_fields(GV, US, param_file, CS, restart_CSp)) [fd] sig(subroutine set_restart_fields(GV, US, param_file, CS, restart_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_restart_fields) arglist(GV, US, param_file, CS, restart_CSp) [fd] fullname(mom/set_restart_fields) ftype(None) [fd] name(('mom/set_restart_fields', None)) sig(subroutine set_restart_fields(GV, US, param_file, CS, restart_CSp)) signode(subroutine mom/set_restart_fieldsGVUSparam_fileCSrestart_CSp) [fd] run(.. f:subroutine:: subroutine adjust_ssh_for_p_atm(tv, G, GV, US, ssh, p_atm, use_EOS)) [fd] sig(subroutine adjust_ssh_for_p_atm(tv, G, GV, US, ssh, p_atm, use_EOS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(adjust_ssh_for_p_atm) arglist(tv, G, GV, US, ssh, p_atm, use_EOS) [fd] fullname(mom/adjust_ssh_for_p_atm) ftype(None) [fd] name(('mom/adjust_ssh_for_p_atm', None)) sig(subroutine adjust_ssh_for_p_atm(tv, G, GV, US, ssh, p_atm, use_EOS)) signode(subroutine mom/adjust_ssh_for_p_atmtvGGVUSsshp_atmuse_EOS) [fd] run(.. f:subroutine:: subroutine extract_surface_state(CS, sfc_state_in)) [fd] sig(subroutine extract_surface_state(CS, sfc_state_in)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(extract_surface_state) arglist(CS, sfc_state_in) [fd] fullname(mom/extract_surface_state) ftype(None) [fd] name(('mom/extract_surface_state', None)) sig(subroutine extract_surface_state(CS, sfc_state_in)) signode(subroutine mom/extract_surface_stateCSsfc_state_in) [fd] run(.. f:subroutine:: subroutine rotate_initial_state(u_in, v_in, h_in, T_in, S_in, use_temperature, turns, u, v, h, T, S)) [fd] sig(subroutine rotate_initial_state(u_in, v_in, h_in, T_in, S_in, use_temperature, turns, u, v, h, T, S)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_initial_state) arglist(u_in, v_in, h_in, T_in, S_in, use_temperature, turns, u, v, h, T, S) [fd] fullname(mom/rotate_initial_state) ftype(None) [fd] name(('mom/rotate_initial_state', None)) sig(subroutine rotate_initial_state(u_in, v_in, h_in, T_in, S_in, use_temperature, turns, u, v, h, T, S)) signode(subroutine mom/rotate_initial_stateu_inv_inh_inT_inS_inuse_temperatureturnsuvhTS) [fd] run(.. f:function:: logical function mom_state_is_synchronized(CS, adv_dyn)) [fd] sig(logical function mom_state_is_synchronized(CS, adv_dyn)) [fd] ftype(logical) objtype(function) modname(None) typename() name(mom_state_is_synchronized) arglist(CS, adv_dyn) [fd] fullname(mom/mom_state_is_synchronized) ftype(logical) [fd] name(('mom/mom_state_is_synchronized', 'logical')) sig(logical function mom_state_is_synchronized(CS, adv_dyn)) signode(function mom/mom_state_is_synchronizedCSadv_dyn [logical]) [fd] run(.. f:subroutine:: subroutine get_mom_state_elements(CS, G, GV, US, C_p, C_p_scaled, use_temp)) [fd] sig(subroutine get_mom_state_elements(CS, G, GV, US, C_p, C_p_scaled, use_temp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_mom_state_elements) arglist(CS, G, GV, US, C_p, C_p_scaled, use_temp) [fd] fullname(mom/get_mom_state_elements) ftype(None) [fd] name(('mom/get_mom_state_elements', None)) sig(subroutine get_mom_state_elements(CS, G, GV, US, C_p, C_p_scaled, use_temp)) signode(subroutine mom/get_mom_state_elementsCSGGVUSC_pC_p_scaleduse_temp) [fd] run(.. f:subroutine:: subroutine get_ocean_stocks(CS, mass, heat, salt, on_PE_only)) [fd] sig(subroutine get_ocean_stocks(CS, mass, heat, salt, on_PE_only)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_ocean_stocks) arglist(CS, mass, heat, salt, on_PE_only) [fd] fullname(mom/get_ocean_stocks) ftype(None) [fd] name(('mom/get_ocean_stocks', None)) sig(subroutine get_ocean_stocks(CS, mass, heat, salt, on_PE_only)) signode(subroutine mom/get_ocean_stocksCSmassheatsalton_PE_only) [fd] run(.. f:subroutine:: subroutine mom_end(CS)) [fd] sig(subroutine mom_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_end) arglist(CS) [fd] fullname(mom/mom_end) ftype(None) [fd] name(('mom/mom_end', None)) sig(subroutine mom_end(CS)) signode(subroutine mom/mom_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) docstring of mom:191: (INFO/1) Duplicate implicit target name: “depth integrated heat budget”. [filtered system message] reading sources... [ 16%] api/generated/modules/mom_ale [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_ale') [app] emitting event: 'source-read'('api/generated/modules/mom_ale', ['.. autodoxymodule:: mom_ale\n :members:\n :methods:\n :typ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_ale.rst:1: input: .. autodoxymodule:: mom_ale :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_ale::ale_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_ale::ale_init ~mom_ale::ale_register_diags ~mom_ale::adjustgridforintegrity ~mom_ale::ale_end ~mom_ale::ale_main ~mom_ale::ale_main_offline ~mom_ale::ale_offline_inputs ~mom_ale::ale_offline_tracer_final ~mom_ale::check_grid ~mom_ale::ale_build_grid ~mom_ale::ale_regrid_accelerated ~mom_ale::remap_all_state_vars ~mom_ale::ale_remap_scalar ~mom_ale::ts_plm_edge_values ~mom_ale::ale_plm_edge_values ~mom_ale::ts_ppm_edge_values ~mom_ale::ale_initregridding ~mom_ale::ale_getcoordinate ~mom_ale::ale_getcoordinateunits ~mom_ale::ale_remap_init_conds ~mom_ale::ale_update_regrid_weights ~mom_ale::ale_updateverticalgridtype ~mom_ale::ale_writecoordinatefile ~mom_ale::ale_initthicknesstocoord [debug] xpath(./compounddef/compoundname[text()="mom_ale"]/..) match([('id', 'namespacemom__ale'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_ale module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ale', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_ale' (exception was: ModuleNotFoundError("No module named 'mom_ale'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_ale::ale_cs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('ale_register_diags', ), ('adjustgridforintegrity', ), ('ale_end', ), ('ale_main', ), ('ale_main_offline', ), ('ale_offline_inputs', ), ('ale_offline_tracer_final', ), ('check_grid', ), ('ale_build_grid', ), ('ale_regrid_accelerated', ), ('remap_all_state_vars', ), ('ale_remap_scalar', ), ('ts_plm_edge_values', ), ('ale_plm_edge_values', ), ('ts_ppm_edge_values', ), ('ale_initregridding', ), ('ale_getcoordinate', ), ('ale_getcoordinateunits', ), ('ale_remap_init_conds', ), ('ale_update_regrid_weights', ), ('ale_updateverticalgridtype', ), ('ale_writecoordinatefile', ), ('ale_initthicknesstocoord', )]) [autodoc] module analyzer failed: error importing 'mom_ale' (exception was: ModuleNotFoundError("No module named 'mom_ale'")) [debug] DoxygenMethodDocumenter format_signature called ((param_file, GV, US, max_depth, CS)) [debug] add_directive_header sig((param_file, GV, US, max_depth, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine ale_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM_8F90) kindref(compound) ref([]) [debug] ref([('id', 'MOM_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ale_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'MOM_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustgridforintegrity', , {'members': , {'members': ]) [debug] ref([('id', 'MOM_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ale_end', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_ale::ale_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_ale::ale_init ~mom_ale::ale_register_diags ~mom_ale::adjustgridforintegrity ~mom_ale::ale_end ~mom_ale::ale_main ~mom_ale::ale_main_offline ~mom_ale::ale_offline_inputs ~mom_ale::ale_offline_tracer_final ~mom_ale::check_grid ~mom_ale::ale_build_grid ~mom_ale::ale_regrid_accelerated ~mom_ale::remap_all_state_vars ~mom_ale::ale_remap_scalar ~mom_ale::ts_plm_edge_values ~mom_ale::ale_plm_edge_values ~mom_ale::ts_ppm_edge_values ~mom_ale::ale_initregridding ~mom_ale::ale_getcoordinate ~mom_ale::ale_getcoordinateunits ~mom_ale::ale_remap_init_conds ~mom_ale::ale_update_regrid_weights ~mom_ale::ale_updateverticalgridtype ~mom_ale::ale_writecoordinatefile ~mom_ale::ale_initthicknesstocoord .. _DETAmom_ale: -------------------- Detailed Description -------------------- Regridding comprises two steps: #. Interpolation and creation of a new grid based on target interface densities (or any other criterion). #. Remapping of quantities between old grid and new grid. Original module written by Laurent White, 2008.06.09 ------------------ Type Documentation ------------------ .. f:type:: ale_cs ALE control structure. :typefield logical remap_uv_using_old_alg: If true, uses the old "remapping via a delta z" method. If False, uses the new method that remaps between grids described by h. :typefield real regrid_time_scale: The time-scale used in blending between the current (old) grid and the target (new) grid [T ~> s]. :typefield type(regridding_cs) regridcs: Regridding parameters and work arrays. :typefield type(remapping_cs) remapcs: Remapping parameters and work arrays. :typefield integer nk: Used only for queries, not directly by this module. :typefield logical remap_after_initialization: Indicates whether to regrid/remap after initializing the state. :typefield logical answers_2018: If true, use the order of arithmetic and expressions for remapping that recover the answers from the end of 2018. Otherwise, use more robust and accurate forms of mathematically equivalent expressions. :typefield logical show_call_tree: For debugging. :typefield type(diag_ctrl) diag [pointer]: structure to regulate output :typefield integer(\:) id_tracer_remap_tendency [allocatable]: diagnostic id :typefield integer(\:) id_htracer_remap_tendency [allocatable]: diagnostic id :typefield integer(\:) id_htracer_remap_tendency_2d [allocatable]: diagnostic id :typefield logical(\:) do_tendency_diag [allocatable]: flag for doing diagnostics :typefield integer id_dzregrid: diagnostic id :typefield integer id_u_preale: diagnostic id for zonal velocity before ALE. :typefield integer id_v_preale: diagnostic id for meridional velocity before ALE. :typefield integer id_h_preale: diagnostic id for layer thicknesses before ALE. :typefield integer id_t_preale: diagnostic id for temperatures before ALE. :typefield integer id_s_preale: diagnostic id for salinities before ALE. :typefield integer id_e_preale: diagnostic id for interface heights before ALE. :typefield integer id_vert_remap_h: diagnostic id for layer thicknesses used for remapping :typefield integer id_vert_remap_h_tendency: diagnostic id for layer thickness tendency due to ALE --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine ale_init(param_file, GV, US, max_depth, CS) This routine is typically called (from initialize_MOM in file ``MOM.F90``) before the main time integration loop to initialize the regridding stuff. We read the MOM_input file to register the values of different regridding/remapping parameters. :param param_file: [in] Parameter file :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param max_depth: [in] The maximum depth of the ocean [Z ~> m]. :param cs: Module control structure :callto: :f:func:`ale_initregridding ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` .. f:subroutine:: subroutine ale_register_diags(Time, G, GV, US, diag, CS) Initialize diagnostics for the ALE module. :param time: [in] Time structure :param g: [in] Grid structure :param us: [in] A dimensional unit scaling type :param gv: [in] Ocean vertical grid structure :param diag: [in] Diagnostics control structure :param cs: Module control structure :callto: :f:func:`mom_verticalgrid::get_thickness_units ` .. f:subroutine:: subroutine adjustgridforintegrity(CS, G, GV, h) Crudely adjust (initial) grid for integrity. This routine is typically called (from initialize_MOM in file ``MOM.F90``) before the main time integration loop to initialize the regridding stuff. We read the MOM_input file to register the values of different regridding/remapping parameters. :param cs: Regridding parameters and options :param g: [in] Ocean grid informations :param gv: [in] Ocean vertical grid structure :param h: [inout] Current 3D grid thickness that are to be adjusted [H ~> m or kg-2] .. f:subroutine:: subroutine ale_end(CS) End of regridding (memory deallocation). This routine is typically called (from MOM_end in file ``MOM.F90``) after the main time integration loop to deallocate the regridding stuff. :param cs: module control structure .. f:subroutine:: subroutine ale_main(G, GV, US, h, u, v, tv, Reg, CS, OBC, dt, frac_shelf_h) Takes care of (1) building a new grid and (2) remapping all variables between the old grid and the new grid. The creation of the new grid can be based on z coordinates, target interface densities, sigma coordinates or any arbitrary coordinate system. :param g: [in] Ocean grid informations :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [inout] Current 3D grid obtained after the last time step [H ~> m or kg m-2] :param u: [inout] Zonal velocity field [L T-1 ~> m s-1] :param v: [inout] Meridional velocity field [L T-1 ~> m s-1] :param tv: [inout] Thermodynamic variable structure :param reg: Tracer registry structure :param cs: Regridding parameters and options :param obc: Open boundary structure :param dt: [in] Time step between calls to ALE_main [T ~> s] :param frac_shelf_h: Fractional ice shelf coverage :callto: :f:func:`ale_update_regrid_weights ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_error_handler::calltree_waypoint ` :callto: :f:func:`check_grid ` :callto: :f:func:`mom_diag_mediator::diag_update_remap_grids ` :callto: :f:func:`remap_all_state_vars ` .. f:subroutine:: subroutine ale_main_offline(G, GV, h, tv, Reg, CS, OBC, dt) Takes care of (1) building a new grid and (2) remapping all variables between the old grid and the new grid. The creation of the new grid can be based on z coordinates, target interface densities, sigma coordinates or any arbitrary coordinate system. :param g: [in] Ocean grid informations :param gv: [in] Ocean vertical grid structure :param h: [inout] Current 3D grid obtained after the last time step [H ~> m or kg-2] :param tv: [inout] Thermodynamic variable structure :param reg: Tracer registry structure :param cs: Regridding parameters and options :param obc: Open boundary structure :param dt: [in] Time step between calls to ALE_main [T ~> s] :callto: :f:func:`ale_update_regrid_weights ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_error_handler::calltree_waypoint ` :callto: :f:func:`check_grid ` :callto: :f:func:`remap_all_state_vars ` :calledfrom: :f:func:`mom_offline_main::offline_advection_ale ` .. f:subroutine:: subroutine ale_offline_inputs(CS, G, GV, h, tv, Reg, uhtr, vhtr, Kd, debug, OBC) Regrid/remap stored fields used for offline tracer integrations. These input fields are assumed to have the same layer thicknesses at the end of the last offline interval (which should be a Zstar grid). This routine builds a grid on the runtime specified vertical coordinate. :param cs: Regridding parameters and options :param g: [in] Ocean grid informations :param gv: [in] Ocean vertical grid structure :param h: [inout] Layer thicknesses :param tv: [inout] Thermodynamic variable structure :param reg: Tracer registry structure :param uhtr: [inout] Zonal mass fluxes :param vhtr: [inout] Meridional mass fluxes :param kd: [inout] Input diffusivites :param debug: [in] If true, then turn checksums :param obc: Open boundary structure :callto: :f:func:`ale_remap_scalar ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_error_handler::calltree_waypoint ` :callto: :f:func:`mom_debugging::check_column_integrals ` :callto: :f:func:`check_grid ` :callto: :f:func:`mom_diag_vkernels::interpolate_column ` :callto: :f:func:`mom_tracer_registry::mom_tracer_chkinv ` :callto: :f:func:`mom_diag_vkernels::reintegrate_column ` :callto: :f:func:`remap_all_state_vars ` :calledfrom: :f:func:`mom_offline_main::update_offline_fields ` .. f:subroutine:: subroutine ale_offline_tracer_final(G, GV, h, tv, h_target, Reg, CS, OBC) Remaps all tracers from h onto h_target. This is intended to be called when tracers are done offline. In the case where transports don't quite conserve, we still want to make sure that layer thicknesses offline do not drift too far away from the online model. :param g: [in] Ocean grid informations :param gv: [in] Ocean vertical grid structure :param h: [inout] Current 3D grid obtained after the last time step [H ~> m or kg-2] :param tv: [inout] Thermodynamic variable structure :param h_target: [inout] Current 3D grid obtained after last time step [H ~> m or kg-2] :param reg: Tracer registry structure :param cs: Regridding parameters and options :param obc: Open boundary structure :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_error_handler::calltree_waypoint ` :callto: :f:func:`check_grid ` :callto: :f:func:`remap_all_state_vars ` :calledfrom: :f:func:`mom::step_offline ` .. f:subroutine:: subroutine check_grid(G, GV, h, threshold) Check grid for negative thicknesses. :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param h: [in] Current 3D grid obtained after the last time step [H ~> m or kg m-2] :param threshold: [in] Value below which to flag issues, [H ~> m or kg m-2] :calledfrom: :f:func:`ale_main ` :calledfrom: :f:func:`ale_main_offline ` :calledfrom: :f:func:`ale_offline_inputs ` :calledfrom: :f:func:`ale_offline_tracer_final ` .. f:subroutine:: subroutine ale_build_grid(G, GV, regridCS, remapCS, h, tv, debug, frac_shelf_h) Generates new grid. :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param regridcs: [in] Regridding parameters and options :param remapcs: [in] Remapping parameters and options :param tv: [inout] Thermodynamical variable structure :param h: [inout] Current 3D grid obtained after the last time step [H ~> m or kg-2] :param debug: [in] If true, show the call tree :param frac_shelf_h: Fractional ice shelf coverage :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` .. f:subroutine:: subroutine ale_regrid_accelerated(CS, G, GV, h, tv, n, u, v, OBC, Reg, dt, dzRegrid, initial) For a state-based coordinate, accelerate the process of regridding by repeatedly applying the grid calculation algorithm. :param cs: ALE control structure :param g: [inout] Ocean grid :param gv: [in] Vertical grid :param h: [inout] Original thicknesses [H ~> m or kg-2] :param tv: [inout] Thermo vars (T/S/EOS) :param n: [in] Number of times to regrid :param u: [inout] Zonal velocity [L T-1 ~> m s-1] :param v: [inout] Meridional velocity [L T-1 ~> m s-1] :param obc: Open boundary structure :param reg: Tracer registry to remap onto new grid :param dt: [in] Model timestep to provide a timescale for regridding [T ~> s] :param dzregrid: [inout] Final change in interface positions :param initial: [in] Whether we're being called from an initialization routine (and expect diagnostics to work) :callto: :f:func:`ale_update_regrid_weights ` :callto: :f:func:`mom_domains::do_group_pass ` :callto: :f:func:`remap_all_state_vars ` .. f:subroutine:: subroutine remap_all_state_vars(CS_remapping, CS_ALE, G, GV, h_old, h_new, Reg, OBC, dxInterface, u, v, debug, dt) This routine takes care of remapping all variable between the old and the new grids. When velocity components need to be remapped, thicknesses at velocity points are taken to be arithmetic averages of tracer thicknesses. This routine is called during initialization of the model at time=0, to remap initiali conditions to the model grid. It is also called during a time step to update the state. :param cs_remapping: [in] Remapping control structure :param cs_ale: [in] ALE control structure :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param h_old: [in] Thickness of source grid [H ~> m or kg-2] :param h_new: [in] Thickness of destination grid [H ~> m or kg-2] :param reg: Tracer registry structure :param obc: Open boundary structure :param dxinterface: [in] Change in interface position :param u: [inout] Zonal velocity [L T-1 ~> m s-1] :param v: [inout] Meridional velocity [L T-1 ~> m s-1] :param debug: [in] If true, show the call tree :param dt: [in] time step for diagnostics [T ~> s] :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_error_handler::calltree_waypoint ` :callto: :f:func:`mom_open_boundary::obc_direction_n ` :calledfrom: :f:func:`ale_main ` :calledfrom: :f:func:`ale_main_offline ` :calledfrom: :f:func:`ale_offline_inputs ` :calledfrom: :f:func:`ale_offline_tracer_final ` :calledfrom: :f:func:`ale_regrid_accelerated ` .. f:subroutine:: subroutine ale_remap_scalar(CS, G, GV, nk_src, h_src, s_src, h_dst, s_dst, all_cells, old_remap, answers_2018) Remaps a single scalar between grids described by thicknesses h_src and h_dst. h_dst must be dimensioned as a model array with GVke layers while h_src can have an arbitrary number of layers specified by nk_src. :param cs: [in] Remapping control structure :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param nk_src: [in] Number of levels on source grid :param h_src: [in] Level thickness of source grid [H ~> m or kg-2] :param s_src: [in] Scalar on source grid :param h_dst: [in] Level thickness of destination grid [H ~> m or kg-2] :param s_dst: [inout] Scalar on destination grid :param all_cells: [in] If false, only reconstruct for non-vanished cells. Use all vanished layers otherwise (default). :param old_remap: [in] If true, use the old "remapping_core_w" method, otherwise use "remapping_core_h". :param answers_2018: [in] If true, use the order of arithmetic and expressions that recover the answers for remapping from the end of 2018. Otherwise, use more robust forms of the same expressions. :callto: :f:func:`mom_remapping::dzfromh1h2 ` :calledfrom: :f:func:`ale_offline_inputs ` :calledfrom: :f:func:`mom_tracer_initialization_from_z::mom_initialize_tracer_from_z ` .. f:subroutine:: subroutine ts_plm_edge_values(CS, S_t, S_b, T_t, T_b, G, GV, tv, h, bdry_extrap) Calculate edge values (top and bottom of layer) for T and S consistent with a PLM reconstruction in the vertical direction. Boundary reconstructions are PCM unless bdry_extrap is true. :param g: [in] ocean grid structure :param gv: [in] Ocean vertical grid structure :param cs: [inout] module control structure :param s_t: [inout] Salinity at the top edge of each layer :param s_b: [inout] Salinity at the bottom edge of each layer :param t_t: [inout] Temperature at the top edge of each layer :param t_b: [inout] Temperature at the bottom edge of each layer :param tv: [in] thermodynamics structure :param h: [in] layer thickness [H ~> m or kg m-2] :param bdry_extrap: [in] If true, use high-order boundary extrapolation within boundary cells :callto: :f:func:`ale_plm_edge_values ` :calledfrom: :f:func:`mom_pressureforce_fv::pressureforce_fv_bouss ` :calledfrom: :f:func:`mom_pressureforce_fv::pressureforce_fv_nonbouss ` :calledfrom: :f:func:`mom_state_initialization::trim_for_ice ` .. f:subroutine:: subroutine ale_plm_edge_values(CS, G, GV, h, Q, bdry_extrap, Q_t, Q_b) Calculate edge values (top and bottom of layer) 3d scalar array. Boundary reconstructions are PCM unless bdry_extrap is true. :param cs: [in] module control structure :param g: [in] ocean grid structure :param gv: [in] Ocean vertical grid structure :param h: [in] layer thickness [H ~> m or kg m-2] :param q: [in] 3d scalar array :param bdry_extrap: [in] If true, use high-order boundary extrapolation within boundary cells :param q_t: [inout] Scalar at the top edge of each layer :param q_b: [inout] Scalar at the bottom edge of each layer :callto: :f:func:`plm_functions::plm_extrapolate_slope ` :callto: :f:func:`plm_functions::plm_monotonized_slope ` :callto: :f:func:`plm_functions::plm_slope_wa ` :calledfrom: :f:func:`ts_plm_edge_values ` .. f:subroutine:: subroutine ts_ppm_edge_values(CS, S_t, S_b, T_t, T_b, G, GV, tv, h, bdry_extrap) Calculate edge values (top and bottom of layer) for T and S consistent with a PPM reconstruction in the vertical direction. Boundary reconstructions are PCM unless bdry_extrap is true. :param g: [in] ocean grid structure :param gv: [in] Ocean vertical grid structure :param cs: [inout] module control structure :param s_t: [inout] Salinity at the top edge of each layer :param s_b: [inout] Salinity at the bottom edge of each layer :param t_t: [inout] Temperature at the top edge of each layer :param t_b: [inout] Temperature at the bottom edge of each layer :param tv: [in] thermodynamics structure :param h: [in] layer thicknesses [H ~> m or kg m-2] :param bdry_extrap: [in] If true, use high-order boundary extrapolation within boundary cells :callto: :f:func:`regrid_edge_values::edge_values_implicit_h4 ` :callto: :f:func:`ppm_functions::ppm_boundary_extrapolation ` :callto: :f:func:`ppm_functions::ppm_reconstruction ` :calledfrom: :f:func:`mom_pressureforce_fv::pressureforce_fv_bouss ` :calledfrom: :f:func:`mom_pressureforce_fv::pressureforce_fv_nonbouss ` .. f:subroutine:: subroutine ale_initregridding(GV, US, max_depth, param_file, mdl, regridCS) Initializes regridding for the main ALE algorithm. :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param max_depth: [in] The maximum depth of the ocean [Z ~> m]. :param param_file: [in] parameter file :param mdl: [in] Name of calling module :param regridcs: [out] Regridding parameters and work arrays :calledfrom: :f:func:`ale_init ` .. f:function:: real function ale_getcoordinate(CS) Query the target coordinate interfaces positions. :param cs: module control structure .. f:function:: character(len=20) function ale_getcoordinateunits(CS) Query the target coordinate units. :param cs: module control structure .. f:function:: logical function ale_remap_init_conds(CS) Returns true if initial conditions should be regridded and remapped. :param cs: module control structure .. f:subroutine:: subroutine ale_update_regrid_weights(dt, CS) Updates the weights for time filtering the new grid generated in regridding. :param dt: [in] Time-step used between ALE calls [T ~> s] :param cs: ALE control structure :calledfrom: :f:func:`ale_main ` :calledfrom: :f:func:`ale_main_offline ` :calledfrom: :f:func:`ale_regrid_accelerated ` .. f:subroutine:: subroutine ale_updateverticalgridtype(CS, GV) Update the vertical grid type with ALE information. This subroutine sets information in the verticalGrid_type to be consistent with the use of ALE mode. :param cs: ALE control structure :param gv: vertical grid information :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` .. f:subroutine:: subroutine ale_writecoordinatefile(CS, GV, directory) Write the vertical coordinate information into a file. This subroutine writes out a file containing any available data related to the vertical grid used by the MOM ocean model when in ALE mode. :param cs: module control structure :param gv: [in] ocean vertical grid structure :param directory: [in] directory for writing grid info :callto: :f:func:`mom_io::create_file ` .. f:subroutine:: subroutine ale_initthicknesstocoord(CS, G, GV, h) Set h to coordinate values for fixed coordinate systems. :param cs: [inout] module control structure :param g: [in] module grid structure :param gv: [in] Ocean vertical grid structure :param h: [out] layer thickness [H ~> m or kg m-2] :callto: :f:func:`mom_regridding::getstaticthickness ` :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` [debug] xpath(./compounddef/compoundname[text()="mom_ale::ale_cs"]/..) match([('id', 'structmom__ale_1_1ale__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ale::ale_cs', , {}, ['', 'ALE control str [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ale::ale_cs', , {}, ['`More... , {}, ['', 'ALE control str [debug] DoxygenMethodDocumenter format_signature called ((param_file, GV, US, max_depth, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM_8F90) kindref(compound) ref([]) [debug] ref([('id', 'MOM_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_init', , {}, ['', 'This routine is [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_init', , {}, ['', 'This routine is [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_register_diags', , {}, ['', 'Initi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_register_diags', , {}, ['', 'Initi [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, h)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM_8F90) kindref(compound) ref([]) [debug] ref([('id', 'MOM_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::adjustgridforintegrity', , {}, ['', 'C [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::adjustgridforintegrity', , {}, ['', 'C [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM_8F90) kindref(compound) ref([]) [debug] ref([('id', 'MOM_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_end', , {}, ['', 'End of regriddin [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_end', , {}, ['', 'End of regriddin [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, h, u, v, tv, Reg, CS, OBC, dt, frac_shelf_h)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_main', , {}, ['', 'Takes care of ( [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_main', , {}, ['', 'Takes care of ( [debug] DoxygenMethodDocumenter format_signature called ((G, GV, h, tv, Reg, CS, OBC, dt)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_main_offline', , {}, ['', 'Takes c [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_main_offline', , {}, ['', 'Takes c [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, h, tv, Reg, uhtr, vhtr, Kd, debug, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_offline_inputs', , {}, ['', 'Regri [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_offline_inputs', , {}, ['', 'Regri [debug] DoxygenMethodDocumenter format_signature called ((G, GV, h, tv, h_target, Reg, CS, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_offline_tracer_final', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_offline_tracer_final', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((G, GV, h, threshold)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::check_grid', , {}, ['', 'Check grid fo [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::check_grid', , {}, ['', 'Check grid fo [debug] DoxygenMethodDocumenter format_signature called ((G, GV, regridCS, remapCS, h, tv, debug, frac_shelf_h)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_build_grid', , {}, ['', 'Generates [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_build_grid', , {}, ['', 'Generates [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, h, tv, n, u, v, OBC, Reg, dt, dzRegrid, initial)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_regrid_accelerated', , {}, ['', 'F [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_regrid_accelerated', , {}, ['', 'F [debug] DoxygenMethodDocumenter format_signature called ((CS_remapping, CS_ALE, G, GV, h_old, h_new, Reg, OBC, dxInterface, u, v, debug, dt)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::remap_all_state_vars', , {}, ['', 'Thi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::remap_all_state_vars', , {}, ['', 'Thi [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, nk_src, h_src, s_src, h_dst, s_dst, all_cells, old_remap, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_remap_scalar', , {}, ['', 'Remaps [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_remap_scalar', , {}, ['', 'Remaps [debug] DoxygenMethodDocumenter format_signature called ((CS, S_t, S_b, T_t, T_b, G, GV, tv, h, bdry_extrap)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ts_plm_edge_values', , {}, ['', 'Calcu [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ts_plm_edge_values', , {}, ['', 'Calcu [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, h, Q, bdry_extrap, Q_t, Q_b)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_plm_edge_values', , {}, ['', 'Calc [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_plm_edge_values', , {}, ['', 'Calc [debug] DoxygenMethodDocumenter format_signature called ((CS, S_t, S_b, T_t, T_b, G, GV, tv, h, bdry_extrap)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ts_ppm_edge_values', , {}, ['', 'Calcu [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ts_ppm_edge_values', , {}, ['', 'Calcu [debug] DoxygenMethodDocumenter format_signature called ((GV, US, max_depth, param_file, mdl, regridCS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_initregridding', , {}, ['', 'Initi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_initregridding', , {}, ['', 'Initi [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_getcoordinate', , {}, ['', 'Query [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_getcoordinate', , {}, ['', 'Query [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_getcoordinateunits', , {}, ['', 'Q [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_getcoordinateunits', , {}, ['', 'Q [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_remap_init_conds', , {}, ['', 'Ret [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_remap_init_conds', , {}, ['', 'Ret [debug] DoxygenMethodDocumenter format_signature called ((dt, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_update_regrid_weights', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_update_regrid_weights', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((CS, GV)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_updateverticalgridtype', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_updateverticalgridtype', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((CS, GV, directory)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_writecoordinatefile', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_writecoordinatefile', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, h)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_initthicknesstocoord', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale::ale_initthicknesstocoord', , {}, ['', [fd] run(.. f:type:: ale_cs) [fd] sig(ale_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(ale_cs) arglist(None) [fd] fullname(mom_ale/ale_cs) ftype(None) [fd] name(('mom_ale/ale_cs', None)) sig(ale_cs) signode(type mom_ale/ale_cs) [fd] run(.. f:subroutine:: subroutine ale_init(param_file, GV, US, max_depth, CS)) [fd] sig(subroutine ale_init(param_file, GV, US, max_depth, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ale_init) arglist(param_file, GV, US, max_depth, CS) [fd] fullname(mom_ale/ale_init) ftype(None) [fd] name(('mom_ale/ale_init', None)) sig(subroutine ale_init(param_file, GV, US, max_depth, CS)) signode(subroutine mom_ale/ale_initparam_fileGVUSmax_depthCS) [fd] run(.. f:subroutine:: subroutine ale_register_diags(Time, G, GV, US, diag, CS)) [fd] sig(subroutine ale_register_diags(Time, G, GV, US, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ale_register_diags) arglist(Time, G, GV, US, diag, CS) [fd] fullname(mom_ale/ale_register_diags) ftype(None) [fd] name(('mom_ale/ale_register_diags', None)) sig(subroutine ale_register_diags(Time, G, GV, US, diag, CS)) signode(subroutine mom_ale/ale_register_diagsTimeGGVUSdiagCS) [fd] run(.. f:subroutine:: subroutine adjustgridforintegrity(CS, G, GV, h)) [fd] sig(subroutine adjustgridforintegrity(CS, G, GV, h)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(adjustgridforintegrity) arglist(CS, G, GV, h) [fd] fullname(mom_ale/adjustgridforintegrity) ftype(None) [fd] name(('mom_ale/adjustgridforintegrity', None)) sig(subroutine adjustgridforintegrity(CS, G, GV, h)) signode(subroutine mom_ale/adjustgridforintegrityCSGGVh) [fd] run(.. f:subroutine:: subroutine ale_end(CS)) [fd] sig(subroutine ale_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ale_end) arglist(CS) [fd] fullname(mom_ale/ale_end) ftype(None) [fd] name(('mom_ale/ale_end', None)) sig(subroutine ale_end(CS)) signode(subroutine mom_ale/ale_endCS) [fd] run(.. f:subroutine:: subroutine ale_main(G, GV, US, h, u, v, tv, Reg, CS, OBC, dt, frac_shelf_h)) [fd] sig(subroutine ale_main(G, GV, US, h, u, v, tv, Reg, CS, OBC, dt, frac_shelf_h)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ale_main) arglist(G, GV, US, h, u, v, tv, Reg, CS, OBC, dt, frac_shelf_h) [fd] fullname(mom_ale/ale_main) ftype(None) [fd] name(('mom_ale/ale_main', None)) sig(subroutine ale_main(G, GV, US, h, u, v, tv, Reg, CS, OBC, dt, frac_shelf_h)) signode(subroutine mom_ale/ale_mainGGVUShuvtvRegCSOBCdtfrac_shelf_h) [fd] run(.. f:subroutine:: subroutine ale_main_offline(G, GV, h, tv, Reg, CS, OBC, dt)) [fd] sig(subroutine ale_main_offline(G, GV, h, tv, Reg, CS, OBC, dt)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ale_main_offline) arglist(G, GV, h, tv, Reg, CS, OBC, dt) [fd] fullname(mom_ale/ale_main_offline) ftype(None) [fd] name(('mom_ale/ale_main_offline', None)) sig(subroutine ale_main_offline(G, GV, h, tv, Reg, CS, OBC, dt)) signode(subroutine mom_ale/ale_main_offlineGGVhtvRegCSOBCdt) [fd] run(.. f:subroutine:: subroutine ale_offline_inputs(CS, G, GV, h, tv, Reg, uhtr, vhtr, Kd, debug, OBC)) [fd] sig(subroutine ale_offline_inputs(CS, G, GV, h, tv, Reg, uhtr, vhtr, Kd, debug, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ale_offline_inputs) arglist(CS, G, GV, h, tv, Reg, uhtr, vhtr, Kd, debug, OBC) [fd] fullname(mom_ale/ale_offline_inputs) ftype(None) [fd] name(('mom_ale/ale_offline_inputs', None)) sig(subroutine ale_offline_inputs(CS, G, GV, h, tv, Reg, uhtr, vhtr, Kd, debug, OBC)) signode(subroutine mom_ale/ale_offline_inputsCSGGVhtvReguhtrvhtrKddebugOBC) [fd] run(.. f:subroutine:: subroutine ale_offline_tracer_final(G, GV, h, tv, h_target, Reg, CS, OBC)) [fd] sig(subroutine ale_offline_tracer_final(G, GV, h, tv, h_target, Reg, CS, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ale_offline_tracer_final) arglist(G, GV, h, tv, h_target, Reg, CS, OBC) [fd] fullname(mom_ale/ale_offline_tracer_final) ftype(None) [fd] name(('mom_ale/ale_offline_tracer_final', None)) sig(subroutine ale_offline_tracer_final(G, GV, h, tv, h_target, Reg, CS, OBC)) signode(subroutine mom_ale/ale_offline_tracer_finalGGVhtvh_targetRegCSOBC) [fd] run(.. f:subroutine:: subroutine check_grid(G, GV, h, threshold)) [fd] sig(subroutine check_grid(G, GV, h, threshold)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_grid) arglist(G, GV, h, threshold) [fd] fullname(mom_ale/check_grid) ftype(None) [fd] name(('mom_ale/check_grid', None)) sig(subroutine check_grid(G, GV, h, threshold)) signode(subroutine mom_ale/check_gridGGVhthreshold) [fd] run(.. f:subroutine:: subroutine ale_build_grid(G, GV, regridCS, remapCS, h, tv, debug, frac_shelf_h)) [fd] sig(subroutine ale_build_grid(G, GV, regridCS, remapCS, h, tv, debug, frac_shelf_h)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ale_build_grid) arglist(G, GV, regridCS, remapCS, h, tv, debug, frac_shelf_h) [fd] fullname(mom_ale/ale_build_grid) ftype(None) [fd] name(('mom_ale/ale_build_grid', None)) sig(subroutine ale_build_grid(G, GV, regridCS, remapCS, h, tv, debug, frac_shelf_h)) signode(subroutine mom_ale/ale_build_gridGGVregridCSremapCShtvdebugfrac_shelf_h) [fd] run(.. f:subroutine:: subroutine ale_regrid_accelerated(CS, G, GV, h, tv, n, u, v, OBC, Reg, dt, dzRegrid, initial)) [fd] sig(subroutine ale_regrid_accelerated(CS, G, GV, h, tv, n, u, v, OBC, Reg, dt, dzRegrid, initial)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ale_regrid_accelerated) arglist(CS, G, GV, h, tv, n, u, v, OBC, Reg, dt, dzRegrid, initial) [fd] fullname(mom_ale/ale_regrid_accelerated) ftype(None) [fd] name(('mom_ale/ale_regrid_accelerated', None)) sig(subroutine ale_regrid_accelerated(CS, G, GV, h, tv, n, u, v, OBC, Reg, dt, dzRegrid, initial)) signode(subroutine mom_ale/ale_regrid_acceleratedCSGGVhtvnuvOBCRegdtdzRegridinitial) [fd] run(.. f:subroutine:: subroutine remap_all_state_vars(CS_remapping, CS_ALE, G, GV, h_old, h_new, Reg, OBC, dxInterface, u, v, debug, dt)) [fd] sig(subroutine remap_all_state_vars(CS_remapping, CS_ALE, G, GV, h_old, h_new, Reg, OBC, dxInterface, u, v, debug, dt)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(remap_all_state_vars) arglist(CS_remapping, CS_ALE, G, GV, h_old, h_new, Reg, OBC, dxInterface, u, v, debug, dt) [fd] fullname(mom_ale/remap_all_state_vars) ftype(None) [fd] name(('mom_ale/remap_all_state_vars', None)) sig(subroutine remap_all_state_vars(CS_remapping, CS_ALE, G, GV, h_old, h_new, Reg, OBC, dxInterface, u, v, debug, dt)) signode(subroutine mom_ale/remap_all_state_varsCS_remappingCS_ALEGGVh_oldh_newRegOBCdxInterfaceuvdebugdt) [fd] run(.. f:subroutine:: subroutine ale_remap_scalar(CS, G, GV, nk_src, h_src, s_src, h_dst, s_dst, all_cells, old_remap, answers_2018)) [fd] sig(subroutine ale_remap_scalar(CS, G, GV, nk_src, h_src, s_src, h_dst, s_dst, all_cells, old_remap, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ale_remap_scalar) arglist(CS, G, GV, nk_src, h_src, s_src, h_dst, s_dst, all_cells, old_remap, answers_2018) [fd] fullname(mom_ale/ale_remap_scalar) ftype(None) [fd] name(('mom_ale/ale_remap_scalar', None)) sig(subroutine ale_remap_scalar(CS, G, GV, nk_src, h_src, s_src, h_dst, s_dst, all_cells, old_remap, answers_2018)) signode(subroutine mom_ale/ale_remap_scalarCSGGVnk_srch_srcs_srch_dsts_dstall_cellsold_remapanswers_2018) [fd] run(.. f:subroutine:: subroutine ts_plm_edge_values(CS, S_t, S_b, T_t, T_b, G, GV, tv, h, bdry_extrap)) [fd] sig(subroutine ts_plm_edge_values(CS, S_t, S_b, T_t, T_b, G, GV, tv, h, bdry_extrap)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ts_plm_edge_values) arglist(CS, S_t, S_b, T_t, T_b, G, GV, tv, h, bdry_extrap) [fd] fullname(mom_ale/ts_plm_edge_values) ftype(None) [fd] name(('mom_ale/ts_plm_edge_values', None)) sig(subroutine ts_plm_edge_values(CS, S_t, S_b, T_t, T_b, G, GV, tv, h, bdry_extrap)) signode(subroutine mom_ale/ts_plm_edge_valuesCSS_tS_bT_tT_bGGVtvhbdry_extrap) [fd] run(.. f:subroutine:: subroutine ale_plm_edge_values(CS, G, GV, h, Q, bdry_extrap, Q_t, Q_b)) [fd] sig(subroutine ale_plm_edge_values(CS, G, GV, h, Q, bdry_extrap, Q_t, Q_b)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ale_plm_edge_values) arglist(CS, G, GV, h, Q, bdry_extrap, Q_t, Q_b) [fd] fullname(mom_ale/ale_plm_edge_values) ftype(None) [fd] name(('mom_ale/ale_plm_edge_values', None)) sig(subroutine ale_plm_edge_values(CS, G, GV, h, Q, bdry_extrap, Q_t, Q_b)) signode(subroutine mom_ale/ale_plm_edge_valuesCSGGVhQbdry_extrapQ_tQ_b) [fd] run(.. f:subroutine:: subroutine ts_ppm_edge_values(CS, S_t, S_b, T_t, T_b, G, GV, tv, h, bdry_extrap)) [fd] sig(subroutine ts_ppm_edge_values(CS, S_t, S_b, T_t, T_b, G, GV, tv, h, bdry_extrap)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ts_ppm_edge_values) arglist(CS, S_t, S_b, T_t, T_b, G, GV, tv, h, bdry_extrap) [fd] fullname(mom_ale/ts_ppm_edge_values) ftype(None) [fd] name(('mom_ale/ts_ppm_edge_values', None)) sig(subroutine ts_ppm_edge_values(CS, S_t, S_b, T_t, T_b, G, GV, tv, h, bdry_extrap)) signode(subroutine mom_ale/ts_ppm_edge_valuesCSS_tS_bT_tT_bGGVtvhbdry_extrap) [fd] run(.. f:subroutine:: subroutine ale_initregridding(GV, US, max_depth, param_file, mdl, regridCS)) [fd] sig(subroutine ale_initregridding(GV, US, max_depth, param_file, mdl, regridCS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ale_initregridding) arglist(GV, US, max_depth, param_file, mdl, regridCS) [fd] fullname(mom_ale/ale_initregridding) ftype(None) [fd] name(('mom_ale/ale_initregridding', None)) sig(subroutine ale_initregridding(GV, US, max_depth, param_file, mdl, regridCS)) signode(subroutine mom_ale/ale_initregriddingGVUSmax_depthparam_filemdlregridCS) [fd] run(.. f:function:: real function ale_getcoordinate(CS)) [fd] sig(real function ale_getcoordinate(CS)) [fd] ftype(real) objtype(function) modname(None) typename() name(ale_getcoordinate) arglist(CS) [fd] fullname(mom_ale/ale_getcoordinate) ftype(real) [fd] name(('mom_ale/ale_getcoordinate', 'real')) sig(real function ale_getcoordinate(CS)) signode(function mom_ale/ale_getcoordinateCS [real]) [fd] run(.. f:function:: character(len=20) function ale_getcoordinateunits(CS)) [fd] sig(character(len=20) function ale_getcoordinateunits(CS)) [fd] ftype(character(len=20)) objtype(function) modname(None) typename() name(ale_getcoordinateunits) arglist(CS) [fd] fullname(mom_ale/ale_getcoordinateunits) ftype(character(len=20)) [fd] name(('mom_ale/ale_getcoordinateunits', 'character(len=20)')) sig(character(len=20) function ale_getcoordinateunits(CS)) signode(function mom_ale/ale_getcoordinateunitsCS [character(len=20)]) [fd] run(.. f:function:: logical function ale_remap_init_conds(CS)) [fd] sig(logical function ale_remap_init_conds(CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(ale_remap_init_conds) arglist(CS) [fd] fullname(mom_ale/ale_remap_init_conds) ftype(logical) [fd] name(('mom_ale/ale_remap_init_conds', 'logical')) sig(logical function ale_remap_init_conds(CS)) signode(function mom_ale/ale_remap_init_condsCS [logical]) [fd] run(.. f:subroutine:: subroutine ale_update_regrid_weights(dt, CS)) [fd] sig(subroutine ale_update_regrid_weights(dt, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ale_update_regrid_weights) arglist(dt, CS) [fd] fullname(mom_ale/ale_update_regrid_weights) ftype(None) [fd] name(('mom_ale/ale_update_regrid_weights', None)) sig(subroutine ale_update_regrid_weights(dt, CS)) signode(subroutine mom_ale/ale_update_regrid_weightsdtCS) [fd] run(.. f:subroutine:: subroutine ale_updateverticalgridtype(CS, GV)) [fd] sig(subroutine ale_updateverticalgridtype(CS, GV)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ale_updateverticalgridtype) arglist(CS, GV) [fd] fullname(mom_ale/ale_updateverticalgridtype) ftype(None) [fd] name(('mom_ale/ale_updateverticalgridtype', None)) sig(subroutine ale_updateverticalgridtype(CS, GV)) signode(subroutine mom_ale/ale_updateverticalgridtypeCSGV) [fd] run(.. f:subroutine:: subroutine ale_writecoordinatefile(CS, GV, directory)) [fd] sig(subroutine ale_writecoordinatefile(CS, GV, directory)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ale_writecoordinatefile) arglist(CS, GV, directory) [fd] fullname(mom_ale/ale_writecoordinatefile) ftype(None) [fd] name(('mom_ale/ale_writecoordinatefile', None)) sig(subroutine ale_writecoordinatefile(CS, GV, directory)) signode(subroutine mom_ale/ale_writecoordinatefileCSGVdirectory) [fd] run(.. f:subroutine:: subroutine ale_initthicknesstocoord(CS, G, GV, h)) [fd] sig(subroutine ale_initthicknesstocoord(CS, G, GV, h)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ale_initthicknesstocoord) arglist(CS, G, GV, h) [fd] fullname(mom_ale/ale_initthicknesstocoord) ftype(None) [fd] name(('mom_ale/ale_initthicknesstocoord', None)) sig(subroutine ale_initthicknesstocoord(CS, G, GV, h)) signode(subroutine mom_ale/ale_initthicknesstocoordCSGGVh) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 17%] api/generated/modules/mom_ale_sponge [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_ale_spon [app] emitting event: 'source-read'('api/generated/modules/mom_ale_sponge', ['.. autodoxymodule:: mom_ale_sponge\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_ale_sponge.rst:1: input: .. autodoxymodule:: mom_ale_sponge :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_ale_sponge::ale_sponge_cs ~mom_ale_sponge::p2d ~mom_ale_sponge::p3d --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_ale_sponge::initialize_ale_sponge_fixed ~mom_ale_sponge::get_ale_sponge_nz_data ~mom_ale_sponge::get_ale_sponge_thicknesses ~mom_ale_sponge::initialize_ale_sponge_varying ~mom_ale_sponge::init_ale_sponge_diags ~mom_ale_sponge::set_up_ale_sponge_field_fixed ~mom_ale_sponge::set_up_ale_sponge_field_varying ~mom_ale_sponge::set_up_ale_sponge_vel_field_fixed ~mom_ale_sponge::set_up_ale_sponge_vel_field_varying ~mom_ale_sponge::apply_ale_sponge ~mom_ale_sponge::rotate_ale_sponge ~mom_ale_sponge::update_ale_sponge_field ~mom_ale_sponge::ale_sponge_end [debug] xpath(./compounddef/compoundname[text()="mom_ale_sponge"]/..) match([('id', 'namespacemom__ale__sponge'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_ale_sponge module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ale_sponge', , {'members': , {'members': , {'members': ), ('mom_ale_sponge::p2d', ), ('mom_ale_sponge::p3d', )]) [autodoc] module analyzer failed: error importing 'mom_ale_sponge' (exception was: ModuleNotFoundError("No module named 'mom_ale_sponge'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ale_sponge::ale_sponge_cs', , {'members': < [autodoc] module analyzer failed: error importing 'mom_ale_sponge' (exception was: ModuleNotFoundError("No module named 'mom_ale_sponge'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_ale_sponge::p2d', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('get_ale_sponge_nz_data', ), ('get_ale_sponge_thicknesses', ), ('initialize_ale_sponge_varying', ), ('init_ale_sponge_diags', ), ('set_up_ale_sponge_field_fixed', ), ('set_up_ale_sponge_field_varying', ), ('set_up_ale_sponge_vel_field_fixed', ), ('set_up_ale_sponge_vel_field_varying', ), ('apply_ale_sponge', ), ('rotate_ale_sponge', ), ('update_ale_sponge_field', ), ('ale_sponge_end', )]) [autodoc] module analyzer failed: error importing 'mom_ale_sponge' (exception was: ModuleNotFoundError("No module named 'mom_ale_sponge'")) [debug] DoxygenMethodDocumenter format_signature called ((Iresttime, G, param_file, CS, data_h, nz_data)) [debug] add_directive_header sig((Iresttime, G, param_file, CS, data_h, nz_data)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine initialize_ale_sponge_fixed) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_ale_sponge_fixed', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_ale_sponge_varying', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_ale_sponge_varying', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_ale_sponge_varying', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_ale_sponge_varying', , {'members': < [autodoc] module analyzer failed: error importing 'mom_ale_sponge' (exception was: ModuleNotFoundError("No module named 'mom_ale_sponge'")) [debug] DoxygenMethodDocumenter format_signature called ((Time, G, diag, CS)) [debug] add_directive_header sig((Time, G, diag, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine init_ale_sponge_diags) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'init_ale_sponge_diags', , {'members': , {'members': , {'members': , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_up_ale_sponge_field_fixed', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_up_ale_sponge_field_fixed', , {'members': < [autodoc] module analyzer failed: error importing 'mom_ale_sponge' (exception was: ModuleNotFoundError("No module named 'mom_ale_sponge'")) [debug] DoxygenMethodDocumenter format_signature called ((filename, fieldname, Time, G, GV, US, f_ptr, CS)) [debug] add_directive_header sig((filename, fieldname, Time, G, GV, US, f_ptr, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine set_up_ale_sponge_field_varying) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_up_ale_sponge_field_varying', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_up_ale_sponge_field_varying', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_up_ale_sponge_field_varying', , {'members': [autodoc] module analyzer failed: error importing 'mom_ale_sponge' (exception was: ModuleNotFoundError("No module named 'mom_ale_sponge'")) [debug] DoxygenMethodDocumenter format_signature called ((u_val, v_val, G, u_ptr, v_ptr, CS)) [debug] add_directive_header sig((u_val, v_val, G, u_ptr, v_ptr, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine set_up_ale_sponge_vel_field_fixed) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_up_ale_sponge_vel_field_fixed', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_up_ale_sponge_vel_field_fixed', , {'members [autodoc] module analyzer failed: error importing 'mom_ale_sponge' (exception was: ModuleNotFoundError("No module named 'mom_ale_sponge'")) [debug] DoxygenMethodDocumenter format_signature called ((filename_u, fieldname_u, filename_v, fieldname_v, Time, G, US, CS, u_ptr, v_ptr)) [debug] add_directive_header sig((filename_u, fieldname_u, filename_v, fieldname_v, Time, G, US, CS, u_ptr, v_ptr)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine set_up_ale_sponge_vel_field_varying) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_up_ale_sponge_vel_field_varying', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_up_ale_sponge_vel_field_varying', , {'membe [autodoc] module analyzer failed: error importing 'mom_ale_sponge' (exception was: ModuleNotFoundError("No module named 'mom_ale_sponge'")) [debug] DoxygenMethodDocumenter format_signature called ((h, dt, G, GV, US, CS, Time)) [debug] add_directive_header sig((h, dt, G, GV, US, CS, Time)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine apply_ale_sponge) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'apply_ale_sponge', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_ale_sponge::ale_sponge_cs ~mom_ale_sponge::p2d ~mom_ale_sponge::p3d --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_ale_sponge::initialize_ale_sponge_fixed ~mom_ale_sponge::get_ale_sponge_nz_data ~mom_ale_sponge::get_ale_sponge_thicknesses ~mom_ale_sponge::initialize_ale_sponge_varying ~mom_ale_sponge::init_ale_sponge_diags ~mom_ale_sponge::set_up_ale_sponge_field_fixed ~mom_ale_sponge::set_up_ale_sponge_field_varying ~mom_ale_sponge::set_up_ale_sponge_vel_field_fixed ~mom_ale_sponge::set_up_ale_sponge_vel_field_varying ~mom_ale_sponge::apply_ale_sponge ~mom_ale_sponge::rotate_ale_sponge ~mom_ale_sponge::update_ale_sponge_field ~mom_ale_sponge::ale_sponge_end .. _DETAmom_ale_sponge: -------------------- Detailed Description -------------------- Applying sponges requires the following: #. initialize_ALE_sponge #. set_up_ALE_sponge_field (tracers) and set_up_ALE_sponge_vel_field (vel) #. apply_ALE_sponge #. init_ALE_sponge_diags (not being used for now) #. ALE_sponge_end (not being used for now) ------------------ Type Documentation ------------------ .. f:type:: ale_sponge_cs ALE sponge control structure. :typefield integer nz: The total number of layers. :typefield integer nz_data: The total number of arbritary layers (used by older code). :typefield integer isc: The starting i-index of the computational domain at h. :typefield integer iec: The ending i-index of the computational domain at h. :typefield integer jsc: The starting j-index of the computational domain at h. :typefield integer jec: The ending j-index of the computational domain at h. :typefield integer iscb: The starting I-index of the computational domain at u/v. :typefield integer iecb: The ending I-index of the computational domain at u/v. :typefield integer jscb: The starting J-index of the computational domain at u/v. :typefield integer jecb: The ending J-index of the computational domain at h. :typefield integer isd: The starting i-index of the data domain at h. :typefield integer ied: The ending i-index of the data domain at h. :typefield integer jsd: The starting j-index of the data domain at h. :typefield integer jed: The ending j-index of the data domain at h. :typefield integer num_col: The number of sponge tracer points within the computational domain. :typefield integer num_col_u: The number of sponge u-points within the computational domain. :typefield integer num_col_v: The number of sponge v-points within the computational domain. :typefield integer fldno: The number of fields which have already been registered by calls to set_up_sponge_field. :typefield logical sponge_uv: Control whether u and v are included in sponge. :typefield integer(\:) col_i [pointer]: Array of the i-indicies of each tracer columns being damped. :typefield integer(\:) col_j [pointer]: Array of the j-indicies of each tracer columns being damped. :typefield integer(\:) col_i_u [pointer]: Array of the i-indicies of each u-columns being damped. :typefield integer(\:) col_j_u [pointer]: Array of the j-indicies of each u-columns being damped. :typefield integer(\:) col_i_v [pointer]: Array of the i-indicies of each v-columns being damped. :typefield integer(\:) col_j_v [pointer]: Array of the j-indicies of each v-columns being damped. :typefield real(\:) iresttime_col [pointer]: The inverse restoring time of each tracer column [T-1 ~> s-1]. :typefield real(\:) iresttime_col_u [pointer]: The inverse restoring time of each u-column [T-1 ~> s-1]. :typefield real(\:) iresttime_col_v [pointer]: The inverse restoring time of each v-column [T-1 ~> s-1]. :typefield type( p3d )(50) var: Pointers to the fields that are being damped. :typefield type( p2d )(50) ref_val: The values to which the fields are damped. :typefield type( p2d ) ref_val_u: The values to which the u-velocities are damped. :typefield type( p2d ) ref_val_v: The values to which the v-velocities are damped. :typefield type( p3d ) var_u: Pointer to the u velocities. that are being damped. :typefield type( p3d ) var_v: Pointer to the v velocities. that are being damped. :typefield type( p2d ) ref_h: Grid on which reference data is provided (older code). :typefield type( p2d ) ref_hu: u-point grid on which reference data is provided (older code). :typefield type( p2d ) ref_hv: v-point grid on which reference data is provided (older code). :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(remapping_cs) remap_cs: Remapping parameters and work arrays. :typefield logical remap_answers_2018: If true, use the order of arithmetic and expressions that recover the answers for remapping from the end of 2018. Otherwise, use more robust forms of the same expressions. :typefield logical hor_regrid_answers_2018: If true, use the order of arithmetic for horizonal regridding that recovers the answers from the end of 2018. Otherwise, use rotationally symmetric forms of the same expressions. :typefield logical time_varying_sponges: True if using newer sponge code. :typefield logical spongedataongrid: True if the sponge data are on the model horizontal grid. .. f:type:: p2d A structure for creating arrays of pointers to 2D arrays with extra gridding information. :typefield integer id [private]: id for FMS external time interpolator :typefield integer nz_data [private]: The number of vertical levels in the input field. :typefield integer num_tlevs [private]: The number of time records contained in the file. :typefield real(\:,\:) mask_in [pointer, private]: pointer to the data mask. :typefield real(\:,\:) p [pointer, private]: pointer the data. :typefield real(\:,\:) h [pointer, private]: pointer the data grid. .. f:type:: p3d A structure for creating arrays of pointers to 3D arrays with extra gridding information. :typefield integer id [private]: id for FMS external time interpolator :typefield integer nz_data [private]: The number of vertical levels in the input field. :typefield integer num_tlevs [private]: The number of time records contained in the file. :typefield real(\:,\:,\:) mask_in [pointer, private]: pointer to the data mask. :typefield real(\:,\:,\:) p [pointer, private]: pointer to the data. :typefield real(\:,\:,\:) h [pointer, private]: pointer to the data grid. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine initialize_ale_sponge_fixed(Iresttime, G, param_file, CS, data_h, nz_data) This subroutine determines the number of points which are within sponges in this computational domain. Only points that have positive values of Iresttime and which mask2dT indicates are ocean points are included in the sponges. It also stores the target interface heights. :param g: [in] The ocean's grid structure. :param nz_data: [in] The total number of sponge input layers. :param iresttime: [in] The inverse of the restoring time [T-1 ~> s-1]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param cs: A pointer that is set to point to the control structure for this module (in/out). :param data_h: [in] The thicknesses of the sponge input layers [H ~> m or kg m-2]. :callto: :f:func:`mom_remapping::initialize_remapping ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`rotate_ale_sponge ` .. f:function:: integer function get_ale_sponge_nz_data(CS) Return the number of layers in the data with a fixed ALE sponge, or 0 if there are no sponge columns on this PE. :param cs: A pointer that is set to point to the control structure for the ALE_sponge module. :returns undefined: The number of layers in the fixed sponge data. :calledfrom: :f:func:`rgc_tracer::initialize_rgc_tracer ` .. f:subroutine:: subroutine get_ale_sponge_thicknesses(G, data_h, sponge_mask, CS) Return the thicknesses used for the data with a fixed ALE sponge. :param g: [in] The ocean's grid structure (in). :param data_h: [inout] The thicknesses of the sponge input layers [H ~> m or kg m-2]. :param sponge_mask: [out] A logical mask that is true where :param cs: A pointer that is set to point to the control structure for the ALE_sponge module. :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine initialize_ale_sponge_varying(Iresttime, G, param_file, CS) This subroutine determines the number of points which are to be restoref in the computational domain. Only points that have positive values of Iresttime and which mask2dT indicates are ocean points are included in the sponges. :param g: [in] The ocean's grid structure. :param iresttime: [in] The inverse of the restoring time [T-1 ~> s-1]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param cs: A pointer that is set to point to the control structure for this module (in/out). :callto: :f:func:`mom_remapping::initialize_remapping ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`rotate_ale_sponge ` .. f:subroutine:: subroutine init_ale_sponge_diags(Time, G, diag, CS) Initialize diagnostics for the ALE_sponge module. :param time: [in] The current model time :param g: [in] The ocean's grid structure :param diag: [inout] A structure that is used to regulate diagnostic output. :param cs: ALE sponge control structure :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine set_up_ale_sponge_field_fixed(sp_val, G, f_ptr, CS) This subroutine stores the reference profile at h points for the variable whose address is given by f_ptr. :param g: [in] Grid structure :param cs: ALE sponge control structure (in/out). :param sp_val: [in] Field to be used in the sponge, it has arbitrary number of layers. :param f_ptr: [in] Pointer to the field to be damped :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine set_up_ale_sponge_field_varying(filename, fieldname, Time, G, GV, US, f_ptr, CS) This subroutine stores the reference profile at h points for the variable whose address is given by filename and fieldname. :param filename: [in] The name of the file with the time varying field data :param fieldname: [in] The name of the field in the file with the time varying field data :param time: [in] The current model time :param g: [in] Grid structure (in). :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param f_ptr: [in] Pointer to the field to be damped (in). :param cs: Sponge control structure (in/out). :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine set_up_ale_sponge_vel_field_fixed(u_val, v_val, G, u_ptr, v_ptr, CS) This subroutine stores the reference profile at u and v points for the variable whose address is given by u_ptr and v_ptr. :param g: [in] Grid structure (in). :param cs: Sponge structure (in/out). :param u_val: [in] u field to be used in the sponge, it has arbritary number of layers. :param v_val: [in] v field to be used in the sponge, it has arbritary number of layers. :param u_ptr: [in] u pointer to the field to be damped :param v_ptr: [in] v pointer to the field to be damped .. f:subroutine:: subroutine set_up_ale_sponge_vel_field_varying(filename_u, fieldname_u, filename_v, fieldname_v, Time, G, US, CS, u_ptr, v_ptr) This subroutine stores the reference profile at uand v points for the variable whose address is given by u_ptr and v_ptr. :param filename_u: [in] File name for u field :param fieldname_u: [in] Name of u variable in file :param filename_v: [in] File name for v field :param fieldname_v: [in] Name of v variable in file :param time: [in] Model time :param g: [inout] Ocean grid (in) :param us: [in] A dimensional unit scaling type :param cs: Sponge structure (in/out). :param u_ptr: [in] u pointer to the field to be damped (in). :param v_ptr: [in] v pointer to the field to be damped (in). .. f:subroutine:: subroutine apply_ale_sponge(h, dt, G, GV, US, CS, Time) This subroutine applies damping to the layers thicknesses, temp, salt and a variety of tracers for every column where there is damping. :param g: [inout] The ocean's grid structure (in). :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [inout] Layer thickness [H ~> m or kg m-2] (in) :param dt: [in] The amount of time covered by this call [T ~> s]. :param cs: A pointer to the control structure for this module that is set by a previous call to initialize_ALE_sponge (in). :param time: [in] The current model date :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_remapping::remapping_core_h ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale_legacy ` .. f:subroutine:: subroutine rotate_ale_sponge(sponge_in, G_in, sponge, G, turns, param_file) Rotate the ALE sponge fields from the input to the model index map. :param sponge_in: [in] The control structure for this module with the original grid rotation :param g_in: [in] The ocean's grid structure with the original rotation. :param sponge: A pointer to the control that will be set up with the new grid rotation :param g: [in] The ocean's grid structure with the new rotation. :param turns: [in] The number of 90-degree turns between grids :param param_file: [in] A structure indicating the open file to parse for model parameter values. :callto: :f:func:`initialize_ale_sponge_fixed ` :callto: :f:func:`initialize_ale_sponge_varying ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine update_ale_sponge_field(sponge, p_old, G, GV, p_new) Scan the ALE sponge variables and replace a prescribed pointer to a new value. :param sponge: A pointer to the control structure for this module that is set by a previous call to initialize_ALE_sponge. :param p_old: [in] The previous array of target values :param g: [in] The updated ocean grid structure :param gv: [in] ocean vertical grid structure :param p_new: [in] The new array of target values .. f:subroutine:: subroutine ale_sponge_end(CS) This subroutine deallocates any memory associated with the ALE_sponge module. :param cs: A pointer to the control structure that is set by a previous call to initialize_ALE_sponge. [debug] xpath(./compounddef/compoundname[text()="mom_ale_sponge::ale_sponge_cs"]/..) match([('id', 'structmom__ale__sponge_1_1ale__sponge__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ale_sponge::ale_sponge_cs', , {}, ['', 'A [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ale_sponge::ale_sponge_cs', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ale_sponge::ale_sponge_cs', , {}, ['', 'A [debug] xpath(./compounddef/compoundname[text()="mom_ale_sponge::p2d"]/..) match([('id', 'structmom__ale__sponge_1_1p2d'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ale_sponge::p2d', , {}, ['', 'A structure [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ale_sponge::p2d', , {}, ['`More... , {}, ['', 'A structure [debug] xpath(./compounddef/compoundname[text()="mom_ale_sponge::p3d"]/..) match([('id', 'structmom__ale__sponge_1_1p3d'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ale_sponge::p3d', , {}, ['', 'A structure [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ale_sponge::p3d', , {}, ['`More... , {}, ['', 'A structure [debug] DoxygenMethodDocumenter format_signature called ((Iresttime, G, param_file, CS, data_h, nz_data)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale_sponge::initialize_ale_sponge_fixed', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale_sponge::initialize_ale_sponge_fixed', , [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale_sponge::get_ale_sponge_nz_data', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale_sponge::get_ale_sponge_nz_data', , {}, [debug] DoxygenMethodDocumenter format_signature called ((G, data_h, sponge_mask, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale_sponge::get_ale_sponge_thicknesses', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale_sponge::get_ale_sponge_thicknesses', , [debug] DoxygenMethodDocumenter format_signature called ((Iresttime, G, param_file, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale_sponge::initialize_ale_sponge_varying', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale_sponge::init_ale_sponge_diags', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((sp_val, G, f_ptr, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale_sponge::set_up_ale_sponge_field_fixed', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale_sponge::apply_ale_sponge', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((sponge_in, G_in, sponge, G, turns, param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale_sponge::rotate_ale_sponge', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale_sponge::rotate_ale_sponge', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((sponge, p_old, G, GV, p_new)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale_sponge::update_ale_sponge_field', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale_sponge::update_ale_sponge_field', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale_sponge::ale_sponge_end', , {}, ['', 'Th [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ale_sponge::ale_sponge_end', , {}, ['', 'Th [fd] run(.. f:type:: ale_sponge_cs) [fd] sig(ale_sponge_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(ale_sponge_cs) arglist(None) [fd] fullname(mom_ale_sponge/ale_sponge_cs) ftype(None) [fd] name(('mom_ale_sponge/ale_sponge_cs', None)) sig(ale_sponge_cs) signode(type mom_ale_sponge/ale_sponge_cs) [fd] run(.. f:type:: p2d) [fd] sig(p2d) [fd] ftype(None) objtype(None) modname(None) typename() name(p2d) arglist(None) [fd] fullname(mom_ale_sponge/p2d) ftype(None) [fd] name(('mom_ale_sponge/p2d', None)) sig(p2d) signode(type mom_ale_sponge/p2d) [fd] run(.. f:type:: p3d) [fd] sig(p3d) [fd] ftype(None) objtype(None) modname(None) typename() name(p3d) arglist(None) [fd] fullname(mom_ale_sponge/p3d) ftype(None) [fd] name(('mom_ale_sponge/p3d', None)) sig(p3d) signode(type mom_ale_sponge/p3d) [fd] run(.. f:subroutine:: subroutine initialize_ale_sponge_fixed(Iresttime, G, param_file, CS, data_h, nz_data)) [fd] sig(subroutine initialize_ale_sponge_fixed(Iresttime, G, param_file, CS, data_h, nz_data)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_ale_sponge_fixed) arglist(Iresttime, G, param_file, CS, data_h, nz_data) [fd] fullname(mom_ale_sponge/initialize_ale_sponge_fixed) ftype(None) [fd] name(('mom_ale_sponge/initialize_ale_sponge_fixed', None)) sig(subroutine initialize_ale_sponge_fixed(Iresttime, G, param_file, CS, data_h, nz_data)) signode(subroutine mom_ale_sponge/initialize_ale_sponge_fixedIresttimeGparam_fileCSdata_hnz_data) [fd] run(.. f:function:: integer function get_ale_sponge_nz_data(CS)) [fd] sig(integer function get_ale_sponge_nz_data(CS)) [fd] ftype(integer) objtype(function) modname(None) typename() name(get_ale_sponge_nz_data) arglist(CS) [fd] fullname(mom_ale_sponge/get_ale_sponge_nz_data) ftype(integer) [fd] name(('mom_ale_sponge/get_ale_sponge_nz_data', 'integer')) sig(integer function get_ale_sponge_nz_data(CS)) signode(function mom_ale_sponge/get_ale_sponge_nz_dataCS [integer]) [fd] run(.. f:subroutine:: subroutine get_ale_sponge_thicknesses(G, data_h, sponge_mask, CS)) [fd] sig(subroutine get_ale_sponge_thicknesses(G, data_h, sponge_mask, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_ale_sponge_thicknesses) arglist(G, data_h, sponge_mask, CS) [fd] fullname(mom_ale_sponge/get_ale_sponge_thicknesses) ftype(None) [fd] name(('mom_ale_sponge/get_ale_sponge_thicknesses', None)) sig(subroutine get_ale_sponge_thicknesses(G, data_h, sponge_mask, CS)) signode(subroutine mom_ale_sponge/get_ale_sponge_thicknessesGdata_hsponge_maskCS) [fd] run(.. f:subroutine:: subroutine initialize_ale_sponge_varying(Iresttime, G, param_file, CS)) [fd] sig(subroutine initialize_ale_sponge_varying(Iresttime, G, param_file, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_ale_sponge_varying) arglist(Iresttime, G, param_file, CS) [fd] fullname(mom_ale_sponge/initialize_ale_sponge_varying) ftype(None) [fd] name(('mom_ale_sponge/initialize_ale_sponge_varying', None)) sig(subroutine initialize_ale_sponge_varying(Iresttime, G, param_file, CS)) signode(subroutine mom_ale_sponge/initialize_ale_sponge_varyingIresttimeGparam_fileCS) [fd] run(.. f:subroutine:: subroutine init_ale_sponge_diags(Time, G, diag, CS)) [fd] sig(subroutine init_ale_sponge_diags(Time, G, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(init_ale_sponge_diags) arglist(Time, G, diag, CS) [fd] fullname(mom_ale_sponge/init_ale_sponge_diags) ftype(None) [fd] name(('mom_ale_sponge/init_ale_sponge_diags', None)) sig(subroutine init_ale_sponge_diags(Time, G, diag, CS)) signode(subroutine mom_ale_sponge/init_ale_sponge_diagsTimeGdiagCS) [fd] run(.. f:subroutine:: subroutine set_up_ale_sponge_field_fixed(sp_val, G, f_ptr, CS)) [fd] sig(subroutine set_up_ale_sponge_field_fixed(sp_val, G, f_ptr, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_up_ale_sponge_field_fixed) arglist(sp_val, G, f_ptr, CS) [fd] fullname(mom_ale_sponge/set_up_ale_sponge_field_fixed) ftype(None) [fd] name(('mom_ale_sponge/set_up_ale_sponge_field_fixed', None)) sig(subroutine set_up_ale_sponge_field_fixed(sp_val, G, f_ptr, CS)) signode(subroutine mom_ale_sponge/set_up_ale_sponge_field_fixedsp_valGf_ptrCS) [fd] run(.. f:subroutine:: subroutine set_up_ale_sponge_field_varying(filename, fieldname, Time, G, GV, US, f_ptr, CS)) [fd] sig(subroutine set_up_ale_sponge_field_varying(filename, fieldname, Time, G, GV, US, f_ptr, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_up_ale_sponge_field_varying) arglist(filename, fieldname, Time, G, GV, US, f_ptr, CS) [fd] fullname(mom_ale_sponge/set_up_ale_sponge_field_varying) ftype(None) [fd] name(('mom_ale_sponge/set_up_ale_sponge_field_varying', None)) sig(subroutine set_up_ale_sponge_field_varying(filename, fieldname, Time, G, GV, US, f_ptr, CS)) signode(subroutine mom_ale_sponge/set_up_ale_sponge_field_varyingfilenamefieldnameTimeGGVUSf_ptrCS) [fd] run(.. f:subroutine:: subroutine set_up_ale_sponge_vel_field_fixed(u_val, v_val, G, u_ptr, v_ptr, CS)) [fd] sig(subroutine set_up_ale_sponge_vel_field_fixed(u_val, v_val, G, u_ptr, v_ptr, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_up_ale_sponge_vel_field_fixed) arglist(u_val, v_val, G, u_ptr, v_ptr, CS) [fd] fullname(mom_ale_sponge/set_up_ale_sponge_vel_field_fixed) ftype(None) [fd] name(('mom_ale_sponge/set_up_ale_sponge_vel_field_fixed', None)) sig(subroutine set_up_ale_sponge_vel_field_fixed(u_val, v_val, G, u_ptr, v_ptr, CS)) signode(subroutine mom_ale_sponge/set_up_ale_sponge_vel_field_fixedu_valv_valGu_ptrv_ptrCS) [fd] run(.. f:subroutine:: subroutine set_up_ale_sponge_vel_field_varying(filename_u, fieldname_u, filename_v, fieldname_v, Time, G, US, CS, u_ptr, v_ptr)) [fd] sig(subroutine set_up_ale_sponge_vel_field_varying(filename_u, fieldname_u, filename_v, fieldname_v, Time, G, US, CS, u_ptr, v_ptr)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_up_ale_sponge_vel_field_varying) arglist(filename_u, fieldname_u, filename_v, fieldname_v, Time, G, US, CS, u_ptr, v_ptr) [fd] fullname(mom_ale_sponge/set_up_ale_sponge_vel_field_varying) ftype(None) [fd] name(('mom_ale_sponge/set_up_ale_sponge_vel_field_varying', None)) sig(subroutine set_up_ale_sponge_vel_field_varying(filename_u, fieldname_u, filename_v, fieldname_v, Time, G, US, CS, u_ptr, v_ptr)) signode(subroutine mom_ale_sponge/set_up_ale_sponge_vel_field_varyingfilename_ufieldname_ufilename_vfieldname_vTimeGUSCSu_ptrv_ptr) [fd] run(.. f:subroutine:: subroutine apply_ale_sponge(h, dt, G, GV, US, CS, Time)) [fd] sig(subroutine apply_ale_sponge(h, dt, G, GV, US, CS, Time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(apply_ale_sponge) arglist(h, dt, G, GV, US, CS, Time) [fd] fullname(mom_ale_sponge/apply_ale_sponge) ftype(None) [fd] name(('mom_ale_sponge/apply_ale_sponge', None)) sig(subroutine apply_ale_sponge(h, dt, G, GV, US, CS, Time)) signode(subroutine mom_ale_sponge/apply_ale_spongehdtGGVUSCSTime) [fd] run(.. f:subroutine:: subroutine rotate_ale_sponge(sponge_in, G_in, sponge, G, turns, param_file)) [fd] sig(subroutine rotate_ale_sponge(sponge_in, G_in, sponge, G, turns, param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_ale_sponge) arglist(sponge_in, G_in, sponge, G, turns, param_file) [fd] fullname(mom_ale_sponge/rotate_ale_sponge) ftype(None) [fd] name(('mom_ale_sponge/rotate_ale_sponge', None)) sig(subroutine rotate_ale_sponge(sponge_in, G_in, sponge, G, turns, param_file)) signode(subroutine mom_ale_sponge/rotate_ale_spongesponge_inG_inspongeGturnsparam_file) [fd] run(.. f:subroutine:: subroutine update_ale_sponge_field(sponge, p_old, G, GV, p_new)) [fd] sig(subroutine update_ale_sponge_field(sponge, p_old, G, GV, p_new)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_ale_sponge_field) arglist(sponge, p_old, G, GV, p_new) [fd] fullname(mom_ale_sponge/update_ale_sponge_field) ftype(None) [fd] name(('mom_ale_sponge/update_ale_sponge_field', None)) sig(subroutine update_ale_sponge_field(sponge, p_old, G, GV, p_new)) signode(subroutine mom_ale_sponge/update_ale_sponge_fieldspongep_oldGGVp_new) [fd] run(.. f:subroutine:: subroutine ale_sponge_end(CS)) [fd] sig(subroutine ale_sponge_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ale_sponge_end) arglist(CS) [fd] fullname(mom_ale_sponge/ale_sponge_end) ftype(None) [fd] name(('mom_ale_sponge/ale_sponge_end', None)) sig(subroutine ale_sponge_end(CS)) signode(subroutine mom_ale_sponge/ale_sponge_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 17%] api/generated/modules/mom_array_transform [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_array_tr [app] emitting event: 'source-read'('api/generated/modules/mom_array_transform', ['.. autodoxymodule:: mom_array_transform\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_array_transform.rst:1: input: .. autodoxymodule:: mom_array_transform :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_array_transform::rotate_array_real_2d ~mom_array_transform::rotate_array_real_3d ~mom_array_transform::rotate_array_real_4d ~mom_array_transform::rotate_array_integer ~mom_array_transform::rotate_array_logical ~mom_array_transform::rotate_array_pair_real_2d ~mom_array_transform::rotate_array_pair_real_3d ~mom_array_transform::rotate_array_pair_integer ~mom_array_transform::rotate_vector_real_2d ~mom_array_transform::rotate_vector_real_3d ~mom_array_transform::rotate_vector_real_4d ~mom_array_transform::allocate_rotated_array_real_2d ~mom_array_transform::allocate_rotated_array_real_3d ~mom_array_transform::allocate_rotated_array_real_4d ~mom_array_transform::allocate_rotated_array_integer [debug] xpath(./compounddef/compoundname[text()="mom_array_transform"]/..) match([('id', 'namespacemom__array__transform'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_array_transform module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_array_transform', , {'members': , {'members': , {'members': ), ('rotate_array_real_3d', ), ('rotate_array_real_4d', ), ('rotate_array_integer', ), ('rotate_array_logical', ), ('rotate_array_pair_real_2d', ), ('rotate_array_pair_real_3d', ), ('rotate_array_pair_integer', ), ('rotate_vector_real_2d', ), ('rotate_vector_real_3d', ), ('rotate_vector_real_4d', ), ('allocate_rotated_array_real_2d', ), ('allocate_rotated_array_real_3d', ), ('allocate_rotated_array_real_4d', ), ('allocate_rotated_array_integer', )]) [autodoc] module analyzer failed: error importing 'mom_array_transform' (exception was: ModuleNotFoundError("No module named 'mom_array_transform'")) [debug] DoxygenMethodDocumenter format_signature called ((A_in, turns, A)) [debug] add_directive_header sig((A_in, turns, A)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine rotate_array_real_2d) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rotate_array_real_2d', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'allocate_rotated_array_real_2d', , {'members': [autodoc] module analyzer failed: error importing 'mom_array_transform' (exception was: ModuleNotFoundError("No module named 'mom_array_transform'")) [debug] DoxygenMethodDocumenter format_signature called ((A_in, lb, turns, A)) [debug] add_directive_header sig((A_in, lb, turns, A)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine allocate_rotated_array_real_3d) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'allocate_rotated_array_real_3d', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'allocate_rotated_array_real_3d', , {'members': [autodoc] module analyzer failed: error importing 'mom_array_transform' (exception was: ModuleNotFoundError("No module named 'mom_array_transform'")) [debug] DoxygenMethodDocumenter format_signature called ((A_in, lb, turns, A)) [debug] add_directive_header sig((A_in, lb, turns, A)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine allocate_rotated_array_real_4d) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'allocate_rotated_array_real_4d', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'allocate_rotated_array_real_4d', , {'members': [autodoc] module analyzer failed: error importing 'mom_array_transform' (exception was: ModuleNotFoundError("No module named 'mom_array_transform'")) [debug] DoxygenMethodDocumenter format_signature called ((A_in, lb, turns, A)) [debug] add_directive_header sig((A_in, lb, turns, A)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine allocate_rotated_array_integer) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'allocate_rotated_array_integer', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'allocate_rotated_array_integer', , {'members': [autodoc] output: ==================================== mom_array_transform module reference ==================================== .. f:module:: mom_array_transform Module for supporting the rotation of a field's index map. The implementation of each angle is described below. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_array_transform::rotate_array_real_2d ~mom_array_transform::rotate_array_real_3d ~mom_array_transform::rotate_array_real_4d ~mom_array_transform::rotate_array_integer ~mom_array_transform::rotate_array_logical ~mom_array_transform::rotate_array_pair_real_2d ~mom_array_transform::rotate_array_pair_real_3d ~mom_array_transform::rotate_array_pair_integer ~mom_array_transform::rotate_vector_real_2d ~mom_array_transform::rotate_vector_real_3d ~mom_array_transform::rotate_vector_real_4d ~mom_array_transform::allocate_rotated_array_real_2d ~mom_array_transform::allocate_rotated_array_real_3d ~mom_array_transform::allocate_rotated_array_real_4d ~mom_array_transform::allocate_rotated_array_integer .. _DETAmom_array_transform: -------------------- Detailed Description -------------------- +90deg: B(i,j) = A(n-j,i) = transpose, then row reverse 180deg: B(i,j) = A(m-i,n-j) = row reversal + column reversal -90deg: B(i,j) = A(j,m-i) = row reverse, then transpose 90 degree rotations change the shape of the field, and are handled separately from 180 degree rotations. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine rotate_array_real_2d(A_in, turns, A) Rotate the elements of a 2d real array along first and second axes. :param a_in: [in] Unrotated array :param turns: [in] Number of quarter turns :param a: [out] Rotated array .. f:subroutine:: subroutine rotate_array_real_3d(A_in, turns, A) Rotate the elements of a 3d real array along first and second axes. :param a_in: [in] Unrotated array :param turns: [in] Number of quarter turns :param a: [out] Rotated array .. f:subroutine:: subroutine rotate_array_real_4d(A_in, turns, A) Rotate the elements of a 4d real array along first and second axes. :param a_in: [in] Unrotated array :param turns: [in] Number of quarter turns :param a: [out] Rotated array .. f:subroutine:: subroutine rotate_array_integer(A_in, turns, A) Rotate the elements of a 2d integer array along first and second axes. :param a_in: [in] Unrotated array :param turns: [in] Number of quarter turns :param a: [out] Rotated array .. f:subroutine:: subroutine rotate_array_logical(A_in, turns, A) Rotate the elements of a 2d logical array along first and second axes. :param a_in: [in] Unrotated array :param turns: [in] Number of quarter turns :param a: [out] Rotated array .. f:subroutine:: subroutine rotate_array_pair_real_2d(A_in, B_in, turns, A, B) Rotate the elements of a 2d real array pair along first and second axes. :param a_in: [in] Unrotated scalar array pair :param b_in: [in] Unrotated scalar array pair :param turns: [in] Number of quarter turns :param a: [out] Rotated scalar array pair :param b: [out] Rotated scalar array pair .. f:subroutine:: subroutine rotate_array_pair_real_3d(A_in, B_in, turns, A, B) Rotate the elements of a 3d real array pair along first and second axes. :param a_in: [in] Unrotated scalar array pair :param b_in: [in] Unrotated scalar array pair :param turns: [in] Number of quarter turns :param a: [out] Rotated scalar array pair :param b: [out] Rotated scalar array pair .. f:subroutine:: subroutine rotate_array_pair_integer(A_in, B_in, turns, A, B) Rotate the elements of a 4d real array pair along first and second axes. :param a_in: [in] Unrotated scalar array pair :param b_in: [in] Unrotated scalar array pair :param turns: [in] Number of quarter turns :param a: [out] Rotated scalar array pair :param b: [out] Rotated scalar array pair .. f:subroutine:: subroutine rotate_vector_real_2d(A_in, B_in, turns, A, B) Rotate the elements of a 2d real vector along first and second axes. :param a_in: [in] First component of unrotated vector :param b_in: [in] Second component of unrotated vector :param turns: [in] Number of quarter turns :param a: [out] First component of rotated vector :param b: [out] Second component of unrotated vector .. f:subroutine:: subroutine rotate_vector_real_3d(A_in, B_in, turns, A, B) Rotate the elements of a 3d real vector along first and second axes. :param a_in: [in] First component of unrotated vector :param b_in: [in] Second component of unrotated vector :param turns: [in] Number of quarter turns :param a: [out] First component of rotated vector :param b: [out] Second component of unrotated vector .. f:subroutine:: subroutine rotate_vector_real_4d(A_in, B_in, turns, A, B) Rotate the elements of a 4d real vector along first and second axes. :param a_in: [in] First component of unrotated vector :param b_in: [in] Second component of unrotated vector :param turns: [in] Number of quarter turns :param a: [out] First component of rotated vector :param b: [out] Second component of unrotated vector .. f:subroutine:: subroutine allocate_rotated_array_real_2d(A_in, lb, turns, A) Allocate a 2d real array on the rotated index map of a reference array. :param lb: [in] Lower index bounds of A_in :param a_in: [in] Reference array :param turns: [in] Number of quarter turns :param a: [inout] Array on rotated index .. f:subroutine:: subroutine allocate_rotated_array_real_3d(A_in, lb, turns, A) Allocate a 3d real array on the rotated index map of a reference array. :param lb: [in] Lower index bounds of A_in :param a_in: [in] Reference array :param turns: [in] Number of quarter turns :param a: [inout] Array on rotated index .. f:subroutine:: subroutine allocate_rotated_array_real_4d(A_in, lb, turns, A) Allocate a 4d real array on the rotated index map of a reference array. :param lb: [in] Lower index bounds of A_in :param a_in: [in] Reference array :param turns: [in] Number of quarter turns :param a: [inout] Array on rotated index .. f:subroutine:: subroutine allocate_rotated_array_integer(A_in, lb, turns, A) Allocate a 2d integer array on the rotated index map of a reference array. :param lb: [in] Lower index bounds of A_in :param a_in: [in] Reference array :param turns: [in] Number of quarter turns :param a: [inout] Array on rotated index [debug] DoxygenMethodDocumenter format_signature called ((A_in, turns, A)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_array_transform::rotate_array_real_2d', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_array_transform::rotate_array_real_2d', , { [debug] DoxygenMethodDocumenter format_signature called ((A_in, turns, A)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_array_transform::rotate_array_real_3d', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_array_transform::rotate_array_real_3d', , { [debug] DoxygenMethodDocumenter format_signature called ((A_in, turns, A)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_array_transform::rotate_array_real_4d', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_array_transform::rotate_array_real_4d', , { [debug] DoxygenMethodDocumenter format_signature called ((A_in, turns, A)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_array_transform::rotate_array_integer', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_array_transform::rotate_array_integer', , { [debug] DoxygenMethodDocumenter format_signature called ((A_in, turns, A)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_array_transform::rotate_array_logical', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_array_transform::rotate_array_logical', , { [debug] DoxygenMethodDocumenter format_signature called ((A_in, B_in, turns, A, B)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_array_transform::rotate_array_pair_real_2d', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_array_transform::rotate_vector_real_2d', , [debug] DoxygenMethodDocumenter format_signature called ((A_in, B_in, turns, A, B)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_array_transform::rotate_vector_real_3d', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_array_transform::rotate_vector_real_3d', , [debug] DoxygenMethodDocumenter format_signature called ((A_in, B_in, turns, A, B)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_array_transform::rotate_vector_real_4d', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_array_transform::rotate_vector_real_4d', , [debug] DoxygenMethodDocumenter format_signature called ((A_in, lb, turns, A)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_array_transform::allocate_rotated_array_real_2d', subroutine mom_array_transform/rotate_array_real_2dA_inturnsA) [fd] run(.. f:subroutine:: subroutine rotate_array_real_3d(A_in, turns, A)) [fd] sig(subroutine rotate_array_real_3d(A_in, turns, A)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_array_real_3d) arglist(A_in, turns, A) [fd] fullname(mom_array_transform/rotate_array_real_3d) ftype(None) [fd] name(('mom_array_transform/rotate_array_real_3d', None)) sig(subroutine rotate_array_real_3d(A_in, turns, A)) signode(subroutine mom_array_transform/rotate_array_real_3dA_inturnsA) [fd] run(.. f:subroutine:: subroutine rotate_array_real_4d(A_in, turns, A)) [fd] sig(subroutine rotate_array_real_4d(A_in, turns, A)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_array_real_4d) arglist(A_in, turns, A) [fd] fullname(mom_array_transform/rotate_array_real_4d) ftype(None) [fd] name(('mom_array_transform/rotate_array_real_4d', None)) sig(subroutine rotate_array_real_4d(A_in, turns, A)) signode(subroutine mom_array_transform/rotate_array_real_4dA_inturnsA) [fd] run(.. f:subroutine:: subroutine rotate_array_integer(A_in, turns, A)) [fd] sig(subroutine rotate_array_integer(A_in, turns, A)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_array_integer) arglist(A_in, turns, A) [fd] fullname(mom_array_transform/rotate_array_integer) ftype(None) [fd] name(('mom_array_transform/rotate_array_integer', None)) sig(subroutine rotate_array_integer(A_in, turns, A)) signode(subroutine mom_array_transform/rotate_array_integerA_inturnsA) [fd] run(.. f:subroutine:: subroutine rotate_array_logical(A_in, turns, A)) [fd] sig(subroutine rotate_array_logical(A_in, turns, A)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_array_logical) arglist(A_in, turns, A) [fd] fullname(mom_array_transform/rotate_array_logical) ftype(None) [fd] name(('mom_array_transform/rotate_array_logical', None)) sig(subroutine rotate_array_logical(A_in, turns, A)) signode(subroutine mom_array_transform/rotate_array_logicalA_inturnsA) [fd] run(.. f:subroutine:: subroutine rotate_array_pair_real_2d(A_in, B_in, turns, A, B)) [fd] sig(subroutine rotate_array_pair_real_2d(A_in, B_in, turns, A, B)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_array_pair_real_2d) arglist(A_in, B_in, turns, A, B) [fd] fullname(mom_array_transform/rotate_array_pair_real_2d) ftype(None) [fd] name(('mom_array_transform/rotate_array_pair_real_2d', None)) sig(subroutine rotate_array_pair_real_2d(A_in, B_in, turns, A, B)) signode(subroutine mom_array_transform/rotate_array_pair_real_2dA_inB_inturnsAB) [fd] run(.. f:subroutine:: subroutine rotate_array_pair_real_3d(A_in, B_in, turns, A, B)) [fd] sig(subroutine rotate_array_pair_real_3d(A_in, B_in, turns, A, B)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_array_pair_real_3d) arglist(A_in, B_in, turns, A, B) [fd] fullname(mom_array_transform/rotate_array_pair_real_3d) ftype(None) [fd] name(('mom_array_transform/rotate_array_pair_real_3d', None)) sig(subroutine rotate_array_pair_real_3d(A_in, B_in, turns, A, B)) signode(subroutine mom_array_transform/rotate_array_pair_real_3dA_inB_inturnsAB) [fd] run(.. f:subroutine:: subroutine rotate_array_pair_integer(A_in, B_in, turns, A, B)) [fd] sig(subroutine rotate_array_pair_integer(A_in, B_in, turns, A, B)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_array_pair_integer) arglist(A_in, B_in, turns, A, B) [fd] fullname(mom_array_transform/rotate_array_pair_integer) ftype(None) [fd] name(('mom_array_transform/rotate_array_pair_integer', None)) sig(subroutine rotate_array_pair_integer(A_in, B_in, turns, A, B)) signode(subroutine mom_array_transform/rotate_array_pair_integerA_inB_inturnsAB) [fd] run(.. f:subroutine:: subroutine rotate_vector_real_2d(A_in, B_in, turns, A, B)) [fd] sig(subroutine rotate_vector_real_2d(A_in, B_in, turns, A, B)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_vector_real_2d) arglist(A_in, B_in, turns, A, B) [fd] fullname(mom_array_transform/rotate_vector_real_2d) ftype(None) [fd] name(('mom_array_transform/rotate_vector_real_2d', None)) sig(subroutine rotate_vector_real_2d(A_in, B_in, turns, A, B)) signode(subroutine mom_array_transform/rotate_vector_real_2dA_inB_inturnsAB) [fd] run(.. f:subroutine:: subroutine rotate_vector_real_3d(A_in, B_in, turns, A, B)) [fd] sig(subroutine rotate_vector_real_3d(A_in, B_in, turns, A, B)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_vector_real_3d) arglist(A_in, B_in, turns, A, B) [fd] fullname(mom_array_transform/rotate_vector_real_3d) ftype(None) [fd] name(('mom_array_transform/rotate_vector_real_3d', None)) sig(subroutine rotate_vector_real_3d(A_in, B_in, turns, A, B)) signode(subroutine mom_array_transform/rotate_vector_real_3dA_inB_inturnsAB) [fd] run(.. f:subroutine:: subroutine rotate_vector_real_4d(A_in, B_in, turns, A, B)) [fd] sig(subroutine rotate_vector_real_4d(A_in, B_in, turns, A, B)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_vector_real_4d) arglist(A_in, B_in, turns, A, B) [fd] fullname(mom_array_transform/rotate_vector_real_4d) ftype(None) [fd] name(('mom_array_transform/rotate_vector_real_4d', None)) sig(subroutine rotate_vector_real_4d(A_in, B_in, turns, A, B)) signode(subroutine mom_array_transform/rotate_vector_real_4dA_inB_inturnsAB) [fd] run(.. f:subroutine:: subroutine allocate_rotated_array_real_2d(A_in, lb, turns, A)) [fd] sig(subroutine allocate_rotated_array_real_2d(A_in, lb, turns, A)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(allocate_rotated_array_real_2d) arglist(A_in, lb, turns, A) [fd] fullname(mom_array_transform/allocate_rotated_array_real_2d) ftype(None) [fd] name(('mom_array_transform/allocate_rotated_array_real_2d', None)) sig(subroutine allocate_rotated_array_real_2d(A_in, lb, turns, A)) signode(subroutine mom_array_transform/allocate_rotated_array_real_2dA_inlbturnsA) [fd] run(.. f:subroutine:: subroutine allocate_rotated_array_real_3d(A_in, lb, turns, A)) [fd] sig(subroutine allocate_rotated_array_real_3d(A_in, lb, turns, A)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(allocate_rotated_array_real_3d) arglist(A_in, lb, turns, A) [fd] fullname(mom_array_transform/allocate_rotated_array_real_3d) ftype(None) [fd] name(('mom_array_transform/allocate_rotated_array_real_3d', None)) sig(subroutine allocate_rotated_array_real_3d(A_in, lb, turns, A)) signode(subroutine mom_array_transform/allocate_rotated_array_real_3dA_inlbturnsA) [fd] run(.. f:subroutine:: subroutine allocate_rotated_array_real_4d(A_in, lb, turns, A)) [fd] sig(subroutine allocate_rotated_array_real_4d(A_in, lb, turns, A)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(allocate_rotated_array_real_4d) arglist(A_in, lb, turns, A) [fd] fullname(mom_array_transform/allocate_rotated_array_real_4d) ftype(None) [fd] name(('mom_array_transform/allocate_rotated_array_real_4d', None)) sig(subroutine allocate_rotated_array_real_4d(A_in, lb, turns, A)) signode(subroutine mom_array_transform/allocate_rotated_array_real_4dA_inlbturnsA) [fd] run(.. f:subroutine:: subroutine allocate_rotated_array_integer(A_in, lb, turns, A)) [fd] sig(subroutine allocate_rotated_array_integer(A_in, lb, turns, A)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(allocate_rotated_array_integer) arglist(A_in, lb, turns, A) [fd] fullname(mom_array_transform/allocate_rotated_array_integer) ftype(None) [fd] name(('mom_array_transform/allocate_rotated_array_integer', None)) sig(subroutine allocate_rotated_array_integer(A_in, lb, turns, A)) signode(subroutine mom_array_transform/allocate_rotated_array_integerA_inlbturnsA) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 17%] api/generated/modules/mom_barotropic [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_barotrop [app] emitting event: 'source-read'('api/generated/modules/mom_barotropic', ['.. autodoxymodule:: mom_barotropic\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_barotropic.rst:1: input: .. autodoxymodule:: mom_barotropic :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_barotropic::barotropic_cs ~mom_barotropic::bt_obc_type ~mom_barotropic::local_bt_cont_u_type ~mom_barotropic::local_bt_cont_v_type ~mom_barotropic::memory_size_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_barotropic::btstep ~mom_barotropic::set_dtbt ~mom_barotropic::apply_velocity_obcs ~mom_barotropic::set_up_bt_obc ~mom_barotropic::destroy_bt_obc ~mom_barotropic::btcalc ~mom_barotropic::find_uhbt ~mom_barotropic::find_duhbt_du ~mom_barotropic::uhbt_to_ubt ~mom_barotropic::find_vhbt ~mom_barotropic::find_dvhbt_dv ~mom_barotropic::vhbt_to_vbt ~mom_barotropic::set_local_bt_cont_types ~mom_barotropic::adjust_local_bt_cont_types ~mom_barotropic::bt_cont_to_face_areas ~mom_barotropic::swap ~mom_barotropic::find_face_areas ~mom_barotropic::bt_mass_source ~mom_barotropic::barotropic_init ~mom_barotropic::barotropic_get_tav ~mom_barotropic::barotropic_end ~mom_barotropic::register_barotropic_restarts [debug] xpath(./compounddef/compoundname[text()="mom_barotropic"]/..) match([('id', 'namespacemom__barotropic'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_barotropic module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic', , {'members': , {'members': , {'members': ), ('mom_barotropic::bt_obc_type', ), ('mom_barotropic::local_bt_cont_u_type', ), ('mom_barotropic::local_bt_cont_v_type', ), ('mom_barotropic::memory_size_type', )]) [autodoc] module analyzer failed: error importing 'mom_barotropic' (exception was: ModuleNotFoundError("No module named 'mom_barotropic'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::barotropic_cs', , {'members': < [autodoc] module analyzer failed: error importing 'mom_barotropic' (exception was: ModuleNotFoundError("No module named 'mom_barotropic'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_barotropic::bt_obc_type', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'memb [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_u_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_u_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_u_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_u_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_u_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_u_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_u_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_u_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_u_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_u_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_u_type', , {'memb [autodoc] module analyzer failed: error importing 'mom_barotropic' (exception was: ModuleNotFoundError("No module named 'mom_barotropic'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_barotropic::local_bt_cont_v_type', , {'memb [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_v_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_v_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_v_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_v_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_v_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_v_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_v_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_v_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_v_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_v_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::local_bt_cont_v_type', , {'memb [autodoc] module analyzer failed: error importing 'mom_barotropic' (exception was: ModuleNotFoundError("No module named 'mom_barotropic'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_barotropic::memory_size_type', , {'members' [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::memory_size_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::memory_size_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::memory_size_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::memory_size_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_barotropic::memory_size_type', , {'members' [debug] members([('btstep', ), ('set_dtbt', ), ('apply_velocity_obcs', ), ('set_up_bt_obc', ), ('destroy_bt_obc', ), ('btcalc', ), ('find_uhbt', ), ('find_duhbt_du', ), ('uhbt_to_ubt', ), ('find_vhbt', ), ('find_dvhbt_dv', ), ('vhbt_to_vbt', ), ('set_local_bt_cont_types', ), ('adjust_local_bt_cont_types', ), ('bt_cont_to_face_areas', ), ('swap', ), ('find_face_areas', ), ('bt_mass_source', ), ('barotropic_init', ), ('barotropic_get_tav', ), ('barotropic_end', ), ('register_barotropic_restarts', )]) [autodoc] module analyzer failed: error importing 'mom_barotropic' (exception was: ModuleNotFoundError("No module named 'mom_barotropic'")) [debug] DoxygenMethodDocumenter format_signature called ((U_in, V_in, eta_in, dt, bc_accel_u, bc_accel_v, forces, pbce, eta_PF_in, U_Cor, V_Cor, accel_layer_u, accel_layer_v, eta_out, uhbtav, vhbtav, G, GV, US, CS, visc_rem_u, visc_rem_v, etaav, ADp, OBC, BT_cont, eta_PF_start, taux_bot, tauy_bot, uh0, vh0, u_uh0, v_vh0)) [debug] add_directive_header sig((U_in, V_in, eta_in, dt, bc_accel_u, bc_accel_v, forces, pbce, eta_PF_in, U_Cor, V_Cor, accel_layer_u, accel_layer_v, eta_out, uhbtav, vhbtav, G, GV, US, CS, visc_rem_u, visc_rem_v, etaav, ADp, OBC, BT_cont, eta_PF_start, taux_bot, tauy_bot, uh0, vh0, u_uh0, v_vh0)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine btstep) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'btstep', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'MOM__barotropic_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_barotropic_restarts', , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_barotropic::barotropic_cs ~mom_barotropic::bt_obc_type ~mom_barotropic::local_bt_cont_u_type ~mom_barotropic::local_bt_cont_v_type ~mom_barotropic::memory_size_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_barotropic::btstep ~mom_barotropic::set_dtbt ~mom_barotropic::apply_velocity_obcs ~mom_barotropic::set_up_bt_obc ~mom_barotropic::destroy_bt_obc ~mom_barotropic::btcalc ~mom_barotropic::find_uhbt ~mom_barotropic::find_duhbt_du ~mom_barotropic::uhbt_to_ubt ~mom_barotropic::find_vhbt ~mom_barotropic::find_dvhbt_dv ~mom_barotropic::vhbt_to_vbt ~mom_barotropic::set_local_bt_cont_types ~mom_barotropic::adjust_local_bt_cont_types ~mom_barotropic::bt_cont_to_face_areas ~mom_barotropic::swap ~mom_barotropic::find_face_areas ~mom_barotropic::bt_mass_source ~mom_barotropic::barotropic_init ~mom_barotropic::barotropic_get_tav ~mom_barotropic::barotropic_end ~mom_barotropic::register_barotropic_restarts .. _DETAmom_barotropic: -------------------- Detailed Description -------------------- By Robert Hallberg, April 1994 - January 2007 This program contains the subroutines that time steps the linearized barotropic equations. btstep is used to actually time step the barotropic equations, and contains most of the substance of this module. btstep uses a forwards-backwards based scheme to time step the barotropic equations, returning the layers' accelerations due to the barotropic changes in the ocean state, the final free surface height (or column mass), and the volume (or mass) fluxes summed through the layers and averaged over the baroclinic time step. As input, btstep takes the initial 3-D velocities, the inital free surface height, the 3-D accelerations of the layers, and the external forcing. Everything in btstep is cast in terms of anomalies, so if everything is in balance, there is explicitly no acceleration due to btstep. The spatial discretization of the continuity equation is second order accurate. A flux conservative form is used to guarantee global conservation of volume. The spatial discretization of the momentum equation is second order accurate. The Coriolis force is written in a form which does not contribute to the energy tendency and which conserves linearized potential vorticity, f/D. These terms are exactly removed from the baroclinic momentum equations, so the linearization of vorticity advection will not degrade the overall solution. btcalc calculates the fractional thickness of each layer at the velocity points, for later use in calculating the barotropic velocities and the averaged accelerations. Harmonic mean thicknesses (i.e. 2*h_L*h_R/(h_L + h_R)) are used to avoid overly strong weighting of overly thin layers. This may later be relaxed to use thicknesses determined from the continuity equations. bt_mass_source determines the real mass sources for the barotropic solver, along with the corrective pseudo-fluxes that keep the barotropic and baroclinic estimates of the free surface height close to each other. Given the layer thicknesses and the free surface height that correspond to each other, it calculates a corrective mass source that is added to the barotropic continuity* equation, and optionally adjusts a slowly varying correction rate. Newer algorithmic changes have deemphasized the need for this, but it is still here to add net water sources to the barotropic solver.* barotropic_init allocates and initializes any barotropic arrays that have not been read from a restart file, reads parameters from the inputfile, and sets up diagnostic fields. barotropic_end deallocates anything allocated in barotropic_init or register_barotropic_restarts. register_barotropic_restarts is used to indicate any fields that are private to the barotropic solver that need to be included in the restart files, and to ensure that they are read. ------------------ Type Documentation ------------------ .. f:type:: barotropic_cs The barotropic stepping control stucture. :typefield integer id_pfu_bt: Diagnostic IDs. :typefield integer id_pfv_bt: Diagnostic IDs. :typefield integer id_coru_bt: Diagnostic IDs. :typefield integer id_corv_bt: Diagnostic IDs. :typefield integer id_ubtforce: Diagnostic IDs. :typefield integer id_vbtforce: Diagnostic IDs. :typefield integer id_uaccel: Diagnostic IDs. :typefield integer id_vaccel: Diagnostic IDs. :typefield integer id_visc_rem_u: Diagnostic IDs. :typefield integer id_visc_rem_v: Diagnostic IDs. :typefield integer id_eta_cor: Diagnostic IDs. :typefield integer id_ubt: Diagnostic IDs. :typefield integer id_vbt: Diagnostic IDs. :typefield integer id_eta_bt: Diagnostic IDs. :typefield integer id_ubtav: Diagnostic IDs. :typefield integer id_vbtav: Diagnostic IDs. :typefield integer id_ubt_st: Diagnostic IDs. :typefield integer id_vbt_st: Diagnostic IDs. :typefield integer id_eta_st: Diagnostic IDs. :typefield integer id_ubtdt: Diagnostic IDs. :typefield integer id_vbtdt: Diagnostic IDs. :typefield integer id_ubt_hifreq: Diagnostic IDs. :typefield integer id_vbt_hifreq: Diagnostic IDs. :typefield integer id_eta_hifreq: Diagnostic IDs. :typefield integer id_uhbt_hifreq: Diagnostic IDs. :typefield integer id_vhbt_hifreq: Diagnostic IDs. :typefield integer id_eta_pred_hifreq: Diagnostic IDs. :typefield integer id_gtotn: Diagnostic IDs. :typefield integer id_gtots: Diagnostic IDs. :typefield integer id_gtote: Diagnostic IDs. :typefield integer id_gtotw: Diagnostic IDs. :typefield integer id_uhbt: Diagnostic IDs. :typefield integer id_frhatu: Diagnostic IDs. :typefield integer id_vhbt: Diagnostic IDs. :typefield integer id_frhatv: Diagnostic IDs. :typefield integer id_frhatu1: Diagnostic IDs. :typefield integer id_frhatv1: Diagnostic IDs. :typefield integer id_btc_fa_u_ee: Diagnostic IDs. :typefield integer id_btc_fa_u_e0: Diagnostic IDs. :typefield integer id_btc_fa_u_w0: Diagnostic IDs. :typefield integer id_btc_fa_u_ww: Diagnostic IDs. :typefield integer id_btc_ubt_ee: Diagnostic IDs. :typefield integer id_btc_ubt_ww: Diagnostic IDs. :typefield integer id_btc_fa_v_nn: Diagnostic IDs. :typefield integer id_btc_fa_v_n0: Diagnostic IDs. :typefield integer id_btc_fa_v_s0: Diagnostic IDs. :typefield integer id_btc_fa_v_ss: Diagnostic IDs. :typefield integer id_btc_vbt_nn: Diagnostic IDs. :typefield integer id_btc_vbt_ss: Diagnostic IDs. :typefield integer id_btc_fa_u_rat0: Diagnostic IDs. :typefield integer id_btc_fa_v_rat0: Diagnostic IDs. :typefield integer id_btc_fa_h_rat0: Diagnostic IDs. :typefield integer id_uhbt0: Diagnostic IDs. :typefield integer id_vhbt0: Diagnostic IDs. :typefield real(\: frhatu [:, :), allocatable]: The fraction of the total column thickness interpolated to u grid points in each layer [nondim]. :typefield real(\: frhatv [:, :), allocatable]: The fraction of the total column thickness interpolated to v grid points in each layer [nondim]. :typefield real(\: idatu [:), allocatable]: Inverse of the basin depth at u grid points [Z-1 ~> m-1]. :typefield real(\: lin_drag_u [:), allocatable]: A spatially varying linear drag coefficient acting on the zonal barotropic flow [H T-1 ~> m s-1 or kg m-2 s-1]. :typefield real(\: ubt_ic [:), allocatable]: The barotropic solvers estimate of the zonal velocity that will be the initial condition for the next call to btstep [L T-1 ~> m s-1]. :typefield real(\: ubtav [:), allocatable]: The barotropic zonal velocity averaged over the baroclinic time step [L T-1 ~> m s-1]. :typefield real(\: idatv [:), allocatable]: Inverse of the basin depth at v grid points [Z-1 ~> m-1]. :typefield real(\: lin_drag_v [:), allocatable]: A spatially varying linear drag coefficient acting on the zonal barotropic flow [H T-1 ~> m s-1 or kg m-2 s-1]. :typefield real(\: vbt_ic [:), allocatable]: The barotropic solvers estimate of the zonal velocity that will be the initial condition for the next call to btstep [L T-1 ~> m s-1]. :typefield real(\: vbtav [:), allocatable]: The barotropic meridional velocity averaged over the baroclinic time step [L T-1 ~> m s-1]. :typefield real(\: eta_cor [:), allocatable]: The difference between the free surface height from the barotropic calculation and the sum of the layer thicknesses. This difference is imposed as a forcing term in the barotropic calculation over a baroclinic timestep [H ~> m or kg m-2]. :typefield real(\: eta_cor_bound [:), allocatable]: A limit on the rate at which eta_cor can be applied while avoiding instability [H T-1 ~> m s-1 or kg m-2 s-1]. This is only used if CSbound_BT_corr is true. :typefield real(\: ua_polarity [:), allocatable]: Test vector components for checking grid polarity. :typefield real(\: va_polarity [:), allocatable]: Test vector components for checking grid polarity. :typefield real(\: bathyt [:), allocatable]: A copy of bathyT (ocean bottom depth) with wide halos [Z ~> m]. :typefield real(\: iareat [:), allocatable]: This is a copy of GIareaT with wide halos, but will still utilize the macro IareaT when referenced, [L-2 ~> m-2]. :typefield real(\: d_u_cor [:), allocatable]: A simply averaged depth at u points [Z ~> m]. :typefield real(\: dy_cu [:), allocatable]: A copy of Gdy_Cu with wide halos [L ~> m]. :typefield real(\: idxcu [:), allocatable]: A copy of GIdxCu with wide halos [L-1 ~> m-1]. :typefield real(\: d_v_cor [:), allocatable]: A simply averaged depth at v points [Z ~> m]. :typefield real(\: dx_cv [:), allocatable]: A copy of Gdx_Cv with wide halos [L ~> m]. :typefield real(\: idycv [:), allocatable]: A copy of GIdyCv with wide halos [L-1 ~> m-1]. :typefield real(\: q_d [:), allocatable]: f / D at PV points [Z-1 T-1 ~> m-1 s-1]. :typefield real(\:,\:,\:) frhatu1 [pointer]: Predictor step values of frhatu stored for diagnostics. :typefield real(\:,\:,\:) frhatv1 [pointer]: Predictor step values of frhatv stored for diagnostics. :typefield type( bt_obc_type ) bt_obc: A structure with all of this modules fields for applying open boundary conditions. :typefield real dtbt: The barotropic time step [T ~> s]. :typefield real dtbt_fraction: The fraction of the maximum time-step that should used. The default is 0.98. :typefield real dtbt_max: The maximum stable barotropic time step [T ~> s]. :typefield real dt_bt_filter: The time-scale over which the barotropic mode solutions are filtered [T ~> s] if positive, or as a fraction of DT if negative [nondim]. This can never be taken to be longer than 2*dt. Set this to 0 to apply no filtering. :typefield integer nstep_last: The number of barotropic timesteps per baroclinic time step the last time btstep was called. :typefield real bebt: A nondimensional number, from 0 to 1, that determines the gravity wave time stepping scheme. 0.0 gives a forward-backward scheme, while 1.0 give backward Euler. In practice, bebt should be of order 0.2 or greater. :typefield logical split: If true, use the split time stepping scheme. :typefield logical bound_bt_corr: If true, the magnitude of the fake mass source in the barotropic equation that drives the two estimates of the free surface height toward each other is bounded to avoid driving corrective velocities that exceed MAXCFL_BT_CONT. :typefield logical gradual_bt_ics: If true, adjust the initial conditions for the barotropic solver to the values from the layered solution over a whole timestep instead of instantly. This is a decent approximation to the inclusion of sum(u dh_dt) while also correcting for truncation errors. :typefield logical sadourny: If true, the Coriolis terms are discretized with Sadourny's energy conserving scheme, otherwise the Arakawa & Hsu scheme is used. If the deformation radius is not resolved Sadourny's scheme should probably be used. :typefield logical integral_bt_cont: If true, use the time-integrated velocity over the barotropic steps to determine the integrated transports used to update the continuity equation. Otherwise the transports are the sum of the transports based on ]a series of instantaneous velocities and the BT_CONT_TYPE for transports. This is only valid if a BT_CONT_TYPE is used. :typefield logical nonlinear_continuity: If true, the barotropic continuity equation uses the full ocean thickness for transport. :typefield integer nonlin_cont_update_period: The number of barotropic time steps between updates to the face area, or 0 only to update at the start of a call to btstep. The default is 1. :typefield logical bt_project_velocity: If true, step the barotropic velocity first and project out the velocity tendency by 1+BEBT when calculating the transport. The default (false) is to use a predictor continuity step to find the pressure field, and then do a corrector continuity step using a weighted average of the old and new velocities, with weights of (1-BEBT) and BEBT. :typefield logical nonlin_stress: If true, use the full depth of the ocean at the start of the barotropic step when calculating the surface stress contribution to the barotropic acclerations. Otherwise use the depth based on bathyT. :typefield real bt_coriolis_scale: A factor by which the barotropic Coriolis acceleration anomaly terms are scaled. :typefield logical answers_2018: If true, use expressions for the barotropic solver that recover the answers from the end of 2018. Otherwise, use more efficient or general expressions. :typefield logical dynamic_psurf: If true, add a dynamic pressure due to a viscous ice shelf, for instance. :typefield real dmin_dyn_psurf: The minimum depth to use in limiting the size of the dynamic surface pressure for stability [Z ~> m]. :typefield real ice_strength_length: The length scale at which the damping rate due to the ice strength should be the same as if a Laplacian were applied [L ~> m]. :typefield real const_dyn_psurf: The constant that scales the dynamic surface pressure [nondim]. Stable values are < ~1.0. The default is 0.9. :typefield logical tides: If true, apply tidal momentum forcing. :typefield real g_extra: A nondimensional factor by which gtot is enhanced. :typefield integer hvel_scheme: An integer indicating how the thicknesses at velocity points are calculated. Valid values are given by the parameters defined below: HARMONIC, ARITHMETIC, HYBRID, and FROM_BT_CONT. :typefield logical strong_drag: If true, use a stronger estimate of the retarding effects of strong bottom drag. :typefield logical linear_wave_drag: If true, apply a linear drag to the barotropic velocities, using rates set by lin_drag_u & _v divided by the depth of the ocean. :typefield logical linearized_bt_pv: If true, the PV and interface thicknesses used in the barotropic Coriolis calculation is time invariant and linearized. :typefield logical use_wide_halos: If true, use wide halos and march in during the barotropic time stepping for efficiency. :typefield logical clip_velocity: If true, limit any velocity components that are are large enough for a CFL number to exceed CFL_trunc. This should only be used as a desperate debugging measure. :typefield logical debug: If true, write verbose checksums for debugging purposes. :typefield logical debug_bt: If true, write verbose checksums for debugging purposes. :typefield real vel_underflow: Velocity components smaller than vel_underflow are set to 0 [L T-1 ~> m s-1]. :typefield real maxvel: Velocity components greater than maxvel are truncated to maxvel [L T-1 ~> m s-1]. :typefield real cfl_trunc: If clip_velocity is true, velocity components will be truncated when they are large enough that the corresponding CFL number exceeds this value, nondim. :typefield real maxcfl_bt_cont: The maximum permitted CFL number associated with the barotropic accelerations from the summed velocities times the time-derivatives of thicknesses. The default is 0.1, and there will probably be real problems if this were set close to 1. :typefield logical bt_cont_bounds: If true, use the BT_cont_type variables to set limits on the magnitude of the corrective mass fluxes. :typefield logical visc_rem_u_uh0: If true, use the viscous remnants when estimating the barotropic velocities that were used to calculate uh0 and vh0. False is probably the better choice. :typefield logical adjust_bt_cont: If true, adjust the curve fit to the BT_cont type that is used by the barotropic solver to match the transport about which the flow is being linearized. :typefield logical use_old_coriolis_bracket_bug: If True, use an order of operations that is not bitwise rotationally symmetric in the meridional Coriolis term of the barotropic solver. :typefield type(time_type) time [pointer]: A pointer to the ocean models clock. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(mom_domain_type) bt_domain [pointer]: Barotropic MOM domain. :typefield type(hor_index_type) debug_bt_hi [pointer]: debugging copy of horizontal index_type :typefield type(tidal_forcing_cs) tides_csp [pointer]: Control structure for tides. :typefield logical module_is_initialized: If true, module has been initialized. :typefield integer isdw: The lower i-memory limit for the wide halo arrays. :typefield integer iedw: The upper i-memory limit for the wide halo arrays. :typefield integer jsdw: The lower j-memory limit for the wide halo arrays. :typefield integer jedw: The upper j-memory limit for the wide halo arrays. :typefield type(group_pass_type) pass_q_dcor: Handle for a group halo pass. :typefield type(group_pass_type) pass_gtot: Handle for a group halo pass. :typefield type(group_pass_type) pass_tmp_uv: Handle for a group halo pass. :typefield type(group_pass_type) pass_eta_bt_rem: Handle for a group halo pass. :typefield type(group_pass_type) pass_force_hbt0_cor_ref: Handle for a group halo pass. :typefield type(group_pass_type) pass_dat_uv: Handle for a group halo pass. :typefield type(group_pass_type) pass_eta_ubt: Handle for a group halo pass. :typefield type(group_pass_type) pass_etaav: Handle for a group halo pass. :typefield type(group_pass_type) pass_ubt_cor: Handle for a group halo pass. :typefield type(group_pass_type) pass_ubta_uhbta: Handle for a group halo pass. :typefield type(group_pass_type) pass_e_anom: Handle for a group halo pass. .. f:type:: bt_obc_type The barotropic stepping open boundary condition type. :typefield integer is_u_obc [private]: Index ranges for the open boundary conditions. :typefield integer ie_u_obc [private]: Index ranges for the open boundary conditions. :typefield integer js_u_obc [private]: Index ranges for the open boundary conditions. :typefield integer je_u_obc [private]: Index ranges for the open boundary conditions. :typefield integer is_v_obc [private]: Index ranges for the open boundary conditions. :typefield integer ie_v_obc [private]: Index ranges for the open boundary conditions. :typefield integer js_v_obc [private]: Index ranges for the open boundary conditions. :typefield integer je_v_obc [private]: Index ranges for the open boundary conditions. :typefield real(\:,\:) cg_u [pointer, private]: The external wave speed at u-points [L T-1 ~> m s-1]. :typefield real(\:,\:) cg_v [pointer, private]: The external wave speed at u-points [L T-1 ~> m s-1]. :typefield real(\:,\:) h_u [pointer, private]: The total thickness at the u-points [H ~> m or kg m-2]. :typefield real(\:,\:) h_v [pointer, private]: The total thickness at the v-points [H ~> m or kg m-2]. :typefield real(\:,\:) uhbt [pointer, private]: The zonal barotropic thickness fluxes specified for open boundary conditions (if any) [H L2 T-1 ~> m3 s-1 or kg s-1]. :typefield real(\:,\:) vhbt [pointer, private]: The meridional barotropic thickness fluxes specified for open boundary conditions (if any) [H L2 T-1 ~> m3 s-1 or kg s-1]. :typefield real(\:,\:) ubt_outer [pointer, private]: The zonal velocities just outside the domain, as set by the open boundary conditions [L T-1 ~> m s-1]. :typefield real(\:,\:) vbt_outer [pointer, private]: The meridional velocities just outside the domain, as set by the open boundary conditions [L T-1 ~> m s-1]. :typefield real(\:,\:) eta_outer_u [pointer, private]: The surface height outside of the domain at a u-point with an open boundary condition [H ~> m or kg m-2]. :typefield real(\:,\:) eta_outer_v [pointer, private]: The surface height outside of the domain at a v-point with an open boundary condition [H ~> m or kg m-2]. :typefield logical apply_u_obcs [private]: True if this PE has an open boundary at a u-point. :typefield logical apply_v_obcs [private]: True if this PE has an open boundary at a v-point. :typefield logical is_alloced [private]: True if BT_OBC is in use and has been allocated. :typefield type(group_pass_type) pass_uv [private]: Structure for group halo pass. :typefield type(group_pass_type) pass_uhvh [private]: Structure for group halo pass. :typefield type(group_pass_type) pass_h [private]: Structure for group halo pass. :typefield type(group_pass_type) pass_cg [private]: Structure for group halo pass. :typefield type(group_pass_type) pass_eta_outer [private]: Structure for group halo pass. .. f:type:: local_bt_cont_u_type A desciption of the functional dependence of transport at a u-point. :typefield real fa_u_ee [private]: The effective open face area for zonal barotropic transport drawing from locations far to the east [H L ~> m2 or kg m-1]. :typefield real fa_u_e0 [private]: The effective open face area for zonal barotropic transport drawing from nearby to the east [H L ~> m2 or kg m-1]. :typefield real fa_u_w0 [private]: The effective open face area for zonal barotropic transport drawing from nearby to the west [H L ~> m2 or kg m-1]. :typefield real fa_u_ww [private]: The effective open face area for zonal barotropic transport drawing from locations far to the west [H L ~> m2 or kg m-1]. :typefield real ubt_ww [private]: uBT_WW is the barotropic velocity [L T-1 ~> m s-1], or with INTEGRAL_BT_CONTINUITY the time-integrated barotropic velocity [L ~> m], beyond which the marginal open face area is FA_u_WW. uBT_WW must be non-negative. :typefield real ubt_ee [private]: uBT_EE is a barotropic velocity [L T-1 ~> m s-1], or with INTEGRAL_BT_CONTINUITY the time-integrated barotropic velocity [L ~> m], beyond which the marginal open face area is FA_u_EE. uBT_EE must be non-positive. :typefield real uh_crvw [private]: The curvature of face area with velocity for flow from the west [H T2 L-1 ~> s2 or kg s2 m-3] or [H L-1 ~> 1 or kg m-3] with INTEGRAL_BT_CONTINUITY. :typefield real uh_crve [private]: The curvature of face area with velocity for flow from the east [H T2 L-1 ~> s2 or kg s2 m-3] or [H L-1 ~> 1 or kg m-3] with INTEGRAL_BT_CONTINUITY. :typefield real uh_ww [private]: The zonal transport when ubt=ubt_WW [H L2 T-1 ~> m3 s-1 or kg s-1], or the equivalent time-integrated transport with INTEGRAL_BT_CONTINUITY [H L2 ~> m3 or kg]. :typefield real uh_ee [private]: The zonal transport when ubt=ubt_EE [H L2 T-1 ~> m3 s-1 or kg s-1], or the equivalent time-integrated transport with INTEGRAL_BT_CONTINUITY [H L2 ~> m3 or kg]. .. f:type:: local_bt_cont_v_type A desciption of the functional dependence of transport at a v-point. :typefield real fa_v_nn [private]: The effective open face area for meridional barotropic transport drawing from locations far to the north [H L ~> m2 or kg m-1]. :typefield real fa_v_n0 [private]: The effective open face area for meridional barotropic transport drawing from nearby to the north [H L ~> m2 or kg m-1]. :typefield real fa_v_s0 [private]: The effective open face area for meridional barotropic transport drawing from nearby to the south [H L ~> m2 or kg m-1]. :typefield real fa_v_ss [private]: The effective open face area for meridional barotropic transport drawing from locations far to the south [H L ~> m2 or kg m-1]. :typefield real vbt_ss [private]: vBT_SS is the barotropic velocity [L T-1 ~> m s-1], or with INTEGRAL_BT_CONTINUITY the time-integrated barotropic velocity [L ~> m], beyond which the marginal open face area is FA_v_SS. vBT_SS must be non-negative. :typefield real vbt_nn [private]: vBT_NN is the barotropic velocity [L T-1 ~> m s-1], or with INTEGRAL_BT_CONTINUITY the time-integrated barotropic velocity [L ~> m], beyond which the marginal open face area is FA_v_NN. vBT_NN must be non-positive. :typefield real vh_crvs [private]: The curvature of face area with velocity for flow from the south [H T2 L-1 ~> s2 or kg s2 m-3] or [H L-1 ~> 1 or kg m-3] with INTEGRAL_BT_CONTINUITY. :typefield real vh_crvn [private]: The curvature of face area with velocity for flow from the north [H T2 L-1 ~> s2 or kg s2 m-3] or [H L-1 ~> 1 or kg m-3] with INTEGRAL_BT_CONTINUITY. :typefield real vh_ss [private]: The meridional transport when vbt=vbt_SS [H L2 T-1 ~> m3 s-1 or kg s-1], or the equivalent time-integrated transport with INTEGRAL_BT_CONTINUITY [H L2 ~> m3 or kg]. :typefield real vh_nn [private]: The meridional transport when vbt=vbt_NN [H L2 T-1 ~> m3 s-1 or kg s-1], or the equivalent time-integrated transport with INTEGRAL_BT_CONTINUITY [H L2 ~> m3 or kg]. .. f:type:: memory_size_type A container for passing around active tracer point memory limits. :typefield integer isdw [private]: Currently active memory limits. :typefield integer iedw [private]: Currently active memory limits. :typefield integer jsdw [private]: Currently active memory limits. :typefield integer jedw [private]: Currently active memory limits. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine btstep(U_in, V_in, eta_in, dt, bc_accel_u, bc_accel_v, forces, pbce, eta_PF_in, U_Cor, V_Cor, accel_layer_u, accel_layer_v, eta_out, uhbtav, vhbtav, G, GV, US, CS, visc_rem_u, visc_rem_v, etaav, ADp, OBC, BT_cont, eta_PF_start, taux_bot, tauy_bot, uh0, vh0, u_uh0, v_vh0) This subroutine time steps the barotropic equations explicitly. For gravity waves, anything between a forwards-backwards scheme and a simulated backwards Euler scheme is used, with bebt between 0.0 and 1.0 determining the scheme. In practice, bebt must be of order 0.2 or greater. A forwards-backwards treatment of the Coriolis terms is always used. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param u_in: [in] The initial (3-D) zonal velocity [L T-1 ~> m s-1]. :param v_in: [in] The initial (3-D) meridional velocity [L T-1 ~> m s-1]. :param eta_in: [in] The initial barotropic free surface height anomaly or column mass anomaly [H ~> m or kg m-2]. :param dt: [in] The time increment to integrate over [T ~> s]. :param bc_accel_u: [in] The zonal baroclinic accelerations, [L T-2 ~> m s-2]. :param bc_accel_v: [in] The meridional baroclinic accelerations, [L T-2 ~> m s-2]. :param forces: [in] A structure with the driving mechanical forces :param pbce: [in] The baroclinic pressure anomaly in each layer due to free surface height anomalies [L2 H-1 T-2 ~> m s-2 or m4 kg-1 s-2]. :param eta_pf_in: [in] The 2-D eta field (either SSH anomaly or column mass anomaly) that was used to calculate the input pressure gradient accelerations (or its final value if eta_PF_start is provided [H ~> m or kg m-2]. Note: eta_in, pbce, and eta_PF_in must have up-to-date values in the first point of their halos. :param u_cor: [in] The (3-D) zonal velocities used to calculate the Coriolis terms in bc_accel_u [L T-1 ~> m s-1]. :param v_cor: [in] The (3-D) meridional velocities used to calculate the Coriolis terms in bc_accel_u [L T-1 ~> m s-1]. :param accel_layer_u: [out] The zonal acceleration of each layer due to the barotropic calculation [L T-2 ~> m s-2]. :param accel_layer_v: [out] The meridional acceleration of each layer due to the barotropic calculation [L T-2 ~> m s-2]. :param eta_out: [out] The final barotropic free surface height anomaly or column mass anomaly [H ~> m or kg m-2]. :param uhbtav: [out] the barotropic zonal volume or mass fluxes averaged through the barotropic steps [H L2 T-1 ~> m3 or kg s-1]. :param vhbtav: [out] the barotropic meridional volume or mass fluxes averaged through the barotropic steps [H L2 T-1 ~> m3 or kg s-1]. :param cs: The control structure returned by a previous call to barotropic_init. :param visc_rem_u: [in] Both the fraction of the momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step's worth of a barotropic acceleration that a layer experiences after viscosity is applied, in the zonal direction. Nondimensional between 0 (at the bottom) and 1 (far above the bottom). :param visc_rem_v: [in] Ditto for meridional direction [nondim]. :param etaav: [out] The free surface height or column mass averaged over the barotropic integration [H ~> m or kg m-2]. :param adp: Acceleration diagnostic pointers :param obc: The open boundary condition structure. :param bt_cont: A structure with elements that describe the effective open face areas as a function of barotropic flow. :param eta_pf_start: The eta field consistent with the pressure gradient at the start of the barotropic stepping [H ~> m or kg m-2]. :param taux_bot: The zonal bottom frictional stress from ocean to the seafloor [R L Z T-2 ~> Pa]. :param tauy_bot: The meridional bottom frictional stress from ocean to the seafloor [R L Z T-2 ~> Pa]. :param uh0: The zonal layer transports at reference velocities [H L2 T-1 ~> m3 s-1 or kg s-1]. :param u_uh0: The velocities used to calculate uh0 [L T-1 ~> m s-1] :param vh0: The zonal layer transports at reference velocities [H L2 T-1 ~> m3 s-1 or kg s-1]. :param v_vh0: The velocities used to calculate vh0 [L T-1 ~> m s-1] :callto: :f:func:`adjust_local_bt_cont_types ` :callto: :f:func:`apply_velocity_obcs ` :callto: :f:func:`bt_cont_to_face_areas ` :callto: :f:func:`mom_domains::complete_group_pass ` :callto: :f:func:`mom_diag_mediator::enable_averaging ` :callto: :f:func:`find_duhbt_du ` :callto: :f:func:`find_dvhbt_dv ` :callto: :f:func:`find_face_areas ` :callto: :f:func:`find_uhbt ` :callto: :f:func:`find_vhbt ` :callto: :f:func:`id_clock_calc ` :callto: :f:func:`id_clock_calc_post ` :callto: :f:func:`id_clock_calc_pre ` :callto: :f:func:`id_clock_pass_post ` :callto: :f:func:`id_clock_pass_pre ` :callto: :f:func:`id_clock_pass_step ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`mom_open_boundary::obc_direction_n ` :callto: :f:func:`mom_open_boundary::obc_direction_s ` :callto: :f:func:`mom_time_manager::real_to_time ` :callto: :f:func:`set_local_bt_cont_types ` :callto: :f:func:`set_up_bt_obc ` :callto: :f:func:`mom_domains::start_group_pass ` :callto: :f:func:`swap ` :callto: :f:func:`mom_tidal_forcing::tidal_forcing_sensitivity ` .. f:subroutine:: subroutine set_dtbt(G, GV, US, CS, eta, pbce, BT_cont, gtot_est, SSH_add) This subroutine automatically determines an optimal value for dtbt based on some state of the ocean. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param cs: Barotropic control structure. :param eta: [in] The barotropic free surface height anomaly or column mass anomaly [H ~> m or kg m-2]. :param pbce: [in] The baroclinic pressure anomaly in each layer due to free surface height anomalies [L2 H-1 T-2 ~> m s-2 or m4 kg-1 s-2]. :param bt_cont: A structure with elements that describe the effective open face areas as a function of barotropic flow. :param gtot_est: [in] An estimate of the total gravitational acceleration [L2 Z-1 T-2 ~> m s-2]. :param ssh_add: [in] An additional contribution to SSH to provide a margin of error when calculating the external wave speed [Z ~> m]. :callto: :f:func:`bt_cont_to_face_areas ` :callto: :f:func:`find_face_areas ` :callto: :f:func:`id_clock_sync ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_tidal_forcing::tidal_forcing_sensitivity ` :calledfrom: :f:func:`barotropic_init ` :calledfrom: :f:func:`mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ` .. f:subroutine:: subroutine apply_velocity_obcs(OBC, ubt, vbt, uhbt, vhbt, ubt_trans, vbt_trans, eta, ubt_old, vbt_old, BT_OBC, G, MS, US, halo, dtbt, bebt, use_BT_cont, integral_BT_cont, dt_elapsed, Datu, Datv, BTCL_u, BTCL_v, uhbt0, vhbt0, ubt_int, vbt_int, uhbt_int, vhbt_int) The following 4 subroutines apply the open boundary conditions. This subroutine applies the open boundary conditions on barotropic velocities and mass transports, as developed by Mehmet Ilicak. :param obc: An associated pointer to an OBC type. :param g: [inout] The ocean's grid structure. :param ms: [in] A type that describes the memory sizes of the argument arrays. :param ubt: [inout] the zonal barotropic velocity [L T-1 ~> m s-1]. :param uhbt: [inout] the zonal barotropic transport [H L2 T-1 ~> m3 s-1 or kg s-1]. :param ubt_trans: [inout] The zonal barotropic velocity used in transport [L T-1 ~> m s-1]. :param vbt: [inout] The meridional barotropic velocity [L T-1 ~> m s-1]. :param vhbt: [inout] the meridional barotropic transport [H L2 T-1 ~> m3 s-1 or kg s-1]. :param vbt_trans: [inout] the meridional BT velocity used in transports [L T-1 ~> m s-1]. :param eta: [in] The barotropic free surface height anomaly or column mass anomaly [H ~> m or kg m-2]. :param ubt_old: [in] The starting value of ubt in a barotropic step [L T-1 ~> m s-1]. :param vbt_old: [in] The starting value of vbt in a barotropic step [L T-1 ~> m s-1]. :param bt_obc: [in] A structure with the private barotropic arrays related to the open boundary conditions, set by set_up_BT_OBC. :param us: [in] A dimensional unit scaling type :param halo: [in] The extra halo size to use here. :param dtbt: [in] The time step [T ~> s]. :param bebt: [in] The fractional weighting of the future velocity in determining the transport. :param use_bt_cont: [in] If true, use the BT_cont_types to calculate transports. :param integral_bt_cont: [in] If true, update the barotropic continuity equation directly from the initial condition using the time-integrated barotropic velocity. :param dt_elapsed: [in] The amount of time in the barotropic stepping that will have elapsed [T ~> s]. :param datu: [in] A fixed estimate of the face areas at u points [H L ~> m2 or kg m-1]. :param datv: [in] A fixed estimate of the face areas at v points [H L ~> m2 or kg m-1]. :param btcl_u: [in] Structure of information used for a dynamic estimate of the face areas at u-points. :param btcl_v: [in] Structure of information used for a dynamic estimate of the face areas at v-points. :param uhbt0: [in] A correction to the zonal transport so that the barotropic functions agree with the sum of the layer transports [H L2 T-1 ~> m3 s-1 or kg s-1]. :param vhbt0: [in] A correction to the meridional transport so that the barotropic functions agree with the sum of the layer transports [H L2 T-1 ~> m3 s-1 or kg s-1]. :param ubt_int: [in] The time-integrated zonal barotropic velocity before this update [L T-1 ~> m s-1]. :param uhbt_int: [in] The time-integrated zonal barotropic transport [H L2 T-1 ~> m3 s-1 or kg s-1]. :param vbt_int: [in] The time-integrated meridional barotropic velocity before this update [L T-1 ~> m s-1]. :param vhbt_int: [in] The time-integrated meridional barotropic transport [H L2 T-1 ~> m3 s-1 or kg s-1]. :callto: :f:func:`find_uhbt ` :callto: :f:func:`find_vhbt ` :callto: :f:func:`mom_open_boundary::obc_direction_n ` :callto: :f:func:`mom_open_boundary::obc_direction_s ` :calledfrom: :f:func:`btstep ` .. f:subroutine:: subroutine set_up_bt_obc(OBC, eta, BT_OBC, BT_Domain, G, GV, US, MS, halo, use_BT_cont, integral_BT_cont, dt_baroclinic, Datu, Datv, BTCL_u, BTCL_v) This subroutine sets up the private structure used to apply the open boundary conditions, as developed by Mehmet Ilicak. :param obc: An associated pointer to an OBC type. :param ms: [in] A type that describes the memory sizes of the argument arrays. :param eta: [in] The barotropic free surface height anomaly or column mass anomaly [H ~> m or kg m-2]. :param bt_obc: [inout] A structure with the private barotropic arrays related to the open boundary conditions, set by set_up_BT_OBC. :param bt_domain: [inout] MOM_domain_type associated with wide arrays :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param halo: [in] The extra halo size to use here. :param use_bt_cont: [in] If true, use the BT_cont_types to calculate transports. :param integral_bt_cont: [in] If true, update the barotropic continuity equation directly from the initial condition using the time-integrated barotropic velocity. :param dt_baroclinic: [in] The baroclinic timestep for this cycle of updates to the barotropic solver [T ~> s] :param datu: [in] A fixed estimate of the face areas at u points [H L ~> m2 or kg m-1]. :param datv: [in] A fixed estimate of the face areas at v points [H L ~> m2 or kg m-1]. :param btcl_u: [in] Structure of information used for a dynamic estimate of the face areas at u-points. :param btcl_v: [in] Structure of information used for a dynamic estimate of the face areas at v-points. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_open_boundary::obc_direction_n ` :callto: :f:func:`mom_open_boundary::obc_direction_s ` :callto: :f:func:`uhbt_to_ubt ` :callto: :f:func:`vhbt_to_vbt ` :calledfrom: :f:func:`btstep ` .. f:subroutine:: subroutine destroy_bt_obc(BT_OBC) Clean up the BT_OBC memory. :param bt_obc: [inout] A structure with the private barotropic arrays related to the open boundary conditions, set by set_up_BT_OBC. :calledfrom: :f:func:`barotropic_end ` .. f:subroutine:: subroutine btcalc(h, G, GV, CS, h_u, h_v, may_use_default, OBC) btcalc calculates the barotropic velocities from the full velocity and thickness fields, determines the fraction of the total water column in each layer at velocity points, and determines a corrective fictitious mass source that will drive the barotropic estimate of the free surface height toward the baroclinic estimate. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param cs: The control structure returned by a previous call to barotropic_init. :param h_u: [in] The specified thicknesses at u-points [H ~> m or kg m-2]. :param h_v: [in] The specified thicknesses at v-points [H ~> m or kg m-2]. :param may_use_default: [in] An optional logical argument to indicate that the default velocity point thicknesses may be used for this particular calculation, even though the setting of CShvel_scheme would usually require that h_u and h_v be passed in. :param obc: Open boundary control structure. :callto: :f:func:`arithmetic ` :callto: :f:func:`harmonic ` :callto: :f:func:`hybrid ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_open_boundary::obc_direction_n ` :callto: :f:func:`mom_open_boundary::obc_direction_s ` :calledfrom: :f:func:`barotropic_init ` .. f:function:: real function find_uhbt(u, BTC) The function find_uhbt determines the zonal transport for a given velocity, or with INTEGRAL_BT_CONT=True it determines the time-integrated zonal transport for a given time-integrated velocity. :param u: [in] The local zonal velocity [L T-1 ~> m s-1] or time integrated velocity [L ~> m] :param btc: [in] A structure containing various fields that allow the barotropic transports to be calculated consistently with the layers' continuity equations. The dimensions of some of the elements in this type vary depending on INTEGRAL_BT_CONT. :returns undefined: The zonal barotropic transport [L2 H T-1 ~> m3 s-1] or time integrated transport [L2 H ~> m3] :calledfrom: :f:func:`apply_velocity_obcs ` :calledfrom: :f:func:`btstep ` .. f:function:: real function find_duhbt_du(u, BTC) The function find_duhbt_du determines the marginal zonal face area for a given velocity, or with INTEGRAL_BT_CONT=True for a given time-integrated velocity. :param u: [in] The local zonal velocity [L T-1 ~> m s-1] or time integrated velocity [L ~> m] :param btc: [in] A structure containing various fields that allow the barotropic transports to be calculated consistently with the layers' continuity equations. The dimensions of some of the elements in this type vary depending on INTEGRAL_BT_CONT. :returns undefined: The zonal barotropic face area [L H ~> m2] :calledfrom: :f:func:`btstep ` .. f:function:: real function uhbt_to_ubt(uhbt, BTC, guess) This function inverts the transport function to determine the barotopic velocity that is consistent with a given transport, or if INTEGRAL_BT_CONT=True this finds the time-integrated velocity that is consistent with a time-integrated transport. :param uhbt: [in] The barotropic zonal transport that should be inverted for, [H L2 T-1 ~> m3 s-1 or kg s-1] or the time-integrated transport [H L2 ~> m3 or kg]. :param btc: [in] A structure containing various fields that allow the barotropic transports to be calculated consistently with the layers' continuity equations. The dimensions of some of the elements in this type vary depending on INTEGRAL_BT_CONT. :param guess: [in] A guess at what ubt will be [L T-1 ~> m s-1] or [L ~> m]. The result is not allowed to be dramatically larger than guess. :returns undefined: The result - The velocity that gives uhbt transport [L T-1 ~> m s-1] or the time-integrated velocity [L ~> m]. :calledfrom: :f:func:`set_up_bt_obc ` .. f:function:: real function find_vhbt(v, BTC) The function find_vhbt determines the meridional transport for a given velocity, or with INTEGRAL_BT_CONT=True it determines the time-integrated meridional transport for a given time-integrated velocity. :param v: [in] The local meridional velocity [L T-1 ~> m s-1] or time integrated velocity [L ~> m] :param btc: [in] A structure containing various fields that allow the barotropic transports to be calculated consistently with the layers' continuity equations. The dimensions of some of the elements in this type vary depending on INTEGRAL_BT_CONT. :returns undefined: The meridional barotropic transport [L2 H T-1 ~> m3 s-1] or time integrated transport [L2 H ~> m3] :calledfrom: :f:func:`apply_velocity_obcs ` :calledfrom: :f:func:`btstep ` .. f:function:: real function find_dvhbt_dv(v, BTC) The function find_dvhbt_dv determines the marginal meridional face area for a given velocity, or with INTEGRAL_BT_CONT=True for a given time-integrated velocity. :param v: [in] The local meridional velocity [L T-1 ~> m s-1] or time integrated velocity [L ~> m] :param btc: [in] A structure containing various fields that allow the barotropic transports to be calculated consistently with the layers' continuity equations. The dimensions of some of the elements in this type vary depending on INTEGRAL_BT_CONT. :returns undefined: The meridional barotropic face area [L H ~> m2] :calledfrom: :f:func:`btstep ` .. f:function:: real function vhbt_to_vbt(vhbt, BTC, guess) This function inverts the transport function to determine the barotopic velocity that is consistent with a given transport, or if INTEGRAL_BT_CONT=True this finds the time-integrated velocity that is consistent with a time-integrated transport. :param vhbt: [in] The barotropic meridional transport that should be inverted for [H L2 T-1 ~> m3 s-1 or kg s-1] or the time-integrated transport [H L2 ~> m3 or kg]. :param btc: [in] A structure containing various fields that allow the barotropic transports to be calculated consistently with the layers' continuity equations. The dimensions of some of the elements in this type vary depending on INTEGRAL_BT_CONT. :param guess: [in] A guess at what vbt will be [L T-1 ~> m s-1] or [L ~> m]. The result is not allowed to be dramatically larger than guess. :returns undefined: The result - The velocity that gives vhbt transport [L T-1 ~> m s-1] or the time-integrated velocity [L ~> m]. :calledfrom: :f:func:`set_up_bt_obc ` .. f:subroutine:: subroutine set_local_bt_cont_types(BT_cont, BTCL_u, BTCL_v, G, US, MS, BT_Domain, halo, dt_baroclinic) This subroutine sets up reordered versions of the BT_cont type in the local_BT_cont types, which have wide halos properly filled in. :param bt_cont: [inout] The BT_cont_type input to the barotropic solver. :param ms: [in] A type that describes the memory sizes of the argument arrays. :param btcl_u: [out] A structure with the u information from BT_cont. :param btcl_v: [out] A structure with the v information from BT_cont. :param g: [in] The ocean's grid structure. :param us: [in] A dimensional unit scaling type :param bt_domain: [inout] The domain to use for updating the halos of wide arrays. :param halo: [in] The extra halo size to use here. :param dt_baroclinic: [in] The baroclinic time step [T ~> s], which is provided if INTEGRAL_BT_CONTINUITY is true. :callto: :f:func:`id_clock_calc_pre ` :callto: :f:func:`id_clock_pass_pre ` :callto: :f:func:`swap ` :calledfrom: :f:func:`btstep ` .. f:subroutine:: subroutine adjust_local_bt_cont_types(ubt, uhbt, vbt, vhbt, BTCL_u, BTCL_v, G, US, MS, halo, dt_baroclinic) Adjust_local_BT_cont_types expands the range of velocities with a cubic curve translating velocities into transports to match the inital values of velocities and summed transports when the velocities are larger than the first guesses of the cubic transition velocities used to set up the local_BT_cont types. :param ms: [in] A type that describes the memory sizes of the argument arrays. :param ubt: [in] The linearization zonal barotropic velocity [L T-1 ~> m s-1]. :param uhbt: [in] The linearization zonal barotropic transport :param vbt: [in] The linearization meridional barotropic velocity [L T-1 ~> m s-1]. :param vhbt: [in] The linearization meridional barotropic transport :param btcl_u: [out] A structure with the u information from BT_cont. :param btcl_v: [out] A structure with the v information from BT_cont. :param g: [in] The ocean's grid structure. :param us: [in] A dimensional unit scaling type :param halo: [in] The extra halo size to use here. :param dt_baroclinic: [in] The baroclinic time step [T ~> s], which is provided if INTEGRAL_BT_CONTINUITY is true. :calledfrom: :f:func:`btstep ` .. f:subroutine:: subroutine bt_cont_to_face_areas(BT_cont, Datu, Datv, G, US, MS, halo, maximize) This subroutine uses the BTCL types to find typical or maximum face areas, which can then be used for finding wave speeds, etc. :param bt_cont: [inout] The BT_cont_type input to the barotropic solver. :param ms: [in] A type that describes the memory sizes of the argument arrays. :param datu: [out] The effective zonal face area [H L ~> m2 or kg m-1]. :param datv: [out] The effective meridional face area [H L ~> m2 or kg m-1]. :param g: [in] The ocean's grid structure. :param us: [in] A dimensional unit scaling type :param halo: [in] The extra halo size to use here. :param maximize: [in] If present and true, find the maximum face area for any velocity. :calledfrom: :f:func:`btstep ` :calledfrom: :f:func:`set_dtbt ` .. f:subroutine:: subroutine swap(a, b) Swap the values of two real variables. :param a: [inout] The first variable to be swapped. :param b: [inout] The second variable to be swapped. :calledfrom: :f:func:`btstep ` :calledfrom: :f:func:`set_local_bt_cont_types ` .. f:subroutine:: subroutine find_face_areas(Datu, Datv, G, GV, US, CS, MS, eta, halo, add_max) This subroutine determines the open face areas of cells for calculating the barotropic transport. :param ms: [in] A type that describes the memory sizes of the argument arrays. :param datu: [out] The open zonal face area [H L ~> m2 or kg m-1]. :param datv: [out] The open meridional face area [H L ~> m2 or kg m-1]. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to barotropic_init. :param eta: [in] The barotropic free surface height anomaly :param halo: [in] The halo size to use, default = 1. :param add_max: [in] A value to add to the maximum depth (used to overestimate the external wave speed) [Z ~> m]. :calledfrom: :f:func:`barotropic_init ` :calledfrom: :f:func:`btstep ` :calledfrom: :f:func:`set_dtbt ` .. f:subroutine:: subroutine bt_mass_source(h, eta, set_cor, G, GV, CS) bt_mass_source determines the appropriately limited mass source for the barotropic solver, along with a corrective fictitious mass source that will drive the barotropic estimate of the free surface height toward the baroclinic estimate. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param eta: [in] The free surface height that is to be corrected [H ~> m or kg m-2]. :param set_cor: [in] A flag to indicate whether to set the corrective fluxes (and update the slowly varying part of eta_cor) (.true.) or whether to incrementally update the corrective fluxes. :param cs: The control structure returned by a previous call to barotropic_init. :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine barotropic_init(u, v, h, eta, Time, G, GV, US, param_file, diag, CS, restart_CS, calc_dtbt, BT_cont, tides_CSp) barotropic_init initializes a number of time-invariant fields used in the barotropic calculation and initializes any barotropic fields that have not already been initialized. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param u: [in] The zonal velocity [L T-1 ~> m s-1]. :param v: [in] The meridional velocity [L T-1 ~> m s-1]. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param eta: [in] Free surface height or column mass anomaly :param time: [in] The current model time. :param param_file: [in] A structure to parse for run-time parameters. :param diag: [inout] A structure that is used to regulate diagnostic output. :param cs: A pointer to the control structure for this module that is set in register_barotropic_restarts. :param restart_cs: A pointer to the restart control structure. :param calc_dtbt: [out] If true, the barotropic time step must be recalculated before stepping. :param bt_cont: A structure with elements that describe the :param tides_csp: A pointer to the control structure of the :callto: :f:func:`arithmetic ` :callto: :f:func:`arithmetic_string ` :callto: :f:func:`bt_cont_string ` :callto: :f:func:`btcalc ` :callto: :f:func:`mom_cpu_clock::cpu_clock_id ` :callto: :f:func:`find_face_areas ` :callto: :f:func:`from_bt_cont ` :callto: :f:func:`harmonic ` :callto: :f:func:`harmonic_string ` :callto: :f:func:`hybrid ` :callto: :f:func:`hybrid_string ` :callto: :f:func:`id_clock_calc ` :callto: :f:func:`id_clock_calc_post ` :callto: :f:func:`id_clock_calc_pre ` :callto: :f:func:`id_clock_pass_post ` :callto: :f:func:`id_clock_pass_pre ` :callto: :f:func:`id_clock_pass_step ` :callto: :f:func:`id_clock_sync ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`set_dtbt ` .. f:subroutine:: subroutine barotropic_get_tav(CS, ubtav, vbtav, G, US) Copies ubtav and vbtav from private type into arrays. :param cs: Control structure for this module :param g: [in] Grid structure :param ubtav: [inout] Zonal barotropic velocity averaged over a baroclinic timestep [L T-1 ~> m s-1] :param vbtav: [inout] Meridional barotropic velocity averaged over a baroclinic timestep [L T-1 ~> m s-1] :param us: [in] A dimensional unit scaling type :calledfrom: :f:func:`mom_hor_visc::horizontal_viscosity ` .. f:subroutine:: subroutine barotropic_end(CS) Clean up the barotropic control structure. :param cs: Control structure to clear out. :callto: :f:func:`destroy_bt_obc ` .. f:subroutine:: subroutine register_barotropic_restarts(HI, GV, param_file, CS, restart_CS) This subroutine is used to register any fields from ``MOM_barotropic.F90`` that should be written to or read from the restart file. :param hi: [in] A horizontal index type structure. :param param_file: [in] A structure to parse for run-time parameters. :param cs: A pointer that is set to point to the control structure for this module. :param gv: [in] The ocean's vertical grid structure. :param restart_cs: A pointer to the restart control structure. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_io::var_desc ` :calledfrom: :f:func:`mom_dynamics_split_rk2::register_restarts_dyn_split_rk2 ` [debug] xpath(./compounddef/compoundname[text()="mom_barotropic::barotropic_cs"]/..) match([('id', 'structmom__barotropic_1_1barotropic__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic::barotropic_cs', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic::barotropic_cs', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic::barotropic_cs', , {}, ['', 'T [debug] xpath(./compounddef/compoundname[text()="mom_barotropic::bt_obc_type"]/..) match([('id', 'structmom__barotropic_1_1bt__obc__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic::bt_obc_type', , {}, ['', 'The [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic::bt_obc_type', , {}, ['`More.. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic::bt_obc_type', , {}, ['', 'The [debug] xpath(./compounddef/compoundname[text()="mom_barotropic::local_bt_cont_u_type"]/..) match([('id', 'structmom__barotropic_1_1local__bt__cont__u__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic::local_bt_cont_u_type', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic::local_bt_cont_u_type', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic::local_bt_cont_u_type', , {}, [debug] xpath(./compounddef/compoundname[text()="mom_barotropic::local_bt_cont_v_type"]/..) match([('id', 'structmom__barotropic_1_1local__bt__cont__v__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic::local_bt_cont_v_type', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic::local_bt_cont_v_type', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic::local_bt_cont_v_type', , {}, [debug] xpath(./compounddef/compoundname[text()="mom_barotropic::memory_size_type"]/..) match([('id', 'structmom__barotropic_1_1memory__size__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic::memory_size_type', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic::memory_size_type', , {}, ['`M [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic::memory_size_type', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((U_in, V_in, eta_in, dt, bc_accel_u, bc_accel_v, forces, pbce, eta_PF_in, U_Cor, V_Cor, accel_layer_u, accel_layer_v, eta_out, uhbtav, vhbtav, G, GV, US, CS, visc_rem_u, visc_rem_v, etaav, ADp, OBC, BT_cont, eta_PF_start, taux_bot, tauy_bot, uh0, vh0, u_uh0, v_vh0)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::btstep', , {}, ['', 'This subro [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::btstep', , {}, ['', 'This subro [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, CS, eta, pbce, BT_cont, gtot_est, SSH_add)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::set_dtbt', , {}, ['', 'This sub [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::set_dtbt', , {}, ['', 'This sub [debug] DoxygenMethodDocumenter format_signature called ((OBC, ubt, vbt, uhbt, vhbt, ubt_trans, vbt_trans, eta, ubt_old, vbt_old, BT_OBC, G, MS, US, halo, dtbt, bebt, use_BT_cont, integral_BT_cont, dt_elapsed, Datu, Datv, BTCL_u, BTCL_v, uhbt0, vhbt0, ubt_int, vbt_int, uhbt_int, vhbt_int)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::apply_velocity_obcs', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::apply_velocity_obcs', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((OBC, eta, BT_OBC, BT_Domain, G, GV, US, MS, halo, use_BT_cont, integral_BT_cont, dt_baroclinic, Datu, Datv, BTCL_u, BTCL_v)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::set_up_bt_obc', , {}, ['', 'Thi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::set_up_bt_obc', , {}, ['', 'Thi [debug] DoxygenMethodDocumenter format_signature called ((BT_OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::destroy_bt_obc', , {}, ['', 'Cl [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::destroy_bt_obc', , {}, ['', 'Cl [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, CS, h_u, h_v, may_use_default, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::btcalc', , {}, ['', 'btcalc cal [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::btcalc', , {}, ['', 'btcalc cal [debug] DoxygenMethodDocumenter format_signature called ((u, BTC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::find_uhbt', , {}, ['', 'The fun [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::find_uhbt', , {}, ['', 'The fun [debug] DoxygenMethodDocumenter format_signature called ((u, BTC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::find_duhbt_du', , {}, ['', 'The [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::find_duhbt_du', , {}, ['', 'The [debug] DoxygenMethodDocumenter format_signature called ((uhbt, BTC, guess)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::uhbt_to_ubt', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::uhbt_to_ubt', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((v, BTC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::find_vhbt', , {}, ['', 'The fun [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::find_vhbt', , {}, ['', 'The fun [debug] DoxygenMethodDocumenter format_signature called ((v, BTC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::find_dvhbt_dv', , {}, ['', 'The [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::find_dvhbt_dv', , {}, ['', 'The [debug] DoxygenMethodDocumenter format_signature called ((vhbt, BTC, guess)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::vhbt_to_vbt', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::vhbt_to_vbt', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((BT_cont, BTCL_u, BTCL_v, G, US, MS, BT_Domain, halo, dt_baroclinic)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::set_local_bt_cont_types', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::set_local_bt_cont_types', , {}, [debug] DoxygenMethodDocumenter format_signature called ((ubt, uhbt, vbt, vhbt, BTCL_u, BTCL_v, G, US, MS, halo, dt_baroclinic)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::adjust_local_bt_cont_types', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::adjust_local_bt_cont_types', , [debug] DoxygenMethodDocumenter format_signature called ((BT_cont, Datu, Datv, G, US, MS, halo, maximize)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::bt_cont_to_face_areas', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::bt_cont_to_face_areas', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((a, b)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::swap', , {}, ['', 'Swap the val [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::swap', , {}, ['', 'Swap the val [debug] DoxygenMethodDocumenter format_signature called ((Datu, Datv, G, GV, US, CS, MS, eta, halo, add_max)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::find_face_areas', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::find_face_areas', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((h, eta, set_cor, G, GV, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::bt_mass_source', , {}, ['', 'bt [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::bt_mass_source', , {}, ['', 'bt [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, eta, Time, G, GV, US, param_file, diag, CS, restart_CS, calc_dtbt, BT_cont, tides_CSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::barotropic_init', , {}, ['', 'b [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::barotropic_init', , {}, ['', 'b [debug] DoxygenMethodDocumenter format_signature called ((CS, ubtav, vbtav, G, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::barotropic_get_tav', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::barotropic_get_tav', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::barotropic_end', , {}, ['', 'Cl [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::barotropic_end', , {}, ['', 'Cl [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, restart_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM__barotropic_8F90) kindref(compound) ref([]) [debug] ref([('id', 'MOM__barotropic_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::register_barotropic_restarts', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_barotropic::register_barotropic_restarts', [fd] run(.. f:type:: barotropic_cs) [fd] sig(barotropic_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(barotropic_cs) arglist(None) [fd] fullname(mom_barotropic/barotropic_cs) ftype(None) [fd] name(('mom_barotropic/barotropic_cs', None)) sig(barotropic_cs) signode(type mom_barotropic/barotropic_cs) [fd] run(.. f:type:: bt_obc_type) [fd] sig(bt_obc_type) [fd] ftype(None) objtype(None) modname(None) typename() name(bt_obc_type) arglist(None) [fd] fullname(mom_barotropic/bt_obc_type) ftype(None) [fd] name(('mom_barotropic/bt_obc_type', None)) sig(bt_obc_type) signode(type mom_barotropic/bt_obc_type) [fd] run(.. f:type:: local_bt_cont_u_type) [fd] sig(local_bt_cont_u_type) [fd] ftype(None) objtype(None) modname(None) typename() name(local_bt_cont_u_type) arglist(None) [fd] fullname(mom_barotropic/local_bt_cont_u_type) ftype(None) [fd] name(('mom_barotropic/local_bt_cont_u_type', None)) sig(local_bt_cont_u_type) signode(type mom_barotropic/local_bt_cont_u_type) [fd] run(.. f:type:: local_bt_cont_v_type) [fd] sig(local_bt_cont_v_type) [fd] ftype(None) objtype(None) modname(None) typename() name(local_bt_cont_v_type) arglist(None) [fd] fullname(mom_barotropic/local_bt_cont_v_type) ftype(None) [fd] name(('mom_barotropic/local_bt_cont_v_type', None)) sig(local_bt_cont_v_type) signode(type mom_barotropic/local_bt_cont_v_type) [fd] run(.. f:type:: memory_size_type) [fd] sig(memory_size_type) [fd] ftype(None) objtype(None) modname(None) typename() name(memory_size_type) arglist(None) [fd] fullname(mom_barotropic/memory_size_type) ftype(None) [fd] name(('mom_barotropic/memory_size_type', None)) sig(memory_size_type) signode(type mom_barotropic/memory_size_type) [fd] run(.. f:subroutine:: subroutine btstep(U_in, V_in, eta_in, dt, bc_accel_u, bc_accel_v, forces, pbce, eta_PF_in, U_Cor, V_Cor, accel_layer_u, accel_layer_v, eta_out, uhbtav, vhbtav, G, GV, US, CS, visc_rem_u, visc_rem_v, etaav, ADp, OBC, BT_cont, eta_PF_start, taux_bot, tauy_bot, uh0, vh0, u_uh0, v_vh0)) [fd] sig(subroutine btstep(U_in, V_in, eta_in, dt, bc_accel_u, bc_accel_v, forces, pbce, eta_PF_in, U_Cor, V_Cor, accel_layer_u, accel_layer_v, eta_out, uhbtav, vhbtav, G, GV, US, CS, visc_rem_u, visc_rem_v, etaav, ADp, OBC, BT_cont, eta_PF_start, taux_bot, tauy_bot, uh0, vh0, u_uh0, v_vh0)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(btstep) arglist(U_in, V_in, eta_in, dt, bc_accel_u, bc_accel_v, forces, pbce, eta_PF_in, U_Cor, V_Cor, accel_layer_u, accel_layer_v, eta_out, uhbtav, vhbtav, G, GV, US, CS, visc_rem_u, visc_rem_v, etaav, ADp, OBC, BT_cont, eta_PF_start, taux_bot, tauy_bot, uh0, vh0, u_uh0, v_vh0) [fd] fullname(mom_barotropic/btstep) ftype(None) [fd] name(('mom_barotropic/btstep', None)) sig(subroutine btstep(U_in, V_in, eta_in, dt, bc_accel_u, bc_accel_v, forces, pbce, eta_PF_in, U_Cor, V_Cor, accel_layer_u, accel_layer_v, eta_out, uhbtav, vhbtav, G, GV, US, CS, visc_rem_u, visc_rem_v, etaav, ADp, OBC, BT_cont, eta_PF_start, taux_bot, tauy_bot, uh0, vh0, u_uh0, v_vh0)) signode(subroutine mom_barotropic/btstepU_inV_ineta_indtbc_accel_ubc_accel_vforcespbceeta_PF_inU_CorV_Coraccel_layer_uaccel_layer_veta_outuhbtavvhbtavGGVUSCSvisc_rem_uvisc_rem_vetaavADpOBCBT_conteta_PF_starttaux_bottauy_botuh0vh0u_uh0v_vh0) [fd] run(.. f:subroutine:: subroutine set_dtbt(G, GV, US, CS, eta, pbce, BT_cont, gtot_est, SSH_add)) [fd] sig(subroutine set_dtbt(G, GV, US, CS, eta, pbce, BT_cont, gtot_est, SSH_add)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_dtbt) arglist(G, GV, US, CS, eta, pbce, BT_cont, gtot_est, SSH_add) [fd] fullname(mom_barotropic/set_dtbt) ftype(None) [fd] name(('mom_barotropic/set_dtbt', None)) sig(subroutine set_dtbt(G, GV, US, CS, eta, pbce, BT_cont, gtot_est, SSH_add)) signode(subroutine mom_barotropic/set_dtbtGGVUSCSetapbceBT_contgtot_estSSH_add) [fd] run(.. f:subroutine:: subroutine apply_velocity_obcs(OBC, ubt, vbt, uhbt, vhbt, ubt_trans, vbt_trans, eta, ubt_old, vbt_old, BT_OBC, G, MS, US, halo, dtbt, bebt, use_BT_cont, integral_BT_cont, dt_elapsed, Datu, Datv, BTCL_u, BTCL_v, uhbt0, vhbt0, ubt_int, vbt_int, uhbt_int, vhbt_int)) [fd] sig(subroutine apply_velocity_obcs(OBC, ubt, vbt, uhbt, vhbt, ubt_trans, vbt_trans, eta, ubt_old, vbt_old, BT_OBC, G, MS, US, halo, dtbt, bebt, use_BT_cont, integral_BT_cont, dt_elapsed, Datu, Datv, BTCL_u, BTCL_v, uhbt0, vhbt0, ubt_int, vbt_int, uhbt_int, vhbt_int)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(apply_velocity_obcs) arglist(OBC, ubt, vbt, uhbt, vhbt, ubt_trans, vbt_trans, eta, ubt_old, vbt_old, BT_OBC, G, MS, US, halo, dtbt, bebt, use_BT_cont, integral_BT_cont, dt_elapsed, Datu, Datv, BTCL_u, BTCL_v, uhbt0, vhbt0, ubt_int, vbt_int, uhbt_int, vhbt_int) [fd] fullname(mom_barotropic/apply_velocity_obcs) ftype(None) [fd] name(('mom_barotropic/apply_velocity_obcs', None)) sig(subroutine apply_velocity_obcs(OBC, ubt, vbt, uhbt, vhbt, ubt_trans, vbt_trans, eta, ubt_old, vbt_old, BT_OBC, G, MS, US, halo, dtbt, bebt, use_BT_cont, integral_BT_cont, dt_elapsed, Datu, Datv, BTCL_u, BTCL_v, uhbt0, vhbt0, ubt_int, vbt_int, uhbt_int, vhbt_int)) signode(subroutine mom_barotropic/apply_velocity_obcsOBCubtvbtuhbtvhbtubt_transvbt_transetaubt_oldvbt_oldBT_OBCGMSUShalodtbtbebtuse_BT_contintegral_BT_contdt_elapsedDatuDatvBTCL_uBTCL_vuhbt0vhbt0ubt_intvbt_intuhbt_intvhbt_int) [fd] run(.. f:subroutine:: subroutine set_up_bt_obc(OBC, eta, BT_OBC, BT_Domain, G, GV, US, MS, halo, use_BT_cont, integral_BT_cont, dt_baroclinic, Datu, Datv, BTCL_u, BTCL_v)) [fd] sig(subroutine set_up_bt_obc(OBC, eta, BT_OBC, BT_Domain, G, GV, US, MS, halo, use_BT_cont, integral_BT_cont, dt_baroclinic, Datu, Datv, BTCL_u, BTCL_v)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_up_bt_obc) arglist(OBC, eta, BT_OBC, BT_Domain, G, GV, US, MS, halo, use_BT_cont, integral_BT_cont, dt_baroclinic, Datu, Datv, BTCL_u, BTCL_v) [fd] fullname(mom_barotropic/set_up_bt_obc) ftype(None) [fd] name(('mom_barotropic/set_up_bt_obc', None)) sig(subroutine set_up_bt_obc(OBC, eta, BT_OBC, BT_Domain, G, GV, US, MS, halo, use_BT_cont, integral_BT_cont, dt_baroclinic, Datu, Datv, BTCL_u, BTCL_v)) signode(subroutine mom_barotropic/set_up_bt_obcOBCetaBT_OBCBT_DomainGGVUSMShalouse_BT_contintegral_BT_contdt_baroclinicDatuDatvBTCL_uBTCL_v) [fd] run(.. f:subroutine:: subroutine destroy_bt_obc(BT_OBC)) [fd] sig(subroutine destroy_bt_obc(BT_OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(destroy_bt_obc) arglist(BT_OBC) [fd] fullname(mom_barotropic/destroy_bt_obc) ftype(None) [fd] name(('mom_barotropic/destroy_bt_obc', None)) sig(subroutine destroy_bt_obc(BT_OBC)) signode(subroutine mom_barotropic/destroy_bt_obcBT_OBC) [fd] run(.. f:subroutine:: subroutine btcalc(h, G, GV, CS, h_u, h_v, may_use_default, OBC)) [fd] sig(subroutine btcalc(h, G, GV, CS, h_u, h_v, may_use_default, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(btcalc) arglist(h, G, GV, CS, h_u, h_v, may_use_default, OBC) [fd] fullname(mom_barotropic/btcalc) ftype(None) [fd] name(('mom_barotropic/btcalc', None)) sig(subroutine btcalc(h, G, GV, CS, h_u, h_v, may_use_default, OBC)) signode(subroutine mom_barotropic/btcalchGGVCSh_uh_vmay_use_defaultOBC) [fd] run(.. f:function:: real function find_uhbt(u, BTC)) [fd] sig(real function find_uhbt(u, BTC)) [fd] ftype(real) objtype(function) modname(None) typename() name(find_uhbt) arglist(u, BTC) [fd] fullname(mom_barotropic/find_uhbt) ftype(real) [fd] name(('mom_barotropic/find_uhbt', 'real')) sig(real function find_uhbt(u, BTC)) signode(function mom_barotropic/find_uhbtuBTC [real]) [fd] run(.. f:function:: real function find_duhbt_du(u, BTC)) [fd] sig(real function find_duhbt_du(u, BTC)) [fd] ftype(real) objtype(function) modname(None) typename() name(find_duhbt_du) arglist(u, BTC) [fd] fullname(mom_barotropic/find_duhbt_du) ftype(real) [fd] name(('mom_barotropic/find_duhbt_du', 'real')) sig(real function find_duhbt_du(u, BTC)) signode(function mom_barotropic/find_duhbt_duuBTC [real]) [fd] run(.. f:function:: real function uhbt_to_ubt(uhbt, BTC, guess)) [fd] sig(real function uhbt_to_ubt(uhbt, BTC, guess)) [fd] ftype(real) objtype(function) modname(None) typename() name(uhbt_to_ubt) arglist(uhbt, BTC, guess) [fd] fullname(mom_barotropic/uhbt_to_ubt) ftype(real) [fd] name(('mom_barotropic/uhbt_to_ubt', 'real')) sig(real function uhbt_to_ubt(uhbt, BTC, guess)) signode(function mom_barotropic/uhbt_to_ubtuhbtBTCguess [real]) [fd] run(.. f:function:: real function find_vhbt(v, BTC)) [fd] sig(real function find_vhbt(v, BTC)) [fd] ftype(real) objtype(function) modname(None) typename() name(find_vhbt) arglist(v, BTC) [fd] fullname(mom_barotropic/find_vhbt) ftype(real) [fd] name(('mom_barotropic/find_vhbt', 'real')) sig(real function find_vhbt(v, BTC)) signode(function mom_barotropic/find_vhbtvBTC [real]) [fd] run(.. f:function:: real function find_dvhbt_dv(v, BTC)) [fd] sig(real function find_dvhbt_dv(v, BTC)) [fd] ftype(real) objtype(function) modname(None) typename() name(find_dvhbt_dv) arglist(v, BTC) [fd] fullname(mom_barotropic/find_dvhbt_dv) ftype(real) [fd] name(('mom_barotropic/find_dvhbt_dv', 'real')) sig(real function find_dvhbt_dv(v, BTC)) signode(function mom_barotropic/find_dvhbt_dvvBTC [real]) [fd] run(.. f:function:: real function vhbt_to_vbt(vhbt, BTC, guess)) [fd] sig(real function vhbt_to_vbt(vhbt, BTC, guess)) [fd] ftype(real) objtype(function) modname(None) typename() name(vhbt_to_vbt) arglist(vhbt, BTC, guess) [fd] fullname(mom_barotropic/vhbt_to_vbt) ftype(real) [fd] name(('mom_barotropic/vhbt_to_vbt', 'real')) sig(real function vhbt_to_vbt(vhbt, BTC, guess)) signode(function mom_barotropic/vhbt_to_vbtvhbtBTCguess [real]) [fd] run(.. f:subroutine:: subroutine set_local_bt_cont_types(BT_cont, BTCL_u, BTCL_v, G, US, MS, BT_Domain, halo, dt_baroclinic)) [fd] sig(subroutine set_local_bt_cont_types(BT_cont, BTCL_u, BTCL_v, G, US, MS, BT_Domain, halo, dt_baroclinic)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_local_bt_cont_types) arglist(BT_cont, BTCL_u, BTCL_v, G, US, MS, BT_Domain, halo, dt_baroclinic) [fd] fullname(mom_barotropic/set_local_bt_cont_types) ftype(None) [fd] name(('mom_barotropic/set_local_bt_cont_types', None)) sig(subroutine set_local_bt_cont_types(BT_cont, BTCL_u, BTCL_v, G, US, MS, BT_Domain, halo, dt_baroclinic)) signode(subroutine mom_barotropic/set_local_bt_cont_typesBT_contBTCL_uBTCL_vGUSMSBT_Domainhalodt_baroclinic) [fd] run(.. f:subroutine:: subroutine adjust_local_bt_cont_types(ubt, uhbt, vbt, vhbt, BTCL_u, BTCL_v, G, US, MS, halo, dt_baroclinic)) [fd] sig(subroutine adjust_local_bt_cont_types(ubt, uhbt, vbt, vhbt, BTCL_u, BTCL_v, G, US, MS, halo, dt_baroclinic)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(adjust_local_bt_cont_types) arglist(ubt, uhbt, vbt, vhbt, BTCL_u, BTCL_v, G, US, MS, halo, dt_baroclinic) [fd] fullname(mom_barotropic/adjust_local_bt_cont_types) ftype(None) [fd] name(('mom_barotropic/adjust_local_bt_cont_types', None)) sig(subroutine adjust_local_bt_cont_types(ubt, uhbt, vbt, vhbt, BTCL_u, BTCL_v, G, US, MS, halo, dt_baroclinic)) signode(subroutine mom_barotropic/adjust_local_bt_cont_typesubtuhbtvbtvhbtBTCL_uBTCL_vGUSMShalodt_baroclinic) [fd] run(.. f:subroutine:: subroutine bt_cont_to_face_areas(BT_cont, Datu, Datv, G, US, MS, halo, maximize)) [fd] sig(subroutine bt_cont_to_face_areas(BT_cont, Datu, Datv, G, US, MS, halo, maximize)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(bt_cont_to_face_areas) arglist(BT_cont, Datu, Datv, G, US, MS, halo, maximize) [fd] fullname(mom_barotropic/bt_cont_to_face_areas) ftype(None) [fd] name(('mom_barotropic/bt_cont_to_face_areas', None)) sig(subroutine bt_cont_to_face_areas(BT_cont, Datu, Datv, G, US, MS, halo, maximize)) signode(subroutine mom_barotropic/bt_cont_to_face_areasBT_contDatuDatvGUSMShalomaximize) [fd] run(.. f:subroutine:: subroutine swap(a, b)) [fd] sig(subroutine swap(a, b)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(swap) arglist(a, b) [fd] fullname(mom_barotropic/swap) ftype(None) [fd] name(('mom_barotropic/swap', None)) sig(subroutine swap(a, b)) signode(subroutine mom_barotropic/swapab) [fd] run(.. f:subroutine:: subroutine find_face_areas(Datu, Datv, G, GV, US, CS, MS, eta, halo, add_max)) [fd] sig(subroutine find_face_areas(Datu, Datv, G, GV, US, CS, MS, eta, halo, add_max)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_face_areas) arglist(Datu, Datv, G, GV, US, CS, MS, eta, halo, add_max) [fd] fullname(mom_barotropic/find_face_areas) ftype(None) [fd] name(('mom_barotropic/find_face_areas', None)) sig(subroutine find_face_areas(Datu, Datv, G, GV, US, CS, MS, eta, halo, add_max)) signode(subroutine mom_barotropic/find_face_areasDatuDatvGGVUSCSMSetahaloadd_max) [fd] run(.. f:subroutine:: subroutine bt_mass_source(h, eta, set_cor, G, GV, CS)) [fd] sig(subroutine bt_mass_source(h, eta, set_cor, G, GV, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(bt_mass_source) arglist(h, eta, set_cor, G, GV, CS) [fd] fullname(mom_barotropic/bt_mass_source) ftype(None) [fd] name(('mom_barotropic/bt_mass_source', None)) sig(subroutine bt_mass_source(h, eta, set_cor, G, GV, CS)) signode(subroutine mom_barotropic/bt_mass_sourcehetaset_corGGVCS) [fd] run(.. f:subroutine:: subroutine barotropic_init(u, v, h, eta, Time, G, GV, US, param_file, diag, CS, restart_CS, calc_dtbt, BT_cont, tides_CSp)) [fd] sig(subroutine barotropic_init(u, v, h, eta, Time, G, GV, US, param_file, diag, CS, restart_CS, calc_dtbt, BT_cont, tides_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(barotropic_init) arglist(u, v, h, eta, Time, G, GV, US, param_file, diag, CS, restart_CS, calc_dtbt, BT_cont, tides_CSp) [fd] fullname(mom_barotropic/barotropic_init) ftype(None) [fd] name(('mom_barotropic/barotropic_init', None)) sig(subroutine barotropic_init(u, v, h, eta, Time, G, GV, US, param_file, diag, CS, restart_CS, calc_dtbt, BT_cont, tides_CSp)) signode(subroutine mom_barotropic/barotropic_inituvhetaTimeGGVUSparam_filediagCSrestart_CScalc_dtbtBT_conttides_CSp) [fd] run(.. f:subroutine:: subroutine barotropic_get_tav(CS, ubtav, vbtav, G, US)) [fd] sig(subroutine barotropic_get_tav(CS, ubtav, vbtav, G, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(barotropic_get_tav) arglist(CS, ubtav, vbtav, G, US) [fd] fullname(mom_barotropic/barotropic_get_tav) ftype(None) [fd] name(('mom_barotropic/barotropic_get_tav', None)) sig(subroutine barotropic_get_tav(CS, ubtav, vbtav, G, US)) signode(subroutine mom_barotropic/barotropic_get_tavCSubtavvbtavGUS) [fd] run(.. f:subroutine:: subroutine barotropic_end(CS)) [fd] sig(subroutine barotropic_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(barotropic_end) arglist(CS) [fd] fullname(mom_barotropic/barotropic_end) ftype(None) [fd] name(('mom_barotropic/barotropic_end', None)) sig(subroutine barotropic_end(CS)) signode(subroutine mom_barotropic/barotropic_endCS) [fd] run(.. f:subroutine:: subroutine register_barotropic_restarts(HI, GV, param_file, CS, restart_CS)) [fd] sig(subroutine register_barotropic_restarts(HI, GV, param_file, CS, restart_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_barotropic_restarts) arglist(HI, GV, param_file, CS, restart_CS) [fd] fullname(mom_barotropic/register_barotropic_restarts) ftype(None) [fd] name(('mom_barotropic/register_barotropic_restarts', None)) sig(subroutine register_barotropic_restarts(HI, GV, param_file, CS, restart_CS)) signode(subroutine mom_barotropic/register_barotropic_restartsHIGVparam_fileCSrestart_CS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 18%] api/generated/modules/mom_bkgnd_mixing [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_bkgnd_mi [app] emitting event: 'source-read'('api/generated/modules/mom_bkgnd_mixing', ['.. autodoxymodule:: mom_bkgnd_mixing\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_bkgnd_mixing.rst:1: input: .. autodoxymodule:: mom_bkgnd_mixing :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_bkgnd_mixing::bkgnd_mixing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_bkgnd_mixing::bkgnd_mixing_init ~mom_bkgnd_mixing::calculate_bkgnd_mixing ~mom_bkgnd_mixing::cvmix_bkgnd_is_used ~mom_bkgnd_mixing::check_bkgnd_scheme ~mom_bkgnd_mixing::bkgnd_mixing_end [debug] xpath(./compounddef/compoundname[text()="mom_bkgnd_mixing"]/..) match([('id', 'namespacemom__bkgnd__mixing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_bkgnd_mixing module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_bkgnd_mixing', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_bkgnd_mixing' (exception was: ModuleNotFoundError("No module named 'mom_bkgnd_mixing'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {'members [debug] members([('bkgnd_mixing_init', ), ('calculate_bkgnd_mixing', ), ('cvmix_bkgnd_is_used', ), ('check_bkgnd_scheme', ), ('bkgnd_mixing_end', )]) [autodoc] module analyzer failed: error importing 'mom_bkgnd_mixing' (exception was: ModuleNotFoundError("No module named 'mom_bkgnd_mixing'")) [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS)) [debug] add_directive_header sig((Time, G, GV, US, param_file, diag, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine bkgnd_mixing_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bkgnd_mixing_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_bkgnd_mixing::bkgnd_mixing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_bkgnd_mixing::bkgnd_mixing_init ~mom_bkgnd_mixing::calculate_bkgnd_mixing ~mom_bkgnd_mixing::cvmix_bkgnd_is_used ~mom_bkgnd_mixing::check_bkgnd_scheme ~mom_bkgnd_mixing::bkgnd_mixing_end .. _DETAmom_bkgnd_mixing: -------------------- Detailed Description -------------------- Interface to background mixing schemes, including the Bryan and Lewis (1979) which is applied via CVMix. ------------------ Type Documentation ------------------ .. f:type:: bkgnd_mixing_cs Control structure including parameters for this module. :typefield real bryan_lewis_c1: The vertical diffusivity values for Bryan-Lewis profile at |z|=D [m2 s-1]. :typefield real bryan_lewis_c2: The amplitude of variation in diffusivity for the Bryan-Lewis diffusivity profile [m2 s-1]. :typefield real bryan_lewis_c3: The inverse length scale for transition region in the Bryan-Lewis diffusivity profile [m-1]. :typefield real bryan_lewis_c4: The depth where diffusivity is Bryan_Lewis_bl1 in the Bryan-Lewis profile [m]. :typefield real bckgrnd_vdc1: Background diffusivity (Ledwell) when horiz_varying_background=.true. [Z2 T-1 ~> m2 s-1]. :typefield real bckgrnd_vdc_eq: Equatorial diffusivity (Gregg) when horiz_varying_background=.true. [Z2 T-1 ~> m2 s-1]. :typefield real bckgrnd_vdc_psim: Max. PSI induced diffusivity (MacKinnon) when horiz_varying_background=.true. [Z2 T-1 ~> m2 s-1]. :typefield real bckgrnd_vdc_banda: Banda Sea diffusivity (Gordon) when horiz_varying_background=.true. [Z2 T-1 ~> m2 s-1]. :typefield real kd_min: minimum diapycnal diffusivity [Z2 T-1 ~> m2 s-1] :typefield real kd: interior diapycnal diffusivity [Z2 T-1 ~> m2 s-1] :typefield real omega: The Earth's rotation rate [T-1 ~> s-1]. :typefield real n0_2omega: ratio of the typical Buoyancy frequency to twice the Earth's rotation period, used with the Henyey scaling from the mixing :typefield real prandtl_bkgnd: Turbulent Prandtl number used to convert vertical background diffusivity into viscosity. :typefield real kd_tanh_lat_scale: A nondimensional scaling for the range of diffusivities with Kd_tanh_lat_fn. Valid values are in the range of -2 to 2; 0.4 reproduces CM2M. :typefield real kdml: mixed layer diapycnal diffusivity [Z2 T-1 ~> m2 s-1] when bulkmixedlayer==.false. :typefield real hmix: mixed layer thickness [Z ~> m] when bulkmixedlayer==.false. :typefield logical kd_tanh_lat_fn: If true, use the tanh dependence of Kd_sfc on latitude, like GFDL CM2.1/CM2M. There is no physical justification for this form, and it can not be used with Henyey_IGW_background. :typefield logical bryan_lewis_diffusivity: If true, background vertical diffusivity uses Bryan-Lewis (1979) like tanh profile. :typefield logical horiz_varying_background: If true, apply vertically uniform, latitude-dependent background diffusivity, as described in Danabasoglu et al., 2012. :typefield logical henyey_igw_background: If true, use a simplified variant of the Henyey et al, JGR (1986) latitudinal scaling for the background diapycnal diffusivity, which gives a marked decrease in the diffusivity near the equator. The simplification here is to assume that the in-situ stratification is the same as the reference stratificaiton. :typefield logical henyey_igw_background_new: same as Henyey_IGW_background but incorporate the effect of stratification on TKE dissipation, e = f/f_0 * acosh(N/f) / acosh(N_0/f_0) * e_0 where e is the TKE dissipation, and N_0 and f_0 are the reference buoyancy frequency and inertial frequencies respectively. e_0 is the reference dissipation at (N_0,f_0). In the previous version, N=N_0. Additionally, the squared inverse relationship between diapycnal diffusivities and stratification is included: :typefield logical bulkmixedlayer: If true, a refined bulk mixed layer scheme is used. :typefield logical kd_via_kdml_bug: If true and KDML /= KD and a number of other higher precedence options are not used, the background diffusivity is set incorrectly using a bug that was introduced in March, 2018. :typefield logical debug: If true, turn on debugging in this module. :typefield type(diag_ctrl) diag [pointer]: A structure that regulates diagnostic output. :typefield character (len=40) bkgnd_scheme_str: Background scheme identifier. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine bkgnd_mixing_init(Time, G, GV, US, param_file, diag, CS) Initialize the background mixing routine. :param time: [in] The current time. :param g: [in] Grid structure. :param gv: [in] Vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] Run-time parameter file handle :param diag: [inout] Diagnostics control structure. :param cs: This module's control structure. :callto: :f:func:`check_bkgnd_scheme ` :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine calculate_bkgnd_mixing(h, tv, N2_lay, Kd_lay, Kd_int, Kv_bkgnd, j, G, GV, US, CS) Calculates the vertical background diffusivities/viscosities. :param g: [in] Grid structure. :param gv: [in] Vertical grid structure. :param h: [in] Layer thickness [H ~> m or kg m-2]. :param tv: [in] Thermodynamics structure. :param n2_lay: [in] squared buoyancy frequency associated with layers [T-2 ~> s-2] :param kd_lay: [out] The background diapycnal diffusivity of each layer [Z2 T-1 ~> m2 s-1]. :param kd_int: [out] The background diapycnal diffusivity of each interface [Z2 T-1 ~> m2 s-1]. :param kv_bkgnd: [out] The background vertical viscosity at each interface [Z2 T-1 ~> m2 s-1] :param j: [in] Meridional grid index :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to bkgnd_mixing_init. :callto: :f:func:`mom_intrinsic_functions::invcosh ` .. f:function:: logical function cvmix_bkgnd_is_used(param_file) Reads the parameter "USE_CVMix_BACKGROUND" and returns state. This function allows other modules to know whether this parameterization will be used without needing to duplicate the log entry. :param param_file: [in] A structure to parse for run-time parameters :callto: :f:func:`mdl ` .. f:subroutine:: subroutine check_bkgnd_scheme(CS, str) Sets CSbkgnd_scheme_str to check whether multiple background diffusivity schemes are activated. The string is also for error/log messages. :param cs: Control structure :param str: [in] Background scheme identifier deducted from MOM_input parameters :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`bkgnd_mixing_init ` .. f:subroutine:: subroutine bkgnd_mixing_end(CS) Clear pointers and dealocate memory. :param cs: Control structure for this module that will be deallocated in this subroutine :calledfrom: :f:func:`mom_set_diffusivity::set_diffusivity_end ` [debug] xpath(./compounddef/compoundname[text()="mom_bkgnd_mixing::bkgnd_mixing_cs"]/..) match([('id', 'structmom__bkgnd__mixing_1_1bkgnd__mixing__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {}, ['` [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_bkgnd_mixing::bkgnd_mixing_cs', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bkgnd_mixing::bkgnd_mixing_init', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bkgnd_mixing::bkgnd_mixing_init', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((h, tv, N2_lay, Kd_lay, Kd_int, Kv_bkgnd, j, G, GV, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bkgnd_mixing::calculate_bkgnd_mixing', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bkgnd_mixing::calculate_bkgnd_mixing', , {} [debug] DoxygenMethodDocumenter format_signature called ((param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bkgnd_mixing::cvmix_bkgnd_is_used', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bkgnd_mixing::cvmix_bkgnd_is_used', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((CS, str)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bkgnd_mixing::check_bkgnd_scheme', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bkgnd_mixing::check_bkgnd_scheme', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bkgnd_mixing::bkgnd_mixing_end', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bkgnd_mixing::bkgnd_mixing_end', , {}, ['', [fd] run(.. f:type:: bkgnd_mixing_cs) [fd] sig(bkgnd_mixing_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(bkgnd_mixing_cs) arglist(None) [fd] fullname(mom_bkgnd_mixing/bkgnd_mixing_cs) ftype(None) [fd] name(('mom_bkgnd_mixing/bkgnd_mixing_cs', None)) sig(bkgnd_mixing_cs) signode(type mom_bkgnd_mixing/bkgnd_mixing_cs) [fd] run(.. f:subroutine:: subroutine bkgnd_mixing_init(Time, G, GV, US, param_file, diag, CS)) [fd] sig(subroutine bkgnd_mixing_init(Time, G, GV, US, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(bkgnd_mixing_init) arglist(Time, G, GV, US, param_file, diag, CS) [fd] fullname(mom_bkgnd_mixing/bkgnd_mixing_init) ftype(None) [fd] name(('mom_bkgnd_mixing/bkgnd_mixing_init', None)) sig(subroutine bkgnd_mixing_init(Time, G, GV, US, param_file, diag, CS)) signode(subroutine mom_bkgnd_mixing/bkgnd_mixing_initTimeGGVUSparam_filediagCS) [fd] run(.. f:subroutine:: subroutine calculate_bkgnd_mixing(h, tv, N2_lay, Kd_lay, Kd_int, Kv_bkgnd, j, G, GV, US, CS)) [fd] sig(subroutine calculate_bkgnd_mixing(h, tv, N2_lay, Kd_lay, Kd_int, Kv_bkgnd, j, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_bkgnd_mixing) arglist(h, tv, N2_lay, Kd_lay, Kd_int, Kv_bkgnd, j, G, GV, US, CS) [fd] fullname(mom_bkgnd_mixing/calculate_bkgnd_mixing) ftype(None) [fd] name(('mom_bkgnd_mixing/calculate_bkgnd_mixing', None)) sig(subroutine calculate_bkgnd_mixing(h, tv, N2_lay, Kd_lay, Kd_int, Kv_bkgnd, j, G, GV, US, CS)) signode(subroutine mom_bkgnd_mixing/calculate_bkgnd_mixinghtvN2_layKd_layKd_intKv_bkgndjGGVUSCS) [fd] run(.. f:function:: logical function cvmix_bkgnd_is_used(param_file)) [fd] sig(logical function cvmix_bkgnd_is_used(param_file)) [fd] ftype(logical) objtype(function) modname(None) typename() name(cvmix_bkgnd_is_used) arglist(param_file) [fd] fullname(mom_bkgnd_mixing/cvmix_bkgnd_is_used) ftype(logical) [fd] name(('mom_bkgnd_mixing/cvmix_bkgnd_is_used', 'logical')) sig(logical function cvmix_bkgnd_is_used(param_file)) signode(function mom_bkgnd_mixing/cvmix_bkgnd_is_usedparam_file [logical]) [fd] run(.. f:subroutine:: subroutine check_bkgnd_scheme(CS, str)) [fd] sig(subroutine check_bkgnd_scheme(CS, str)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_bkgnd_scheme) arglist(CS, str) [fd] fullname(mom_bkgnd_mixing/check_bkgnd_scheme) ftype(None) [fd] name(('mom_bkgnd_mixing/check_bkgnd_scheme', None)) sig(subroutine check_bkgnd_scheme(CS, str)) signode(subroutine mom_bkgnd_mixing/check_bkgnd_schemeCSstr) [fd] run(.. f:subroutine:: subroutine bkgnd_mixing_end(CS)) [fd] sig(subroutine bkgnd_mixing_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(bkgnd_mixing_end) arglist(CS) [fd] fullname(mom_bkgnd_mixing/bkgnd_mixing_end) ftype(None) [fd] name(('mom_bkgnd_mixing/bkgnd_mixing_end', None)) sig(subroutine bkgnd_mixing_end(CS)) signode(subroutine mom_bkgnd_mixing/bkgnd_mixing_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 18%] api/generated/modules/mom_boundary_update [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_boundary [app] emitting event: 'source-read'('api/generated/modules/mom_boundary_update', ['.. autodoxymodule:: mom_boundary_update\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_boundary_update.rst:1: input: .. autodoxymodule:: mom_boundary_update :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_boundary_update::update_obc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_boundary_update::call_obc_register ~mom_boundary_update::update_obc_data ~mom_boundary_update::obc_register_end [debug] xpath(./compounddef/compoundname[text()="mom_boundary_update"]/..) match([('id', 'namespacemom__boundary__update'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_boundary_update module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_boundary_update', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_boundary_update' (exception was: ModuleNotFoundError("No module named 'mom_boundary_update'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_boundary_update::update_obc_cs', , {'member [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_boundary_update::update_obc_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_boundary_update::update_obc_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_boundary_update::update_obc_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_boundary_update::update_obc_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_boundary_update::update_obc_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_boundary_update::update_obc_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_boundary_update::update_obc_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_boundary_update::update_obc_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_boundary_update::update_obc_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_boundary_update::update_obc_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_boundary_update::update_obc_cs', , {'member [debug] members([('call_obc_register', ), ('update_obc_data', ), ('obc_register_end', )]) [autodoc] module analyzer failed: error importing 'mom_boundary_update' (exception was: ModuleNotFoundError("No module named 'mom_boundary_update'")) [debug] DoxygenMethodDocumenter format_signature called ((param_file, CS, OBC)) [debug] add_directive_header sig((param_file, CS, OBC)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine call_obc_register) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'call_obc_register', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_boundary_update::update_obc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_boundary_update::call_obc_register ~mom_boundary_update::update_obc_data ~mom_boundary_update::obc_register_end .. _DETAmom_boundary_update: -------------------- Detailed Description -------------------- This module updates the open boundary arrays when time-varying. It caused a circular dependency with the tidal_bay setup when MOM_open_boundary. A small fragment of the grid is shown below: j+1 x ^ x ^ x At x: q, CoriolisBu j+1 > o > o > At ^: v, tauy j x ^ x ^ x At >: u, taux j > o > o > At o: h, bathyT, buoy, tr, T, S, Rml, ustar j-1 x ^ x ^ x i-1 i i+1 At x & ^: i i+1 At > & o: The boundaries always run through q grid points (x). ------------------ Type Documentation ------------------ .. f:type:: update_obc_cs The control structure for the MOM_boundary_update module. :typefield type(file_obc_cs) file_obc_csp [pointer]: Pointers to the control structures for named OBC specifications. :typefield type(kelvin_obc_cs) kelvin_obc_csp [pointer]: Pointers to the control structures for named OBC specifications. :typefield type(tidal_bay_obc_cs) tidal_bay_obc_csp [pointer]: Pointers to the control structures for named OBC specifications. :typefield type(shelfwave_obc_cs) shelfwave_obc_csp [pointer]: Pointers to the control structures for named OBC specifications. :typefield type(dyed_channel_obc_cs) dyed_channel_obc_csp [pointer]: Pointers to the control structures for named OBC specifications. :typefield logical use_files: If true, use external files for the open boundary. :typefield logical use_kelvin: If true, use the Kelvin wave open boundary. :typefield logical use_tidal_bay: If true, use the tidal_bay open boundary. :typefield logical use_shelfwave: If true, use the shelfwave open boundary. :typefield logical use_dyed_channel: If true, use the dyed channel open boundary. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine call_obc_register(param_file, CS, OBC) The following subroutines and associated definitions provide the machinery to register and call the subroutines that initialize open boundary conditions. :param param_file: [in] Parameter file to parse :param cs: Control structure for OBCs :param obc: Open boundary structure :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_open_boundary::register_file_obc ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine update_obc_data(OBC, G, GV, US, tv, h, CS, Time) Calls appropriate routine to update the open boundary conditions. :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param tv: [in] Thermodynamics structure :param h: [inout] layer thicknesses [H ~> m or kg m-2] :param obc: Open boundary structure :param cs: Control structure for OBCs :param time: [in] Model time :calledfrom: :f:func:`mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ` :calledfrom: :f:func:`mom_dynamics_unsplit::step_mom_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2 ` .. f:subroutine:: subroutine obc_register_end(CS) Clean up the OBC registry. :param cs: Control structure for OBCs :callto: :f:func:`mom_open_boundary::file_obc_end ` :callto: :f:func:`kelvin_initialization::kelvin_obc_end ` :callto: :f:func:`tidal_bay_initialization::tidal_bay_obc_end ` :calledfrom: :f:func:`mom::mom_end ` [debug] xpath(./compounddef/compoundname[text()="mom_boundary_update::update_obc_cs"]/..) match([('id', 'structmom__boundary__update_1_1update__obc__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_boundary_update::update_obc_cs', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_boundary_update::update_obc_cs', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_boundary_update::update_obc_cs', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((param_file, CS, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_boundary_update::call_obc_register', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_boundary_update::call_obc_register', , {}, [debug] DoxygenMethodDocumenter format_signature called ((OBC, G, GV, US, tv, h, CS, Time)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_boundary_update::update_obc_data', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_boundary_update::update_obc_data', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_boundary_update::obc_register_end', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_boundary_update::obc_register_end', , {}, [ [fd] run(.. f:type:: update_obc_cs) [fd] sig(update_obc_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(update_obc_cs) arglist(None) [fd] fullname(mom_boundary_update/update_obc_cs) ftype(None) [fd] name(('mom_boundary_update/update_obc_cs', None)) sig(update_obc_cs) signode(type mom_boundary_update/update_obc_cs) [fd] run(.. f:subroutine:: subroutine call_obc_register(param_file, CS, OBC)) [fd] sig(subroutine call_obc_register(param_file, CS, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(call_obc_register) arglist(param_file, CS, OBC) [fd] fullname(mom_boundary_update/call_obc_register) ftype(None) [fd] name(('mom_boundary_update/call_obc_register', None)) sig(subroutine call_obc_register(param_file, CS, OBC)) signode(subroutine mom_boundary_update/call_obc_registerparam_fileCSOBC) [fd] run(.. f:subroutine:: subroutine update_obc_data(OBC, G, GV, US, tv, h, CS, Time)) [fd] sig(subroutine update_obc_data(OBC, G, GV, US, tv, h, CS, Time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_obc_data) arglist(OBC, G, GV, US, tv, h, CS, Time) [fd] fullname(mom_boundary_update/update_obc_data) ftype(None) [fd] name(('mom_boundary_update/update_obc_data', None)) sig(subroutine update_obc_data(OBC, G, GV, US, tv, h, CS, Time)) signode(subroutine mom_boundary_update/update_obc_dataOBCGGVUStvhCSTime) [fd] run(.. f:subroutine:: subroutine obc_register_end(CS)) [fd] sig(subroutine obc_register_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(obc_register_end) arglist(CS) [fd] fullname(mom_boundary_update/obc_register_end) ftype(None) [fd] name(('mom_boundary_update/obc_register_end', None)) sig(subroutine obc_register_end(CS)) signode(subroutine mom_boundary_update/obc_register_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 19%] api/generated/modules/mom_bulk_mixed_layer [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_bulk_mix [app] emitting event: 'source-read'('api/generated/modules/mom_bulk_mixed_layer', ['.. autodoxymodule:: mom_bulk_mixed_layer\n :membe [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_bulk_mixed_layer.rst:1: input: .. autodoxymodule:: mom_bulk_mixed_layer :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_bulk_mixed_layer::bulkmixedlayer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_bulk_mixed_layer::bulkmixedlayer ~mom_bulk_mixed_layer::convective_adjustment ~mom_bulk_mixed_layer::mixedlayer_convection ~mom_bulk_mixed_layer::find_starting_tke ~mom_bulk_mixed_layer::mechanical_entrainment ~mom_bulk_mixed_layer::sort_ml ~mom_bulk_mixed_layer::resort_ml ~mom_bulk_mixed_layer::mixedlayer_detrain_2 ~mom_bulk_mixed_layer::mixedlayer_detrain_1 ~mom_bulk_mixed_layer::bulkmixedlayer_init ~mom_bulk_mixed_layer::ef4 [debug] xpath(./compounddef/compoundname[text()="mom_bulk_mixed_layer"]/..) match([('id', 'namespacemom__bulk__mixed__layer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_bulk_mixed_layer module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_bulk_mixed_layer', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_bulk_mixed_layer' (exception was: ModuleNotFoundError("No module named 'mom_bulk_mixed_layer'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , {'m [debug] members([('bulkmixedlayer', ), ('convective_adjustment', ), ('mixedlayer_convection', ), ('find_starting_tke', ), ('mechanical_entrainment', ), ('sort_ml', ), ('resort_ml', ), ('mixedlayer_detrain_2', ), ('mixedlayer_detrain_1', ), ('bulkmixedlayer_init', ), ('ef4', )]) [autodoc] module analyzer failed: error importing 'mom_bulk_mixed_layer' (exception was: ModuleNotFoundError("No module named 'mom_bulk_mixed_layer'")) [debug] DoxygenMethodDocumenter format_signature called ((h_3d, u_3d, v_3d, tv, fluxes, dt, ea, eb, G, GV, US, CS, optics, Hml, aggregate_FW_forcing, dt_diag, last_call)) [debug] add_directive_header sig((h_3d, u_3d, v_3d, tv, fluxes, dt, ea, eb, G, GV, US, CS, optics, Hml, aggregate_FW_forcing, dt_diag, last_call)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine bulkmixedlayer) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_orderedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bulkmixedlayer', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_bulk_mixed_layer::bulkmixedlayer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_bulk_mixed_layer::bulkmixedlayer ~mom_bulk_mixed_layer::convective_adjustment ~mom_bulk_mixed_layer::mixedlayer_convection ~mom_bulk_mixed_layer::find_starting_tke ~mom_bulk_mixed_layer::mechanical_entrainment ~mom_bulk_mixed_layer::sort_ml ~mom_bulk_mixed_layer::resort_ml ~mom_bulk_mixed_layer::mixedlayer_detrain_2 ~mom_bulk_mixed_layer::mixedlayer_detrain_1 ~mom_bulk_mixed_layer::bulkmixedlayer_init ~mom_bulk_mixed_layer::ef4 .. _DETAmom_bulk_mixed_layer: -------------------- Detailed Description -------------------- By Robert Hallberg, 1997 - 2005. This file contains the subroutine (bulkmixedlayer) that implements a Kraus-Turner-like bulk mixed layer, based on the work of various people, as described in the review paper by Niiler and Kraus (1979), with particular attention to the form proposed by Oberhuber (JPO, 1993, 808-829), with an extension to a refied bulk mixed layer as described in Hallberg (Aha Huliko'a, 2003). The physical processes portrayed in this subroutine include convective adjustment and mixed layer entrainment and detrainment. Penetrating shortwave radiation and an exponential decay of TKE fluxes are also supported by this subroutine. Several constants can alternately be set to give a traditional Kraus-Turner mixed layer scheme, although that is not the preferred option. The physical processes and arguments are described in detail below. ------------------ Type Documentation ------------------ .. f:type:: bulkmixedlayer_cs The control structure with parameters for the MOM_bulk_mixed_layer module. :typefield integer id_ml_depth: Diagnostic IDs. :typefield integer id_tke_wind: Diagnostic IDs. :typefield integer id_tke_mixing: Diagnostic IDs. :typefield integer id_tke_ribulk: Diagnostic IDs. :typefield integer id_tke_conv: Diagnostic IDs. :typefield integer id_tke_pen_sw: Diagnostic IDs. :typefield integer id_tke_mech_decay: Diagnostic IDs. :typefield integer id_tke_conv_decay: Diagnostic IDs. :typefield integer id_tke_conv_s2: Diagnostic IDs. :typefield integer id_pe_detrain: Diagnostic IDs. :typefield integer id_pe_detrain2: Diagnostic IDs. :typefield integer id_h_mismatch: Diagnostic IDs. :typefield integer id_hsfc_used: Diagnostic IDs. :typefield integer id_hsfc_max: Diagnostic IDs. :typefield integer id_hsfc_min: Diagnostic IDs. :typefield integer nkml: The number of layers in the mixed layer. :typefield integer nkbl: The number of buffer layers. :typefield integer nsw: The number of bands of penetrating shortwave radiation. :typefield real mstar: The ratio of the friction velocity cubed to the TKE input to the mixed layer, nondimensional. :typefield real nstar: The fraction of the TKE input to the mixed layer available to drive entrainment [nondim]. :typefield real nstar2: The fraction of potential energy released by convective adjustment that drives entrainment [nondim]. :typefield logical absorb_all_sw: If true, all shortwave radiation is absorbed by the ocean, instead of passing through to the bottom mud. :typefield real tke_decay: The ratio of the natural Ekman depth to the TKE decay scale, nondimensional. :typefield real bulk_ri_ml: The efficiency with which mean kinetic energy released by mechanically forced entrainment of the mixed layer is converted to TKE [nondim]. :typefield real bulk_ri_convective: The efficiency with which convectively released mean kinetic energy becomes TKE [nondim]. :typefield real hmix_min: The minimum mixed layer thickness [H ~> m or kg m-2]. :typefield real h_limit_fluxes: When the total ocean depth is less than this value [H ~> m or kg m-2], scale away all surface forcing to avoid boiling the ocean. :typefield real ustar_min: A minimum value of ustar to avoid numerical problems [Z T-1 ~> m s-1]. If the value is small enough, this should not affect the solution. :typefield real omega: The Earth's rotation rate [T-1 ~> s-1]. :typefield real dt_ds_wt: When forced to extrapolate T & S to match the layer densities, this factor (in degC / ppt) is combined with the derivatives of density with T & S to determines what direction is orthogonal to density contours. It should be a typical value of (dR/dS) / (dR/dT) in oceanic profiles. 6 degC ppt-1 might be reasonable. :typefield real hbuffer_min: The minimum buffer layer thickness when the mixed layer is very large [H ~> m or kg m-2]. :typefield real hbuffer_rel_min: The minimum buffer layer thickness relative to the combined mixed and buffer layer thicknesses when they are thin [nondim]. :typefield real bl_detrain_time: A timescale that characterizes buffer layer detrainment events [T ~> s]. :typefield real bl_extrap_lim: A limit on the density range over which extrapolation can occur when detraining from the buffer layers, relative to the density range within the mixed and buffer layers, when the detrainment is going into the lightest interior layer [nondim]. :typefield real bl_split_rho_tol: The fractional tolerance for matching layer target densities when splitting layers to deal with massive interior layers that are lighter than one of the mixed or buffer layers [nondim]. :typefield logical ml_resort: If true, resort the layers by density, rather than doing convective adjustment. :typefield integer ml_presort_nz_conv_adj: If ML_resort is true, do convective adjustment on this many layers (starting from the top) before sorting the remaining layers. :typefield real omega_frac: When setting the decay scale for turbulence, use this fraction of the absolute rotation rate blended with the local value of f, as sqrt((1-of)*f^2 + of*4*omega^2). :typefield logical correct_absorption: If true, the depth at which penetrating shortwave radiation is absorbed is corrected by moving some of the heating upward in the water column. The default is false. :typefield logical resolve_ekman: If true, the nkml layers in the mixed layer are chosen to optimally represent the impact of the Ekman transport on the mixed layer TKE budget. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield logical tke_diagnostics: If true, calculate extensive diagnostics of the TKE budget. :typefield logical do_rivermix: Provide additional TKE to mix river runoff at the river mouths to rivermix_depth. :typefield real rivermix_depth: The depth of mixing if do_rivermix is true [Z ~> m]. :typefield logical limit_det: If true, limit the extent of buffer layer detrainment to be consistent with neighbors. :typefield real lim_det_dh_sfc: The fractional limit in the change between grid points of the surface region (mixed & buffer layer) thickness [nondim]. 0.5 by default. :typefield real lim_det_dh_bathy: The fraction of the total depth by which the thickness of the surface region (mixed & buffer layer) is allowed to change between grid points. Nondimensional, 0.2 by default. :typefield logical use_river_heat_content: If true, use the fluxesrunoff_Hflx field to set the heat carried by runoff, instead of using SST for temperature of liq_runoff. :typefield logical use_calving_heat_content: Use SST for temperature of froz_runoff. :typefield logical convect_mom_bug: If true, use code with a bug that causes a loss of momentum conservation during mixedlayer convection. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield real allowed_t_chg: The amount by which temperature is allowed to exceed previous values during detrainment, K. :typefield real allowed_s_chg: The amount by which salinity is allowed to exceed previous values during detrainment, ppt. :typefield real(\:,\:) ml_depth [allocatable]: The mixed layer depth [H ~> m or kg m-2]. :typefield real(\:,\:) diag_tke_wind [allocatable]: The wind source of TKE. :typefield real(\:,\:) diag_tke_ribulk [allocatable]: The resolved KE source of TKE. :typefield real(\:,\:) diag_tke_conv [allocatable]: The convective source of TKE. :typefield real(\:,\:) diag_tke_pen_sw [allocatable]: The TKE sink required to mix penetrating shortwave heating. :typefield real(\:,\:) diag_tke_mech_decay [allocatable]: The decay of mechanical TKE. :typefield real(\:,\:) diag_tke_conv_decay [allocatable]: The decay of convective TKE. :typefield real(\:,\:) diag_tke_mixing [allocatable]: The work done by TKE to deepen the mixed layer. :typefield real(\:,\:) diag_tke_conv_s2 [allocatable]: The convective source of TKE due to to mixing in sigma2. :typefield real(\:,\:) diag_pe_detrain [allocatable]: The spurious source of potential energy due to mixed layer. :typefield real(\:,\:) diag_pe_detrain2 [allocatable]: The spurious source of potential energy due to mixed layer only. :typefield logical allow_clocks_in_omp_loops: If true, clocks can be called from inside loops that can be threaded. To run with multiple threads, set to False. :typefield type(group_pass_type) pass_h_sum_hmbl_prev: For group halo pass. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine bulkmixedlayer(h_3d, u_3d, v_3d, tv, fluxes, dt, ea, eb, G, GV, US, CS, optics, Hml, aggregate_FW_forcing, dt_diag, last_call) This subroutine partially steps the bulk mixed layer model. The following processes are executed, in the order listed. #. Undergo convective adjustment into mixed layer. #. Apply surface heating and cooling. #. Starting from the top, entrain whatever fluid the TKE budget permits. Penetrating shortwave radiation is also applied at this point. #. If there is any unentrained fluid that was formerly in the mixed layer, detrain this fluid into the buffer layer. This is equivalent to the mixed layer detraining to the Monin- Obukhov depth. #. Divide the fluid in the mixed layer evenly into CSnkml pieces. #. Split the buffer layer if appropriate. Layers 1 to nkml are the mixed layer, nkml+1 to nkml+nkbl are the buffer layers. The results of this subroutine are mathematically identical if there are multiple pieces of the mixed layer with the same density or if there is just a single layer. There is no stability limit on the time step. The key parameters for the mixed layer are found in the control structure. These include mstar, nstar, nstar2, pen_SW_frac, pen_SW_scale, and TKE_decay. For the Oberhuber (1993) mixed layer, the values of these are: pen_SW_frac = 0.42, pen_SW_scale = 15.0 m, mstar = 1.25, nstar = 1, TKE_decay = 2.5, conv_decay = 0.5 TKE_decay is 1/kappa in eq. 28 of Oberhuber (1993), while conv_decay is 1/mu. Conv_decay has been eliminated in favor of the well-calibrated form for the efficiency of penetrating convection from Wang (2003). For a traditional Kraus-Turner mixed layer, the values are: pen_SW_frac = 0.0, pen_SW_scale = 0.0 m, mstar = 1.25, nstar = 0.4, TKE_decay = 0.0, conv_decay = 0.0 :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h_3d: [inout] Layer thickness [H ~> m or kg m-2]. :param u_3d: [in] Zonal velocities interpolated to h points :param v_3d: [in] Zonal velocities interpolated to h points :param tv: [inout] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. :param fluxes: [inout] A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs. :param dt: [in] Time increment [T ~> s]. :param ea: [inout] The amount of fluid moved downward into a :param eb: [inout] The amount of fluid moved upward into a :param cs: The control structure returned by a previous call to mixedlayer_init. :param optics: The structure containing the inverse of the vertical absorption decay scale for penetrating shortwave radiation [m-1]. :param hml: Active mixed layer depth [Z ~> m]. :param aggregate_fw_forcing: [in] If true, the net incoming and outgoing surface freshwater fluxes are combined before being applied, instead of being applied separately. :param dt_diag: [in] The diagnostic time step, which may be less than dt if there are two callse to mixedlayer [T ~> s]. :param last_call: [in] if true, this is the last call to mixedlayer in the current time step, so diagnostics will be written. The default is .true. :callto: :f:func:`mom_opacity::absorbremainingsw ` :callto: :f:func:`convective_adjustment ` :callto: :f:func:`mom_diag_mediator::diag_update_remap_grids ` :callto: :f:func:`mom_domains::do_group_pass ` :callto: :f:func:`mom_eos::eos_domain ` :callto: :f:func:`mom_opacity::extract_optics_slice ` :callto: :f:func:`mom_forcing_type::extractfluxes1d ` :callto: :f:func:`find_starting_tke ` :callto: :f:func:`id_clock_adjustment ` :callto: :f:func:`id_clock_conv ` :callto: :f:func:`id_clock_detrain ` :callto: :f:func:`id_clock_eos ` :callto: :f:func:`id_clock_mech ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_resort ` :callto: :f:func:`mechanical_entrainment ` :callto: :f:func:`mixedlayer_convection ` :callto: :f:func:`mixedlayer_detrain_1 ` :callto: :f:func:`mixedlayer_detrain_2 ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`resort_ml ` :callto: :f:func:`sort_ml ` :calledfrom: :f:func:`mom_diabatic_driver::layered_diabatic ` .. f:subroutine:: subroutine convective_adjustment(h, u, v, R0, Rcv, T, S, eps, d_eb, dKE_CA, cTKE, j, G, GV, US, CS, nz_conv) This subroutine does instantaneous convective entrainment into the buffer layers and mixed layers to remove hydrostatic instabilities. Any water that is lighter than currently in the mixed- or buffer- layer is entrained. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [inout] Layer thickness [H ~> m or kg m-2]. The units of h are referred to as H below. :param u: [inout] Zonal velocities interpolated to h points [L T-1 ~> m s-1]. :param v: [inout] Zonal velocities interpolated to h points [L T-1 ~> m s-1]. :param t: [inout] Layer temperatures [degC]. :param s: [inout] Layer salinities [ppt]. :param r0: [inout] Potential density referenced to surface pressure [R ~> kg m-3]. :param rcv: [inout] The coordinate defining potential density [R ~> kg m-3]. :param d_eb: [inout] The downward increase across a layer in the entrainment from below [H ~> m or kg m-2]. Positive values go with mass gain by a layer. :param eps: [in] The negligibly small amount of water that will be left in each layer [H ~> m or kg m-2]. :param dke_ca: [out] The vertically integrated change in kinetic energy due to convective adjustment [Z L2 T-2 ~> m3 s-2]. :param ctke: [out] The buoyant turbulent kinetic energy source due to convective adjustment [Z L2 T-2 ~> m3 s-2]. :param j: [in] The j-index to work on. :param us: [in] A dimensional unit scaling type :param cs: The control structure for this module. :param nz_conv: [in] If present, the number of layers over which to do convective adjustment (perhaps CSnkml). :calledfrom: :f:func:`bulkmixedlayer ` .. f:subroutine:: subroutine mixedlayer_convection(h, d_eb, htot, Ttot, Stot, uhtot, vhtot, R0_tot, Rcv_tot, u, v, T, S, R0, Rcv, eps, dR0_dT, dRcv_dT, dR0_dS, dRcv_dS, netMassInOut, netMassOut, Net_heat, Net_salt, nsw, Pen_SW_bnd, opacity_band, Conv_En, dKE_FC, j, ksort, G, GV, US, CS, tv, fluxes, dt, aggregate_FW_forcing) This subroutine causes the mixed layer to entrain to the depth of free convection. The depth of free convection is the shallowest depth at which the fluid is denser than the average of the fluid above. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [inout] Layer thickness [H ~> m or kg m-2]. :param d_eb: [inout] The downward increase across a layer in the :param htot: [out] The accumulated mixed layer thickness [H ~> m or kg m-2]. :param ttot: [out] The depth integrated mixed layer temperature [degC H ~> degC m or degC kg m-2]. :param stot: [out] The depth integrated mixed layer salinity [ppt H ~> ppt m or ppt kg m-2]. :param uhtot: [out] The depth integrated mixed layer zonal velocity [H L T-1 ~> m2 s-1 or kg m-1 s-1]. :param vhtot: [out] The integrated mixed layer meridional velocity [H L T-1 ~> m2 s-1 or kg m-1 s-1]. :param r0_tot: [out] The integrated mixed layer potential density referenced to 0 pressure [H R ~> kg m-2 or kg2 m-5]. :param rcv_tot: [out] The integrated mixed layer coordinate variable potential density [H R ~> kg m-2 or kg2 m-5]. :param u: [in] Zonal velocities interpolated to h points [L T-1 ~> m s-1]. :param v: [in] Zonal velocities interpolated to h points [L T-1 ~> m s-1]. :param t: [in] Layer temperatures [degC]. :param s: [in] Layer salinities [ppt]. :param r0: [in] Potential density referenced to :param rcv: [in] The coordinate defining potential :param eps: [in] The negligibly small amount of water :param dr0_dt: [in] The partial derivative of R0 with respect to temperature [R degC-1 ~> kg m-3 degC-1]. :param drcv_dt: [in] The partial derivative of Rcv with respect to temperature [R degC-1 ~> kg m-3 degC-1]. :param dr0_ds: [in] The partial derivative of R0 with respect to salinity [R ppt-1 ~> kg m-3 ppt-1]. :param drcv_ds: [in] The partial derivative of Rcv with respect to salinity [R ppt-1 ~> kg m-3 ppt-1]. :param netmassinout: [in] The net mass flux (if non-Boussinesq) or volume flux (if Boussinesq) into the ocean within a time step [H ~> m or kg m-2]. (I.e. P+R-E.) :param netmassout: [in] The mass or volume flux out of the ocean within a time step [H ~> m or kg m-2]. :param net_heat: [in] The net heating at the surface over a time step [degC H ~> degC m or degC kg m-2]. Any penetrating shortwave radiation is not included in Net_heat. :param net_salt: [in] The net surface salt flux into the ocean over a time step [ppt H ~> ppt m or ppt kg m-2]. :param nsw: [in] The number of bands of penetrating shortwave radiation. :param pen_sw_bnd: [inout] The penetrating shortwave heating at the sea surface in each penetrating band [degC H ~> degC m or degC kg m-2]. :param opacity_band: [in] The opacity in each band of penetrating shortwave radiation [H-1 ~> m-1 or m2 kg-1]. :param conv_en: [out] The buoyant turbulent kinetic energy source due to free convection [Z L2 T-2 ~> m3 s-2]. :param dke_fc: [out] The vertically integrated change in kinetic energy due to free convection [Z L2 T-2 ~> m3 s-2]. :param j: [in] The j-index to work on. :param ksort: [in] The density-sorted k-indices. :param us: [in] A dimensional unit scaling type :param cs: The control structure for this module. :param tv: [inout] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. :param fluxes: [inout] A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs. :param dt: [in] Time increment [T ~> s]. :param aggregate_fw_forcing: [in] If true, the net incoming and outgoing surface freshwater fluxes are combined before being applied, instead of being applied separately. :calledfrom: :f:func:`bulkmixedlayer ` .. f:subroutine:: subroutine find_starting_tke(htot, h_CA, fluxes, Conv_En, cTKE, dKE_FC, dKE_CA, TKE, TKE_river, Idecay_len_TKE, cMKE, dt, Idt_diag, j, ksort, G, GV, US, CS) This subroutine determines the TKE available at the depth of free convection to drive mechanical entrainment. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param htot: [in] The accumulated mixed layer thickness [H ~> m or kg m-2] :param h_ca: [in] The mixed layer depth after convective adjustment [H ~> m or kg m-2]. :param fluxes: [in] A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs. :param conv_en: [inout] The buoyant turbulent kinetic energy source due to free convection [Z L2 T-2 ~> m3 s-2]. :param dke_fc: [in] The vertically integrated change in kinetic energy due to free convection [Z L2 T-2 ~> m3 s-2]. :param ctke: [in] The buoyant turbulent kinetic energy :param dke_ca: [in] The vertically integrated change in :param tke: [out] The turbulent kinetic energy available for mixing over a time step [Z m2 T-2 ~> m3 s-2]. :param idecay_len_tke: [out] The inverse of the vertical decay scale for TKE [H-1 ~> m-1 or m2 kg-1]. :param tke_river: [in] The source of turbulent kinetic energy available for driving mixing at river mouths [Z L2 T-3 ~> m3 s-3]. :param cmke: [out] Coefficients of HpE and HpE^2 in calculating the denominator of MKE_rate, [H-1 ~> m-1 or m2 kg-1] and [H-2 ~> m-2 or m4 kg-2]. :param dt: [in] The time step [T ~> s]. :param idt_diag: [in] The inverse of the accumulated diagnostic time interval [T-1 ~> s-1]. :param j: [in] The j-index to work on. :param ksort: [in] The density-sorted k-indicies. :param cs: The control structure for this module. :calledfrom: :f:func:`bulkmixedlayer ` .. f:subroutine:: subroutine mechanical_entrainment(h, d_eb, htot, Ttot, Stot, uhtot, vhtot, R0_tot, Rcv_tot, u, v, T, S, R0, Rcv, eps, dR0_dT, dRcv_dT, cMKE, Idt_diag, nsw, Pen_SW_bnd, opacity_band, TKE, Idecay_len_TKE, j, ksort, G, GV, US, CS) This subroutine calculates mechanically driven entrainment. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [inout] Layer thickness [H ~> m or kg m-2]. :param d_eb: [inout] The downward increase across a layer in the :param htot: [inout] The accumlated mixed layer thickness [H ~> m or kg m-2]. :param ttot: [inout] The depth integrated mixed layer temperature [degC H ~> degC m or degC kg m-2]. :param stot: [inout] The depth integrated mixed layer salinity [ppt H ~> ppt m or ppt kg m-2]. :param uhtot: [inout] The depth integrated mixed layer zonal velocity [H L T-1 ~> m2 s-1 or kg m-1 s-1]. :param vhtot: [inout] The integrated mixed layer meridional velocity [H L T-1 ~> m2 s-1 or kg m-1 s-1]. :param r0_tot: [inout] The integrated mixed layer potential density referenced to 0 pressure [H R ~> kg m-2 or kg2 m-5]. :param rcv_tot: [inout] The integrated mixed layer coordinate variable potential density [H R ~> kg m-2 or kg2 m-5]. :param u: [in] Zonal velocities interpolated to h points [L T-1 ~> m s-1]. :param v: [in] Zonal velocities interpolated to h points [L T-1 ~> m s-1]. :param t: [in] Layer temperatures [degC]. :param s: [in] Layer salinities [ppt]. :param r0: [in] Potential density referenced to :param rcv: [in] The coordinate defining potential :param eps: [in] The negligibly small amount of water :param dr0_dt: [in] The partial derivative of R0 with respect to temperature [R degC-1 ~> kg m-3 degC-1]. :param drcv_dt: [in] The partial derivative of Rcv with respect to temperature [R degC-1 ~> kg m-3 degC-1]. :param cmke: [in] Coefficients of HpE and HpE^2 used in calculating the denominator of MKE_rate; the two elements have differing units of [H-1 ~> m-1 or m2 kg-1] and [H-2 ~> m-2 or m4 kg-2]. :param idt_diag: [in] The inverse of the accumulated diagnostic time interval [T-1 ~> s-1]. :param nsw: [in] The number of bands of penetrating shortwave radiation. :param pen_sw_bnd: [inout] The penetrating shortwave heating at the sea surface in each penetrating band [degC H ~> degC m or degC kg m-2]. :param opacity_band: [in] The opacity in each band of penetrating shortwave radiation [H-1 ~> m-1 or m2 kg-1]. :param tke: [inout] The turbulent kinetic energy available for mixing over a time step [Z m2 T-2 ~> m3 s-2]. :param idecay_len_tke: [inout] The vertical TKE decay rate [H-1 ~> m-1 or m2 kg-1]. :param j: [in] The j-index to work on. :param ksort: [in] The density-sorted k-indicies. :param cs: The control structure for this module. :callto: :f:func:`ef4 ` :calledfrom: :f:func:`bulkmixedlayer ` .. f:subroutine:: subroutine sort_ml(h, R0, eps, G, GV, CS, ksort) This subroutine generates an array of indices that are sorted by layer density. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [in] Layer thickness [H ~> m or kg m-2]. :param r0: [in] The potential density used to sort the layers [R ~> kg m-3]. :param eps: [in] The (small) thickness that must remain in each layer [H ~> m or kg m-2]. :param cs: The control structure returned by a previous call to mixedlayer_init. :param ksort: [out] The k-index to use in the sort. :calledfrom: :f:func:`bulkmixedlayer ` .. f:subroutine:: subroutine resort_ml(h, T, S, R0, Rcv, RcvTgt, eps, d_ea, d_eb, ksort, G, GV, CS, dR0_dT, dR0_dS, dRcv_dT, dRcv_dS) This subroutine actually moves properties between layers to achieve a resorted state, with all of the resorted water either moved into the correct interior layers or in the top nkmb layers. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [inout] Layer thickness [H ~> m or kg m-2]. Layer 0 is the new mixed layer. :param t: [inout] Layer temperatures [degC]. :param s: [inout] Layer salinities [ppt]. :param r0: [inout] Potential density referenced to surface pressure [R ~> kg m-3]. :param rcv: [inout] The coordinate defining potential density [R ~> kg m-3]. :param rcvtgt: [in] The target value of Rcv for each layer [R ~> kg m-3]. :param eps: [inout] The (small) thickness that must remain in each layer [H ~> m or kg m-2]. :param d_ea: [inout] The upward increase across a layer in the entrainment from above [H ~> m or kg m-2]. Positive d_ea goes with layer thickness increases. :param d_eb: [inout] The downward increase across a layer in the entrainment from below [H ~> m or kg m-2]. Positive values go with mass gain by a layer. :param ksort: [in] The density-sorted k-indicies. :param cs: The control structure for this module. :param dr0_dt: [in] The partial derivative of potential density referenced to the surface with potential temperature [R degC-1 ~> kg m-3 degC-1]. :param dr0_ds: [in] The partial derivative of cpotential density referenced to the surface with salinity, [R ppt-1 ~> kg m-3 ppt-1]. :param drcv_dt: [in] The partial derivative of coordinate defining potential density with potential temperature [R degC-1 ~> kg m-3 degC-1]. :param drcv_ds: [in] The partial derivative of coordinate defining potential density with salinity, [R ppt-1 ~> kg m-3 ppt-1]. :calledfrom: :f:func:`bulkmixedlayer ` .. f:subroutine:: subroutine mixedlayer_detrain_2(h, T, S, R0, Rcv, RcvTgt, dt, dt_diag, d_ea, j, G, GV, US, CS, dR0_dT, dR0_dS, dRcv_dT, dRcv_dS, max_BL_det) This subroutine moves any water left in the former mixed layers into the two buffer layers and may also move buffer layer water into the interior isopycnal layers. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [inout] Layer thickness [H ~> m or kg m-2]. Layer 0 is the new mixed layer. :param t: [inout] Potential temperature [degC]. :param s: [inout] Salinity [ppt]. :param r0: [inout] Potential density referenced to surface pressure [R ~> kg m-3]. :param rcv: [inout] The coordinate defining potential density [R ~> kg m-3]. :param rcvtgt: [in] The target value of Rcv for each layer [R ~> kg m-3]. :param dt: [in] Time increment [T ~> s]. :param dt_diag: [in] The diagnostic time step [T ~> s]. :param d_ea: [inout] The upward increase across a layer in the entrainment from above [H ~> m or kg m-2]. Positive d_ea goes with layer thickness increases. :param j: [in] The meridional row to work on. :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to mixedlayer_init. :param dr0_dt: [in] The partial derivative of potential density referenced to the surface with potential temperature, [R degC-1 ~> kg m-3 degC-1]. :param dr0_ds: [in] The partial derivative of cpotential density referenced to the surface with salinity [R ppt-1 ~> kg m-3 ppt-1]. :param drcv_dt: [in] The partial derivative of coordinate defining potential density with potential temperature, [R degC-1 ~> kg m-3 degC-1]. :param drcv_ds: [in] The partial derivative of coordinate defining potential density with salinity [R ppt-1 ~> kg m-3 ppt-1]. :param max_bl_det: [in] If non-negative, the maximum detrainment permitted from the buffer layers [H ~> m or kg m-2]. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`bulkmixedlayer ` .. f:subroutine:: subroutine mixedlayer_detrain_1(h, T, S, R0, Rcv, RcvTgt, dt, dt_diag, d_ea, d_eb, j, G, GV, US, CS, dRcv_dT, dRcv_dS, max_BL_det) This subroutine moves any water left in the former mixed layers into the single buffer layers and may also move buffer layer water into the interior isopycnal layers. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [inout] Layer thickness [H ~> m or kg m-2]. Layer 0 is the new mixed layer. :param t: [inout] Potential temperature [degC]. :param s: [inout] Salinity [ppt]. :param r0: [inout] Potential density referenced to surface pressure [R ~> kg m-3]. :param rcv: [inout] The coordinate defining potential density [R ~> kg m-3]. :param rcvtgt: [in] The target value of Rcv for each layer [R ~> kg m-3]. :param dt: [in] Time increment [T ~> s]. :param dt_diag: [in] The accumulated time interval for diagnostics [T ~> s]. :param d_ea: [inout] The upward increase across a layer in the entrainment from above [H ~> m or kg m-2]. Positive d_ea goes with layer thickness increases. :param d_eb: [inout] The downward increase across a layer in the entrainment from below [H ~> m or kg m-2]. Positive values go with mass gain by a layer. :param j: [in] The meridional row to work on. :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to mixedlayer_init. :param drcv_dt: [in] The partial derivative of coordinate defining potential density with potential temperature [R degC-1 ~> kg m-3 degC-1]. :param drcv_ds: [in] The partial derivative of coordinate defining potential density with salinity [R ppt-1 ~> kg m-3 ppt-1]. :param max_bl_det: [in] If non-negative, the maximum detrainment permitted from the buffer layers [H ~> m or kg m-2]. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`bulkmixedlayer ` .. f:subroutine:: subroutine bulkmixedlayer_init(Time, G, GV, US, param_file, diag, CS) This subroutine initializes the MOM bulk mixed layer module. :param time: [in] The model's clock with the current time. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters. :param diag: [inout] A structure that is used to regulate diagnostic output. :param cs: A pointer that is set to point to the control structure for this module. :callto: :f:func:`mom_cpu_clock::cpu_clock_id ` :callto: :f:func:`id_clock_adjustment ` :callto: :f:func:`id_clock_conv ` :callto: :f:func:`id_clock_detrain ` :callto: :f:func:`id_clock_eos ` :callto: :f:func:`id_clock_mech ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_resort ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_driver_init ` .. f:function:: real function ef4(Ht, En, I_L, dR_de) This subroutine returns an approximation to the integral R = exp(-L*(H+E)) integral(LH to L(H+E)) L/(1-(1+x)exp(-x)) dx. The approximation to the integrand is good to within -2% at x~.3 and +25% at x~3.5, but the exponential deemphasizes the importance of large x. When L=0, EF4 returns E/((Ht+E)*Ht). :param ht: [in] Total thickness [H ~> m or kg m-2]. :param en: [in] Entrainment [H ~> m or kg m-2]. :param i_l: [in] The e-folding scale [H-1 ~> m-1 or m2 kg-1] :param dr_de: [inout] The partial derivative of the result R with E [H-2 ~> m-2 or m4 kg-2]. :returns undefined: The integral [H-1 ~> m-1 or m2 kg-1]. :calledfrom: :f:func:`mechanical_entrainment ` [debug] xpath(./compounddef/compoundname[text()="mom_bulk_mixed_layer::bulkmixedlayer_cs"]/..) match([('id', 'structmom__bulk__mixed__layer_1_1bulkmixedlayer__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_bulk_mixed_layer::bulkmixedlayer_cs', , { [debug] DoxygenMethodDocumenter format_signature called ((h_3d, u_3d, v_3d, tv, fluxes, dt, ea, eb, G, GV, US, CS, optics, Hml, aggregate_FW_forcing, dt_diag, last_call)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::bulkmixedlayer', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::bulkmixedlayer', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((h, u, v, R0, Rcv, T, S, eps, d_eb, dKE_CA, cTKE, j, G, GV, US, CS, nz_conv)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::convective_adjustment', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::convective_adjustment', , [debug] DoxygenMethodDocumenter format_signature called ((h, d_eb, htot, Ttot, Stot, uhtot, vhtot, R0_tot, Rcv_tot, u, v, T, S, R0, Rcv, eps, dR0_dT, dRcv_dT, dR0_dS, dRcv_dS, netMassInOut, netMassOut, Net_heat, Net_salt, nsw, Pen_SW_bnd, opacity_band, Conv_En, dKE_FC, j, ksort, G, GV, US, CS, tv, fluxes, dt, aggregate_FW_forcing)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::mixedlayer_convection', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::mixedlayer_convection', , [debug] DoxygenMethodDocumenter format_signature called ((htot, h_CA, fluxes, Conv_En, cTKE, dKE_FC, dKE_CA, TKE, TKE_river, Idecay_len_TKE, cMKE, dt, Idt_diag, j, ksort, G, GV, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::find_starting_tke', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::find_starting_tke', , {}, [debug] DoxygenMethodDocumenter format_signature called ((h, d_eb, htot, Ttot, Stot, uhtot, vhtot, R0_tot, Rcv_tot, u, v, T, S, R0, Rcv, eps, dR0_dT, dRcv_dT, cMKE, Idt_diag, nsw, Pen_SW_bnd, opacity_band, TKE, Idecay_len_TKE, j, ksort, G, GV, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::mechanical_entrainment', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::mechanical_entrainment', [debug] DoxygenMethodDocumenter format_signature called ((h, R0, eps, G, GV, CS, ksort)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::sort_ml', , {}, ['', 'Thi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::sort_ml', , {}, ['', 'Thi [debug] DoxygenMethodDocumenter format_signature called ((h, T, S, R0, Rcv, RcvTgt, eps, d_ea, d_eb, ksort, G, GV, CS, dR0_dT, dR0_dS, dRcv_dT, dRcv_dS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::resort_ml', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::resort_ml', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((h, T, S, R0, Rcv, RcvTgt, dt, dt_diag, d_ea, j, G, GV, US, CS, dR0_dT, dR0_dS, dRcv_dT, dRcv_dS, max_BL_det)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::mixedlayer_detrain_2', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::mixedlayer_detrain_2', , [debug] DoxygenMethodDocumenter format_signature called ((h, T, S, R0, Rcv, RcvTgt, dt, dt_diag, d_ea, d_eb, j, G, GV, US, CS, dRcv_dT, dRcv_dS, max_BL_det)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::mixedlayer_detrain_1', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::mixedlayer_detrain_1', , [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::bulkmixedlayer_init', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::bulkmixedlayer_init', , { [debug] DoxygenMethodDocumenter format_signature called ((Ht, En, I_L, dR_de)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::ef4', , {}, ['', 'This su [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_bulk_mixed_layer::ef4', , {}, ['', 'This su [fd] run(.. f:type:: bulkmixedlayer_cs) [fd] sig(bulkmixedlayer_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(bulkmixedlayer_cs) arglist(None) [fd] fullname(mom_bulk_mixed_layer/bulkmixedlayer_cs) ftype(None) [fd] name(('mom_bulk_mixed_layer/bulkmixedlayer_cs', None)) sig(bulkmixedlayer_cs) signode(type mom_bulk_mixed_layer/bulkmixedlayer_cs) [fd] run(.. f:subroutine:: subroutine bulkmixedlayer(h_3d, u_3d, v_3d, tv, fluxes, dt, ea, eb, G, GV, US, CS, optics, Hml, aggregate_FW_forcing, dt_diag, last_call)) [fd] sig(subroutine bulkmixedlayer(h_3d, u_3d, v_3d, tv, fluxes, dt, ea, eb, G, GV, US, CS, optics, Hml, aggregate_FW_forcing, dt_diag, last_call)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(bulkmixedlayer) arglist(h_3d, u_3d, v_3d, tv, fluxes, dt, ea, eb, G, GV, US, CS, optics, Hml, aggregate_FW_forcing, dt_diag, last_call) [fd] fullname(mom_bulk_mixed_layer/bulkmixedlayer) ftype(None) [fd] name(('mom_bulk_mixed_layer/bulkmixedlayer', None)) sig(subroutine bulkmixedlayer(h_3d, u_3d, v_3d, tv, fluxes, dt, ea, eb, G, GV, US, CS, optics, Hml, aggregate_FW_forcing, dt_diag, last_call)) signode(subroutine mom_bulk_mixed_layer/bulkmixedlayerh_3du_3dv_3dtvfluxesdteaebGGVUSCSopticsHmlaggregate_FW_forcingdt_diaglast_call) [fd] run(.. f:subroutine:: subroutine convective_adjustment(h, u, v, R0, Rcv, T, S, eps, d_eb, dKE_CA, cTKE, j, G, GV, US, CS, nz_conv)) [fd] sig(subroutine convective_adjustment(h, u, v, R0, Rcv, T, S, eps, d_eb, dKE_CA, cTKE, j, G, GV, US, CS, nz_conv)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(convective_adjustment) arglist(h, u, v, R0, Rcv, T, S, eps, d_eb, dKE_CA, cTKE, j, G, GV, US, CS, nz_conv) [fd] fullname(mom_bulk_mixed_layer/convective_adjustment) ftype(None) [fd] name(('mom_bulk_mixed_layer/convective_adjustment', None)) sig(subroutine convective_adjustment(h, u, v, R0, Rcv, T, S, eps, d_eb, dKE_CA, cTKE, j, G, GV, US, CS, nz_conv)) signode(subroutine mom_bulk_mixed_layer/convective_adjustmenthuvR0RcvTSepsd_ebdKE_CAcTKEjGGVUSCSnz_conv) [fd] run(.. f:subroutine:: subroutine mixedlayer_convection(h, d_eb, htot, Ttot, Stot, uhtot, vhtot, R0_tot, Rcv_tot, u, v, T, S, R0, Rcv, eps, dR0_dT, dRcv_dT, dR0_dS, dRcv_dS, netMassInOut, netMassOut, Net_heat, Net_salt, nsw, Pen_SW_bnd, opacity_band, Conv_En, dKE_FC, j, ksort, G, GV, US, CS, tv, fluxes, dt, aggregate_FW_forcing)) [fd] sig(subroutine mixedlayer_convection(h, d_eb, htot, Ttot, Stot, uhtot, vhtot, R0_tot, Rcv_tot, u, v, T, S, R0, Rcv, eps, dR0_dT, dRcv_dT, dR0_dS, dRcv_dS, netMassInOut, netMassOut, Net_heat, Net_salt, nsw, Pen_SW_bnd, opacity_band, Conv_En, dKE_FC, j, ksort, G, GV, US, CS, tv, fluxes, dt, aggregate_FW_forcing)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mixedlayer_convection) arglist(h, d_eb, htot, Ttot, Stot, uhtot, vhtot, R0_tot, Rcv_tot, u, v, T, S, R0, Rcv, eps, dR0_dT, dRcv_dT, dR0_dS, dRcv_dS, netMassInOut, netMassOut, Net_heat, Net_salt, nsw, Pen_SW_bnd, opacity_band, Conv_En, dKE_FC, j, ksort, G, GV, US, CS, tv, fluxes, dt, aggregate_FW_forcing) [fd] fullname(mom_bulk_mixed_layer/mixedlayer_convection) ftype(None) [fd] name(('mom_bulk_mixed_layer/mixedlayer_convection', None)) sig(subroutine mixedlayer_convection(h, d_eb, htot, Ttot, Stot, uhtot, vhtot, R0_tot, Rcv_tot, u, v, T, S, R0, Rcv, eps, dR0_dT, dRcv_dT, dR0_dS, dRcv_dS, netMassInOut, netMassOut, Net_heat, Net_salt, nsw, Pen_SW_bnd, opacity_band, Conv_En, dKE_FC, j, ksort, G, GV, US, CS, tv, fluxes, dt, aggregate_FW_forcing)) signode(subroutine mom_bulk_mixed_layer/mixedlayer_convectionhd_ebhtotTtotStotuhtotvhtotR0_totRcv_totuvTSR0RcvepsdR0_dTdRcv_dTdR0_dSdRcv_dSnetMassInOutnetMassOutNet_heatNet_saltnswPen_SW_bndopacity_bandConv_EndKE_FCjksortGGVUSCStvfluxesdtaggregate_FW_forcing) [fd] run(.. f:subroutine:: subroutine find_starting_tke(htot, h_CA, fluxes, Conv_En, cTKE, dKE_FC, dKE_CA, TKE, TKE_river, Idecay_len_TKE, cMKE, dt, Idt_diag, j, ksort, G, GV, US, CS)) [fd] sig(subroutine find_starting_tke(htot, h_CA, fluxes, Conv_En, cTKE, dKE_FC, dKE_CA, TKE, TKE_river, Idecay_len_TKE, cMKE, dt, Idt_diag, j, ksort, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_starting_tke) arglist(htot, h_CA, fluxes, Conv_En, cTKE, dKE_FC, dKE_CA, TKE, TKE_river, Idecay_len_TKE, cMKE, dt, Idt_diag, j, ksort, G, GV, US, CS) [fd] fullname(mom_bulk_mixed_layer/find_starting_tke) ftype(None) [fd] name(('mom_bulk_mixed_layer/find_starting_tke', None)) sig(subroutine find_starting_tke(htot, h_CA, fluxes, Conv_En, cTKE, dKE_FC, dKE_CA, TKE, TKE_river, Idecay_len_TKE, cMKE, dt, Idt_diag, j, ksort, G, GV, US, CS)) signode(subroutine mom_bulk_mixed_layer/find_starting_tkehtoth_CAfluxesConv_EncTKEdKE_FCdKE_CATKETKE_riverIdecay_len_TKEcMKEdtIdt_diagjksortGGVUSCS) [fd] run(.. f:subroutine:: subroutine mechanical_entrainment(h, d_eb, htot, Ttot, Stot, uhtot, vhtot, R0_tot, Rcv_tot, u, v, T, S, R0, Rcv, eps, dR0_dT, dRcv_dT, cMKE, Idt_diag, nsw, Pen_SW_bnd, opacity_band, TKE, Idecay_len_TKE, j, ksort, G, GV, US, CS)) [fd] sig(subroutine mechanical_entrainment(h, d_eb, htot, Ttot, Stot, uhtot, vhtot, R0_tot, Rcv_tot, u, v, T, S, R0, Rcv, eps, dR0_dT, dRcv_dT, cMKE, Idt_diag, nsw, Pen_SW_bnd, opacity_band, TKE, Idecay_len_TKE, j, ksort, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mechanical_entrainment) arglist(h, d_eb, htot, Ttot, Stot, uhtot, vhtot, R0_tot, Rcv_tot, u, v, T, S, R0, Rcv, eps, dR0_dT, dRcv_dT, cMKE, Idt_diag, nsw, Pen_SW_bnd, opacity_band, TKE, Idecay_len_TKE, j, ksort, G, GV, US, CS) [fd] fullname(mom_bulk_mixed_layer/mechanical_entrainment) ftype(None) [fd] name(('mom_bulk_mixed_layer/mechanical_entrainment', None)) sig(subroutine mechanical_entrainment(h, d_eb, htot, Ttot, Stot, uhtot, vhtot, R0_tot, Rcv_tot, u, v, T, S, R0, Rcv, eps, dR0_dT, dRcv_dT, cMKE, Idt_diag, nsw, Pen_SW_bnd, opacity_band, TKE, Idecay_len_TKE, j, ksort, G, GV, US, CS)) signode(subroutine mom_bulk_mixed_layer/mechanical_entrainmenthd_ebhtotTtotStotuhtotvhtotR0_totRcv_totuvTSR0RcvepsdR0_dTdRcv_dTcMKEIdt_diagnswPen_SW_bndopacity_bandTKEIdecay_len_TKEjksortGGVUSCS) [fd] run(.. f:subroutine:: subroutine sort_ml(h, R0, eps, G, GV, CS, ksort)) [fd] sig(subroutine sort_ml(h, R0, eps, G, GV, CS, ksort)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(sort_ml) arglist(h, R0, eps, G, GV, CS, ksort) [fd] fullname(mom_bulk_mixed_layer/sort_ml) ftype(None) [fd] name(('mom_bulk_mixed_layer/sort_ml', None)) sig(subroutine sort_ml(h, R0, eps, G, GV, CS, ksort)) signode(subroutine mom_bulk_mixed_layer/sort_mlhR0epsGGVCSksort) [fd] run(.. f:subroutine:: subroutine resort_ml(h, T, S, R0, Rcv, RcvTgt, eps, d_ea, d_eb, ksort, G, GV, CS, dR0_dT, dR0_dS, dRcv_dT, dRcv_dS)) [fd] sig(subroutine resort_ml(h, T, S, R0, Rcv, RcvTgt, eps, d_ea, d_eb, ksort, G, GV, CS, dR0_dT, dR0_dS, dRcv_dT, dRcv_dS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(resort_ml) arglist(h, T, S, R0, Rcv, RcvTgt, eps, d_ea, d_eb, ksort, G, GV, CS, dR0_dT, dR0_dS, dRcv_dT, dRcv_dS) [fd] fullname(mom_bulk_mixed_layer/resort_ml) ftype(None) [fd] name(('mom_bulk_mixed_layer/resort_ml', None)) sig(subroutine resort_ml(h, T, S, R0, Rcv, RcvTgt, eps, d_ea, d_eb, ksort, G, GV, CS, dR0_dT, dR0_dS, dRcv_dT, dRcv_dS)) signode(subroutine mom_bulk_mixed_layer/resort_mlhTSR0RcvRcvTgtepsd_ead_ebksortGGVCSdR0_dTdR0_dSdRcv_dTdRcv_dS) [fd] run(.. f:subroutine:: subroutine mixedlayer_detrain_2(h, T, S, R0, Rcv, RcvTgt, dt, dt_diag, d_ea, j, G, GV, US, CS, dR0_dT, dR0_dS, dRcv_dT, dRcv_dS, max_BL_det)) [fd] sig(subroutine mixedlayer_detrain_2(h, T, S, R0, Rcv, RcvTgt, dt, dt_diag, d_ea, j, G, GV, US, CS, dR0_dT, dR0_dS, dRcv_dT, dRcv_dS, max_BL_det)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mixedlayer_detrain_2) arglist(h, T, S, R0, Rcv, RcvTgt, dt, dt_diag, d_ea, j, G, GV, US, CS, dR0_dT, dR0_dS, dRcv_dT, dRcv_dS, max_BL_det) [fd] fullname(mom_bulk_mixed_layer/mixedlayer_detrain_2) ftype(None) [fd] name(('mom_bulk_mixed_layer/mixedlayer_detrain_2', None)) sig(subroutine mixedlayer_detrain_2(h, T, S, R0, Rcv, RcvTgt, dt, dt_diag, d_ea, j, G, GV, US, CS, dR0_dT, dR0_dS, dRcv_dT, dRcv_dS, max_BL_det)) signode(subroutine mom_bulk_mixed_layer/mixedlayer_detrain_2hTSR0RcvRcvTgtdtdt_diagd_eajGGVUSCSdR0_dTdR0_dSdRcv_dTdRcv_dSmax_BL_det) [fd] run(.. f:subroutine:: subroutine mixedlayer_detrain_1(h, T, S, R0, Rcv, RcvTgt, dt, dt_diag, d_ea, d_eb, j, G, GV, US, CS, dRcv_dT, dRcv_dS, max_BL_det)) [fd] sig(subroutine mixedlayer_detrain_1(h, T, S, R0, Rcv, RcvTgt, dt, dt_diag, d_ea, d_eb, j, G, GV, US, CS, dRcv_dT, dRcv_dS, max_BL_det)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mixedlayer_detrain_1) arglist(h, T, S, R0, Rcv, RcvTgt, dt, dt_diag, d_ea, d_eb, j, G, GV, US, CS, dRcv_dT, dRcv_dS, max_BL_det) [fd] fullname(mom_bulk_mixed_layer/mixedlayer_detrain_1) ftype(None) [fd] name(('mom_bulk_mixed_layer/mixedlayer_detrain_1', None)) sig(subroutine mixedlayer_detrain_1(h, T, S, R0, Rcv, RcvTgt, dt, dt_diag, d_ea, d_eb, j, G, GV, US, CS, dRcv_dT, dRcv_dS, max_BL_det)) signode(subroutine mom_bulk_mixed_layer/mixedlayer_detrain_1hTSR0RcvRcvTgtdtdt_diagd_ead_ebjGGVUSCSdRcv_dTdRcv_dSmax_BL_det) [fd] run(.. f:subroutine:: subroutine bulkmixedlayer_init(Time, G, GV, US, param_file, diag, CS)) [fd] sig(subroutine bulkmixedlayer_init(Time, G, GV, US, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(bulkmixedlayer_init) arglist(Time, G, GV, US, param_file, diag, CS) [fd] fullname(mom_bulk_mixed_layer/bulkmixedlayer_init) ftype(None) [fd] name(('mom_bulk_mixed_layer/bulkmixedlayer_init', None)) sig(subroutine bulkmixedlayer_init(Time, G, GV, US, param_file, diag, CS)) signode(subroutine mom_bulk_mixed_layer/bulkmixedlayer_initTimeGGVUSparam_filediagCS) [fd] run(.. f:function:: real function ef4(Ht, En, I_L, dR_de)) [fd] sig(real function ef4(Ht, En, I_L, dR_de)) [fd] ftype(real) objtype(function) modname(None) typename() name(ef4) arglist(Ht, En, I_L, dR_de) [fd] fullname(mom_bulk_mixed_layer/ef4) ftype(real) [fd] name(('mom_bulk_mixed_layer/ef4', 'real')) sig(real function ef4(Ht, En, I_L, dR_de)) signode(function mom_bulk_mixed_layer/ef4HtEnI_LdR_de [real]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 19%] api/generated/modules/mom_checksum_packages [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_checksum [app] emitting event: 'source-read'('api/generated/modules/mom_checksum_packages', ['.. autodoxymodule:: mom_checksum_packages\n :mem [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_checksum_packages.rst:1: input: .. autodoxymodule:: mom_checksum_packages :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_checksum_packages::stats --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_checksum_packages::mom_state_chksum_5arg ~mom_checksum_packages::mom_state_chksum_3arg ~mom_checksum_packages::mom_thermo_chksum ~mom_checksum_packages::mom_surface_chksum ~mom_checksum_packages::mom_accel_chksum ~mom_checksum_packages::mom_state_stats [debug] xpath(./compounddef/compoundname[text()="mom_checksum_packages"]/..) match([('id', 'namespacemom__checksum__packages'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_checksum_packages module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_checksum_packages', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_checksum_packages' (exception was: ModuleNotFoundError("No module named 'mom_checksum_packages'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_checksum_packages::stats', , {'members': , {'members': , {'members': , {'members': , {'members': ), ('mom_state_chksum_3arg', ), ('mom_thermo_chksum', ), ('mom_surface_chksum', ), ('mom_accel_chksum', ), ('mom_state_stats', )]) [autodoc] module analyzer failed: error importing 'mom_checksum_packages' (exception was: ModuleNotFoundError("No module named 'mom_checksum_packages'")) [debug] DoxygenMethodDocumenter format_signature called ((mesg, u, v, h, uh, vh, G, GV, US, haloshift, symmetric, vel_scale)) [debug] add_directive_header sig((mesg, u, v, h, uh, vh, G, GV, US, haloshift, symmetric, vel_scale)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine mom_state_chksum_5arg) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_state_chksum_5arg', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_checksum_packages::stats --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_checksum_packages::mom_state_chksum_5arg ~mom_checksum_packages::mom_state_chksum_3arg ~mom_checksum_packages::mom_thermo_chksum ~mom_checksum_packages::mom_surface_chksum ~mom_checksum_packages::mom_accel_chksum ~mom_checksum_packages::mom_state_stats .. _DETAmom_checksum_packages: -------------------- Detailed Description -------------------- Provides routines that do checksums of groups of MOM variables. ------------------ Type Documentation ------------------ .. f:type:: stats A type for storing statistica about a variable. :typefield real minimum [private]: The minimum value. :typefield real maximum [private]: The maximum value. :typefield real average [private]: The average value. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine mom_state_chksum_5arg(mesg, u, v, h, uh, vh, G, GV, US, haloshift, symmetric, vel_scale) Write out chksums for the model's basic state variables, including transports. :param mesg: [in] A message that appears on the chksum lines. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param u: [in] The zonal velocity [L T-1 ~> m s-1] or other units. :param v: [in] The meridional velocity [L T-1 ~> m s-1] or other units. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param uh: [in] Volume flux through zonal faces = u*h*dy :param vh: [in] Volume flux through meridional faces = v*h*dx :param us: [in] A dimensional unit scaling type :param haloshift: [in] The width of halos to check (default 0). :param symmetric: [in] If true, do checksums on the fully symmetric computational domain. :param vel_scale: [in] The scaling factor to convert velocities to [m s-1] .. f:subroutine:: subroutine mom_state_chksum_3arg(mesg, u, v, h, G, GV, US, haloshift, symmetric) Write out chksums for the model's basic state variables. :param mesg: [in] A message that appears on the chksum lines. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param u: [in] Zonal velocity [L T-1 ~> m s-1] or [m s-1]. :param v: [in] Meridional velocity [L T-1 ~> m s-1] or [m s-1].. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param us: [in] A dimensional unit scaling type, which is used to rescale u and v if present. :param haloshift: [in] The width of halos to check (default 0). :param symmetric: [in] If true, do checksums on the fully symmetric computational domain. .. f:subroutine:: subroutine mom_thermo_chksum(mesg, tv, G, US, haloshift) Write out chksums for the model's thermodynamic state variables. :param mesg: [in] A message that appears on the chksum lines. :param tv: [in] A structure pointing to various thermodynamic variables. :param g: [in] The ocean's grid structure. :param us: [in] A dimensional unit scaling type :param haloshift: [in] The width of halos to check (default 0). .. f:subroutine:: subroutine mom_surface_chksum(mesg, sfc_state, G, US, haloshift, symmetric) Write out chksums for the ocean surface variables. :param mesg: [in] A message that appears on the chksum lines. :param sfc_state: [inout] transparent ocean surface state structure shared with the calling routine data in this structure is intent out. :param g: [in] The ocean's grid structure. :param us: [in] A dimensional unit scaling type :param haloshift: [in] The width of halos to check (default 0). :param symmetric: [in] If true, do checksums on the fully symmetric computational domain. :calledfrom: :f:func:`mom::extract_surface_state ` .. f:subroutine:: subroutine mom_accel_chksum(mesg, CAu, CAv, PFu, PFv, diffu, diffv, G, GV, US, pbce, u_accel_bt, v_accel_bt, symmetric) Write out chksums for the model's accelerations. :param mesg: [in] A message that appears on the chksum lines. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param cau: [in] Zonal acceleration due to Coriolis :param cav: [in] Meridional acceleration due to Coriolis :param pfu: [in] Zonal acceleration due to pressure gradients :param pfv: [in] Meridional acceleration due to pressure gradients :param diffu: [in] Zonal acceleration due to convergence of the :param diffv: [in] Meridional acceleration due to convergence of :param us: [in] A dimensional unit scaling type :param pbce: [in] The baroclinic pressure anomaly in each layer :param u_accel_bt: [in] The zonal acceleration from terms in the :param v_accel_bt: [in] The meridional acceleration from terms in :param symmetric: [in] If true, do checksums on the fully symmetric computational domain. :calledfrom: :f:func:`mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ` :calledfrom: :f:func:`mom_dynamics_unsplit::step_mom_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2 ` .. f:subroutine:: subroutine mom_state_stats(mesg, u, v, h, Temp, Salt, G, GV, US, allowChange, permitDiminishing) Monitor and write out statistics for the model's state variables. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param mesg: [in] A message that appears on the chksum lines. :param u: [in] The zonal velocity [L T-1 ~> m s-1]. :param v: [in] The meridional velocity [L T-1 ~> m s-1]. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param temp: [in] Temperature [degC]. :param salt: [in] Salinity [ppt]. :param us: [in] A dimensional unit scaling type :param allowchange: [in] do not flag an error if the statistics change. :param permitdiminishing: [in] do not flag error if the extrema are diminishing. :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_mesg ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale_legacy ` :calledfrom: :f:func:`mom_diabatic_driver::layered_diabatic ` [debug] xpath(./compounddef/compoundname[text()="mom_checksum_packages::stats"]/..) match([('id', 'structmom__checksum__packages_1_1stats'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_checksum_packages::stats', , {}, ['', 'A [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_checksum_packages::stats', , {}, ['`More. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_checksum_packages::stats', , {}, ['', 'A [debug] DoxygenMethodDocumenter format_signature called ((mesg, u, v, h, uh, vh, G, GV, US, haloshift, symmetric, vel_scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksum_packages::mom_state_chksum_5arg', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksum_packages::mom_state_chksum_5arg', [debug] DoxygenMethodDocumenter format_signature called ((mesg, u, v, h, G, GV, US, haloshift, symmetric)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksum_packages::mom_state_chksum_3arg', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksum_packages::mom_state_chksum_3arg', [debug] DoxygenMethodDocumenter format_signature called ((mesg, tv, G, US, haloshift)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksum_packages::mom_thermo_chksum', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksum_packages::mom_thermo_chksum', , {} [debug] DoxygenMethodDocumenter format_signature called ((mesg, sfc_state, G, US, haloshift, symmetric)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksum_packages::mom_surface_chksum', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksum_packages::mom_surface_chksum', , { [debug] DoxygenMethodDocumenter format_signature called ((mesg, CAu, CAv, PFu, PFv, diffu, diffv, G, GV, US, pbce, u_accel_bt, v_accel_bt, symmetric)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksum_packages::mom_accel_chksum', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksum_packages::mom_accel_chksum', , {}, [debug] DoxygenMethodDocumenter format_signature called ((mesg, u, v, h, Temp, Salt, G, GV, US, allowChange, permitDiminishing)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksum_packages::mom_state_stats', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksum_packages::mom_state_stats', , {}, [fd] run(.. f:type:: stats) [fd] sig(stats) [fd] ftype(None) objtype(None) modname(None) typename() name(stats) arglist(None) [fd] fullname(mom_checksum_packages/stats) ftype(None) [fd] name(('mom_checksum_packages/stats', None)) sig(stats) signode(type mom_checksum_packages/stats) [fd] run(.. f:subroutine:: subroutine mom_state_chksum_5arg(mesg, u, v, h, uh, vh, G, GV, US, haloshift, symmetric, vel_scale)) [fd] sig(subroutine mom_state_chksum_5arg(mesg, u, v, h, uh, vh, G, GV, US, haloshift, symmetric, vel_scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_state_chksum_5arg) arglist(mesg, u, v, h, uh, vh, G, GV, US, haloshift, symmetric, vel_scale) [fd] fullname(mom_checksum_packages/mom_state_chksum_5arg) ftype(None) [fd] name(('mom_checksum_packages/mom_state_chksum_5arg', None)) sig(subroutine mom_state_chksum_5arg(mesg, u, v, h, uh, vh, G, GV, US, haloshift, symmetric, vel_scale)) signode(subroutine mom_checksum_packages/mom_state_chksum_5argmesguvhuhvhGGVUShaloshiftsymmetricvel_scale) [fd] run(.. f:subroutine:: subroutine mom_state_chksum_3arg(mesg, u, v, h, G, GV, US, haloshift, symmetric)) [fd] sig(subroutine mom_state_chksum_3arg(mesg, u, v, h, G, GV, US, haloshift, symmetric)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_state_chksum_3arg) arglist(mesg, u, v, h, G, GV, US, haloshift, symmetric) [fd] fullname(mom_checksum_packages/mom_state_chksum_3arg) ftype(None) [fd] name(('mom_checksum_packages/mom_state_chksum_3arg', None)) sig(subroutine mom_state_chksum_3arg(mesg, u, v, h, G, GV, US, haloshift, symmetric)) signode(subroutine mom_checksum_packages/mom_state_chksum_3argmesguvhGGVUShaloshiftsymmetric) [fd] run(.. f:subroutine:: subroutine mom_thermo_chksum(mesg, tv, G, US, haloshift)) [fd] sig(subroutine mom_thermo_chksum(mesg, tv, G, US, haloshift)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_thermo_chksum) arglist(mesg, tv, G, US, haloshift) [fd] fullname(mom_checksum_packages/mom_thermo_chksum) ftype(None) [fd] name(('mom_checksum_packages/mom_thermo_chksum', None)) sig(subroutine mom_thermo_chksum(mesg, tv, G, US, haloshift)) signode(subroutine mom_checksum_packages/mom_thermo_chksummesgtvGUShaloshift) [fd] run(.. f:subroutine:: subroutine mom_surface_chksum(mesg, sfc_state, G, US, haloshift, symmetric)) [fd] sig(subroutine mom_surface_chksum(mesg, sfc_state, G, US, haloshift, symmetric)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_surface_chksum) arglist(mesg, sfc_state, G, US, haloshift, symmetric) [fd] fullname(mom_checksum_packages/mom_surface_chksum) ftype(None) [fd] name(('mom_checksum_packages/mom_surface_chksum', None)) sig(subroutine mom_surface_chksum(mesg, sfc_state, G, US, haloshift, symmetric)) signode(subroutine mom_checksum_packages/mom_surface_chksummesgsfc_stateGUShaloshiftsymmetric) [fd] run(.. f:subroutine:: subroutine mom_accel_chksum(mesg, CAu, CAv, PFu, PFv, diffu, diffv, G, GV, US, pbce, u_accel_bt, v_accel_bt, symmetric)) [fd] sig(subroutine mom_accel_chksum(mesg, CAu, CAv, PFu, PFv, diffu, diffv, G, GV, US, pbce, u_accel_bt, v_accel_bt, symmetric)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_accel_chksum) arglist(mesg, CAu, CAv, PFu, PFv, diffu, diffv, G, GV, US, pbce, u_accel_bt, v_accel_bt, symmetric) [fd] fullname(mom_checksum_packages/mom_accel_chksum) ftype(None) [fd] name(('mom_checksum_packages/mom_accel_chksum', None)) sig(subroutine mom_accel_chksum(mesg, CAu, CAv, PFu, PFv, diffu, diffv, G, GV, US, pbce, u_accel_bt, v_accel_bt, symmetric)) signode(subroutine mom_checksum_packages/mom_accel_chksummesgCAuCAvPFuPFvdiffudiffvGGVUSpbceu_accel_btv_accel_btsymmetric) [fd] run(.. f:subroutine:: subroutine mom_state_stats(mesg, u, v, h, Temp, Salt, G, GV, US, allowChange, permitDiminishing)) [fd] sig(subroutine mom_state_stats(mesg, u, v, h, Temp, Salt, G, GV, US, allowChange, permitDiminishing)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_state_stats) arglist(mesg, u, v, h, Temp, Salt, G, GV, US, allowChange, permitDiminishing) [fd] fullname(mom_checksum_packages/mom_state_stats) ftype(None) [fd] name(('mom_checksum_packages/mom_state_stats', None)) sig(subroutine mom_state_stats(mesg, u, v, h, Temp, Salt, G, GV, US, allowChange, permitDiminishing)) signode(subroutine mom_checksum_packages/mom_state_statsmesguvhTempSaltGGVUSallowChangepermitDiminishing) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 19%] api/generated/modules/mom_checksums [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_checksum [app] emitting event: 'source-read'('api/generated/modules/mom_checksums', ['.. autodoxymodule:: mom_checksums\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_checksums.rst:1: input: .. autodoxymodule:: mom_checksums :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_checksums::chksum0 ~mom_checksums::zchksum ~mom_checksums::chksum_pair_h_2d ~mom_checksums::chksum_pair_h_3d ~mom_checksums::chksum_h_2d ~mom_checksums::chksum_pair_b_2d ~mom_checksums::chksum_pair_b_3d ~mom_checksums::chksum_b_2d ~mom_checksums::chksum_uv_2d ~mom_checksums::chksum_uv_3d ~mom_checksums::chksum_u_2d ~mom_checksums::chksum_v_2d ~mom_checksums::chksum_h_3d ~mom_checksums::chksum_b_3d ~mom_checksums::chksum_u_3d ~mom_checksums::chksum_v_3d ~mom_checksums::chksum1d ~mom_checksums::chksum2d ~mom_checksums::chksum3d ~mom_checksums::is_nan_0d ~mom_checksums::is_nan_1d ~mom_checksums::is_nan_2d ~mom_checksums::is_nan_3d ~mom_checksums::chk_sum_msg1 ~mom_checksums::chk_sum_msg5 ~mom_checksums::chk_sum_msg_nsew ~mom_checksums::chk_sum_msg_s ~mom_checksums::chk_sum_msg_w ~mom_checksums::chk_sum_msg2 ~mom_checksums::chk_sum_msg3 ~mom_checksums::mom_checksums_init ~mom_checksums::chksum_error ~mom_checksums::bitcount [debug] xpath(./compounddef/compoundname[text()="mom_checksums"]/..) match([('id', 'namespacemom__checksums'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_checksums module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_checksums', , {'members': , {'members': , {'members': ), ('zchksum', ), ('chksum_pair_h_2d', ), ('chksum_pair_h_3d', ), ('chksum_h_2d', ), ('chksum_pair_b_2d', ), ('chksum_pair_b_3d', ), ('chksum_b_2d', ), ('chksum_uv_2d', ), ('chksum_uv_3d', ), ('chksum_u_2d', ), ('chksum_v_2d', ), ('chksum_h_3d', ), ('chksum_b_3d', ), ('chksum_u_3d', ), ('chksum_v_3d', ), ('chksum1d', ), ('chksum2d', ), ('chksum3d', ), ('is_nan_0d', ), ('is_nan_1d', ), ('is_nan_2d', ), ('is_nan_3d', ), ('chk_sum_msg1', ), ('chk_sum_msg5', ), ('chk_sum_msg_nsew', ), ('chk_sum_msg_s', ), ('chk_sum_msg_w', ), ('chk_sum_msg2', ), ('chk_sum_msg3', ), ('mom_checksums_init', ), ('chksum_error', ), ('bitcount', )]) [autodoc] module analyzer failed: error importing 'mom_checksums' (exception was: ModuleNotFoundError("No module named 'mom_checksums'")) [debug] DoxygenMethodDocumenter format_signature called ((scalar, mesg, scale, logunit)) [debug] add_directive_header sig((scalar, mesg, scale, logunit)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine chksum0) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'chksum0', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_checksums::chksum0 ~mom_checksums::zchksum ~mom_checksums::chksum_pair_h_2d ~mom_checksums::chksum_pair_h_3d ~mom_checksums::chksum_h_2d ~mom_checksums::chksum_pair_b_2d ~mom_checksums::chksum_pair_b_3d ~mom_checksums::chksum_b_2d ~mom_checksums::chksum_uv_2d ~mom_checksums::chksum_uv_3d ~mom_checksums::chksum_u_2d ~mom_checksums::chksum_v_2d ~mom_checksums::chksum_h_3d ~mom_checksums::chksum_b_3d ~mom_checksums::chksum_u_3d ~mom_checksums::chksum_v_3d ~mom_checksums::chksum1d ~mom_checksums::chksum2d ~mom_checksums::chksum3d ~mom_checksums::is_nan_0d ~mom_checksums::is_nan_1d ~mom_checksums::is_nan_2d ~mom_checksums::is_nan_3d ~mom_checksums::chk_sum_msg1 ~mom_checksums::chk_sum_msg5 ~mom_checksums::chk_sum_msg_nsew ~mom_checksums::chk_sum_msg_s ~mom_checksums::chk_sum_msg_w ~mom_checksums::chk_sum_msg2 ~mom_checksums::chk_sum_msg3 ~mom_checksums::mom_checksums_init ~mom_checksums::chksum_error ~mom_checksums::bitcount .. _DETAmom_checksums: -------------------- Detailed Description -------------------- Routines to calculate checksums of various array and vector types. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine chksum0(scalar, mesg, scale, logunit) Checksum a scalar field (consistent with array checksums) :param scalar: [in] The array to be checksummed :param mesg: [in] An identifying message :param scale: [in] A scaling factor for this array. :param logunit: [in] IO unit for checksum logging :callto: :f:func:`bc_modulus ` :callto: :f:func:`bitcount ` :callto: :f:func:`calculatestatistics ` :callto: :f:func:`checkfornans ` :callto: :f:func:`chksum_error ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`writechksums ` .. f:subroutine:: subroutine zchksum(array, mesg, scale, logunit) Checksum a 1d array (typically a column). :param array: [in] The array to be checksummed :param mesg: [in] An identifying message :param scale: [in] A scaling factor for this array. :param logunit: [in] IO unit for checksum logging :callto: :f:func:`calculatestatistics ` :callto: :f:func:`checkfornans ` :callto: :f:func:`chksum_error ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`subchk ` :callto: :f:func:`substats ` :callto: :f:func:`writechksums ` .. f:subroutine:: subroutine chksum_pair_h_2d(mesg, arrayA, arrayB, HI, haloshift, omit_corners, scale, logunit, scalar_pair) Checksums on a pair of 2d arrays staggered at tracer points. :param mesg: [in] Identifying messages :param hi: [in] A horizontal index type :param arraya: [in] The first array to be checksummed :param arrayb: [in] The second array to be checksummed :param haloshift: [in] The width of halos to check (default 0) :param omit_corners: [in] If true, avoid checking diagonal shifts :param scale: [in] A scaling factor for this array. :param logunit: [in] IO unit for checksum logging :param scalar_pair: [in] If true, then the arrays describe a scalar, rather than vector :callto: :f:func:`chksum_h_2d ` :callto: :f:func:`mom_hor_index::rotate_hor_index ` .. f:subroutine:: subroutine chksum_pair_h_3d(mesg, arrayA, arrayB, HI, haloshift, omit_corners, scale, logunit, scalar_pair) Checksums on a pair of 3d arrays staggered at tracer points. :param mesg: [in] Identifying messages :param hi: [in] A horizontal index type :param arraya: [in] The first array to be checksummed :param arrayb: [in] The second array to be checksummed :param haloshift: [in] The width of halos to check (default 0) :param omit_corners: [in] If true, avoid checking diagonal shifts :param scale: [in] A scaling factor for this array. :param logunit: [in] IO unit for checksum logging :param scalar_pair: [in] If true, then the arrays describe a scalar, rather than vector :callto: :f:func:`chksum_h_3d ` :callto: :f:func:`mom_hor_index::rotate_hor_index ` .. f:subroutine:: subroutine chksum_h_2d(array_m, mesg, HI_m, haloshift, omit_corners, scale, logunit) Checksums a 2d array staggered at tracer points. :param hi_m: [in] Horizontal index bounds of the model grid :param array_m: [in] Field array on the model grid :param mesg: [in] An identifying message :param haloshift: [in] The width of halos to check (default 0) :param omit_corners: [in] If true, avoid checking diagonal shifts :param scale: [in] A scaling factor for this array. :param logunit: [in] IO unit for checksum logging :callto: :f:func:`calculatestatistics ` :callto: :f:func:`checkfornans ` :callto: :f:func:`chk_sum_msg_nsew ` :callto: :f:func:`chksum_error ` :callto: :f:func:`default_shift ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_hor_index::rotate_hor_index ` :callto: :f:func:`subchk ` :callto: :f:func:`substats ` :callto: :f:func:`writechksums ` :calledfrom: :f:func:`chksum_pair_h_2d ` .. f:subroutine:: subroutine chksum_pair_b_2d(mesg, arrayA, arrayB, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair) Checksums on a pair of 2d arrays staggered at q-points. :param mesg: [in] Identifying messages :param hi: [in] A horizontal index type :param arraya: [in] The first array to be checksummed :param arrayb: [in] The second array to be checksummed :param symmetric: [in] If true, do the checksums on the full symmetric computational domain. :param haloshift: [in] The width of halos to check (default 0) :param omit_corners: [in] If true, avoid checking diagonal shifts :param scale: [in] A scaling factor for this array. :param logunit: [in] IO unit for checksum logging :param scalar_pair: [in] If true, then the arrays describe a scalar, rather than vector :callto: :f:func:`chksum_b_2d ` :callto: :f:func:`mom_hor_index::rotate_hor_index ` .. f:subroutine:: subroutine chksum_pair_b_3d(mesg, arrayA, arrayB, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair) Checksums on a pair of 3d arrays staggered at q-points. :param mesg: [in] Identifying messages :param hi: [in] A horizontal index type :param arraya: [in] The first array to be checksummed :param arrayb: [in] The second array to be checksummed :param haloshift: [in] The width of halos to check (default 0) :param symmetric: [in] If true, do the checksums on the full symmetric computational domain. :param omit_corners: [in] If true, avoid checking diagonal shifts :param scale: [in] A scaling factor for this array. :param logunit: [in] IO unit for checksum logging :param scalar_pair: [in] If true, then the arrays describe a scalar, rather than vector :callto: :f:func:`chksum_b_3d ` :callto: :f:func:`mom_hor_index::rotate_hor_index ` .. f:subroutine:: subroutine chksum_b_2d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit) Checksums a 2d array staggered at corner points. :param hi_m: [in] A horizontal index type :param array_m: [in] The array to be checksummed :param mesg: [in] An identifying message :param haloshift: [in] The width of halos to check (default 0) :param symmetric: [in] If true, do the checksums on the full symmetric computational domain. :param omit_corners: [in] If true, avoid checking diagonal shifts :param scale: [in] A scaling factor for this array. :param logunit: [in] IO unit for checksum logging :callto: :f:func:`calculatestatistics ` :callto: :f:func:`checkfornans ` :callto: :f:func:`chk_sum_msg_nsew ` :callto: :f:func:`chksum_error ` :callto: :f:func:`default_shift ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_hor_index::rotate_hor_index ` :callto: :f:func:`subchk ` :callto: :f:func:`substats ` :callto: :f:func:`writechksums ` :calledfrom: :f:func:`chksum_pair_b_2d ` .. f:subroutine:: subroutine chksum_uv_2d(mesg, arrayU, arrayV, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair) Checksums a pair of 2d velocity arrays staggered at C-grid locations. :param mesg: [in] Identifying messages :param hi: [in] A horizontal index type :param arrayu: [in] The u-component array to be checksummed :param arrayv: [in] The v-component array to be checksummed :param haloshift: [in] The width of halos to check (default 0) :param symmetric: [in] If true, do the checksums on the full symmetric computational domain. :param omit_corners: [in] If true, avoid checking diagonal shifts :param scale: [in] A scaling factor for these arrays. :param logunit: [in] IO unit for checksum logging :param scalar_pair: [in] If true, then the arrays describe a a scalar, rather than vector :callto: :f:func:`chksum_u_2d ` :callto: :f:func:`chksum_v_2d ` :callto: :f:func:`mom_hor_index::rotate_hor_index ` .. f:subroutine:: subroutine chksum_uv_3d(mesg, arrayU, arrayV, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair) Checksums a pair of 3d velocity arrays staggered at C-grid locations. :param mesg: [in] Identifying messages :param hi: [in] A horizontal index type :param arrayu: [in] The u-component array to be checksummed :param arrayv: [in] The v-component array to be checksummed :param haloshift: [in] The width of halos to check (default 0) :param symmetric: [in] If true, do the checksums on the full symmetric computational domain. :param omit_corners: [in] If true, avoid checking diagonal shifts :param scale: [in] A scaling factor for these arrays. :param logunit: [in] IO unit for checksum logging :param scalar_pair: [in] If true, then the arrays describe a a scalar, rather than vector :callto: :f:func:`chksum_u_3d ` :callto: :f:func:`chksum_v_3d ` :callto: :f:func:`mom_hor_index::rotate_hor_index ` .. f:subroutine:: subroutine chksum_u_2d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit) Checksums a 2d array staggered at C-grid u points. :param hi_m: [in] A horizontal index type :param array_m: [in] The array to be checksummed :param mesg: [in] An identifying message :param haloshift: [in] The width of halos to check (default 0) :param symmetric: [in] If true, do the checksums on the full symmetric computational domain. :param omit_corners: [in] If true, avoid checking diagonal shifts :param scale: [in] A scaling factor for this array. :param logunit: [in] IO unit for checksum logging :callto: :f:func:`calculatestatistics ` :callto: :f:func:`checkfornans ` :callto: :f:func:`chk_sum_msg_nsew ` :callto: :f:func:`chk_sum_msg_w ` :callto: :f:func:`chksum_error ` :callto: :f:func:`default_shift ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_hor_index::rotate_hor_index ` :callto: :f:func:`subchk ` :callto: :f:func:`substats ` :callto: :f:func:`writechksums ` :calledfrom: :f:func:`chksum_uv_2d ` .. f:subroutine:: subroutine chksum_v_2d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit) Checksums a 2d array staggered at C-grid v points. :param hi_m: [in] A horizontal index type :param array_m: [in] The array to be checksummed :param mesg: [in] An identifying message :param haloshift: [in] The width of halos to check (default 0) :param symmetric: [in] If true, do the checksums on the full symmetric computational domain. :param omit_corners: [in] If true, avoid checking diagonal shifts :param scale: [in] A scaling factor for this array. :param logunit: [in] IO unit for checksum logging :callto: :f:func:`calculatestatistics ` :callto: :f:func:`checkfornans ` :callto: :f:func:`chk_sum_msg_nsew ` :callto: :f:func:`chk_sum_msg_s ` :callto: :f:func:`chksum_error ` :callto: :f:func:`default_shift ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_hor_index::rotate_hor_index ` :callto: :f:func:`subchk ` :callto: :f:func:`substats ` :callto: :f:func:`writechksums ` :calledfrom: :f:func:`chksum_uv_2d ` .. f:subroutine:: subroutine chksum_h_3d(array_m, mesg, HI_m, haloshift, omit_corners, scale, logunit) Checksums a 3d array staggered at tracer points. :param hi_m: [in] A horizontal index type :param array_m: [in] The array to be checksummed :param mesg: [in] An identifying message :param haloshift: [in] The width of halos to check (default 0) :param omit_corners: [in] If true, avoid checking diagonal shifts :param scale: [in] A scaling factor for this array. :param logunit: [in] IO unit for checksum logging :callto: :f:func:`calculatestatistics ` :callto: :f:func:`checkfornans ` :callto: :f:func:`chk_sum_msg_nsew ` :callto: :f:func:`chksum_error ` :callto: :f:func:`default_shift ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_hor_index::rotate_hor_index ` :callto: :f:func:`subchk ` :callto: :f:func:`substats ` :callto: :f:func:`writechksums ` :calledfrom: :f:func:`chksum_pair_h_3d ` .. f:subroutine:: subroutine chksum_b_3d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit) Checksums a 3d array staggered at corner points. :param hi_m: [in] A horizontal index type :param array_m: [in] The array to be checksummed :param mesg: [in] An identifying message :param haloshift: [in] The width of halos to check (default 0) :param symmetric: [in] If true, do the checksums on the full symmetric computational domain. :param omit_corners: [in] If true, avoid checking diagonal shifts :param scale: [in] A scaling factor for this array. :param logunit: [in] IO unit for checksum logging :callto: :f:func:`calculatestatistics ` :callto: :f:func:`checkfornans ` :callto: :f:func:`chk_sum_msg_nsew ` :callto: :f:func:`chksum_error ` :callto: :f:func:`default_shift ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_hor_index::rotate_hor_index ` :callto: :f:func:`subchk ` :callto: :f:func:`substats ` :callto: :f:func:`writechksums ` :calledfrom: :f:func:`chksum_pair_b_3d ` .. f:subroutine:: subroutine chksum_u_3d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit) Checksums a 3d array staggered at C-grid u points. :param hi_m: [in] A horizontal index type :param array_m: [in] The array to be checksummed :param mesg: [in] An identifying message :param haloshift: [in] The width of halos to check (default 0) :param symmetric: [in] If true, do the checksums on the full symmetric computational domain. :param omit_corners: [in] If true, avoid checking diagonal shifts :param scale: [in] A scaling factor for this array. :param logunit: [in] IO unit for checksum logging :callto: :f:func:`calculatestatistics ` :callto: :f:func:`checkfornans ` :callto: :f:func:`chk_sum_msg_nsew ` :callto: :f:func:`chk_sum_msg_w ` :callto: :f:func:`chksum_error ` :callto: :f:func:`default_shift ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_hor_index::rotate_hor_index ` :callto: :f:func:`subchk ` :callto: :f:func:`substats ` :callto: :f:func:`writechksums ` :calledfrom: :f:func:`chksum_uv_3d ` .. f:subroutine:: subroutine chksum_v_3d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit) Checksums a 3d array staggered at C-grid v points. :param hi_m: [in] A horizontal index type :param array_m: [in] The array to be checksummed :param mesg: [in] An identifying message :param haloshift: [in] The width of halos to check (default 0) :param symmetric: [in] If true, do the checksums on the full symmetric computational domain. :param omit_corners: [in] If true, avoid checking diagonal shifts :param scale: [in] A scaling factor for this array. :param logunit: [in] IO unit for checksum logging :callto: :f:func:`calculatestatistics ` :callto: :f:func:`checkfornans ` :callto: :f:func:`chk_sum_msg_nsew ` :callto: :f:func:`chk_sum_msg_s ` :callto: :f:func:`chksum_error ` :callto: :f:func:`default_shift ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_hor_index::rotate_hor_index ` :callto: :f:func:`subchk ` :callto: :f:func:`substats ` :callto: :f:func:`writechksums ` :calledfrom: :f:func:`chksum_uv_3d ` .. f:subroutine:: subroutine chksum1d(array, mesg, start_i, end_i, compare_PEs) chksum1d does a checksum of a 1-dimensional array. :param array: [in] The array to be summed (index starts at 1). :param mesg: [in] An identifying message. :param start_i: [in] The starting index for the sum (default 1) :param end_i: [in] The ending index for the sum (default all) :param compare_pes: [in] If true, compare across PEs instead of summing and list the root_PE value (default true) :callto: :f:func:`bitcount ` :callto: :f:func:`mom_error_handler::is_root_pe ` .. f:subroutine:: subroutine chksum2d(array, mesg) chksum2d does a checksum of all data in a 2-d array. :param array: The array to be checksummed :param mesg: An identifying message :callto: :f:func:`bitcount ` :callto: :f:func:`mom_error_handler::is_root_pe ` .. f:subroutine:: subroutine chksum3d(array, mesg) chksum3d does a checksum of all data in a 2-d array. :param array: The array to be checksummed :param mesg: An identifying message :callto: :f:func:`bitcount ` :callto: :f:func:`mom_error_handler::is_root_pe ` .. f:function:: logical function is_nan_0d(x) This function returns .true. if x is a NaN, and .false. otherwise. :param x: [in] The value to be checked for NaNs. :calledfrom: :f:func:`is_nan_1d ` :calledfrom: :f:func:`is_nan_2d ` :calledfrom: :f:func:`is_nan_3d ` .. f:function:: logical function is_nan_1d(x, skip_mpp) Returns .true. if any element of x is a NaN, and .false. otherwise. :param x: [in] The array to be checked for NaNs. :param skip_mpp: [in] If true, only check this array only on the local PE (default false). :callto: :f:func:`is_nan_0d ` .. f:function:: logical function is_nan_2d(x) Returns .true. if any element of x is a NaN, and .false. otherwise. :param x: [in] The array to be checked for NaNs. :callto: :f:func:`is_nan_0d ` .. f:function:: logical function is_nan_3d(x) Returns .true. if any element of x is a NaN, and .false. otherwise. :param x: [in] The array to be checked for NaNs. :callto: :f:func:`is_nan_0d ` .. f:subroutine:: subroutine chk_sum_msg1(fmsg, bc0, mesg, iounit) Write a message including the checksum of the non-shifted array. :param fmsg: [in] A checksum code-location specific preamble :param mesg: [in] An identifying message supplied by top-level caller :param bc0: [in] The bitcount of the non-shifted array :param iounit: [in] Checksum logger IO unit :callto: :f:func:`mom_error_handler::is_root_pe ` .. f:subroutine:: subroutine chk_sum_msg5(fmsg, bc0, bcSW, bcSE, bcNW, bcNE, mesg, iounit) Write a message including checksums of non-shifted and diagonally shifted arrays. :param fmsg: [in] A checksum code-location specific preamble :param mesg: [in] An identifying message supplied by top-level caller :param bc0: [in] The bitcount of the non-shifted array :param bcsw: [in] The bitcount for SW shifted array :param bcse: [in] The bitcount for SE shifted array :param bcnw: [in] The bitcount for NW shifted array :param bcne: [in] The bitcount for NE shifted array :param iounit: [in] Checksum logger IO unit :callto: :f:func:`mom_error_handler::is_root_pe ` .. f:subroutine:: subroutine chk_sum_msg_nsew(fmsg, bc0, bcN, bcS, bcE, bcW, mesg, iounit) Write a message including checksums of non-shifted and laterally shifted arrays. :param fmsg: [in] A checksum code-location specific preamble :param mesg: [in] An identifying message supplied by top-level caller :param bc0: [in] The bitcount of the non-shifted array :param bcn: [in] The bitcount for N shifted array :param bcs: [in] The bitcount for S shifted array :param bce: [in] The bitcount for E shifted array :param bcw: [in] The bitcount for W shifted array :param iounit: [in] Checksum logger IO unit :callto: :f:func:`mom_error_handler::is_root_pe ` :calledfrom: :f:func:`chksum_b_2d ` :calledfrom: :f:func:`chksum_b_3d ` :calledfrom: :f:func:`chksum_h_2d ` :calledfrom: :f:func:`chksum_h_3d ` :calledfrom: :f:func:`chksum_u_2d ` :calledfrom: :f:func:`chksum_u_3d ` :calledfrom: :f:func:`chksum_v_2d ` :calledfrom: :f:func:`chksum_v_3d ` .. f:subroutine:: subroutine chk_sum_msg_s(fmsg, bc0, bcS, mesg, iounit) Write a message including checksums of non-shifted and southward shifted arrays. :param fmsg: [in] A checksum code-location specific preamble :param mesg: [in] An identifying message supplied by top-level caller :param bc0: [in] The bitcount of the non-shifted array :param bcs: [in] The bitcount of the south-shifted array :param iounit: [in] Checksum logger IO unit :callto: :f:func:`mom_error_handler::is_root_pe ` :calledfrom: :f:func:`chksum_v_2d ` :calledfrom: :f:func:`chksum_v_3d ` .. f:subroutine:: subroutine chk_sum_msg_w(fmsg, bc0, bcW, mesg, iounit) Write a message including checksums of non-shifted and westward shifted arrays. :param fmsg: [in] A checksum code-location specific preamble :param mesg: [in] An identifying message supplied by top-level caller :param bc0: [in] The bitcount of the non-shifted array :param bcw: [in] The bitcount of the west-shifted array :param iounit: [in] Checksum logger IO unit :callto: :f:func:`mom_error_handler::is_root_pe ` :calledfrom: :f:func:`chksum_u_2d ` :calledfrom: :f:func:`chksum_u_3d ` .. f:subroutine:: subroutine chk_sum_msg2(fmsg, bc0, bcSW, mesg, iounit) Write a message including checksums of non-shifted and southwestward shifted arrays. :param fmsg: [in] A checksum code-location specific preamble :param mesg: [in] An identifying message supplied by top-level caller :param bc0: [in] The bitcount of the non-shifted array :param bcsw: [in] The bitcount of the southwest-shifted array :param iounit: [in] Checksum logger IO unit :callto: :f:func:`mom_error_handler::is_root_pe ` .. f:subroutine:: subroutine chk_sum_msg3(fmsg, aMean, aMin, aMax, mesg, iounit) Write a message including the global mean, maximum and minimum of an array. :param fmsg: [in] A checksum code-location specific preamble :param mesg: [in] An identifying message supplied by top-level caller :param amean: [in] The mean value of the array :param amin: [in] The minimum value of the array :param amax: [in] The maximum value of the array :param iounit: [in] Checksum logger IO unit :callto: :f:func:`mom_error_handler::is_root_pe ` .. f:subroutine:: subroutine mom_checksums_init(param_file) MOM_checksums_init initializes the MOM_checksums module. As it happens, the only thing that it does is to log the version of this module. :param param_file: [in] A structure to parse for run-time parameters :calledfrom: :f:func:`mom_debugging::mom_debugging_init ` .. f:subroutine:: subroutine chksum_error(signal, message) A wrapper for MOM_error used in the checksum code. :param signal: [in] An error severity level, such as FATAL or WARNING :param message: [in] An error message :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`chksum0 ` :calledfrom: :f:func:`chksum_b_2d ` :calledfrom: :f:func:`chksum_b_3d ` :calledfrom: :f:func:`chksum_h_2d ` :calledfrom: :f:func:`chksum_h_3d ` :calledfrom: :f:func:`chksum_u_2d ` :calledfrom: :f:func:`chksum_u_3d ` :calledfrom: :f:func:`chksum_v_2d ` :calledfrom: :f:func:`chksum_v_3d ` :calledfrom: :f:func:`zchksum ` .. f:function:: integer function bitcount(x) Does a bitcount of a number by first casting to an integer and then using BTEST to check bit by bit. :param x: [in] Number to be bitcount :calledfrom: :f:func:`chksum0 ` :calledfrom: :f:func:`chksum1d ` :calledfrom: :f:func:`chksum2d ` :calledfrom: :f:func:`chksum3d ` :calledfrom: :f:func:`subchk ` [debug] DoxygenMethodDocumenter format_signature called ((scalar, mesg, scale, logunit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum0', , {}, ['', 'Checksum a [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum0', , {}, ['', 'Checksum a [debug] DoxygenMethodDocumenter format_signature called ((array, mesg, scale, logunit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::zchksum', , {}, ['', 'Checksum a [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::zchksum', , {}, ['', 'Checksum a [debug] DoxygenMethodDocumenter format_signature called ((mesg, arrayA, arrayB, HI, haloshift, omit_corners, scale, logunit, scalar_pair)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_pair_h_2d', , {}, ['', 'C [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_pair_h_2d', , {}, ['', 'C [debug] DoxygenMethodDocumenter format_signature called ((mesg, arrayA, arrayB, HI, haloshift, omit_corners, scale, logunit, scalar_pair)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_pair_h_3d', , {}, ['', 'C [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_pair_h_3d', , {}, ['', 'C [debug] DoxygenMethodDocumenter format_signature called ((array_m, mesg, HI_m, haloshift, omit_corners, scale, logunit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_h_2d', , {}, ['', 'Checks [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_h_2d', , {}, ['', 'Checks [debug] DoxygenMethodDocumenter format_signature called ((mesg, arrayA, arrayB, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_pair_b_2d', , {}, ['', 'C [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_pair_b_2d', , {}, ['', 'C [debug] DoxygenMethodDocumenter format_signature called ((mesg, arrayA, arrayB, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_pair_b_3d', , {}, ['', 'C [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_pair_b_3d', , {}, ['', 'C [debug] DoxygenMethodDocumenter format_signature called ((array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_b_2d', , {}, ['', 'Checks [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_b_2d', , {}, ['', 'Checks [debug] DoxygenMethodDocumenter format_signature called ((mesg, arrayU, arrayV, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_uv_2d', , {}, ['', 'Check [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_uv_2d', , {}, ['', 'Check [debug] DoxygenMethodDocumenter format_signature called ((mesg, arrayU, arrayV, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_uv_3d', , {}, ['', 'Check [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_uv_3d', , {}, ['', 'Check [debug] DoxygenMethodDocumenter format_signature called ((array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_u_2d', , {}, ['', 'Checks [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_u_2d', , {}, ['', 'Checks [debug] DoxygenMethodDocumenter format_signature called ((array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_v_2d', , {}, ['', 'Checks [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_v_2d', , {}, ['', 'Checks [debug] DoxygenMethodDocumenter format_signature called ((array_m, mesg, HI_m, haloshift, omit_corners, scale, logunit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_h_3d', , {}, ['', 'Checks [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_h_3d', , {}, ['', 'Checks [debug] DoxygenMethodDocumenter format_signature called ((array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_b_3d', , {}, ['', 'Checks [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_b_3d', , {}, ['', 'Checks [debug] DoxygenMethodDocumenter format_signature called ((array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_u_3d', , {}, ['', 'Checks [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_u_3d', , {}, ['', 'Checks [debug] DoxygenMethodDocumenter format_signature called ((array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_v_3d', , {}, ['', 'Checks [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_v_3d', , {}, ['', 'Checks [debug] DoxygenMethodDocumenter format_signature called ((array, mesg, start_i, end_i, compare_PEs)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum1d', , {}, ['', 'chksum1d [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum1d', , {}, ['', 'chksum1d [debug] DoxygenMethodDocumenter format_signature called ((array, mesg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum2d', , {}, ['', 'chksum2d [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum2d', , {}, ['', 'chksum2d [debug] DoxygenMethodDocumenter format_signature called ((array, mesg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum3d', , {}, ['', 'chksum3d [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum3d', , {}, ['', 'chksum3d [debug] DoxygenMethodDocumenter format_signature called ((x)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::is_nan_0d', , {}, ['', 'This fun [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::is_nan_0d', , {}, ['', 'This fun [debug] DoxygenMethodDocumenter format_signature called ((x, skip_mpp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::is_nan_1d', , {}, ['', 'Returns [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::is_nan_1d', , {}, ['', 'Returns [debug] DoxygenMethodDocumenter format_signature called ((x)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::is_nan_2d', , {}, ['', 'Returns [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::is_nan_2d', , {}, ['', 'Returns [debug] DoxygenMethodDocumenter format_signature called ((x)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::is_nan_3d', , {}, ['', 'Returns [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::is_nan_3d', , {}, ['', 'Returns [debug] DoxygenMethodDocumenter format_signature called ((fmsg, bc0, mesg, iounit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chk_sum_msg1', , {}, ['', 'Write [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chk_sum_msg1', , {}, ['', 'Write [debug] DoxygenMethodDocumenter format_signature called ((fmsg, bc0, bcSW, bcSE, bcNW, bcNE, mesg, iounit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chk_sum_msg5', , {}, ['', 'Write [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chk_sum_msg5', , {}, ['', 'Write [debug] DoxygenMethodDocumenter format_signature called ((fmsg, bc0, bcN, bcS, bcE, bcW, mesg, iounit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chk_sum_msg_nsew', , {}, ['', 'W [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chk_sum_msg_nsew', , {}, ['', 'W [debug] DoxygenMethodDocumenter format_signature called ((fmsg, bc0, bcS, mesg, iounit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chk_sum_msg_s', , {}, ['', 'Writ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chk_sum_msg_s', , {}, ['', 'Writ [debug] DoxygenMethodDocumenter format_signature called ((fmsg, bc0, bcW, mesg, iounit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chk_sum_msg_w', , {}, ['', 'Writ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chk_sum_msg_w', , {}, ['', 'Writ [debug] DoxygenMethodDocumenter format_signature called ((fmsg, bc0, bcSW, mesg, iounit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chk_sum_msg2', , {}, ['', 'Write [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chk_sum_msg2', , {}, ['', 'Write [debug] DoxygenMethodDocumenter format_signature called ((fmsg, aMean, aMin, aMax, mesg, iounit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chk_sum_msg3', , {}, ['', 'Write [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chk_sum_msg3', , {}, ['', 'Write [debug] DoxygenMethodDocumenter format_signature called ((param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::mom_checksums_init', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::mom_checksums_init', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((signal, message)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_error', , {}, ['', 'A wra [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::chksum_error', , {}, ['', 'A wra [debug] DoxygenMethodDocumenter format_signature called ((x)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::bitcount', , {}, ['', 'Does a bi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_checksums::bitcount', , {}, ['', 'Does a bi [fd] run(.. f:subroutine:: subroutine chksum0(scalar, mesg, scale, logunit)) [fd] sig(subroutine chksum0(scalar, mesg, scale, logunit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum0) arglist(scalar, mesg, scale, logunit) [fd] fullname(mom_checksums/chksum0) ftype(None) [fd] name(('mom_checksums/chksum0', None)) sig(subroutine chksum0(scalar, mesg, scale, logunit)) signode(subroutine mom_checksums/chksum0scalarmesgscalelogunit) [fd] run(.. f:subroutine:: subroutine zchksum(array, mesg, scale, logunit)) [fd] sig(subroutine zchksum(array, mesg, scale, logunit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(zchksum) arglist(array, mesg, scale, logunit) [fd] fullname(mom_checksums/zchksum) ftype(None) [fd] name(('mom_checksums/zchksum', None)) sig(subroutine zchksum(array, mesg, scale, logunit)) signode(subroutine mom_checksums/zchksumarraymesgscalelogunit) [fd] run(.. f:subroutine:: subroutine chksum_pair_h_2d(mesg, arrayA, arrayB, HI, haloshift, omit_corners, scale, logunit, scalar_pair)) [fd] sig(subroutine chksum_pair_h_2d(mesg, arrayA, arrayB, HI, haloshift, omit_corners, scale, logunit, scalar_pair)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_pair_h_2d) arglist(mesg, arrayA, arrayB, HI, haloshift, omit_corners, scale, logunit, scalar_pair) [fd] fullname(mom_checksums/chksum_pair_h_2d) ftype(None) [fd] name(('mom_checksums/chksum_pair_h_2d', None)) sig(subroutine chksum_pair_h_2d(mesg, arrayA, arrayB, HI, haloshift, omit_corners, scale, logunit, scalar_pair)) signode(subroutine mom_checksums/chksum_pair_h_2dmesgarrayAarrayBHIhaloshiftomit_cornersscalelogunitscalar_pair) [fd] run(.. f:subroutine:: subroutine chksum_pair_h_3d(mesg, arrayA, arrayB, HI, haloshift, omit_corners, scale, logunit, scalar_pair)) [fd] sig(subroutine chksum_pair_h_3d(mesg, arrayA, arrayB, HI, haloshift, omit_corners, scale, logunit, scalar_pair)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_pair_h_3d) arglist(mesg, arrayA, arrayB, HI, haloshift, omit_corners, scale, logunit, scalar_pair) [fd] fullname(mom_checksums/chksum_pair_h_3d) ftype(None) [fd] name(('mom_checksums/chksum_pair_h_3d', None)) sig(subroutine chksum_pair_h_3d(mesg, arrayA, arrayB, HI, haloshift, omit_corners, scale, logunit, scalar_pair)) signode(subroutine mom_checksums/chksum_pair_h_3dmesgarrayAarrayBHIhaloshiftomit_cornersscalelogunitscalar_pair) [fd] run(.. f:subroutine:: subroutine chksum_h_2d(array_m, mesg, HI_m, haloshift, omit_corners, scale, logunit)) [fd] sig(subroutine chksum_h_2d(array_m, mesg, HI_m, haloshift, omit_corners, scale, logunit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_h_2d) arglist(array_m, mesg, HI_m, haloshift, omit_corners, scale, logunit) [fd] fullname(mom_checksums/chksum_h_2d) ftype(None) [fd] name(('mom_checksums/chksum_h_2d', None)) sig(subroutine chksum_h_2d(array_m, mesg, HI_m, haloshift, omit_corners, scale, logunit)) signode(subroutine mom_checksums/chksum_h_2darray_mmesgHI_mhaloshiftomit_cornersscalelogunit) [fd] run(.. f:subroutine:: subroutine chksum_pair_b_2d(mesg, arrayA, arrayB, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair)) [fd] sig(subroutine chksum_pair_b_2d(mesg, arrayA, arrayB, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_pair_b_2d) arglist(mesg, arrayA, arrayB, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair) [fd] fullname(mom_checksums/chksum_pair_b_2d) ftype(None) [fd] name(('mom_checksums/chksum_pair_b_2d', None)) sig(subroutine chksum_pair_b_2d(mesg, arrayA, arrayB, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair)) signode(subroutine mom_checksums/chksum_pair_b_2dmesgarrayAarrayBHIhaloshiftsymmetricomit_cornersscalelogunitscalar_pair) [fd] run(.. f:subroutine:: subroutine chksum_pair_b_3d(mesg, arrayA, arrayB, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair)) [fd] sig(subroutine chksum_pair_b_3d(mesg, arrayA, arrayB, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_pair_b_3d) arglist(mesg, arrayA, arrayB, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair) [fd] fullname(mom_checksums/chksum_pair_b_3d) ftype(None) [fd] name(('mom_checksums/chksum_pair_b_3d', None)) sig(subroutine chksum_pair_b_3d(mesg, arrayA, arrayB, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair)) signode(subroutine mom_checksums/chksum_pair_b_3dmesgarrayAarrayBHIhaloshiftsymmetricomit_cornersscalelogunitscalar_pair) [fd] run(.. f:subroutine:: subroutine chksum_b_2d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [fd] sig(subroutine chksum_b_2d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_b_2d) arglist(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit) [fd] fullname(mom_checksums/chksum_b_2d) ftype(None) [fd] name(('mom_checksums/chksum_b_2d', None)) sig(subroutine chksum_b_2d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) signode(subroutine mom_checksums/chksum_b_2darray_mmesgHI_mhaloshiftsymmetricomit_cornersscalelogunit) [fd] run(.. f:subroutine:: subroutine chksum_uv_2d(mesg, arrayU, arrayV, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair)) [fd] sig(subroutine chksum_uv_2d(mesg, arrayU, arrayV, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_uv_2d) arglist(mesg, arrayU, arrayV, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair) [fd] fullname(mom_checksums/chksum_uv_2d) ftype(None) [fd] name(('mom_checksums/chksum_uv_2d', None)) sig(subroutine chksum_uv_2d(mesg, arrayU, arrayV, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair)) signode(subroutine mom_checksums/chksum_uv_2dmesgarrayUarrayVHIhaloshiftsymmetricomit_cornersscalelogunitscalar_pair) [fd] run(.. f:subroutine:: subroutine chksum_uv_3d(mesg, arrayU, arrayV, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair)) [fd] sig(subroutine chksum_uv_3d(mesg, arrayU, arrayV, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_uv_3d) arglist(mesg, arrayU, arrayV, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair) [fd] fullname(mom_checksums/chksum_uv_3d) ftype(None) [fd] name(('mom_checksums/chksum_uv_3d', None)) sig(subroutine chksum_uv_3d(mesg, arrayU, arrayV, HI, haloshift, symmetric, omit_corners, scale, logunit, scalar_pair)) signode(subroutine mom_checksums/chksum_uv_3dmesgarrayUarrayVHIhaloshiftsymmetricomit_cornersscalelogunitscalar_pair) [fd] run(.. f:subroutine:: subroutine chksum_u_2d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [fd] sig(subroutine chksum_u_2d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_u_2d) arglist(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit) [fd] fullname(mom_checksums/chksum_u_2d) ftype(None) [fd] name(('mom_checksums/chksum_u_2d', None)) sig(subroutine chksum_u_2d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) signode(subroutine mom_checksums/chksum_u_2darray_mmesgHI_mhaloshiftsymmetricomit_cornersscalelogunit) [fd] run(.. f:subroutine:: subroutine chksum_v_2d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [fd] sig(subroutine chksum_v_2d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_v_2d) arglist(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit) [fd] fullname(mom_checksums/chksum_v_2d) ftype(None) [fd] name(('mom_checksums/chksum_v_2d', None)) sig(subroutine chksum_v_2d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) signode(subroutine mom_checksums/chksum_v_2darray_mmesgHI_mhaloshiftsymmetricomit_cornersscalelogunit) [fd] run(.. f:subroutine:: subroutine chksum_h_3d(array_m, mesg, HI_m, haloshift, omit_corners, scale, logunit)) [fd] sig(subroutine chksum_h_3d(array_m, mesg, HI_m, haloshift, omit_corners, scale, logunit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_h_3d) arglist(array_m, mesg, HI_m, haloshift, omit_corners, scale, logunit) [fd] fullname(mom_checksums/chksum_h_3d) ftype(None) [fd] name(('mom_checksums/chksum_h_3d', None)) sig(subroutine chksum_h_3d(array_m, mesg, HI_m, haloshift, omit_corners, scale, logunit)) signode(subroutine mom_checksums/chksum_h_3darray_mmesgHI_mhaloshiftomit_cornersscalelogunit) [fd] run(.. f:subroutine:: subroutine chksum_b_3d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [fd] sig(subroutine chksum_b_3d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_b_3d) arglist(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit) [fd] fullname(mom_checksums/chksum_b_3d) ftype(None) [fd] name(('mom_checksums/chksum_b_3d', None)) sig(subroutine chksum_b_3d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) signode(subroutine mom_checksums/chksum_b_3darray_mmesgHI_mhaloshiftsymmetricomit_cornersscalelogunit) [fd] run(.. f:subroutine:: subroutine chksum_u_3d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [fd] sig(subroutine chksum_u_3d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_u_3d) arglist(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit) [fd] fullname(mom_checksums/chksum_u_3d) ftype(None) [fd] name(('mom_checksums/chksum_u_3d', None)) sig(subroutine chksum_u_3d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) signode(subroutine mom_checksums/chksum_u_3darray_mmesgHI_mhaloshiftsymmetricomit_cornersscalelogunit) [fd] run(.. f:subroutine:: subroutine chksum_v_3d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [fd] sig(subroutine chksum_v_3d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_v_3d) arglist(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit) [fd] fullname(mom_checksums/chksum_v_3d) ftype(None) [fd] name(('mom_checksums/chksum_v_3d', None)) sig(subroutine chksum_v_3d(array_m, mesg, HI_m, haloshift, symmetric, omit_corners, scale, logunit)) signode(subroutine mom_checksums/chksum_v_3darray_mmesgHI_mhaloshiftsymmetricomit_cornersscalelogunit) [fd] run(.. f:subroutine:: subroutine chksum1d(array, mesg, start_i, end_i, compare_PEs)) [fd] sig(subroutine chksum1d(array, mesg, start_i, end_i, compare_PEs)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum1d) arglist(array, mesg, start_i, end_i, compare_PEs) [fd] fullname(mom_checksums/chksum1d) ftype(None) [fd] name(('mom_checksums/chksum1d', None)) sig(subroutine chksum1d(array, mesg, start_i, end_i, compare_PEs)) signode(subroutine mom_checksums/chksum1darraymesgstart_iend_icompare_PEs) [fd] run(.. f:subroutine:: subroutine chksum2d(array, mesg)) [fd] sig(subroutine chksum2d(array, mesg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum2d) arglist(array, mesg) [fd] fullname(mom_checksums/chksum2d) ftype(None) [fd] name(('mom_checksums/chksum2d', None)) sig(subroutine chksum2d(array, mesg)) signode(subroutine mom_checksums/chksum2darraymesg) [fd] run(.. f:subroutine:: subroutine chksum3d(array, mesg)) [fd] sig(subroutine chksum3d(array, mesg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum3d) arglist(array, mesg) [fd] fullname(mom_checksums/chksum3d) ftype(None) [fd] name(('mom_checksums/chksum3d', None)) sig(subroutine chksum3d(array, mesg)) signode(subroutine mom_checksums/chksum3darraymesg) [fd] run(.. f:function:: logical function is_nan_0d(x)) [fd] sig(logical function is_nan_0d(x)) [fd] ftype(logical) objtype(function) modname(None) typename() name(is_nan_0d) arglist(x) [fd] fullname(mom_checksums/is_nan_0d) ftype(logical) [fd] name(('mom_checksums/is_nan_0d', 'logical')) sig(logical function is_nan_0d(x)) signode(function mom_checksums/is_nan_0dx [logical]) [fd] run(.. f:function:: logical function is_nan_1d(x, skip_mpp)) [fd] sig(logical function is_nan_1d(x, skip_mpp)) [fd] ftype(logical) objtype(function) modname(None) typename() name(is_nan_1d) arglist(x, skip_mpp) [fd] fullname(mom_checksums/is_nan_1d) ftype(logical) [fd] name(('mom_checksums/is_nan_1d', 'logical')) sig(logical function is_nan_1d(x, skip_mpp)) signode(function mom_checksums/is_nan_1dxskip_mpp [logical]) [fd] run(.. f:function:: logical function is_nan_2d(x)) [fd] sig(logical function is_nan_2d(x)) [fd] ftype(logical) objtype(function) modname(None) typename() name(is_nan_2d) arglist(x) [fd] fullname(mom_checksums/is_nan_2d) ftype(logical) [fd] name(('mom_checksums/is_nan_2d', 'logical')) sig(logical function is_nan_2d(x)) signode(function mom_checksums/is_nan_2dx [logical]) [fd] run(.. f:function:: logical function is_nan_3d(x)) [fd] sig(logical function is_nan_3d(x)) [fd] ftype(logical) objtype(function) modname(None) typename() name(is_nan_3d) arglist(x) [fd] fullname(mom_checksums/is_nan_3d) ftype(logical) [fd] name(('mom_checksums/is_nan_3d', 'logical')) sig(logical function is_nan_3d(x)) signode(function mom_checksums/is_nan_3dx [logical]) [fd] run(.. f:subroutine:: subroutine chk_sum_msg1(fmsg, bc0, mesg, iounit)) [fd] sig(subroutine chk_sum_msg1(fmsg, bc0, mesg, iounit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chk_sum_msg1) arglist(fmsg, bc0, mesg, iounit) [fd] fullname(mom_checksums/chk_sum_msg1) ftype(None) [fd] name(('mom_checksums/chk_sum_msg1', None)) sig(subroutine chk_sum_msg1(fmsg, bc0, mesg, iounit)) signode(subroutine mom_checksums/chk_sum_msg1fmsgbc0mesgiounit) [fd] run(.. f:subroutine:: subroutine chk_sum_msg5(fmsg, bc0, bcSW, bcSE, bcNW, bcNE, mesg, iounit)) [fd] sig(subroutine chk_sum_msg5(fmsg, bc0, bcSW, bcSE, bcNW, bcNE, mesg, iounit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chk_sum_msg5) arglist(fmsg, bc0, bcSW, bcSE, bcNW, bcNE, mesg, iounit) [fd] fullname(mom_checksums/chk_sum_msg5) ftype(None) [fd] name(('mom_checksums/chk_sum_msg5', None)) sig(subroutine chk_sum_msg5(fmsg, bc0, bcSW, bcSE, bcNW, bcNE, mesg, iounit)) signode(subroutine mom_checksums/chk_sum_msg5fmsgbc0bcSWbcSEbcNWbcNEmesgiounit) [fd] run(.. f:subroutine:: subroutine chk_sum_msg_nsew(fmsg, bc0, bcN, bcS, bcE, bcW, mesg, iounit)) [fd] sig(subroutine chk_sum_msg_nsew(fmsg, bc0, bcN, bcS, bcE, bcW, mesg, iounit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chk_sum_msg_nsew) arglist(fmsg, bc0, bcN, bcS, bcE, bcW, mesg, iounit) [fd] fullname(mom_checksums/chk_sum_msg_nsew) ftype(None) [fd] name(('mom_checksums/chk_sum_msg_nsew', None)) sig(subroutine chk_sum_msg_nsew(fmsg, bc0, bcN, bcS, bcE, bcW, mesg, iounit)) signode(subroutine mom_checksums/chk_sum_msg_nsewfmsgbc0bcNbcSbcEbcWmesgiounit) [fd] run(.. f:subroutine:: subroutine chk_sum_msg_s(fmsg, bc0, bcS, mesg, iounit)) [fd] sig(subroutine chk_sum_msg_s(fmsg, bc0, bcS, mesg, iounit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chk_sum_msg_s) arglist(fmsg, bc0, bcS, mesg, iounit) [fd] fullname(mom_checksums/chk_sum_msg_s) ftype(None) [fd] name(('mom_checksums/chk_sum_msg_s', None)) sig(subroutine chk_sum_msg_s(fmsg, bc0, bcS, mesg, iounit)) signode(subroutine mom_checksums/chk_sum_msg_sfmsgbc0bcSmesgiounit) [fd] run(.. f:subroutine:: subroutine chk_sum_msg_w(fmsg, bc0, bcW, mesg, iounit)) [fd] sig(subroutine chk_sum_msg_w(fmsg, bc0, bcW, mesg, iounit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chk_sum_msg_w) arglist(fmsg, bc0, bcW, mesg, iounit) [fd] fullname(mom_checksums/chk_sum_msg_w) ftype(None) [fd] name(('mom_checksums/chk_sum_msg_w', None)) sig(subroutine chk_sum_msg_w(fmsg, bc0, bcW, mesg, iounit)) signode(subroutine mom_checksums/chk_sum_msg_wfmsgbc0bcWmesgiounit) [fd] run(.. f:subroutine:: subroutine chk_sum_msg2(fmsg, bc0, bcSW, mesg, iounit)) [fd] sig(subroutine chk_sum_msg2(fmsg, bc0, bcSW, mesg, iounit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chk_sum_msg2) arglist(fmsg, bc0, bcSW, mesg, iounit) [fd] fullname(mom_checksums/chk_sum_msg2) ftype(None) [fd] name(('mom_checksums/chk_sum_msg2', None)) sig(subroutine chk_sum_msg2(fmsg, bc0, bcSW, mesg, iounit)) signode(subroutine mom_checksums/chk_sum_msg2fmsgbc0bcSWmesgiounit) [fd] run(.. f:subroutine:: subroutine chk_sum_msg3(fmsg, aMean, aMin, aMax, mesg, iounit)) [fd] sig(subroutine chk_sum_msg3(fmsg, aMean, aMin, aMax, mesg, iounit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chk_sum_msg3) arglist(fmsg, aMean, aMin, aMax, mesg, iounit) [fd] fullname(mom_checksums/chk_sum_msg3) ftype(None) [fd] name(('mom_checksums/chk_sum_msg3', None)) sig(subroutine chk_sum_msg3(fmsg, aMean, aMin, aMax, mesg, iounit)) signode(subroutine mom_checksums/chk_sum_msg3fmsgaMeanaMinaMaxmesgiounit) [fd] run(.. f:subroutine:: subroutine mom_checksums_init(param_file)) [fd] sig(subroutine mom_checksums_init(param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_checksums_init) arglist(param_file) [fd] fullname(mom_checksums/mom_checksums_init) ftype(None) [fd] name(('mom_checksums/mom_checksums_init', None)) sig(subroutine mom_checksums_init(param_file)) signode(subroutine mom_checksums/mom_checksums_initparam_file) [fd] run(.. f:subroutine:: subroutine chksum_error(signal, message)) [fd] sig(subroutine chksum_error(signal, message)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_error) arglist(signal, message) [fd] fullname(mom_checksums/chksum_error) ftype(None) [fd] name(('mom_checksums/chksum_error', None)) sig(subroutine chksum_error(signal, message)) signode(subroutine mom_checksums/chksum_errorsignalmessage) [fd] run(.. f:function:: integer function bitcount(x)) [fd] sig(integer function bitcount(x)) [fd] ftype(integer) objtype(function) modname(None) typename() name(bitcount) arglist(x) [fd] fullname(mom_checksums/bitcount) ftype(integer) [fd] name(('mom_checksums/bitcount', 'integer')) sig(integer function bitcount(x)) signode(function mom_checksums/bitcountx [integer]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 20%] api/generated/modules/mom_coms [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_coms') [app] emitting event: 'source-read'('api/generated/modules/mom_coms', ['.. autodoxymodule:: mom_coms\n :members:\n :methods:\n :t [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_coms.rst:1: input: .. autodoxymodule:: mom_coms :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_coms::efp_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_coms::reproducing_efp_sum_2d ~mom_coms::reproducing_sum_2d ~mom_coms::reproducing_sum_3d ~mom_coms::real_to_ints ~mom_coms::ints_to_real ~mom_coms::increment_ints ~mom_coms::increment_ints_faster ~mom_coms::carry_overflow ~mom_coms::regularize_ints ~mom_coms::query_efp_overflow_error ~mom_coms::reset_efp_overflow_error ~mom_coms::efp_plus ~mom_coms::efp_minus ~mom_coms::efp_assign ~mom_coms::efp_to_real ~mom_coms::efp_real_diff ~mom_coms::real_to_efp ~mom_coms::efp_list_sum_across_pes ~mom_coms::efp_val_sum_across_pes ~mom_coms::mom_infra_end [debug] xpath(./compounddef/compoundname[text()="mom_coms"]/..) match([('id', 'namespacemom__coms'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_coms module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_coms', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_coms' (exception was: ModuleNotFoundError("No module named 'mom_coms'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_coms::efp_type', , {'members': , {'members': , {'members': ), ('reproducing_sum_2d', ), ('reproducing_sum_3d', ), ('real_to_ints', ), ('ints_to_real', ), ('increment_ints', ), ('increment_ints_faster', ), ('carry_overflow', ), ('regularize_ints', ), ('query_efp_overflow_error', ), ('reset_efp_overflow_error', ), ('efp_plus', ), ('efp_minus', ), ('efp_assign', ), ('efp_to_real', ), ('efp_real_diff', ), ('real_to_efp', ), ('efp_list_sum_across_pes', ), ('efp_val_sum_across_pes', ), ('mom_infra_end', )]) [autodoc] module analyzer failed: error importing 'mom_coms' (exception was: ModuleNotFoundError("No module named 'mom_coms'")) [debug] DoxygenMethodDocumenter format_signature called ((array, isr, ier, jsr, jer, overflow_check, err, only_on_PE)) [debug] add_directive_header sig((array, isr, ier, jsr, jer, overflow_check, err, only_on_PE)) [debug] DoxygenMethodDocumenter directive(function) name(type(efp_type) function reproducing_efp_sum_2d) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [debug] method=visit_simplesect [debug] simplesect kind(return) [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'reproducing_efp_sum_2d', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_coms::efp_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_coms::reproducing_efp_sum_2d ~mom_coms::reproducing_sum_2d ~mom_coms::reproducing_sum_3d ~mom_coms::real_to_ints ~mom_coms::ints_to_real ~mom_coms::increment_ints ~mom_coms::increment_ints_faster ~mom_coms::carry_overflow ~mom_coms::regularize_ints ~mom_coms::query_efp_overflow_error ~mom_coms::reset_efp_overflow_error ~mom_coms::efp_plus ~mom_coms::efp_minus ~mom_coms::efp_assign ~mom_coms::efp_to_real ~mom_coms::efp_real_diff ~mom_coms::real_to_efp ~mom_coms::efp_list_sum_across_pes ~mom_coms::efp_val_sum_across_pes ~mom_coms::mom_infra_end .. _DETAmom_coms: -------------------- Detailed Description -------------------- Interfaces to non-domain-oriented communication subroutines, including the MOM6 reproducing sums facility. ------------------ Type Documentation ------------------ .. f:type:: efp_type The Extended Fixed Point (EFP) type provides a public interface for doing sums and taking differences with this type. :typefield integer(kind=8)( ni ) v: The value in this type. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: type(efp_type) function reproducing_efp_sum_2d(array, isr, ier, jsr, jer, overflow_check, err, only_on_PE) This subroutine uses a conversion to an integer representation of real numbers to give an order-invariant sum of distributed 2-D arrays that reproduces across domain decomposition, with the result returned as an extended fixed point type that can be converted back to a real number using EFP_to_real. This technique is described in Hallberg & Adcroft, 2014, Parallel Computing, doi:10.1016/j.parco.2014.04.007. :param array: [in] The array to be summed :param isr: [in] The starting i-index of the sum, noting that the array indices starts at 1 :param ier: [in] The ending i-index of the sum, noting that the array indices starts at 1 :param jsr: [in] The starting j-index of the sum, noting that the array indices starts at 1 :param jer: [in] The ending j-index of the sum, noting that the array indices starts at 1 :param overflow_check: [in] If present and false, disable checking for overflows in incremental results. This can speed up calculations if the number of values being summed is small enough :param err: [out] If present, return an error code instead of triggering any fatal errors directly from this routine. :param only_on_pe: [in] If present and true, do not do the sum across processors, only reporting the local sum :returns undefined: The result in extended fixed point format :callto: :f:func:`carry_overflow ` :callto: :f:func:`i_pr ` :callto: :f:func:`increment_ints ` :callto: :f:func:`increment_ints_faster ` :callto: :f:func:`max_count_prec ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`nan_error ` :callto: :f:func:`ni ` :callto: :f:func:`overflow_error ` :callto: :f:func:`pr ` :callto: :f:func:`real_to_ints ` :callto: :f:func:`regularize_ints ` :calledfrom: :f:func:`reproducing_sum_2d ` .. f:function:: real function reproducing_sum_2d(array, isr, ier, jsr, jer, EFP_sum, reproducing, overflow_check, err, only_on_PE) This subroutine uses a conversion to an integer representation of real numbers to give an order-invariant sum of distributed 2-D arrays that reproduces across domain decomposition. This technique is described in Hallberg & Adcroft, 2014, Parallel Computing, doi:10.1016/j.parco.2014.04.007. :param array: [in] The array to be summed :param isr: [in] The starting i-index of the sum, noting that the array indices starts at 1 :param ier: [in] The ending i-index of the sum, noting that the array indices starts at 1 :param jsr: [in] The starting j-index of the sum, noting that the array indices starts at 1 :param jer: [in] The ending j-index of the sum, noting that the array indices starts at 1 :param efp_sum: [out] The result in extended fixed point format :param reproducing: [in] If present and false, do the sum using the naive non-reproducing approach :param overflow_check: [in] If present and false, disable checking for overflows in incremental results. This can speed up calculations if the number of values being summed is small enough :param err: [out] If present, return an error code instead of triggering any fatal errors directly from this routine. :param only_on_pe: [in] If present and true, do not do the sum across processors, only reporting the local sum :returns undefined: Result :callto: :f:func:`debug ` :callto: :f:func:`ints_to_real ` :callto: :f:func:`max_count_prec ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`ni ` :callto: :f:func:`overflow_error ` :callto: :f:func:`real_to_ints ` :callto: :f:func:`reproducing_efp_sum_2d ` .. f:function:: real function reproducing_sum_3d(array, isr, ier, jsr, jer, sums, EFP_sum, EFP_lay_sums, err, only_on_PE) This subroutine uses a conversion to an integer representation of real numbers to give an order-invariant sum of distributed 3-D arrays that reproduces across domain decomposition. This technique is described in Hallberg & Adcroft, 2014, Parallel Computing, doi:10.1016/j.parco.2014.04.007. :param array: [in] The array to be summed :param isr: [in] The starting i-index of the sum, noting that the array indices starts at 1 :param ier: [in] The ending i-index of the sum, noting that the array indices starts at 1 :param jsr: [in] The starting j-index of the sum, noting that the array indices starts at 1 :param jer: [in] The ending j-index of the sum, noting that the array indices starts at 1 :param sums: [out] The sums by vertical layer :param efp_sum: [out] The result in extended fixed point format :param efp_lay_sums: [out] The sums by vertical layer in EFP format :param err: [out] If present, return an error code instead of triggering any fatal errors directly from this routine. :param only_on_pe: [in] If present and true, do not do the sum across processors, only reporting the local sum :returns undefined: Result :callto: :f:func:`carry_overflow ` :callto: :f:func:`debug ` :callto: :f:func:`increment_ints ` :callto: :f:func:`increment_ints_faster ` :callto: :f:func:`ints_to_real ` :callto: :f:func:`max_count_prec ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`nan_error ` :callto: :f:func:`ni ` :callto: :f:func:`overflow_error ` :callto: :f:func:`pr ` :callto: :f:func:`real_to_ints ` :callto: :f:func:`regularize_ints ` .. f:function:: integer(kind=8) function real_to_ints(r, prec_error, overflow) Convert a real number into the array of integers constitute its extended-fixed-point representation. :param r: [in] The real number being converted :param prec_error: [in] The PE-count dependent precision of the integers that is safe from overflows during global sums. This will be larger than the compile-time precision parameter, and is used to detect overflows. :param overflow: [inout] Returns true if the conversion is being done on a value that is too large to be represented :callto: :f:func:`i_pr ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`nan_error ` :callto: :f:func:`ni ` :callto: :f:func:`pr ` :callto: :f:func:`prec ` :calledfrom: :f:func:`real_to_efp ` :calledfrom: :f:func:`reproducing_efp_sum_2d ` :calledfrom: :f:func:`reproducing_sum_2d ` :calledfrom: :f:func:`reproducing_sum_3d ` .. f:function:: real function ints_to_real(ints) Convert the array of integers that constitute an extended-fixed-point representation into a real number. :param ints: [in] The array of EFP integers :callto: :f:func:`ni ` :callto: :f:func:`pr ` :calledfrom: :f:func:`efp_to_real ` :calledfrom: :f:func:`reproducing_sum_2d ` :calledfrom: :f:func:`reproducing_sum_3d ` .. f:subroutine:: subroutine increment_ints(int_sum, int2, prec_error) Increment an array of integers that constitutes an extended-fixed-point representation with a another EFP number. :param int_sum: [inout] The array of EFP integers being incremented :param int2: [in] The array of EFP integers being added :param prec_error: [in] The PE-count dependent precision of the integers that is safe from overflows during global sums. This will be larger than the compile-time precision parameter, and is used to detect overflows. :callto: :f:func:`ni ` :callto: :f:func:`overflow_error ` :callto: :f:func:`prec ` :calledfrom: :f:func:`efp_minus ` :calledfrom: :f:func:`efp_plus ` :calledfrom: :f:func:`reproducing_efp_sum_2d ` :calledfrom: :f:func:`reproducing_sum_3d ` .. f:subroutine:: subroutine increment_ints_faster(int_sum, r, max_mag_term) Increment an EFP number with a real number without doing any carrying of of overflows and using only minimal error checking. :param int_sum: [inout] The array of EFP integers being incremented :param r: [in] The real number being added. :param max_mag_term: [inout] A running maximum magnitude of the r's. :callto: :f:func:`i_pr ` :callto: :f:func:`max_efp_float ` :callto: :f:func:`nan_error ` :callto: :f:func:`ni ` :callto: :f:func:`overflow_error ` :callto: :f:func:`pr ` :calledfrom: :f:func:`reproducing_efp_sum_2d ` :calledfrom: :f:func:`reproducing_sum_3d ` .. f:subroutine:: subroutine carry_overflow(int_sum, prec_error) This subroutine handles carrying of the overflow. :param int_sum: [inout] The array of EFP integers being modified by carries, but without changing value. :param prec_error: [in] The PE-count dependent precision of the integers that is safe from overflows during global sums. This will be larger than the compile-time precision parameter, and is used to detect overflows. :callto: :f:func:`i_prec ` :callto: :f:func:`ni ` :callto: :f:func:`overflow_error ` :callto: :f:func:`prec ` :calledfrom: :f:func:`efp_list_sum_across_pes ` :calledfrom: :f:func:`efp_val_sum_across_pes ` :calledfrom: :f:func:`reproducing_efp_sum_2d ` :calledfrom: :f:func:`reproducing_sum_3d ` .. f:subroutine:: subroutine regularize_ints(int_sum) This subroutine carries the overflow, and then makes sure that all integers are of the same sign as the overall value. :param int_sum: [inout] The array of integers being modified to take a :callto: :f:func:`i_prec ` :callto: :f:func:`ni ` :callto: :f:func:`prec ` :calledfrom: :f:func:`efp_to_real ` :calledfrom: :f:func:`reproducing_efp_sum_2d ` :calledfrom: :f:func:`reproducing_sum_3d ` .. f:function:: logical function query_efp_overflow_error() Returns the status of the module's error flag. :callto: :f:func:`overflow_error ` :calledfrom: :f:func:`mom_spatial_means::global_i_mean ` :calledfrom: :f:func:`mom_spatial_means::global_j_mean ` .. f:subroutine:: subroutine reset_efp_overflow_error() Reset the module's error flag to false. :callto: :f:func:`overflow_error ` :calledfrom: :f:func:`mom_spatial_means::global_i_mean ` :calledfrom: :f:func:`mom_spatial_means::global_j_mean ` .. f:function:: type(efp_type) function efp_plus(EFP1, EFP2) Add two extended-fixed-point numbers. :returns undefined: The result in extended fixed point format :param efp1: [in] The first extended fixed point number :param efp2: [in] The second extended fixed point number :callto: :f:func:`increment_ints ` .. f:function:: type(efp_type) function efp_minus(EFP1, EFP2) Subract one extended-fixed-point number from another. :returns undefined: The result in extended fixed point format :param efp1: [in] The first extended fixed point number :param efp2: [in] The extended fixed point number being subtracted from the first extended fixed point number :callto: :f:func:`increment_ints ` :callto: :f:func:`ni ` .. f:subroutine:: subroutine efp_assign(EFP1, EFP2) Copy one extended-fixed-point number into another. :param efp1: [out] The recipient extended fixed point number :param efp2: [in] The source extended fixed point number :callto: :f:func:`ni ` .. f:function:: real function efp_to_real(EFP1) Return the real number that an extended-fixed-point number corresponds with. :param efp1: [inout] The extended fixed point number being converted :callto: :f:func:`ints_to_real ` :callto: :f:func:`regularize_ints ` :calledfrom: :f:func:`efp_list_sum_across_pes ` :calledfrom: :f:func:`efp_real_diff ` :calledfrom: :f:func:`efp_val_sum_across_pes ` .. f:function:: real function efp_real_diff(EFP1, EFP2) Take the difference between two extended-fixed-point numbers (EFP1 - EFP2) and return the result as a real number. :param efp1: [in] The first extended fixed point number :param efp2: [in] The extended fixed point number being subtracted from the first extended fixed point number :returns undefined: The real result :callto: :f:func:`efp_to_real ` .. f:function:: type(efp_type) function real_to_efp(val, overflow) Return the extended-fixed-point number that a real number corresponds with. :param val: [in] The real number being converted :param overflow: [inout] Returns true if the conversion is being done on a value that is too large to be represented :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`real_to_ints ` :calledfrom: :f:func:`mom_energetic_pbl::energetic_pbl_init ` :calledfrom: :f:func:`mom_energetic_pbl::epbl_column ` .. f:subroutine:: subroutine efp_list_sum_across_pes(EFPs, nval, errors) This subroutine does a sum across PEs of a list of EFP variables, returning the sums in place, with all overflows carried. :param efps: [inout] The list of extended fixed point numbers :param nval: [in] The number of values being summed. :param errors: [out] A list of error flags for each sum :callto: :f:func:`carry_overflow ` :callto: :f:func:`efp_to_real ` :callto: :f:func:`max_count_prec ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ni ` :callto: :f:func:`overflow_error ` .. f:subroutine:: subroutine efp_val_sum_across_pes(EFP, error) This subroutine does a sum across PEs of an EFP variable, returning the sums in place, with all overflows carried. :param efp: [inout] The extended fixed point numbers being summed across PEs. :param error: [out] An error flag for this sum :callto: :f:func:`carry_overflow ` :callto: :f:func:`efp_to_real ` :callto: :f:func:`max_count_prec ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ni ` :callto: :f:func:`overflow_error ` .. f:subroutine:: subroutine mom_infra_endNone This subroutine carries out all of the calls required to close out the infrastructure cleanly. This should only be called in ocean-only runs, as the coupler takes care of this in coupled runs. [debug] xpath(./compounddef/compoundname[text()="mom_coms::efp_type"]/..) match([('id', 'structmom__coms_1_1efp__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_coms::efp_type', , {}, ['', 'The Extended [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_coms::efp_type', , {}, ['`More... , {}, ['', 'The Extended [debug] DoxygenMethodDocumenter format_signature called ((array, isr, ier, jsr, jer, overflow_check, err, only_on_PE)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::reproducing_efp_sum_2d', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::reproducing_efp_sum_2d', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((array, isr, ier, jsr, jer, EFP_sum, reproducing, overflow_check, err, only_on_PE)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::reproducing_sum_2d', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::reproducing_sum_2d', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((array, isr, ier, jsr, jer, sums, EFP_sum, EFP_lay_sums, err, only_on_PE)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::reproducing_sum_3d', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::reproducing_sum_3d', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((r, prec_error, overflow)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::real_to_ints', , {}, ['', 'Convert a [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::real_to_ints', , {}, ['', 'Convert a [debug] DoxygenMethodDocumenter format_signature called ((ints)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::ints_to_real', , {}, ['', 'Convert th [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::ints_to_real', , {}, ['', 'Convert th [debug] DoxygenMethodDocumenter format_signature called ((int_sum, int2, prec_error)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::increment_ints', , {}, ['', 'Incremen [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::increment_ints', , {}, ['', 'Incremen [debug] DoxygenMethodDocumenter format_signature called ((int_sum, r, max_mag_term)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::increment_ints_faster', , {}, ['', 'I [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::increment_ints_faster', , {}, ['', 'I [debug] DoxygenMethodDocumenter format_signature called ((int_sum, prec_error)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::carry_overflow', , {}, ['', 'This sub [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::carry_overflow', , {}, ['', 'This sub [debug] DoxygenMethodDocumenter format_signature called ((int_sum)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::regularize_ints', , {}, ['', 'This su [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::regularize_ints', , {}, ['', 'This su [debug] DoxygenMethodDocumenter format_signature called (()) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::query_efp_overflow_error', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::query_efp_overflow_error', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called (()) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::reset_efp_overflow_error', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::reset_efp_overflow_error', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((EFP1, EFP2)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::efp_plus', , {}, ['', 'Add two extend [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::efp_plus', , {}, ['', 'Add two extend [debug] DoxygenMethodDocumenter format_signature called ((EFP1, EFP2)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::efp_minus', , {}, ['', 'Subract one e [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::efp_minus', , {}, ['', 'Subract one e [debug] DoxygenMethodDocumenter format_signature called ((EFP1, EFP2)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::efp_assign', , {}, ['', 'Copy one ext [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::efp_assign', , {}, ['', 'Copy one ext [debug] DoxygenMethodDocumenter format_signature called ((EFP1)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::efp_to_real', , {}, ['', 'Return the [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::efp_to_real', , {}, ['', 'Return the [debug] DoxygenMethodDocumenter format_signature called ((EFP1, EFP2)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::efp_real_diff', , {}, ['', 'Take the [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::efp_real_diff', , {}, ['', 'Take the [debug] DoxygenMethodDocumenter format_signature called ((val, overflow)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::real_to_efp', , {}, ['', 'Return the [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::real_to_efp', , {}, ['', 'Return the [debug] DoxygenMethodDocumenter format_signature called ((EFPs, nval, errors)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::efp_list_sum_across_pes', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::efp_list_sum_across_pes', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((EFP, error)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::efp_val_sum_across_pes', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::efp_val_sum_across_pes', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called (None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::mom_infra_end', , {}, ['', 'This subr [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coms::mom_infra_end', , {}, ['', 'This subr [fd] run(.. f:type:: efp_type) [fd] sig(efp_type) [fd] ftype(None) objtype(None) modname(None) typename() name(efp_type) arglist(None) [fd] fullname(mom_coms/efp_type) ftype(None) [fd] name(('mom_coms/efp_type', None)) sig(efp_type) signode(type mom_coms/efp_type) [fd] run(.. f:function:: type(efp_type) function reproducing_efp_sum_2d(array, isr, ier, jsr, jer, overflow_check, err, only_on_PE)) [fd] sig(type(efp_type) function reproducing_efp_sum_2d(array, isr, ier, jsr, jer, overflow_check, err, only_on_PE)) [fd] ftype(type(efp_type)) objtype(function) modname(None) typename() name(reproducing_efp_sum_2d) arglist(array, isr, ier, jsr, jer, overflow_check, err, only_on_PE) [fd] fullname(mom_coms/reproducing_efp_sum_2d) ftype(type(efp_type)) [fd] name(('mom_coms/reproducing_efp_sum_2d', 'type(efp_type)')) sig(type(efp_type) function reproducing_efp_sum_2d(array, isr, ier, jsr, jer, overflow_check, err, only_on_PE)) signode(function mom_coms/reproducing_efp_sum_2darrayisrierjsrjeroverflow_checkerronly_on_PE [type(efp_type)]) [fd] run(.. f:function:: real function reproducing_sum_2d(array, isr, ier, jsr, jer, EFP_sum, reproducing, overflow_check, err, only_on_PE)) [fd] sig(real function reproducing_sum_2d(array, isr, ier, jsr, jer, EFP_sum, reproducing, overflow_check, err, only_on_PE)) [fd] ftype(real) objtype(function) modname(None) typename() name(reproducing_sum_2d) arglist(array, isr, ier, jsr, jer, EFP_sum, reproducing, overflow_check, err, only_on_PE) [fd] fullname(mom_coms/reproducing_sum_2d) ftype(real) [fd] name(('mom_coms/reproducing_sum_2d', 'real')) sig(real function reproducing_sum_2d(array, isr, ier, jsr, jer, EFP_sum, reproducing, overflow_check, err, only_on_PE)) signode(function mom_coms/reproducing_sum_2darrayisrierjsrjerEFP_sumreproducingoverflow_checkerronly_on_PE [real]) [fd] run(.. f:function:: real function reproducing_sum_3d(array, isr, ier, jsr, jer, sums, EFP_sum, EFP_lay_sums, err, only_on_PE)) [fd] sig(real function reproducing_sum_3d(array, isr, ier, jsr, jer, sums, EFP_sum, EFP_lay_sums, err, only_on_PE)) [fd] ftype(real) objtype(function) modname(None) typename() name(reproducing_sum_3d) arglist(array, isr, ier, jsr, jer, sums, EFP_sum, EFP_lay_sums, err, only_on_PE) [fd] fullname(mom_coms/reproducing_sum_3d) ftype(real) [fd] name(('mom_coms/reproducing_sum_3d', 'real')) sig(real function reproducing_sum_3d(array, isr, ier, jsr, jer, sums, EFP_sum, EFP_lay_sums, err, only_on_PE)) signode(function mom_coms/reproducing_sum_3darrayisrierjsrjersumsEFP_sumEFP_lay_sumserronly_on_PE [real]) [fd] run(.. f:function:: integer(kind=8) function real_to_ints(r, prec_error, overflow)) [fd] sig(integer(kind=8) function real_to_ints(r, prec_error, overflow)) [fd] ftype(integer(kind=8)) objtype(function) modname(None) typename() name(real_to_ints) arglist(r, prec_error, overflow) [fd] fullname(mom_coms/real_to_ints) ftype(integer(kind=8)) [fd] name(('mom_coms/real_to_ints', 'integer(kind=8)')) sig(integer(kind=8) function real_to_ints(r, prec_error, overflow)) signode(function mom_coms/real_to_intsrprec_erroroverflow [integer(kind=8)]) [fd] run(.. f:function:: real function ints_to_real(ints)) [fd] sig(real function ints_to_real(ints)) [fd] ftype(real) objtype(function) modname(None) typename() name(ints_to_real) arglist(ints) [fd] fullname(mom_coms/ints_to_real) ftype(real) [fd] name(('mom_coms/ints_to_real', 'real')) sig(real function ints_to_real(ints)) signode(function mom_coms/ints_to_realints [real]) [fd] run(.. f:subroutine:: subroutine increment_ints(int_sum, int2, prec_error)) [fd] sig(subroutine increment_ints(int_sum, int2, prec_error)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(increment_ints) arglist(int_sum, int2, prec_error) [fd] fullname(mom_coms/increment_ints) ftype(None) [fd] name(('mom_coms/increment_ints', None)) sig(subroutine increment_ints(int_sum, int2, prec_error)) signode(subroutine mom_coms/increment_intsint_sumint2prec_error) [fd] run(.. f:subroutine:: subroutine increment_ints_faster(int_sum, r, max_mag_term)) [fd] sig(subroutine increment_ints_faster(int_sum, r, max_mag_term)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(increment_ints_faster) arglist(int_sum, r, max_mag_term) [fd] fullname(mom_coms/increment_ints_faster) ftype(None) [fd] name(('mom_coms/increment_ints_faster', None)) sig(subroutine increment_ints_faster(int_sum, r, max_mag_term)) signode(subroutine mom_coms/increment_ints_fasterint_sumrmax_mag_term) [fd] run(.. f:subroutine:: subroutine carry_overflow(int_sum, prec_error)) [fd] sig(subroutine carry_overflow(int_sum, prec_error)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(carry_overflow) arglist(int_sum, prec_error) [fd] fullname(mom_coms/carry_overflow) ftype(None) [fd] name(('mom_coms/carry_overflow', None)) sig(subroutine carry_overflow(int_sum, prec_error)) signode(subroutine mom_coms/carry_overflowint_sumprec_error) [fd] run(.. f:subroutine:: subroutine regularize_ints(int_sum)) [fd] sig(subroutine regularize_ints(int_sum)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(regularize_ints) arglist(int_sum) [fd] fullname(mom_coms/regularize_ints) ftype(None) [fd] name(('mom_coms/regularize_ints', None)) sig(subroutine regularize_ints(int_sum)) signode(subroutine mom_coms/regularize_intsint_sum) [fd] run(.. f:function:: logical function query_efp_overflow_error()) [fd] sig(logical function query_efp_overflow_error()) [fd] ftype(logical) objtype(function) modname(None) typename() name(query_efp_overflow_error) arglist() [fd] fullname(mom_coms/query_efp_overflow_error) ftype(logical) [fd] name(('mom_coms/query_efp_overflow_error', 'logical')) sig(logical function query_efp_overflow_error()) signode(function mom_coms/query_efp_overflow_error [logical]) [fd] run(.. f:subroutine:: subroutine reset_efp_overflow_error()) [fd] sig(subroutine reset_efp_overflow_error()) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(reset_efp_overflow_error) arglist() [fd] fullname(mom_coms/reset_efp_overflow_error) ftype(None) [fd] name(('mom_coms/reset_efp_overflow_error', None)) sig(subroutine reset_efp_overflow_error()) signode(subroutine mom_coms/reset_efp_overflow_error) [fd] run(.. f:function:: type(efp_type) function efp_plus(EFP1, EFP2)) [fd] sig(type(efp_type) function efp_plus(EFP1, EFP2)) [fd] ftype(type(efp_type)) objtype(function) modname(None) typename() name(efp_plus) arglist(EFP1, EFP2) [fd] fullname(mom_coms/efp_plus) ftype(type(efp_type)) [fd] name(('mom_coms/efp_plus', 'type(efp_type)')) sig(type(efp_type) function efp_plus(EFP1, EFP2)) signode(function mom_coms/efp_plusEFP1EFP2 [type(efp_type)]) [fd] run(.. f:function:: type(efp_type) function efp_minus(EFP1, EFP2)) [fd] sig(type(efp_type) function efp_minus(EFP1, EFP2)) [fd] ftype(type(efp_type)) objtype(function) modname(None) typename() name(efp_minus) arglist(EFP1, EFP2) [fd] fullname(mom_coms/efp_minus) ftype(type(efp_type)) [fd] name(('mom_coms/efp_minus', 'type(efp_type)')) sig(type(efp_type) function efp_minus(EFP1, EFP2)) signode(function mom_coms/efp_minusEFP1EFP2 [type(efp_type)]) [fd] run(.. f:subroutine:: subroutine efp_assign(EFP1, EFP2)) [fd] sig(subroutine efp_assign(EFP1, EFP2)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(efp_assign) arglist(EFP1, EFP2) [fd] fullname(mom_coms/efp_assign) ftype(None) [fd] name(('mom_coms/efp_assign', None)) sig(subroutine efp_assign(EFP1, EFP2)) signode(subroutine mom_coms/efp_assignEFP1EFP2) [fd] run(.. f:function:: real function efp_to_real(EFP1)) [fd] sig(real function efp_to_real(EFP1)) [fd] ftype(real) objtype(function) modname(None) typename() name(efp_to_real) arglist(EFP1) [fd] fullname(mom_coms/efp_to_real) ftype(real) [fd] name(('mom_coms/efp_to_real', 'real')) sig(real function efp_to_real(EFP1)) signode(function mom_coms/efp_to_realEFP1 [real]) [fd] run(.. f:function:: real function efp_real_diff(EFP1, EFP2)) [fd] sig(real function efp_real_diff(EFP1, EFP2)) [fd] ftype(real) objtype(function) modname(None) typename() name(efp_real_diff) arglist(EFP1, EFP2) [fd] fullname(mom_coms/efp_real_diff) ftype(real) [fd] name(('mom_coms/efp_real_diff', 'real')) sig(real function efp_real_diff(EFP1, EFP2)) signode(function mom_coms/efp_real_diffEFP1EFP2 [real]) [fd] run(.. f:function:: type(efp_type) function real_to_efp(val, overflow)) [fd] sig(type(efp_type) function real_to_efp(val, overflow)) [fd] ftype(type(efp_type)) objtype(function) modname(None) typename() name(real_to_efp) arglist(val, overflow) [fd] fullname(mom_coms/real_to_efp) ftype(type(efp_type)) [fd] name(('mom_coms/real_to_efp', 'type(efp_type)')) sig(type(efp_type) function real_to_efp(val, overflow)) signode(function mom_coms/real_to_efpvaloverflow [type(efp_type)]) [fd] run(.. f:subroutine:: subroutine efp_list_sum_across_pes(EFPs, nval, errors)) [fd] sig(subroutine efp_list_sum_across_pes(EFPs, nval, errors)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(efp_list_sum_across_pes) arglist(EFPs, nval, errors) [fd] fullname(mom_coms/efp_list_sum_across_pes) ftype(None) [fd] name(('mom_coms/efp_list_sum_across_pes', None)) sig(subroutine efp_list_sum_across_pes(EFPs, nval, errors)) signode(subroutine mom_coms/efp_list_sum_across_pesEFPsnvalerrors) [fd] run(.. f:subroutine:: subroutine efp_val_sum_across_pes(EFP, error)) [fd] sig(subroutine efp_val_sum_across_pes(EFP, error)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(efp_val_sum_across_pes) arglist(EFP, error) [fd] fullname(mom_coms/efp_val_sum_across_pes) ftype(None) [fd] name(('mom_coms/efp_val_sum_across_pes', None)) sig(subroutine efp_val_sum_across_pes(EFP, error)) signode(subroutine mom_coms/efp_val_sum_across_pesEFPerror) [fd] run(.. f:subroutine:: subroutine mom_infra_endNone) [fd] sig(subroutine mom_infra_endNone) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_infra_endNone) arglist(None) [fd] fullname(mom_coms/mom_infra_endNone) ftype(None) [fd] name(('mom_coms/mom_infra_endNone', None)) sig(subroutine mom_infra_endNone) signode(subroutine mom_coms/mom_infra_endNone) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 20%] api/generated/modules/mom_constants [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_constant [app] emitting event: 'source-read'('api/generated/modules/mom_constants', ['.. autodoxymodule:: mom_constants\n :members:\n\n\n']) [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_constants.rst:1: input: .. autodoxymodule:: mom_constants :members: [debug] xpath(./compounddef/compoundname[text()="mom_constants"]/..) match([('id', 'namespacemom__constants'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_constants module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_constants', , {'members': , {'members': , {'members': `_ .. _DETAmom_constants: -------------------- Detailed Description -------------------- Provides a few physical constants. [app] emitting event: 'doctree-read'(>,) reading sources... [ 20%] api/generated/modules/mom_continuity [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_continui [app] emitting event: 'source-read'('api/generated/modules/mom_continuity', ['.. autodoxymodule:: mom_continuity\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_continuity.rst:1: input: .. autodoxymodule:: mom_continuity :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_continuity::continuity_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_continuity::continuity ~mom_continuity::continuity_init ~mom_continuity::continuity_stencil ~mom_continuity::continuity_end [debug] xpath(./compounddef/compoundname[text()="mom_continuity"]/..) match([('id', 'namespacemom__continuity'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_continuity module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_continuity', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_continuity' (exception was: ModuleNotFoundError("No module named 'mom_continuity'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_continuity::continuity_cs', , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__continuity) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__continuity'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity::continuity_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity::continuity_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity::continuity_cs', , {'members': < [debug] members([('continuity', ), ('continuity_init', ), ('continuity_stencil', ), ('continuity_end', )]) [autodoc] module analyzer failed: error importing 'mom_continuity' (exception was: ModuleNotFoundError("No module named 'mom_continuity'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, hin, h, uh, vh, dt, G, GV, US, CS, uhbt, vhbt, OBC, visc_rem_u, visc_rem_v, u_cor, v_cor, BT_cont)) [debug] add_directive_header sig((u, v, hin, h, uh, vh, dt, G, GV, US, CS, uhbt, vhbt, OBC, visc_rem_u, visc_rem_v, u_cor, v_cor, BT_cont)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine continuity) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'continuity', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__continuity_1_1continuity__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'continuity_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__continuity_1_1continuity__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'continuity_end', , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_continuity::continuity_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_continuity::continuity ~mom_continuity::continuity_init ~mom_continuity::continuity_stencil ~mom_continuity::continuity_end .. _DETAmom_continuity: -------------------- Detailed Description -------------------- Solve the layer continuity equation. ------------------ Type Documentation ------------------ .. f:type:: continuity_cs Control structure for :f:func:`mom_continuity`. . :typefield integer continuity_scheme: Selects the discretization for the continuity solver. Valid values are: :typefield type(continuity_ppm_cs) ppm_csp [pointer]: Control structure for --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine continuity(u, v, hin, h, uh, vh, dt, G, GV, US, CS, uhbt, vhbt, OBC, visc_rem_u, visc_rem_v, u_cor, v_cor, BT_cont) Time steps the layer thicknesses, using a monotonically limited, directionally split PPM scheme, based on Lin (1994). :param g: [inout] Ocean grid structure. :param gv: [in] Vertical grid structure. :param u: [in] Zonal velocity [L T-1 ~> m s-1]. :param v: [in] Meridional velocity [L T-1 ~> m s-1]. :param hin: [in] Initial layer thickness [H ~> m or kg m-2]. :param h: [inout] Final layer thickness [H ~> m or kg m-2]. :param uh: [out] Volume flux through zonal faces = :param vh: [out] Volume flux through meridional faces = :param dt: [in] Time increment [T ~> s]. :param us: [in] A dimensional unit scaling type :param cs: Control structure for :f:func:`mom_continuity`. . :param uhbt: [in] The vertically summed volume :param vhbt: [in] The vertically summed volume :param obc: Open boundaries control structure. :param visc_rem_u: [in] Both the fraction of :param visc_rem_v: [in] Both the fraction of :param u_cor: [out] The zonal velocities that :param v_cor: [out] The meridional velocities that :param bt_cont: A structure with elements :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ppm_scheme ` :calledfrom: :f:func:`mom_dynamics_unsplit::step_mom_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2 ` .. f:subroutine:: subroutine continuity_init(Time, G, GV, US, param_file, diag, CS) Initializes :f:func:`continuity_cs`. . :param time: [in] Current model time. :param g: [in] Ocean grid structure. :param gv: [in] Vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] Parameter file handles. :param diag: [inout] Diagnostics control structure. :param cs: Control structure for :f:func:`mom_continuity`. . :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`ppm_scheme ` :callto: :f:func:`ppm_string ` :callto: :f:func:`mom_string_functions::uppercase ` :calledfrom: :f:func:`mom_dynamics_unsplit::initialize_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::initialize_dyn_unsplit_rk2 ` .. f:function:: integer function continuity_stencil(CS) continuity_stencil returns the continuity solver stencil size :param cs: Module's control structure. :returns undefined: The continuity solver stencil size with the current settings. :callto: :f:func:`ppm_scheme ` :calledfrom: :f:func:`mom_dynamics_split_rk2::initialize_dyn_split_rk2 ` :calledfrom: :f:func:`mom_dynamics_unsplit::initialize_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::initialize_dyn_unsplit_rk2 ` :calledfrom: :f:func:`mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ` .. f:subroutine:: subroutine continuity_end(CS) Destructor for :f:func:`continuity_cs`. . :param cs: Control structure for :f:func:`mom_continuity`. . :callto: :f:func:`mom_continuity_ppm::continuity_ppm_end ` :callto: :f:func:`ppm_scheme ` [debug] xpath(./compounddef/compoundname[text()="mom_continuity::continuity_cs"]/..) match([('id', 'structmom__continuity_1_1continuity__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__continuity) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__continuity'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_continuity::continuity_cs', , {}, ['', 'C [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_continuity::continuity_cs', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_continuity::continuity_cs', , {}, ['', 'C [debug] DoxygenMethodDocumenter format_signature called ((u, v, hin, h, uh, vh, dt, G, GV, US, CS, uhbt, vhbt, OBC, visc_rem_u, visc_rem_v, u_cor, v_cor, BT_cont)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity::continuity', , {}, ['', 'Time s [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity::continuity', , {}, ['', 'Time s [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__continuity_1_1continuity__cs) kindref(compound) ref([]) [debug] ref([('id', 'structmom__continuity_1_1continuity__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity::continuity_init', , {}, ['', 'I [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity::continuity_init', , {}, ['', 'I [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity::continuity_stencil', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity::continuity_stencil', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__continuity_1_1continuity__cs) kindref(compound) ref([]) [debug] ref([('id', 'structmom__continuity_1_1continuity__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity::continuity_end', , {}, ['', 'De [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity::continuity_end', , {}, ['', 'De [fd] run(.. f:type:: continuity_cs) [fd] sig(continuity_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(continuity_cs) arglist(None) [fd] fullname(mom_continuity/continuity_cs) ftype(None) [fd] name(('mom_continuity/continuity_cs', None)) sig(continuity_cs) signode(type mom_continuity/continuity_cs) [fd] run(.. f:subroutine:: subroutine continuity(u, v, hin, h, uh, vh, dt, G, GV, US, CS, uhbt, vhbt, OBC, visc_rem_u, visc_rem_v, u_cor, v_cor, BT_cont)) [fd] sig(subroutine continuity(u, v, hin, h, uh, vh, dt, G, GV, US, CS, uhbt, vhbt, OBC, visc_rem_u, visc_rem_v, u_cor, v_cor, BT_cont)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(continuity) arglist(u, v, hin, h, uh, vh, dt, G, GV, US, CS, uhbt, vhbt, OBC, visc_rem_u, visc_rem_v, u_cor, v_cor, BT_cont) [fd] fullname(mom_continuity/continuity) ftype(None) [fd] name(('mom_continuity/continuity', None)) sig(subroutine continuity(u, v, hin, h, uh, vh, dt, G, GV, US, CS, uhbt, vhbt, OBC, visc_rem_u, visc_rem_v, u_cor, v_cor, BT_cont)) signode(subroutine mom_continuity/continuityuvhinhuhvhdtGGVUSCSuhbtvhbtOBCvisc_rem_uvisc_rem_vu_corv_corBT_cont) [fd] run(.. f:subroutine:: subroutine continuity_init(Time, G, GV, US, param_file, diag, CS)) [fd] sig(subroutine continuity_init(Time, G, GV, US, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(continuity_init) arglist(Time, G, GV, US, param_file, diag, CS) [fd] fullname(mom_continuity/continuity_init) ftype(None) [fd] name(('mom_continuity/continuity_init', None)) sig(subroutine continuity_init(Time, G, GV, US, param_file, diag, CS)) signode(subroutine mom_continuity/continuity_initTimeGGVUSparam_filediagCS) [fd] run(.. f:function:: integer function continuity_stencil(CS)) [fd] sig(integer function continuity_stencil(CS)) [fd] ftype(integer) objtype(function) modname(None) typename() name(continuity_stencil) arglist(CS) [fd] fullname(mom_continuity/continuity_stencil) ftype(integer) [fd] name(('mom_continuity/continuity_stencil', 'integer')) sig(integer function continuity_stencil(CS)) signode(function mom_continuity/continuity_stencilCS [integer]) [fd] run(.. f:subroutine:: subroutine continuity_end(CS)) [fd] sig(subroutine continuity_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(continuity_end) arglist(CS) [fd] fullname(mom_continuity/continuity_end) ftype(None) [fd] name(('mom_continuity/continuity_end', None)) sig(subroutine continuity_end(CS)) signode(subroutine mom_continuity/continuity_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 21%] api/generated/modules/mom_continuity_ppm [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_continui [app] emitting event: 'source-read'('api/generated/modules/mom_continuity_ppm', ['.. autodoxymodule:: mom_continuity_ppm\n :members:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_continuity_ppm.rst:1: input: .. autodoxymodule:: mom_continuity_ppm :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_continuity_ppm::continuity_ppm_cs ~mom_continuity_ppm::loop_bounds_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_continuity_ppm::continuity_ppm ~mom_continuity_ppm::zonal_mass_flux ~mom_continuity_ppm::zonal_flux_layer ~mom_continuity_ppm::zonal_face_thickness ~mom_continuity_ppm::zonal_flux_adjust ~mom_continuity_ppm::set_zonal_bt_cont ~mom_continuity_ppm::meridional_mass_flux ~mom_continuity_ppm::merid_flux_layer ~mom_continuity_ppm::merid_face_thickness ~mom_continuity_ppm::meridional_flux_adjust ~mom_continuity_ppm::set_merid_bt_cont ~mom_continuity_ppm::ppm_reconstruction_x ~mom_continuity_ppm::ppm_reconstruction_y ~mom_continuity_ppm::ppm_limit_pos ~mom_continuity_ppm::ppm_limit_cw84 ~mom_continuity_ppm::ratio_max ~mom_continuity_ppm::continuity_ppm_init ~mom_continuity_ppm::continuity_ppm_stencil ~mom_continuity_ppm::continuity_ppm_end [debug] xpath(./compounddef/compoundname[text()="mom_continuity_ppm"]/..) match([('id', 'namespacemom__continuity__ppm'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_continuity_ppm module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_continuity_ppm', , {'members': , {'members': , {'members': ), ('mom_continuity_ppm::loop_bounds_type', )]) [autodoc] module analyzer failed: error importing 'mom_continuity_ppm' (exception was: ModuleNotFoundError("No module named 'mom_continuity_ppm'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_continuity_ppm::continuity_ppm_cs', , {'mem [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__continuity__ppm) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__continuity__ppm'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::continuity_ppm_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::continuity_ppm_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::continuity_ppm_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::continuity_ppm_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::continuity_ppm_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::continuity_ppm_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::continuity_ppm_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::continuity_ppm_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::continuity_ppm_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::continuity_ppm_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::continuity_ppm_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::continuity_ppm_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::continuity_ppm_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::continuity_ppm_cs', , {'mem [autodoc] module analyzer failed: error importing 'mom_continuity_ppm' (exception was: ModuleNotFoundError("No module named 'mom_continuity_ppm'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_continuity_ppm::loop_bounds_type', , {'memb [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::loop_bounds_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::loop_bounds_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::loop_bounds_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::loop_bounds_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_continuity_ppm::loop_bounds_type', , {'memb [debug] members([('continuity_ppm', ), ('zonal_mass_flux', ), ('zonal_flux_layer', ), ('zonal_face_thickness', ), ('zonal_flux_adjust', ), ('set_zonal_bt_cont', ), ('meridional_mass_flux', ), ('merid_flux_layer', ), ('merid_face_thickness', ), ('meridional_flux_adjust', ), ('set_merid_bt_cont', ), ('ppm_reconstruction_x', ), ('ppm_reconstruction_y', ), ('ppm_limit_pos', ), ('ppm_limit_cw84', ), ('ratio_max', ), ('continuity_ppm_init', ), ('continuity_ppm_stencil', ), ('continuity_ppm_end', )]) [autodoc] module analyzer failed: error importing 'mom_continuity_ppm' (exception was: ModuleNotFoundError("No module named 'mom_continuity_ppm'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, hin, h, uh, vh, dt, G, GV, US, CS, uhbt, vhbt, OBC, visc_rem_u, visc_rem_v, u_cor, v_cor, BT_cont)) [debug] add_directive_header sig((u, v, hin, h, uh, vh, dt, G, GV, US, CS, uhbt, vhbt, OBC, visc_rem_u, visc_rem_v, u_cor, v_cor, BT_cont)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine continuity_ppm) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'continuity_ppm', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__continuity__ppm_1_1continuity__ppm__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'continuity_ppm_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__continuity__ppm_1_1continuity__ppm__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'continuity_ppm_end', , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_continuity_ppm::continuity_ppm_cs ~mom_continuity_ppm::loop_bounds_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_continuity_ppm::continuity_ppm ~mom_continuity_ppm::zonal_mass_flux ~mom_continuity_ppm::zonal_flux_layer ~mom_continuity_ppm::zonal_face_thickness ~mom_continuity_ppm::zonal_flux_adjust ~mom_continuity_ppm::set_zonal_bt_cont ~mom_continuity_ppm::meridional_mass_flux ~mom_continuity_ppm::merid_flux_layer ~mom_continuity_ppm::merid_face_thickness ~mom_continuity_ppm::meridional_flux_adjust ~mom_continuity_ppm::set_merid_bt_cont ~mom_continuity_ppm::ppm_reconstruction_x ~mom_continuity_ppm::ppm_reconstruction_y ~mom_continuity_ppm::ppm_limit_pos ~mom_continuity_ppm::ppm_limit_cw84 ~mom_continuity_ppm::ratio_max ~mom_continuity_ppm::continuity_ppm_init ~mom_continuity_ppm::continuity_ppm_stencil ~mom_continuity_ppm::continuity_ppm_end .. _DETAmom_continuity_ppm: -------------------- Detailed Description -------------------- This module contains the subroutines that advect layer thickness. The scheme here uses a Piecewise-Parabolic method with a positive definite limiter. ------------------ Type Documentation ------------------ .. f:type:: continuity_ppm_cs Control structure for :f:func:`mom_continuity_ppm`. . :typefield type(diag_ctrl) diag [pointer]: Diagnostics control structure. :typefield logical upwind_1st: If true, use a first-order upwind scheme. :typefield logical monotonic: If true, use the Colella & Woodward monotonic limiter; otherwise use a simple positive definite limiter. :typefield logical simple_2nd: If true, use a simple second order (arithmetic mean) interpolation of the edge values instead of the higher order interpolation. :typefield real tol_eta: The tolerance for free-surface height discrepancies between the barotropic solution and the sum of the layer thicknesses [H ~> m or kg m-2]. :typefield real tol_vel: The tolerance for barotropic velocity discrepancies between the barotropic solution and the sum of the layer thicknesses [L T-1 ~> m s-1]. :typefield real tol_eta_aux: The tolerance for free-surface height discrepancies between the barotropic solution and the sum of the layer thicknesses when calculating the auxiliary corrected velocities [H ~> m or kg m-2]. :typefield real cfl_limit_adjust: The maximum CFL of the adjusted velocities [nondim]. :typefield logical aggress_adjust: If true, allow the adjusted velocities to have a relative CFL change up to 0.5. False by default. :typefield logical vol_cfl: If true, use the ratio of the open face lengths to the tracer cell areas when estimating CFL numbers. Without aggress_adjust, the default is false; it is always true with. :typefield logical better_iter: If true, stop corrective iterations using a velocity-based criterion and only stop if the iteration is better than all predecessors. :typefield logical use_visc_rem_max: If true, use more appropriate limiting bounds for corrections in strongly viscous columns. :typefield logical marginal_faces: If true, use the marginal face areas from the continuity solver for use as the weights in the barotropic solver. Otherwise use the transport averaged areas. .. f:type:: loop_bounds_type A container for loop bounds. :typefield integer ish [private]: Loop bounds. :typefield integer ieh [private]: Loop bounds. :typefield integer jsh [private]: Loop bounds. :typefield integer jeh [private]: Loop bounds. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine continuity_ppm(u, v, hin, h, uh, vh, dt, G, GV, US, CS, uhbt, vhbt, OBC, visc_rem_u, visc_rem_v, u_cor, v_cor, BT_cont) Time steps the layer thicknesses, using a monotonically limit, directionally split PPM scheme, based on Lin (1994). :param g: [inout] The ocean's grid structure. :param cs: Module's control structure. :param u: [in] Zonal velocity [L T-1 ~> m s-1]. :param v: [in] Meridional velocity [L T-1 ~> m s-1]. :param hin: [in] Initial layer thickness [H ~> m or kg m-2]. :param h: [inout] Final layer thickness [H ~> m or kg m-2]. :param uh: [out] Zonal volume flux, u*h*dy [H L2 T-1 ~> m3 s-1 or kg s-1]. :param vh: [out] Meridional volume flux, v*h*dx [H L2 T-1 ~> m3 s-1 or kg s-1]. :param dt: [in] Time increment [T ~> s]. :param gv: [in] Vertical grid structure. :param us: [in] A dimensional unit scaling type :param uhbt: [in] The summed volume flux through zonal faces :param vhbt: [in] The summed volume flux through meridional faces :param obc: Open boundaries control structure. :param visc_rem_u: [in] The fraction of zonal momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step's worth of a barotropic acceleration that a layer experiences after viscosity is applied. Non-dimensional between 0 (at the bottom) and 1 (far above the bottom). :param visc_rem_v: [in] The fraction of meridional momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step's worth of a barotropic acceleration that a layer experiences after viscosity is applied. Non-dimensional between 0 (at the bottom) and 1 (far above the bottom). :param u_cor: [out] The zonal velocities that give uhbt as the depth-integrated transport [L T-1 ~> m s-1]. :param v_cor: [out] The meridional velocities that give vhbt as the depth-integrated transport [L T-1 ~> m s-1]. :param bt_cont: A structure with elements that describe the effective open face areas as a function of barotropic flow. :callto: :f:func:`id_clock_update ` :callto: :f:func:`meridional_mass_flux ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`zonal_mass_flux ` .. f:subroutine:: subroutine zonal_mass_flux(u, h_in, uh, dt, G, GV, US, CS, LB, uhbt, OBC, visc_rem_u, u_cor, BT_cont) Calculates the mass or volume fluxes through the zonal faces, and other related quantities. :param g: [inout] Ocean's grid structure. :param gv: [in] Ocean's vertical grid structure. :param u: [in] Zonal velocity [L T-1 ~> m s-1]. :param h_in: [in] Layer thickness used to calculate fluxes [H ~> m or kg m-2]. :param uh: [out] Volume flux through zonal faces = u*h*dy :param dt: [in] Time increment [T ~> s]. :param us: [in] A dimensional unit scaling type :param cs: This module's control structure. :param lb: [in] Loop bounds structure. :param obc: Open boundaries control structure. :param visc_rem_u: [in] The fraction of zonal momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step's worth of a barotropic acceleration that a layer experiences after viscosity is applied. Non-dimensional between 0 (at the bottom) and 1 (far above the bottom). :param uhbt: [in] The summed volume flux through zonal faces :param u_cor: [out] The zonal velocitiess (u with a barotropic correction) that give uhbt as the depth-integrated transport, m s-1. :param bt_cont: A structure with elements that describe the effective open face areas as a function of barotropic flow. :callto: :f:func:`id_clock_correct ` :callto: :f:func:`id_clock_update ` :callto: :f:func:`mom_open_boundary::obc_direction_e ` :callto: :f:func:`ppm_reconstruction_x ` :callto: :f:func:`ratio_max ` :callto: :f:func:`set_zonal_bt_cont ` :callto: :f:func:`zonal_face_thickness ` :callto: :f:func:`zonal_flux_adjust ` :callto: :f:func:`zonal_flux_layer ` :calledfrom: :f:func:`continuity_ppm ` .. f:subroutine:: subroutine zonal_flux_layer(u, h, h_L, h_R, uh, duhdu, visc_rem, dt, G, US, j, ish, ieh, do_I, vol_CFL, OBC) Evaluates the zonal mass or volume fluxes in a layer. :param g: [inout] Ocean's grid structure. :param u: [in] Zonal velocity [L T-1 ~> m s-1]. :param visc_rem: [in] Both the fraction of the momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step's worth of a barotropic acceleration that a layer experiences after viscosity is applied. Non-dimensional between 0 (at the bottom) and 1 (far above the bottom). :param h: [in] Layer thickness [H ~> m or kg m-2]. :param h_l: [in] Left thickness [H ~> m or kg m-2]. :param h_r: [in] Right thickness [H ~> m or kg m-2]. :param uh: [inout] Zonal mass or volume transport [H L2 T-1 ~> m3 s-1 or kg s-1]. :param duhdu: [inout] Partial derivative of uh with u [H L ~> m2 or kg m-1]. :param dt: [in] Time increment [T ~> s]. :param us: [in] A dimensional unit scaling type :param j: [in] Spatial index. :param ish: [in] Start of index range. :param ieh: [in] End of index range. :param do_i: [in] Which i values to work on. :param vol_cfl: [in] If true, rescale the ratio of face areas to the cell areas when estimating the CFL number. :param obc: Open boundaries control structure. :callto: :f:func:`mom_open_boundary::obc_direction_e ` :calledfrom: :f:func:`set_zonal_bt_cont ` :calledfrom: :f:func:`zonal_flux_adjust ` :calledfrom: :f:func:`zonal_mass_flux ` .. f:subroutine:: subroutine zonal_face_thickness(u, h, h_L, h_R, h_u, dt, G, US, LB, vol_CFL, marginal, visc_rem_u, OBC) Sets the effective interface thickness at each zonal velocity point. :param g: [inout] Ocean's grid structure. :param u: [in] Zonal velocity [L T-1 ~> m s-1]. :param h: [in] Layer thickness used to calculate fluxes [H ~> m or kg m-2]. :param h_l: [in] Left thickness in the reconstruction [H ~> m or kg m-2]. :param h_r: [in] Right thickness in the reconstruction [H ~> m or kg m-2]. :param h_u: [inout] Thickness at zonal faces [H ~> m or kg m-2]. :param dt: [in] Time increment [T ~> s]. :param us: [in] A dimensional unit scaling type :param lb: [in] Loop bounds structure. :param vol_cfl: [in] If true, rescale the ratio of face areas to the cell areas when estimating the CFL number. :param marginal: [in] If true, report the marginal face thicknesses; otherwise report transport-averaged thicknesses. :param visc_rem_u: [in] Both the fraction of the momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step's worth of a barotropic acceleration that a layer experiences after viscosity is applied. Non-dimensional between 0 (at the bottom) and 1 (far above the bottom). :param obc: Open boundaries control structure. :callto: :f:func:`mom_open_boundary::obc_direction_e ` :calledfrom: :f:func:`zonal_mass_flux ` .. f:subroutine:: subroutine zonal_flux_adjust(u, h_in, h_L, h_R, uhbt, uh_tot_0, duhdu_tot_0, du, du_max_CFL, du_min_CFL, dt, G, US, CS, visc_rem, j, ish, ieh, do_I_in, full_precision, uh_3d, OBC) Returns the barotropic velocity adjustment that gives the desired barotropic (layer-summed) transport. :param g: [inout] Ocean's grid structure. :param u: [in] Zonal velocity [L T-1 ~> m s-1]. :param h_in: [in] Layer thickness used to calculate fluxes [H ~> m or kg m-2]. :param h_l: [in] Left thickness in the reconstruction [H ~> m or kg m-2]. :param h_r: [in] Right thickness in the reconstruction [H ~> m or kg m-2]. :param visc_rem: [in] Both the fraction of the momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step's worth of a barotropic acceleration that a layer experiences after viscosity is applied. Non-dimensional between 0 (at the bottom) and 1 (far above the bottom). :param uhbt: [in] The summed volume flux through zonal faces [H L2 T-1 ~> m3 s-1 or kg s-1]. :param du_max_cfl: [in] Maximum acceptable value of du [L T-1 ~> m s-1]. :param du_min_cfl: [in] Minimum acceptable value of du [L T-1 ~> m s-1]. :param uh_tot_0: [in] The summed transport with 0 adjustment [H L2 T-1 ~> m3 s-1 or kg s-1]. :param duhdu_tot_0: [in] The partial derivative of du_err with du at 0 adjustment [H L ~> m2 or kg m-1]. :param du: [out] The barotropic velocity adjustment [L T-1 ~> m s-1]. :param dt: [in] Time increment [T ~> s]. :param us: [in] A dimensional unit scaling type :param cs: This module's control structure. :param j: [in] Spatial index. :param ish: [in] Start of index range. :param ieh: [in] End of index range. :param do_i_in: [in] A logical flag indicating which I values to work on. :param full_precision: [in] A flag indicating how carefully to iterate. The default is .true. (more accurate). :param uh_3d: [inout] Volume flux through zonal faces = u*h*dy [H L2 T-1 ~> m3 s-1 or kg s-1]. :param obc: Open boundaries control structure. :callto: :f:func:`zonal_flux_layer ` :calledfrom: :f:func:`set_zonal_bt_cont ` :calledfrom: :f:func:`zonal_mass_flux ` .. f:subroutine:: subroutine set_zonal_bt_cont(u, h_in, h_L, h_R, BT_cont, uh_tot_0, duhdu_tot_0, du_max_CFL, du_min_CFL, dt, G, US, CS, visc_rem, visc_rem_max, j, ish, ieh, do_I) Sets a structure that describes the zonal barotropic volume or mass fluxes as a function of barotropic flow to agree closely with the sum of the layer's transports. :param g: [inout] Ocean's grid structure. :param u: [in] Zonal velocity [L T-1 ~> m s-1]. :param h_in: [in] Layer thickness used to calculate fluxes [H ~> m or kg m-2]. :param h_l: [in] Left thickness in the reconstruction [H ~> m or kg m-2]. :param h_r: [in] Right thickness in the reconstruction [H ~> m or kg m-2]. :param bt_cont: [inout] A structure with elements that describe the effective open face areas as a function of barotropic flow. :param uh_tot_0: [in] The summed transport with 0 adjustment [H L2 T-1 ~> m3 s-1 or kg s-1]. :param duhdu_tot_0: [in] The partial derivative of du_err with du at 0 adjustment [H L ~> m2 or kg m-1]. :param du_max_cfl: [in] Maximum acceptable value of du [L T-1 ~> m s-1]. :param du_min_cfl: [in] Minimum acceptable value of du [L T-1 ~> m s-1]. :param dt: [in] Time increment [T ~> s]. :param us: [in] A dimensional unit scaling type :param cs: This module's control structure. :param visc_rem: [in] Both the fraction of the momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step's worth of a barotropic acceleration that a layer experiences after viscosity is applied. Non-dimensional between 0 (at the bottom) and 1 (far above the bottom). :param visc_rem_max: [in] Maximum allowable visc_rem. :param j: [in] Spatial index. :param ish: [in] Start of index range. :param ieh: [in] End of index range. :param do_i: [in] A logical flag indicating which I values to work on. :callto: :f:func:`zonal_flux_adjust ` :callto: :f:func:`zonal_flux_layer ` :calledfrom: :f:func:`zonal_mass_flux ` .. f:subroutine:: subroutine meridional_mass_flux(v, h_in, vh, dt, G, GV, US, CS, LB, vhbt, OBC, visc_rem_v, v_cor, BT_cont) Calculates the mass or volume fluxes through the meridional faces, and other related quantities. :param g: [inout] Ocean's grid structure. :param gv: [in] Ocean's vertical grid structure. :param v: [in] Meridional velocity [L T-1 ~> m s-1]. :param h_in: [in] Layer thickness used to calculate fluxes [H ~> m or kg m-2]. :param vh: [out] Volume flux through meridional faces = v*h*dx [H m2 s-1 ~> m3 s-1 or kg s-1]. :param dt: [in] Time increment [T ~> s]. :param us: [in] A dimensional unit scaling type :param cs: This module's control structure.G :param lb: [in] Loop bounds structure. :param obc: Open boundary condition type specifies whether, where, and what open boundary conditions are used. :param visc_rem_v: [in] Both the fraction of the momentum :param vhbt: [in] The summed volume flux through meridional faces [H L2 T-1 ~> m3 s-1 or kg s-1]. :param v_cor: [out] The meridional velocitiess (v with a barotropic correction) that give vhbt as the depth-integrated transport [L T-1 ~> m s-1]. :param bt_cont: A structure with elements that describe the effective open face areas as a function of barotropic flow. :callto: :f:func:`id_clock_correct ` :callto: :f:func:`id_clock_update ` :callto: :f:func:`merid_face_thickness ` :callto: :f:func:`merid_flux_layer ` :callto: :f:func:`meridional_flux_adjust ` :callto: :f:func:`mom_open_boundary::obc_direction_n ` :callto: :f:func:`ppm_reconstruction_y ` :callto: :f:func:`ratio_max ` :callto: :f:func:`set_merid_bt_cont ` :calledfrom: :f:func:`continuity_ppm ` .. f:subroutine:: subroutine merid_flux_layer(v, h, h_L, h_R, vh, dvhdv, visc_rem, dt, G, US, J, ish, ieh, do_I, vol_CFL, OBC) Evaluates the meridional mass or volume fluxes in a layer. :param g: [inout] Ocean's grid structure. :param v: [in] Meridional velocity [L T-1 ~> m s-1]. :param visc_rem: [in] Both the fraction of the momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step's worth of a barotropic acceleration that a layer experiences after viscosity is applied. Non-dimensional between 0 (at the bottom) and 1 (far above the bottom). :param h: [in] Layer thickness used to calculate fluxes, [H ~> m or kg m-2]. :param h_l: [in] Left thickness in the reconstruction [H ~> m or kg m-2]. :param h_r: [in] Right thickness in the reconstruction [H ~> m or kg m-2]. :param vh: [inout] Meridional mass or volume transport [H L2 T-1 ~> m3 s-1 or kg s-1]. :param dvhdv: [inout] Partial derivative of vh with v [H L ~> m2 or kg m-1]. :param dt: [in] Time increment [T ~> s]. :param us: [in] A dimensional unit scaling type :param j: [in] Spatial index. :param ish: [in] Start of index range. :param ieh: [in] End of index range. :param do_i: [in] Which i values to work on. :param vol_cfl: [in] If true, rescale the ratio of face areas to the cell areas when estimating the CFL number. :param obc: Open boundaries control structure. :callto: :f:func:`mom_open_boundary::obc_direction_n ` :calledfrom: :f:func:`meridional_flux_adjust ` :calledfrom: :f:func:`meridional_mass_flux ` :calledfrom: :f:func:`set_merid_bt_cont ` .. f:subroutine:: subroutine merid_face_thickness(v, h, h_L, h_R, h_v, dt, G, US, LB, vol_CFL, marginal, visc_rem_v, OBC) Sets the effective interface thickness at each meridional velocity point. :param g: [inout] Ocean's grid structure. :param v: [in] Meridional velocity [L T-1 ~> m s-1]. :param h: [in] Layer thickness used to calculate fluxes, [H ~> m or kg m-2]. :param h_l: [in] Left thickness in the reconstruction, [H ~> m or kg m-2]. :param h_r: [in] Right thickness in the reconstruction, [H ~> m or kg m-2]. :param h_v: [inout] Thickness at meridional faces, [H ~> m or kg m-2]. :param dt: [in] Time increment [T ~> s]. :param lb: [in] Loop bounds structure. :param us: [in] A dimensional unit scaling type :param vol_cfl: [in] If true, rescale the ratio of face areas to the cell areas when estimating the CFL number. :param marginal: [in] If true, report the marginal face thicknesses; otherwise report transport-averaged thicknesses. :param visc_rem_v: [in] Both the fraction of the momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step's worth of a barotropic acceleration that a layer experiences after viscosity is applied. Non-dimensional between 0 (at the bottom) and 1 (far above the bottom). :param obc: Open boundaries control structure. :callto: :f:func:`mom_open_boundary::obc_direction_n ` :calledfrom: :f:func:`meridional_mass_flux ` .. f:subroutine:: subroutine meridional_flux_adjust(v, h_in, h_L, h_R, vhbt, vh_tot_0, dvhdv_tot_0, dv, dv_max_CFL, dv_min_CFL, dt, G, US, CS, visc_rem, j, ish, ieh, do_I_in, full_precision, vh_3d, OBC) Returns the barotropic velocity adjustment that gives the desired barotropic (layer-summed) transport. :param g: [inout] Ocean's grid structure. :param v: [in] Meridional velocity [L T-1 ~> m s-1]. :param h_in: [in] Layer thickness used to calculate fluxes [H ~> m or kg m-2]. :param h_l: [in] Left thickness in the reconstruction [H ~> m or kg m-2]. :param h_r: [in] Right thickness in the reconstruction [H ~> m or kg m-2]. :param visc_rem: [in] Both the fraction of the momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step's worth of a barotropic acceleration that a layer experiences after viscosity is applied. Non-dimensional between 0 (at the bottom) and 1 (far above the bottom). :param vhbt: [in] The summed volume flux through meridional faces :param dv_max_cfl: [in] Maximum acceptable value of dv [L T-1 ~> m s-1]. :param dv_min_cfl: [in] Minimum acceptable value of dv [L T-1 ~> m s-1]. :param vh_tot_0: [in] The summed transport with 0 adjustment [H L2 T-1 ~> m3 s-1 or kg s-1]. :param dvhdv_tot_0: [in] The partial derivative of dv_err with dv at 0 adjustment [H L ~> m2 or kg m-1]. :param dv: [out] The barotropic velocity adjustment [L T-1 ~> m s-1]. :param dt: [in] Time increment [T ~> s]. :param us: [in] A dimensional unit scaling type :param cs: This module's control structure. :param j: [in] Spatial index. :param ish: [in] Start of index range. :param ieh: [in] End of index range. :param do_i_in: [in] A flag indicating which I values to work on. :param full_precision: [in] A flag indicating how carefully to iterate. The default is .true. (more accurate). :param vh_3d: [inout] Volume flux through meridional :param obc: Open boundaries control structure. :callto: :f:func:`merid_flux_layer ` :calledfrom: :f:func:`meridional_mass_flux ` :calledfrom: :f:func:`set_merid_bt_cont ` .. f:subroutine:: subroutine set_merid_bt_cont(v, h_in, h_L, h_R, BT_cont, vh_tot_0, dvhdv_tot_0, dv_max_CFL, dv_min_CFL, dt, G, US, CS, visc_rem, visc_rem_max, j, ish, ieh, do_I) Sets of a structure that describes the meridional barotropic volume or mass fluxes as a function of barotropic flow to agree closely with the sum of the layer's transports. :param g: [inout] Ocean's grid structure. :param v: [in] Meridional velocity [L T-1 ~> m s-1]. :param h_in: [in] Layer thickness used to calculate fluxes, [H ~> m or kg m-2]. :param h_l: [in] Left thickness in the reconstruction, [H ~> m or kg m-2]. :param h_r: [in] Right thickness in the reconstruction, [H ~> m or kg m-2]. :param bt_cont: [inout] A structure with elements that describe the effective open face areas as a function of barotropic flow. :param vh_tot_0: [in] The summed transport with 0 adjustment [H L2 T-1 ~> m3 s-1 or kg s-1]. :param dvhdv_tot_0: [in] The partial derivative of du_err with dv at 0 adjustment [H L ~> m2 or kg m-1]. :param dv_max_cfl: [in] Maximum acceptable value of dv [L T-1 ~> m s-1]. :param dv_min_cfl: [in] Minimum acceptable value of dv [L T-1 ~> m s-1]. :param dt: [in] Time increment [T ~> s]. :param us: [in] A dimensional unit scaling type :param cs: This module's control structure. :param visc_rem: [in] Both the fraction of the momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step's worth of a barotropic acceleration that a layer experiences after viscosity is applied. Non-dimensional between 0 (at the bottom) and 1 (far above the bottom). :param visc_rem_max: [in] Maximum allowable visc_rem. :param j: [in] Spatial index. :param ish: [in] Start of index range. :param ieh: [in] End of index range. :param do_i: [in] A logical flag indicating which I values to work on. :callto: :f:func:`merid_flux_layer ` :callto: :f:func:`meridional_flux_adjust ` :calledfrom: :f:func:`meridional_mass_flux ` .. f:subroutine:: subroutine ppm_reconstruction_x(h_in, h_L, h_R, G, LB, h_min, monotonic, simple_2nd, OBC) Calculates left/right edge values for PPM reconstruction. :param g: [in] Ocean's grid structure. :param h_in: [in] Layer thickness [H ~> m or kg m-2]. :param h_l: [out] Left thickness in the reconstruction, [H ~> m or kg m-2]. :param h_r: [out] Right thickness in the reconstruction, [H ~> m or kg m-2]. :param lb: [in] Active loop bounds structure. :param h_min: [in] The minimum thickness that can be obtained by a concave parabolic fit. :param monotonic: [in] If true, use the Colella & Woodward monotonic limiter. Otherwise use a simple positive-definite limiter. :param simple_2nd: [in] If true, use the arithmetic mean thicknesses as the default edge values for a simple 2nd order scheme. :param obc: Open boundaries control structure. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_open_boundary::obc_direction_e ` :callto: :f:func:`mom_open_boundary::obc_direction_w ` :callto: :f:func:`ppm_limit_cw84 ` :callto: :f:func:`ppm_limit_pos ` :calledfrom: :f:func:`zonal_mass_flux ` .. f:subroutine:: subroutine ppm_reconstruction_y(h_in, h_L, h_R, G, LB, h_min, monotonic, simple_2nd, OBC) Calculates left/right edge values for PPM reconstruction. :param g: [in] Ocean's grid structure. :param h_in: [in] Layer thickness [H ~> m or kg m-2]. :param h_l: [out] Left thickness in the reconstruction, [H ~> m or kg m-2]. :param h_r: [out] Right thickness in the reconstruction, [H ~> m or kg m-2]. :param lb: [in] Active loop bounds structure. :param h_min: [in] The minimum thickness that can be obtained by a concave parabolic fit. :param monotonic: [in] If true, use the Colella & Woodward monotonic limiter. Otherwise use a simple positive-definite limiter. :param simple_2nd: [in] If true, use the arithmetic mean thicknesses as the default edge values for a simple 2nd order scheme. :param obc: Open boundaries control structure. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_open_boundary::obc_direction_n ` :callto: :f:func:`mom_open_boundary::obc_direction_s ` :callto: :f:func:`ppm_limit_cw84 ` :callto: :f:func:`ppm_limit_pos ` :calledfrom: :f:func:`meridional_mass_flux ` .. f:subroutine:: subroutine ppm_limit_pos(h_in, h_L, h_R, h_min, G, iis, iie, jis, jie) This subroutine limits the left/right edge values of the PPM reconstruction to give a reconstruction that is positive-definite. Here this is reinterpreted as giving a constant thickness if the mean thickness is less than h_min, with a minimum of h_min otherwise. :param g: [in] Ocean's grid structure. :param h_in: [in] Layer thickness [H ~> m or kg m-2]. :param h_l: [inout] Left thickness in the reconstruction [H ~> m or kg m-2]. :param h_r: [inout] Right thickness in the reconstruction [H ~> m or kg m-2]. :param h_min: [in] The minimum thickness that can be obtained by a concave parabolic fit. :param iis: [in] Start of i index range. :param iie: [in] End of i index range. :param jis: [in] Start of j index range. :param jie: [in] End of j index range. :calledfrom: :f:func:`ppm_reconstruction_x ` :calledfrom: :f:func:`ppm_reconstruction_y ` .. f:subroutine:: subroutine ppm_limit_cw84(h_in, h_L, h_R, G, iis, iie, jis, jie) This subroutine limits the left/right edge values of the PPM reconstruction according to the monotonic prescription of Colella and Woodward, 1984. :param g: [in] Ocean's grid structure. :param h_in: [in] Layer thickness [H ~> m or kg m-2]. :param h_l: [inout] Left thickness in the reconstruction, [H ~> m or kg m-2]. :param h_r: [inout] Right thickness in the reconstruction, [H ~> m or kg m-2]. :param iis: [in] Start of i index range. :param iie: [in] End of i index range. :param jis: [in] Start of j index range. :param jie: [in] End of j index range. :calledfrom: :f:func:`ppm_reconstruction_x ` :calledfrom: :f:func:`ppm_reconstruction_y ` .. f:function:: real function ratio_max(a, b, maxrat) Return the maximum ratio of a/b or maxrat. :param a: [in] Numerator :param b: [in] Denominator :param maxrat: [in] Maximum value of ratio. :returns undefined: Return value. :calledfrom: :f:func:`meridional_mass_flux ` :calledfrom: :f:func:`zonal_mass_flux ` .. f:subroutine:: subroutine continuity_ppm_init(Time, G, GV, US, param_file, diag, CS) Initializes :f:func:`continuity_ppm_cs`. . :param time: [in] The current model time. :param g: [in] The ocean's grid structure. :param gv: [in] Vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param diag: [inout] A structure that is used to regulate diagnostic output. :param cs: Module's control structure. :callto: :f:func:`mom_cpu_clock::cpu_clock_id ` :callto: :f:func:`id_clock_correct ` :callto: :f:func:`id_clock_update ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:function:: integer function continuity_ppm_stencil(CS) continuity_PPM_stencil returns the continuity solver stencil size :param cs: Module's control structure. :returns undefined: The continuity solver stencil size with the current settings. .. f:subroutine:: subroutine continuity_ppm_end(CS) Destructor for :f:func:`continuity_ppm_cs`. . :param cs: Module's control structure. :calledfrom: :f:func:`mom_continuity::continuity_end ` [debug] xpath(./compounddef/compoundname[text()="mom_continuity_ppm::continuity_ppm_cs"]/..) match([('id', 'structmom__continuity__ppm_1_1continuity__ppm__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__continuity__ppm) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__continuity__ppm'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_continuity_ppm::continuity_ppm_cs', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_continuity_ppm::continuity_ppm_cs', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_continuity_ppm::continuity_ppm_cs', , {}, [debug] xpath(./compounddef/compoundname[text()="mom_continuity_ppm::loop_bounds_type"]/..) match([('id', 'structmom__continuity__ppm_1_1loop__bounds__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_continuity_ppm::loop_bounds_type', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_continuity_ppm::loop_bounds_type', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_continuity_ppm::loop_bounds_type', , {}, [debug] DoxygenMethodDocumenter format_signature called ((u, v, hin, h, uh, vh, dt, G, GV, US, CS, uhbt, vhbt, OBC, visc_rem_u, visc_rem_v, u_cor, v_cor, BT_cont)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::continuity_ppm', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::continuity_ppm', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((u, h_in, uh, dt, G, GV, US, CS, LB, uhbt, OBC, visc_rem_u, u_cor, BT_cont)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::zonal_mass_flux', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::zonal_mass_flux', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((u, h, h_L, h_R, uh, duhdu, visc_rem, dt, G, US, j, ish, ieh, do_I, vol_CFL, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::zonal_flux_layer', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::zonal_flux_layer', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((u, h, h_L, h_R, h_u, dt, G, US, LB, vol_CFL, marginal, visc_rem_u, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::zonal_face_thickness', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::zonal_face_thickness', , {} [debug] DoxygenMethodDocumenter format_signature called ((u, h_in, h_L, h_R, uhbt, uh_tot_0, duhdu_tot_0, du, du_max_CFL, du_min_CFL, dt, G, US, CS, visc_rem, j, ish, ieh, do_I_in, full_precision, uh_3d, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::zonal_flux_adjust', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::zonal_flux_adjust', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((u, h_in, h_L, h_R, BT_cont, uh_tot_0, duhdu_tot_0, du_max_CFL, du_min_CFL, dt, G, US, CS, visc_rem, visc_rem_max, j, ish, ieh, do_I)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::set_zonal_bt_cont', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::set_zonal_bt_cont', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((v, h_in, vh, dt, G, GV, US, CS, LB, vhbt, OBC, visc_rem_v, v_cor, BT_cont)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::meridional_mass_flux', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::meridional_mass_flux', , {} [debug] DoxygenMethodDocumenter format_signature called ((v, h, h_L, h_R, vh, dvhdv, visc_rem, dt, G, US, J, ish, ieh, do_I, vol_CFL, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::merid_flux_layer', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::merid_flux_layer', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((v, h, h_L, h_R, h_v, dt, G, US, LB, vol_CFL, marginal, visc_rem_v, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::merid_face_thickness', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::merid_face_thickness', , {} [debug] DoxygenMethodDocumenter format_signature called ((v, h_in, h_L, h_R, vhbt, vh_tot_0, dvhdv_tot_0, dv, dv_max_CFL, dv_min_CFL, dt, G, US, CS, visc_rem, j, ish, ieh, do_I_in, full_precision, vh_3d, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::meridional_flux_adjust', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::meridional_flux_adjust', , [debug] DoxygenMethodDocumenter format_signature called ((v, h_in, h_L, h_R, BT_cont, vh_tot_0, dvhdv_tot_0, dv_max_CFL, dv_min_CFL, dt, G, US, CS, visc_rem, visc_rem_max, j, ish, ieh, do_I)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::set_merid_bt_cont', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::set_merid_bt_cont', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((h_in, h_L, h_R, G, LB, h_min, monotonic, simple_2nd, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::ppm_reconstruction_x', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::ppm_reconstruction_x', , {} [debug] DoxygenMethodDocumenter format_signature called ((h_in, h_L, h_R, G, LB, h_min, monotonic, simple_2nd, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::ppm_reconstruction_y', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::ppm_reconstruction_y', , {} [debug] DoxygenMethodDocumenter format_signature called ((h_in, h_L, h_R, h_min, G, iis, iie, jis, jie)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::ppm_limit_pos', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::ppm_limit_pos', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((h_in, h_L, h_R, G, iis, iie, jis, jie)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::ppm_limit_cw84', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::ppm_limit_cw84', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((a, b, maxrat)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::ratio_max', , {}, ['', 'Ret [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::ratio_max', , {}, ['', 'Ret [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__continuity__ppm_1_1continuity__ppm__cs) kindref(compound) ref([]) [debug] ref([('id', 'structmom__continuity__ppm_1_1continuity__ppm__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::continuity_ppm_init', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::continuity_ppm_init', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::continuity_ppm_stencil', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::continuity_ppm_stencil', , [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__continuity__ppm_1_1continuity__ppm__cs) kindref(compound) ref([]) [debug] ref([('id', 'structmom__continuity__ppm_1_1continuity__ppm__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::continuity_ppm_end', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_continuity_ppm::continuity_ppm_end', , {}, [fd] run(.. f:type:: continuity_ppm_cs) [fd] sig(continuity_ppm_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(continuity_ppm_cs) arglist(None) [fd] fullname(mom_continuity_ppm/continuity_ppm_cs) ftype(None) [fd] name(('mom_continuity_ppm/continuity_ppm_cs', None)) sig(continuity_ppm_cs) signode(type mom_continuity_ppm/continuity_ppm_cs) [fd] run(.. f:type:: loop_bounds_type) [fd] sig(loop_bounds_type) [fd] ftype(None) objtype(None) modname(None) typename() name(loop_bounds_type) arglist(None) [fd] fullname(mom_continuity_ppm/loop_bounds_type) ftype(None) [fd] name(('mom_continuity_ppm/loop_bounds_type', None)) sig(loop_bounds_type) signode(type mom_continuity_ppm/loop_bounds_type) [fd] run(.. f:subroutine:: subroutine continuity_ppm(u, v, hin, h, uh, vh, dt, G, GV, US, CS, uhbt, vhbt, OBC, visc_rem_u, visc_rem_v, u_cor, v_cor, BT_cont)) [fd] sig(subroutine continuity_ppm(u, v, hin, h, uh, vh, dt, G, GV, US, CS, uhbt, vhbt, OBC, visc_rem_u, visc_rem_v, u_cor, v_cor, BT_cont)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(continuity_ppm) arglist(u, v, hin, h, uh, vh, dt, G, GV, US, CS, uhbt, vhbt, OBC, visc_rem_u, visc_rem_v, u_cor, v_cor, BT_cont) [fd] fullname(mom_continuity_ppm/continuity_ppm) ftype(None) [fd] name(('mom_continuity_ppm/continuity_ppm', None)) sig(subroutine continuity_ppm(u, v, hin, h, uh, vh, dt, G, GV, US, CS, uhbt, vhbt, OBC, visc_rem_u, visc_rem_v, u_cor, v_cor, BT_cont)) signode(subroutine mom_continuity_ppm/continuity_ppmuvhinhuhvhdtGGVUSCSuhbtvhbtOBCvisc_rem_uvisc_rem_vu_corv_corBT_cont) [fd] run(.. f:subroutine:: subroutine zonal_mass_flux(u, h_in, uh, dt, G, GV, US, CS, LB, uhbt, OBC, visc_rem_u, u_cor, BT_cont)) [fd] sig(subroutine zonal_mass_flux(u, h_in, uh, dt, G, GV, US, CS, LB, uhbt, OBC, visc_rem_u, u_cor, BT_cont)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(zonal_mass_flux) arglist(u, h_in, uh, dt, G, GV, US, CS, LB, uhbt, OBC, visc_rem_u, u_cor, BT_cont) [fd] fullname(mom_continuity_ppm/zonal_mass_flux) ftype(None) [fd] name(('mom_continuity_ppm/zonal_mass_flux', None)) sig(subroutine zonal_mass_flux(u, h_in, uh, dt, G, GV, US, CS, LB, uhbt, OBC, visc_rem_u, u_cor, BT_cont)) signode(subroutine mom_continuity_ppm/zonal_mass_fluxuh_inuhdtGGVUSCSLBuhbtOBCvisc_rem_uu_corBT_cont) [fd] run(.. f:subroutine:: subroutine zonal_flux_layer(u, h, h_L, h_R, uh, duhdu, visc_rem, dt, G, US, j, ish, ieh, do_I, vol_CFL, OBC)) [fd] sig(subroutine zonal_flux_layer(u, h, h_L, h_R, uh, duhdu, visc_rem, dt, G, US, j, ish, ieh, do_I, vol_CFL, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(zonal_flux_layer) arglist(u, h, h_L, h_R, uh, duhdu, visc_rem, dt, G, US, j, ish, ieh, do_I, vol_CFL, OBC) [fd] fullname(mom_continuity_ppm/zonal_flux_layer) ftype(None) [fd] name(('mom_continuity_ppm/zonal_flux_layer', None)) sig(subroutine zonal_flux_layer(u, h, h_L, h_R, uh, duhdu, visc_rem, dt, G, US, j, ish, ieh, do_I, vol_CFL, OBC)) signode(subroutine mom_continuity_ppm/zonal_flux_layeruhh_Lh_Ruhduhduvisc_remdtGUSjishiehdo_Ivol_CFLOBC) [fd] run(.. f:subroutine:: subroutine zonal_face_thickness(u, h, h_L, h_R, h_u, dt, G, US, LB, vol_CFL, marginal, visc_rem_u, OBC)) [fd] sig(subroutine zonal_face_thickness(u, h, h_L, h_R, h_u, dt, G, US, LB, vol_CFL, marginal, visc_rem_u, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(zonal_face_thickness) arglist(u, h, h_L, h_R, h_u, dt, G, US, LB, vol_CFL, marginal, visc_rem_u, OBC) [fd] fullname(mom_continuity_ppm/zonal_face_thickness) ftype(None) [fd] name(('mom_continuity_ppm/zonal_face_thickness', None)) sig(subroutine zonal_face_thickness(u, h, h_L, h_R, h_u, dt, G, US, LB, vol_CFL, marginal, visc_rem_u, OBC)) signode(subroutine mom_continuity_ppm/zonal_face_thicknessuhh_Lh_Rh_udtGUSLBvol_CFLmarginalvisc_rem_uOBC) [fd] run(.. f:subroutine:: subroutine zonal_flux_adjust(u, h_in, h_L, h_R, uhbt, uh_tot_0, duhdu_tot_0, du, du_max_CFL, du_min_CFL, dt, G, US, CS, visc_rem, j, ish, ieh, do_I_in, full_precision, uh_3d, OBC)) [fd] sig(subroutine zonal_flux_adjust(u, h_in, h_L, h_R, uhbt, uh_tot_0, duhdu_tot_0, du, du_max_CFL, du_min_CFL, dt, G, US, CS, visc_rem, j, ish, ieh, do_I_in, full_precision, uh_3d, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(zonal_flux_adjust) arglist(u, h_in, h_L, h_R, uhbt, uh_tot_0, duhdu_tot_0, du, du_max_CFL, du_min_CFL, dt, G, US, CS, visc_rem, j, ish, ieh, do_I_in, full_precision, uh_3d, OBC) [fd] fullname(mom_continuity_ppm/zonal_flux_adjust) ftype(None) [fd] name(('mom_continuity_ppm/zonal_flux_adjust', None)) sig(subroutine zonal_flux_adjust(u, h_in, h_L, h_R, uhbt, uh_tot_0, duhdu_tot_0, du, du_max_CFL, du_min_CFL, dt, G, US, CS, visc_rem, j, ish, ieh, do_I_in, full_precision, uh_3d, OBC)) signode(subroutine mom_continuity_ppm/zonal_flux_adjustuh_inh_Lh_Ruhbtuh_tot_0duhdu_tot_0dudu_max_CFLdu_min_CFLdtGUSCSvisc_remjishiehdo_I_infull_precisionuh_3dOBC) [fd] run(.. f:subroutine:: subroutine set_zonal_bt_cont(u, h_in, h_L, h_R, BT_cont, uh_tot_0, duhdu_tot_0, du_max_CFL, du_min_CFL, dt, G, US, CS, visc_rem, visc_rem_max, j, ish, ieh, do_I)) [fd] sig(subroutine set_zonal_bt_cont(u, h_in, h_L, h_R, BT_cont, uh_tot_0, duhdu_tot_0, du_max_CFL, du_min_CFL, dt, G, US, CS, visc_rem, visc_rem_max, j, ish, ieh, do_I)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_zonal_bt_cont) arglist(u, h_in, h_L, h_R, BT_cont, uh_tot_0, duhdu_tot_0, du_max_CFL, du_min_CFL, dt, G, US, CS, visc_rem, visc_rem_max, j, ish, ieh, do_I) [fd] fullname(mom_continuity_ppm/set_zonal_bt_cont) ftype(None) [fd] name(('mom_continuity_ppm/set_zonal_bt_cont', None)) sig(subroutine set_zonal_bt_cont(u, h_in, h_L, h_R, BT_cont, uh_tot_0, duhdu_tot_0, du_max_CFL, du_min_CFL, dt, G, US, CS, visc_rem, visc_rem_max, j, ish, ieh, do_I)) signode(subroutine mom_continuity_ppm/set_zonal_bt_contuh_inh_Lh_RBT_contuh_tot_0duhdu_tot_0du_max_CFLdu_min_CFLdtGUSCSvisc_remvisc_rem_maxjishiehdo_I) [fd] run(.. f:subroutine:: subroutine meridional_mass_flux(v, h_in, vh, dt, G, GV, US, CS, LB, vhbt, OBC, visc_rem_v, v_cor, BT_cont)) [fd] sig(subroutine meridional_mass_flux(v, h_in, vh, dt, G, GV, US, CS, LB, vhbt, OBC, visc_rem_v, v_cor, BT_cont)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(meridional_mass_flux) arglist(v, h_in, vh, dt, G, GV, US, CS, LB, vhbt, OBC, visc_rem_v, v_cor, BT_cont) [fd] fullname(mom_continuity_ppm/meridional_mass_flux) ftype(None) [fd] name(('mom_continuity_ppm/meridional_mass_flux', None)) sig(subroutine meridional_mass_flux(v, h_in, vh, dt, G, GV, US, CS, LB, vhbt, OBC, visc_rem_v, v_cor, BT_cont)) signode(subroutine mom_continuity_ppm/meridional_mass_fluxvh_invhdtGGVUSCSLBvhbtOBCvisc_rem_vv_corBT_cont) [fd] run(.. f:subroutine:: subroutine merid_flux_layer(v, h, h_L, h_R, vh, dvhdv, visc_rem, dt, G, US, J, ish, ieh, do_I, vol_CFL, OBC)) [fd] sig(subroutine merid_flux_layer(v, h, h_L, h_R, vh, dvhdv, visc_rem, dt, G, US, J, ish, ieh, do_I, vol_CFL, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(merid_flux_layer) arglist(v, h, h_L, h_R, vh, dvhdv, visc_rem, dt, G, US, J, ish, ieh, do_I, vol_CFL, OBC) [fd] fullname(mom_continuity_ppm/merid_flux_layer) ftype(None) [fd] name(('mom_continuity_ppm/merid_flux_layer', None)) sig(subroutine merid_flux_layer(v, h, h_L, h_R, vh, dvhdv, visc_rem, dt, G, US, J, ish, ieh, do_I, vol_CFL, OBC)) signode(subroutine mom_continuity_ppm/merid_flux_layervhh_Lh_Rvhdvhdvvisc_remdtGUSJishiehdo_Ivol_CFLOBC) [fd] run(.. f:subroutine:: subroutine merid_face_thickness(v, h, h_L, h_R, h_v, dt, G, US, LB, vol_CFL, marginal, visc_rem_v, OBC)) [fd] sig(subroutine merid_face_thickness(v, h, h_L, h_R, h_v, dt, G, US, LB, vol_CFL, marginal, visc_rem_v, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(merid_face_thickness) arglist(v, h, h_L, h_R, h_v, dt, G, US, LB, vol_CFL, marginal, visc_rem_v, OBC) [fd] fullname(mom_continuity_ppm/merid_face_thickness) ftype(None) [fd] name(('mom_continuity_ppm/merid_face_thickness', None)) sig(subroutine merid_face_thickness(v, h, h_L, h_R, h_v, dt, G, US, LB, vol_CFL, marginal, visc_rem_v, OBC)) signode(subroutine mom_continuity_ppm/merid_face_thicknessvhh_Lh_Rh_vdtGUSLBvol_CFLmarginalvisc_rem_vOBC) [fd] run(.. f:subroutine:: subroutine meridional_flux_adjust(v, h_in, h_L, h_R, vhbt, vh_tot_0, dvhdv_tot_0, dv, dv_max_CFL, dv_min_CFL, dt, G, US, CS, visc_rem, j, ish, ieh, do_I_in, full_precision, vh_3d, OBC)) [fd] sig(subroutine meridional_flux_adjust(v, h_in, h_L, h_R, vhbt, vh_tot_0, dvhdv_tot_0, dv, dv_max_CFL, dv_min_CFL, dt, G, US, CS, visc_rem, j, ish, ieh, do_I_in, full_precision, vh_3d, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(meridional_flux_adjust) arglist(v, h_in, h_L, h_R, vhbt, vh_tot_0, dvhdv_tot_0, dv, dv_max_CFL, dv_min_CFL, dt, G, US, CS, visc_rem, j, ish, ieh, do_I_in, full_precision, vh_3d, OBC) [fd] fullname(mom_continuity_ppm/meridional_flux_adjust) ftype(None) [fd] name(('mom_continuity_ppm/meridional_flux_adjust', None)) sig(subroutine meridional_flux_adjust(v, h_in, h_L, h_R, vhbt, vh_tot_0, dvhdv_tot_0, dv, dv_max_CFL, dv_min_CFL, dt, G, US, CS, visc_rem, j, ish, ieh, do_I_in, full_precision, vh_3d, OBC)) signode(subroutine mom_continuity_ppm/meridional_flux_adjustvh_inh_Lh_Rvhbtvh_tot_0dvhdv_tot_0dvdv_max_CFLdv_min_CFLdtGUSCSvisc_remjishiehdo_I_infull_precisionvh_3dOBC) [fd] run(.. f:subroutine:: subroutine set_merid_bt_cont(v, h_in, h_L, h_R, BT_cont, vh_tot_0, dvhdv_tot_0, dv_max_CFL, dv_min_CFL, dt, G, US, CS, visc_rem, visc_rem_max, j, ish, ieh, do_I)) [fd] sig(subroutine set_merid_bt_cont(v, h_in, h_L, h_R, BT_cont, vh_tot_0, dvhdv_tot_0, dv_max_CFL, dv_min_CFL, dt, G, US, CS, visc_rem, visc_rem_max, j, ish, ieh, do_I)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_merid_bt_cont) arglist(v, h_in, h_L, h_R, BT_cont, vh_tot_0, dvhdv_tot_0, dv_max_CFL, dv_min_CFL, dt, G, US, CS, visc_rem, visc_rem_max, j, ish, ieh, do_I) [fd] fullname(mom_continuity_ppm/set_merid_bt_cont) ftype(None) [fd] name(('mom_continuity_ppm/set_merid_bt_cont', None)) sig(subroutine set_merid_bt_cont(v, h_in, h_L, h_R, BT_cont, vh_tot_0, dvhdv_tot_0, dv_max_CFL, dv_min_CFL, dt, G, US, CS, visc_rem, visc_rem_max, j, ish, ieh, do_I)) signode(subroutine mom_continuity_ppm/set_merid_bt_contvh_inh_Lh_RBT_contvh_tot_0dvhdv_tot_0dv_max_CFLdv_min_CFLdtGUSCSvisc_remvisc_rem_maxjishiehdo_I) [fd] run(.. f:subroutine:: subroutine ppm_reconstruction_x(h_in, h_L, h_R, G, LB, h_min, monotonic, simple_2nd, OBC)) [fd] sig(subroutine ppm_reconstruction_x(h_in, h_L, h_R, G, LB, h_min, monotonic, simple_2nd, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ppm_reconstruction_x) arglist(h_in, h_L, h_R, G, LB, h_min, monotonic, simple_2nd, OBC) [fd] fullname(mom_continuity_ppm/ppm_reconstruction_x) ftype(None) [fd] name(('mom_continuity_ppm/ppm_reconstruction_x', None)) sig(subroutine ppm_reconstruction_x(h_in, h_L, h_R, G, LB, h_min, monotonic, simple_2nd, OBC)) signode(subroutine mom_continuity_ppm/ppm_reconstruction_xh_inh_Lh_RGLBh_minmonotonicsimple_2ndOBC) [fd] run(.. f:subroutine:: subroutine ppm_reconstruction_y(h_in, h_L, h_R, G, LB, h_min, monotonic, simple_2nd, OBC)) [fd] sig(subroutine ppm_reconstruction_y(h_in, h_L, h_R, G, LB, h_min, monotonic, simple_2nd, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ppm_reconstruction_y) arglist(h_in, h_L, h_R, G, LB, h_min, monotonic, simple_2nd, OBC) [fd] fullname(mom_continuity_ppm/ppm_reconstruction_y) ftype(None) [fd] name(('mom_continuity_ppm/ppm_reconstruction_y', None)) sig(subroutine ppm_reconstruction_y(h_in, h_L, h_R, G, LB, h_min, monotonic, simple_2nd, OBC)) signode(subroutine mom_continuity_ppm/ppm_reconstruction_yh_inh_Lh_RGLBh_minmonotonicsimple_2ndOBC) [fd] run(.. f:subroutine:: subroutine ppm_limit_pos(h_in, h_L, h_R, h_min, G, iis, iie, jis, jie)) [fd] sig(subroutine ppm_limit_pos(h_in, h_L, h_R, h_min, G, iis, iie, jis, jie)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ppm_limit_pos) arglist(h_in, h_L, h_R, h_min, G, iis, iie, jis, jie) [fd] fullname(mom_continuity_ppm/ppm_limit_pos) ftype(None) [fd] name(('mom_continuity_ppm/ppm_limit_pos', None)) sig(subroutine ppm_limit_pos(h_in, h_L, h_R, h_min, G, iis, iie, jis, jie)) signode(subroutine mom_continuity_ppm/ppm_limit_posh_inh_Lh_Rh_minGiisiiejisjie) [fd] run(.. f:subroutine:: subroutine ppm_limit_cw84(h_in, h_L, h_R, G, iis, iie, jis, jie)) [fd] sig(subroutine ppm_limit_cw84(h_in, h_L, h_R, G, iis, iie, jis, jie)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ppm_limit_cw84) arglist(h_in, h_L, h_R, G, iis, iie, jis, jie) [fd] fullname(mom_continuity_ppm/ppm_limit_cw84) ftype(None) [fd] name(('mom_continuity_ppm/ppm_limit_cw84', None)) sig(subroutine ppm_limit_cw84(h_in, h_L, h_R, G, iis, iie, jis, jie)) signode(subroutine mom_continuity_ppm/ppm_limit_cw84h_inh_Lh_RGiisiiejisjie) [fd] run(.. f:function:: real function ratio_max(a, b, maxrat)) [fd] sig(real function ratio_max(a, b, maxrat)) [fd] ftype(real) objtype(function) modname(None) typename() name(ratio_max) arglist(a, b, maxrat) [fd] fullname(mom_continuity_ppm/ratio_max) ftype(real) [fd] name(('mom_continuity_ppm/ratio_max', 'real')) sig(real function ratio_max(a, b, maxrat)) signode(function mom_continuity_ppm/ratio_maxabmaxrat [real]) [fd] run(.. f:subroutine:: subroutine continuity_ppm_init(Time, G, GV, US, param_file, diag, CS)) [fd] sig(subroutine continuity_ppm_init(Time, G, GV, US, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(continuity_ppm_init) arglist(Time, G, GV, US, param_file, diag, CS) [fd] fullname(mom_continuity_ppm/continuity_ppm_init) ftype(None) [fd] name(('mom_continuity_ppm/continuity_ppm_init', None)) sig(subroutine continuity_ppm_init(Time, G, GV, US, param_file, diag, CS)) signode(subroutine mom_continuity_ppm/continuity_ppm_initTimeGGVUSparam_filediagCS) [fd] run(.. f:function:: integer function continuity_ppm_stencil(CS)) [fd] sig(integer function continuity_ppm_stencil(CS)) [fd] ftype(integer) objtype(function) modname(None) typename() name(continuity_ppm_stencil) arglist(CS) [fd] fullname(mom_continuity_ppm/continuity_ppm_stencil) ftype(integer) [fd] name(('mom_continuity_ppm/continuity_ppm_stencil', 'integer')) sig(integer function continuity_ppm_stencil(CS)) signode(function mom_continuity_ppm/continuity_ppm_stencilCS [integer]) [fd] run(.. f:subroutine:: subroutine continuity_ppm_end(CS)) [fd] sig(subroutine continuity_ppm_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(continuity_ppm_end) arglist(CS) [fd] fullname(mom_continuity_ppm/continuity_ppm_end) ftype(None) [fd] name(('mom_continuity_ppm/continuity_ppm_end', None)) sig(subroutine continuity_ppm_end(CS)) signode(subroutine mom_continuity_ppm/continuity_ppm_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 21%] api/generated/modules/mom_controlled_forcing [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_controll [app] emitting event: 'source-read'('api/generated/modules/mom_controlled_forcing', ['.. autodoxymodule:: mom_controlled_forcing\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_controlled_forcing.rst:1: input: .. autodoxymodule:: mom_controlled_forcing :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_controlled_forcing::ctrl_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_controlled_forcing::apply_ctrl_forcing ~mom_controlled_forcing::periodic_int ~mom_controlled_forcing::periodic_real ~mom_controlled_forcing::register_ctrl_forcing_restarts ~mom_controlled_forcing::controlled_forcing_init ~mom_controlled_forcing::controlled_forcing_end [debug] xpath(./compounddef/compoundname[text()="mom_controlled_forcing"]/..) match([('id', 'namespacemom__controlled__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_controlled_forcing module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_controlled_forcing', , {'members': , {'members': ]) [debug] ref([('id', 'MOM__memory_8h'), ('kind', 'file'), ('language', 'C++')]) [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_controlled_forcing', , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_controlled_forcing' (exception was: ModuleNotFoundError("No module named 'mom_controlled_forcing'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_controlled_forcing::ctrl_forcing_cs', , {'m [debug] members([('apply_ctrl_forcing', ), ('periodic_int', ), ('periodic_real', ), ('register_ctrl_forcing_restarts', ), ('controlled_forcing_init', ), ('controlled_forcing_end', )]) [autodoc] module analyzer failed: error importing 'mom_controlled_forcing' (exception was: ModuleNotFoundError("No module named 'mom_controlled_forcing'")) [debug] DoxygenMethodDocumenter format_signature called ((SST_anom, SSS_anom, SSS_mean, virt_heat, virt_precip, day_start, dt, G, US, CS)) [debug] add_directive_header sig((SST_anom, SSS_anom, SSS_mean, virt_heat, virt_precip, day_start, dt, G, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine apply_ctrl_forcing) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'apply_ctrl_forcing', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_ctrl_forcing_restarts', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_ctrl_forcing_restarts', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_ctrl_forcing_restarts', , {'members': [autodoc] module analyzer failed: error importing 'mom_controlled_forcing' (exception was: ModuleNotFoundError("No module named 'mom_controlled_forcing'")) [debug] DoxygenMethodDocumenter format_signature called ((Time, G, param_file, diag, CS)) [debug] add_directive_header sig((Time, G, param_file, diag, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine controlled_forcing_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'controlled_forcing_init', , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_controlled_forcing::ctrl_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_controlled_forcing::apply_ctrl_forcing ~mom_controlled_forcing::periodic_int ~mom_controlled_forcing::periodic_real ~mom_controlled_forcing::register_ctrl_forcing_restarts ~mom_controlled_forcing::controlled_forcing_init ~mom_controlled_forcing::controlled_forcing_end .. _DETAmom_controlled_forcing: -------------------- Detailed Description -------------------- Adjustments are based on the time-mean or periodically (seasonally) varying anomalies from the observed state. The techniques behind this are described in Hallberg and Adcroft (2018, in prep.). * By Robert Hallberg, July 2011 * * This program contains the subroutines that use control-theory * to adjust the surface heat flux and precipitation, based on the * time-mean or periodically (seasonally) varying anomalies from the * observed state. The techniques behind this are described in * Hallberg and Adcroft (2011, in prep.). * * Macros written all in capital letters are defined in ``MOM_memory.h``. * * A small fragment of the grid is shown below: * * j+1 x ^ x ^ x At x: q * j+1 > o > o > At ^: v, tauy * j x ^ x ^ x At >: u, taux * j > o > o > At o: h, fluxes. * j-1 x ^ x ^ x * i-1 i i+1 At x & ^: * i i+1 At > & o: * * The boundaries always run through q grid points (x). * ------------------ Type Documentation ------------------ .. f:type:: ctrl_forcing_cs Control structure for MOM_controlled_forcing. :typefield real(\:) avg_time [pointer]: Pointers for data. :typefield real(\:,\:) heat_0 [pointer]: Pointers for data. :typefield real(\:,\:) precip_0 [pointer]: Pointers for data. :typefield real(\:,\:,\:) heat_cyc [pointer]: Pointers for data. :typefield real(\:,\:,\:) precip_cyc [pointer]: Pointers for data. :typefield real(\:,\:,\:) avg_sst_anom [pointer]: Pointers for data. :typefield real(\:,\:,\:) avg_sss_anom [pointer]: Pointers for data. :typefield real(\:,\:,\:) avg_sss [pointer]: Pointers for data. :typefield logical use_temperature: If true, temperature and salinity are used as state variables. :typefield logical do_integrated: If true, use time-integrated anomalies to control the surface state. :typefield integer num_cycle: The number of elements in the forcing cycle. :typefield real heat_int_rate: The rate at which heating anomalies accumulate [s-1]. :typefield real prec_int_rate: The rate at which precipitation anomalies accumulate [s-1]. :typefield real heat_cyc_rate: The rate at which cyclical heating anomaliess accumulate [s-1]. :typefield real prec_cyc_rate: The rate at which cyclical precipitation anomaliess accumulate [s-1]. :typefield real len2: The square of the length scale over which the anomalies are smoothed via a Laplacian filter [m2]. :typefield real lam_heat: A constant of proportionality between SST anomalies and heat fluxes [W m-2 degC-1]. :typefield real lam_prec: A constant of proportionality between SSS anomalies (normalised by mean SSS) and precipitation [kg m-2]. :typefield real lam_cyc_heat: A constant of proportionality between cyclical SST anomalies and corrective heat fluxes [W m-2 degC-1]. :typefield real lam_cyc_prec: A constant of proportionality between cyclical SSS anomalies (normalised by mean SSS) and corrective precipitation [kg m-2]. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield integer id_heat_0: Diagnostic handle. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine apply_ctrl_forcing(SST_anom, SSS_anom, SSS_mean, virt_heat, virt_precip, day_start, dt, G, US, CS) This subroutine calls any of the other subroutines in this file that are needed to specify the current surface forcing fields. :param g: [inout] The ocean's grid structure. :param sst_anom: [in] The sea surface temperature anomalies [degC]. :param sss_anom: [in] The sea surface salinity anomlies [ppt]. :param sss_mean: [in] The mean sea surface salinity [ppt]. :param virt_heat: [inout] Virtual (corrective) heat fluxes that are augmented in this subroutine [W m-2]. :param virt_precip: [inout] Virtual (corrective) precipitation fluxes that are augmented in this subroutine [kg m-2 s-1]. :param day_start: [in] Start time of the fluxes. :param dt: [in] Length of time over which these fluxes will be applied [s]. :param us: [in] A dimensional unit scaling type :param cs: A pointer to the control structure returned by a previous call to ctrl_forcing_init. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`periodic_int ` :callto: :f:func:`periodic_real ` :callto: :f:func:`mom_time_manager::real_to_time ` .. f:function:: integer function periodic_int(rval, num_period) This function maps rval into an integer in the range from 1 to num_period. :param rval: [in] Input for mapping. :param num_period: [in] Maximum output. :returns undefined: Return value. :calledfrom: :f:func:`apply_ctrl_forcing ` .. f:function:: real function periodic_real(rval, num_period) This function shifts rval by an integer multiple of num_period so that 0 <= val_out < num_period. :param rval: [in] Input to be shifted into valid range. :param num_period: [in] Maximum valid value. :returns undefined: Return value. :calledfrom: :f:func:`apply_ctrl_forcing ` .. f:subroutine:: subroutine register_ctrl_forcing_restarts(G, param_file, CS, restart_CS) This subroutine is used to allocate and register any fields in this module that should be written to or read from the restart file. :param g: [in] The ocean's grid structure. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param cs: A pointer that is set to point to the control structure for this module. :param restart_cs: A pointer to the restart control structure. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_io::var_desc ` .. f:subroutine:: subroutine controlled_forcing_init(Time, G, param_file, diag, CS) Set up this modules control structure. :param time: [in] The current model time. :param g: [in] The ocean's grid structure. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param diag: [in] A structure that is used to regulate diagnostic output. :param cs: A pointer that is set to point to the control structure for this module. .. f:subroutine:: subroutine controlled_forcing_end(CS) Clean up this modules control structure. :param cs: A pointer to the control structure returned by a previous call to controlled_forcing_init, it will be deallocated here. [debug] xpath(./compounddef/compoundname[text()="mom_controlled_forcing::ctrl_forcing_cs"]/..) match([('id', 'structmom__controlled__forcing_1_1ctrl__forcing__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_controlled_forcing::ctrl_forcing_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_controlled_forcing::ctrl_forcing_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_controlled_forcing::ctrl_forcing_cs', , { [debug] DoxygenMethodDocumenter format_signature called ((SST_anom, SSS_anom, SSS_mean, virt_heat, virt_precip, day_start, dt, G, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_controlled_forcing::apply_ctrl_forcing', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_controlled_forcing::apply_ctrl_forcing', , [debug] DoxygenMethodDocumenter format_signature called ((rval, num_period)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_controlled_forcing::periodic_int', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_controlled_forcing::periodic_int', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((rval, num_period)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_controlled_forcing::periodic_real', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_controlled_forcing::periodic_real', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((G, param_file, CS, restart_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_controlled_forcing::register_ctrl_forcing_restarts', type mom_controlled_forcing/ctrl_forcing_cs) [fd] run(.. f:subroutine:: subroutine apply_ctrl_forcing(SST_anom, SSS_anom, SSS_mean, virt_heat, virt_precip, day_start, dt, G, US, CS)) [fd] sig(subroutine apply_ctrl_forcing(SST_anom, SSS_anom, SSS_mean, virt_heat, virt_precip, day_start, dt, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(apply_ctrl_forcing) arglist(SST_anom, SSS_anom, SSS_mean, virt_heat, virt_precip, day_start, dt, G, US, CS) [fd] fullname(mom_controlled_forcing/apply_ctrl_forcing) ftype(None) [fd] name(('mom_controlled_forcing/apply_ctrl_forcing', None)) sig(subroutine apply_ctrl_forcing(SST_anom, SSS_anom, SSS_mean, virt_heat, virt_precip, day_start, dt, G, US, CS)) signode(subroutine mom_controlled_forcing/apply_ctrl_forcingSST_anomSSS_anomSSS_meanvirt_heatvirt_precipday_startdtGUSCS) [fd] run(.. f:function:: integer function periodic_int(rval, num_period)) [fd] sig(integer function periodic_int(rval, num_period)) [fd] ftype(integer) objtype(function) modname(None) typename() name(periodic_int) arglist(rval, num_period) [fd] fullname(mom_controlled_forcing/periodic_int) ftype(integer) [fd] name(('mom_controlled_forcing/periodic_int', 'integer')) sig(integer function periodic_int(rval, num_period)) signode(function mom_controlled_forcing/periodic_intrvalnum_period [integer]) [fd] run(.. f:function:: real function periodic_real(rval, num_period)) [fd] sig(real function periodic_real(rval, num_period)) [fd] ftype(real) objtype(function) modname(None) typename() name(periodic_real) arglist(rval, num_period) [fd] fullname(mom_controlled_forcing/periodic_real) ftype(real) [fd] name(('mom_controlled_forcing/periodic_real', 'real')) sig(real function periodic_real(rval, num_period)) signode(function mom_controlled_forcing/periodic_realrvalnum_period [real]) [fd] run(.. f:subroutine:: subroutine register_ctrl_forcing_restarts(G, param_file, CS, restart_CS)) [fd] sig(subroutine register_ctrl_forcing_restarts(G, param_file, CS, restart_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_ctrl_forcing_restarts) arglist(G, param_file, CS, restart_CS) [fd] fullname(mom_controlled_forcing/register_ctrl_forcing_restarts) ftype(None) [fd] name(('mom_controlled_forcing/register_ctrl_forcing_restarts', None)) sig(subroutine register_ctrl_forcing_restarts(G, param_file, CS, restart_CS)) signode(subroutine mom_controlled_forcing/register_ctrl_forcing_restartsGparam_fileCSrestart_CS) [fd] run(.. f:subroutine:: subroutine controlled_forcing_init(Time, G, param_file, diag, CS)) [fd] sig(subroutine controlled_forcing_init(Time, G, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(controlled_forcing_init) arglist(Time, G, param_file, diag, CS) [fd] fullname(mom_controlled_forcing/controlled_forcing_init) ftype(None) [fd] name(('mom_controlled_forcing/controlled_forcing_init', None)) sig(subroutine controlled_forcing_init(Time, G, param_file, diag, CS)) signode(subroutine mom_controlled_forcing/controlled_forcing_initTimeGparam_filediagCS) [fd] run(.. f:subroutine:: subroutine controlled_forcing_end(CS)) [fd] sig(subroutine controlled_forcing_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(controlled_forcing_end) arglist(CS) [fd] fullname(mom_controlled_forcing/controlled_forcing_end) ftype(None) [fd] name(('mom_controlled_forcing/controlled_forcing_end', None)) sig(subroutine controlled_forcing_end(CS)) signode(subroutine mom_controlled_forcing/controlled_forcing_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 22%] api/generated/modules/mom_coord_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_coord_in [app] emitting event: 'source-read'('api/generated/modules/mom_coord_initialization', ['.. autodoxymodule:: mom_coord_initialization\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_coord_initialization.rst:1: input: .. autodoxymodule:: mom_coord_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_coord_initialization::mom_initialize_coord ~mom_coord_initialization::set_coord_from_gprime ~mom_coord_initialization::set_coord_from_layer_density ~mom_coord_initialization::set_coord_from_ts_ref ~mom_coord_initialization::set_coord_from_ts_profile ~mom_coord_initialization::set_coord_from_ts_range ~mom_coord_initialization::set_coord_from_file ~mom_coord_initialization::set_coord_linear ~mom_coord_initialization::set_coord_to_none ~mom_coord_initialization::write_vertgrid_file [debug] xpath(./compounddef/compoundname[text()="mom_coord_initialization"]/..) match([('id', 'namespacemom__coord__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_coord_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_coord_initialization', , {'members': , {'members': , {'members': ), ('set_coord_from_gprime', ), ('set_coord_from_layer_density', ), ('set_coord_from_ts_ref', ), ('set_coord_from_ts_profile', ), ('set_coord_from_ts_range', ), ('set_coord_from_file', ), ('set_coord_linear', ), ('set_coord_to_none', ), ('write_vertgrid_file', )]) [autodoc] module analyzer failed: error importing 'mom_coord_initialization' (exception was: ModuleNotFoundError("No module named 'mom_coord_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((GV, US, PF, write_geom, output_dir, tv, max_depth)) [debug] add_directive_header sig((GV, US, PF, write_geom, output_dir, tv, max_depth)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine mom_initialize_coord) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_initialize_coord', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_coord_initialization::mom_initialize_coord ~mom_coord_initialization::set_coord_from_gprime ~mom_coord_initialization::set_coord_from_layer_density ~mom_coord_initialization::set_coord_from_ts_ref ~mom_coord_initialization::set_coord_from_ts_profile ~mom_coord_initialization::set_coord_from_ts_range ~mom_coord_initialization::set_coord_from_file ~mom_coord_initialization::set_coord_linear ~mom_coord_initialization::set_coord_to_none ~mom_coord_initialization::write_vertgrid_file .. _DETAmom_coord_initialization: -------------------- Detailed Description -------------------- Initializes fixed aspects of the related to its vertical coordinate. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine mom_initialize_coord(GV, US, PF, write_geom, output_dir, tv, max_depth) MOM_initialize_coord sets up time-invariant quantities related to MOM6's vertical coordinate. :param gv: [inout] Ocean vertical grid structure. :param us: [in] A dimensional unit scaling type :param pf: [in] A structure indicating the open file to parse for model parameter values. :param write_geom: [in] If true, write grid geometry files. :param output_dir: [in] The directory into which to write files. :param tv: [inout] The thermodynamic variable structure. :param max_depth: [in] The ocean's maximum depth [Z ~> m]. :callto: :f:func:`bfb_initialization::bfb_set_coord ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mdl ` :callto: :f:func:`set_coord_from_file ` :callto: :f:func:`set_coord_from_gprime ` :callto: :f:func:`set_coord_from_layer_density ` :callto: :f:func:`set_coord_from_ts_profile ` :callto: :f:func:`set_coord_from_ts_range ` :callto: :f:func:`set_coord_from_ts_ref ` :callto: :f:func:`set_coord_linear ` :callto: :f:func:`set_coord_to_none ` :callto: :f:func:`mom_verticalgrid::setverticalgridaxes ` :callto: :f:func:`user_initialization::user_set_coord ` :callto: :f:func:`write_vertgrid_file ` :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine set_coord_from_gprime(Rlay, g_prime, GV, US, param_file) Sets the layer densities (Rlay) and the interface reduced gravities (g). :param gv: [in] The ocean's vertical grid structure. :param rlay: [out] The layers' target coordinate values (potential density) [R ~> kg m-3]. :param g_prime: [out] The reduced gravity across the interfaces [L2 Z-1 T-2 ~> m s-2]. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`mom_initialize_coord ` .. f:subroutine:: subroutine set_coord_from_layer_density(Rlay, g_prime, GV, US, param_file) Sets the layer densities (Rlay) and the interface reduced gravities (g). :param gv: [in] The ocean's vertical grid structure. :param rlay: [out] The layers' target coordinate values (potential density) [R ~> kg m-3]. :param g_prime: [out] The reduced gravity across the interfaces [L2 Z-1 T-2 ~> m s-2]. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`mom_initialize_coord ` .. f:subroutine:: subroutine set_coord_from_ts_ref(Rlay, g_prime, GV, US, param_file, eqn_of_state, P_Ref) Sets the layer densities (Rlay) and the interface reduced gravities (g) from a profile of g'. :param gv: [in] The ocean's vertical grid structure. :param rlay: [out] The layers' target coordinate values (potential density) [R ~> kg m-3]. :param g_prime: [out] The reduced gravity across the interfaces [L2 Z-1 T-2 ~> m s-2]. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :param eqn_of_state: Equation of state structure :param p_ref: [in] The coordinate-density reference pressure [R L2 T-2 ~> Pa]. :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`mom_initialize_coord ` .. f:subroutine:: subroutine set_coord_from_ts_profile(Rlay, g_prime, GV, US, param_file, eqn_of_state, P_Ref) Sets the layer densities (Rlay) and the interface reduced gravities (g) from a T-S profile. :param gv: [in] The ocean's vertical grid structure :param rlay: [out] Layer potential density [R ~> kg m-3]. :param g_prime: [out] The reduced gravity at each interface [L2 Z-1 T-2 ~> m s-2]. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :param eqn_of_state: Equation of state structure :param p_ref: [in] The coordinate-density reference pressure [R L2 T-2 ~> Pa]. :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`mom_initialize_coord ` .. f:subroutine:: subroutine set_coord_from_ts_range(Rlay, g_prime, GV, US, param_file, eqn_of_state, P_Ref) Sets the layer densities (Rlay) and the interface reduced gravities (g) from a linear T-S profile. :param gv: [in] The ocean's vertical grid structure :param rlay: [out] Layer potential density [R ~> kg m-3]. :param g_prime: [out] The reduced gravity at each interface [L2 Z-1 T-2 ~> m s-2]. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :param eqn_of_state: Equation of state structure :param p_ref: [in] The coordinate-density reference pressure [R L2 T-2 ~> Pa]. :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`mom_initialize_coord ` .. f:subroutine:: subroutine set_coord_from_file(Rlay, g_prime, GV, US, param_file) :param gv: [in] The ocean's vertical grid structure :param rlay: [out] Layer potential density [R ~> kg m-3]. :param g_prime: [out] The reduced gravity at each interface [L2 Z-1 T-2 ~> m s-2]. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`mom_initialize_coord ` .. f:subroutine:: subroutine set_coord_linear(Rlay, g_prime, GV, US, param_file) Sets the layer densities (Rlay) and the interface reduced gravities (g) according to a linear profile starting at a reference surface layer density and spanning a range of densities to the bottom defined by the parameter RLAY_RANGE (defaulting to 2.0 if not defined) :param gv: [in] The ocean's vertical grid structure :param rlay: [out] Layer potential density [R ~> kg m-3]. :param g_prime: [out] The reduced gravity at each interface [L2 Z-1 T-2 ~> m s-2]. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`mom_initialize_coord ` .. f:subroutine:: subroutine set_coord_to_none(Rlay, g_prime, GV, US, param_file) Sets Rlay to Rho0 and g_prime to zero except for the free surface. This is for use only in ALE mode where Rlay should not be used and g_prime(1) alone might be used. :param gv: [in] The ocean's vertical grid structure :param rlay: [out] Layer potential density [R ~> kg m-3]. :param g_prime: [out] The reduced gravity at each interface [L2 Z-1 T-2 ~> m s-2]. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`mom_initialize_coord ` .. f:subroutine:: subroutine write_vertgrid_file(GV, US, param_file, directory) Writes out a file containing any available data related to the vertical grid used by the MOM ocean model. :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :param directory: [in] The directory into which to place the file. :callto: :f:func:`mom_io::var_desc ` :calledfrom: :f:func:`mom_initialize_coord ` [debug] DoxygenMethodDocumenter format_signature called ((GV, US, PF, write_geom, output_dir, tv, max_depth)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coord_initialization::mom_initialize_coord', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coord_initialization::set_coord_linear', , [debug] DoxygenMethodDocumenter format_signature called ((Rlay, g_prime, GV, US, param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coord_initialization::set_coord_to_none', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coord_initialization::set_coord_to_none', , [debug] DoxygenMethodDocumenter format_signature called ((GV, US, param_file, directory)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coord_initialization::write_vertgrid_file', subroutine mom_coord_initialization/mom_initialize_coordGVUSPFwrite_geomoutput_dirtvmax_depth) [fd] run(.. f:subroutine:: subroutine set_coord_from_gprime(Rlay, g_prime, GV, US, param_file)) [fd] sig(subroutine set_coord_from_gprime(Rlay, g_prime, GV, US, param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_coord_from_gprime) arglist(Rlay, g_prime, GV, US, param_file) [fd] fullname(mom_coord_initialization/set_coord_from_gprime) ftype(None) [fd] name(('mom_coord_initialization/set_coord_from_gprime', None)) sig(subroutine set_coord_from_gprime(Rlay, g_prime, GV, US, param_file)) signode(subroutine mom_coord_initialization/set_coord_from_gprimeRlayg_primeGVUSparam_file) [fd] run(.. f:subroutine:: subroutine set_coord_from_layer_density(Rlay, g_prime, GV, US, param_file)) [fd] sig(subroutine set_coord_from_layer_density(Rlay, g_prime, GV, US, param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_coord_from_layer_density) arglist(Rlay, g_prime, GV, US, param_file) [fd] fullname(mom_coord_initialization/set_coord_from_layer_density) ftype(None) [fd] name(('mom_coord_initialization/set_coord_from_layer_density', None)) sig(subroutine set_coord_from_layer_density(Rlay, g_prime, GV, US, param_file)) signode(subroutine mom_coord_initialization/set_coord_from_layer_densityRlayg_primeGVUSparam_file) [fd] run(.. f:subroutine:: subroutine set_coord_from_ts_ref(Rlay, g_prime, GV, US, param_file, eqn_of_state, P_Ref)) [fd] sig(subroutine set_coord_from_ts_ref(Rlay, g_prime, GV, US, param_file, eqn_of_state, P_Ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_coord_from_ts_ref) arglist(Rlay, g_prime, GV, US, param_file, eqn_of_state, P_Ref) [fd] fullname(mom_coord_initialization/set_coord_from_ts_ref) ftype(None) [fd] name(('mom_coord_initialization/set_coord_from_ts_ref', None)) sig(subroutine set_coord_from_ts_ref(Rlay, g_prime, GV, US, param_file, eqn_of_state, P_Ref)) signode(subroutine mom_coord_initialization/set_coord_from_ts_refRlayg_primeGVUSparam_fileeqn_of_stateP_Ref) [fd] run(.. f:subroutine:: subroutine set_coord_from_ts_profile(Rlay, g_prime, GV, US, param_file, eqn_of_state, P_Ref)) [fd] sig(subroutine set_coord_from_ts_profile(Rlay, g_prime, GV, US, param_file, eqn_of_state, P_Ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_coord_from_ts_profile) arglist(Rlay, g_prime, GV, US, param_file, eqn_of_state, P_Ref) [fd] fullname(mom_coord_initialization/set_coord_from_ts_profile) ftype(None) [fd] name(('mom_coord_initialization/set_coord_from_ts_profile', None)) sig(subroutine set_coord_from_ts_profile(Rlay, g_prime, GV, US, param_file, eqn_of_state, P_Ref)) signode(subroutine mom_coord_initialization/set_coord_from_ts_profileRlayg_primeGVUSparam_fileeqn_of_stateP_Ref) [fd] run(.. f:subroutine:: subroutine set_coord_from_ts_range(Rlay, g_prime, GV, US, param_file, eqn_of_state, P_Ref)) [fd] sig(subroutine set_coord_from_ts_range(Rlay, g_prime, GV, US, param_file, eqn_of_state, P_Ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_coord_from_ts_range) arglist(Rlay, g_prime, GV, US, param_file, eqn_of_state, P_Ref) [fd] fullname(mom_coord_initialization/set_coord_from_ts_range) ftype(None) [fd] name(('mom_coord_initialization/set_coord_from_ts_range', None)) sig(subroutine set_coord_from_ts_range(Rlay, g_prime, GV, US, param_file, eqn_of_state, P_Ref)) signode(subroutine mom_coord_initialization/set_coord_from_ts_rangeRlayg_primeGVUSparam_fileeqn_of_stateP_Ref) [fd] run(.. f:subroutine:: subroutine set_coord_from_file(Rlay, g_prime, GV, US, param_file)) [fd] sig(subroutine set_coord_from_file(Rlay, g_prime, GV, US, param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_coord_from_file) arglist(Rlay, g_prime, GV, US, param_file) [fd] fullname(mom_coord_initialization/set_coord_from_file) ftype(None) [fd] name(('mom_coord_initialization/set_coord_from_file', None)) sig(subroutine set_coord_from_file(Rlay, g_prime, GV, US, param_file)) signode(subroutine mom_coord_initialization/set_coord_from_fileRlayg_primeGVUSparam_file) [fd] run(.. f:subroutine:: subroutine set_coord_linear(Rlay, g_prime, GV, US, param_file)) [fd] sig(subroutine set_coord_linear(Rlay, g_prime, GV, US, param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_coord_linear) arglist(Rlay, g_prime, GV, US, param_file) [fd] fullname(mom_coord_initialization/set_coord_linear) ftype(None) [fd] name(('mom_coord_initialization/set_coord_linear', None)) sig(subroutine set_coord_linear(Rlay, g_prime, GV, US, param_file)) signode(subroutine mom_coord_initialization/set_coord_linearRlayg_primeGVUSparam_file) [fd] run(.. f:subroutine:: subroutine set_coord_to_none(Rlay, g_prime, GV, US, param_file)) [fd] sig(subroutine set_coord_to_none(Rlay, g_prime, GV, US, param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_coord_to_none) arglist(Rlay, g_prime, GV, US, param_file) [fd] fullname(mom_coord_initialization/set_coord_to_none) ftype(None) [fd] name(('mom_coord_initialization/set_coord_to_none', None)) sig(subroutine set_coord_to_none(Rlay, g_prime, GV, US, param_file)) signode(subroutine mom_coord_initialization/set_coord_to_noneRlayg_primeGVUSparam_file) [fd] run(.. f:subroutine:: subroutine write_vertgrid_file(GV, US, param_file, directory)) [fd] sig(subroutine write_vertgrid_file(GV, US, param_file, directory)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(write_vertgrid_file) arglist(GV, US, param_file, directory) [fd] fullname(mom_coord_initialization/write_vertgrid_file) ftype(None) [fd] name(('mom_coord_initialization/write_vertgrid_file', None)) sig(subroutine write_vertgrid_file(GV, US, param_file, directory)) signode(subroutine mom_coord_initialization/write_vertgrid_fileGVUSparam_filedirectory) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 22%] api/generated/modules/mom_coriolisadv [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_coriolis [app] emitting event: 'source-read'('api/generated/modules/mom_coriolisadv', ['.. autodoxymodule:: mom_coriolisadv\n :members:\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_coriolisadv.rst:1: input: .. autodoxymodule:: mom_coriolisadv :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_coriolisadv::coriolisadv_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_coriolisadv::coradcalc ~mom_coriolisadv::gradke ~mom_coriolisadv::coriolisadv_init ~mom_coriolisadv::coriolisadv_end [debug] xpath(./compounddef/compoundname[text()="mom_coriolisadv"]/..) match([('id', 'namespacemom__coriolisadv'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_coriolisadv module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_coriolisadv', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_coriolisadv' (exception was: ModuleNotFoundError("No module named 'mom_coriolisadv'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__coriolisadv) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__coriolisadv'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_coriolisadv::coriolisadv_cs', , {'members': [debug] members([('coradcalc', ), ('gradke', ), ('coriolisadv_init', ), ('coriolisadv_end', )]) [autodoc] module analyzer failed: error importing 'mom_coriolisadv' (exception was: ModuleNotFoundError("No module named 'mom_coriolisadv'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, uh, vh, CAu, CAv, OBC, AD, G, GV, US, CS)) [debug] add_directive_header sig((u, v, h, uh, vh, CAu, CAv, OBC, AD, G, GV, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine coradcalc) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coradcalc', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__coriolisadv_1_1coriolisadv__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coriolisadv_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__coriolisadv_1_1coriolisadv__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coriolisadv_end', , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_coriolisadv::coriolisadv_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_coriolisadv::coradcalc ~mom_coriolisadv::gradke ~mom_coriolisadv::coriolisadv_init ~mom_coriolisadv::coriolisadv_end .. _DETAmom_coriolisadv: -------------------- Detailed Description -------------------- This file contains the subroutine that calculates the time derivatives of the velocities due to Coriolis acceleration and momentum advection. This subroutine uses either a vorticity advection scheme from Arakawa and Hsu, Mon. Wea. Rev. 1990, or Sadourny's (JAS 1975) energy conserving scheme. Both have been modified to use general orthogonal coordinates as described in Arakawa and Lamb, Mon. Wea. Rev. 1981. Both schemes are second order accurate, and allow for vanishingly small layer thicknesses. The Arakawa and Hsu scheme globally conserves both total energy and potential enstrophy in the limit of nondivergent flow. Sadourny's energy conserving scheme conserves energy if the flow is nondivergent or centered difference thickness fluxes are used. A small fragment of the grid is shown below: :: j+1 x ^ x ^ x At x: q, CoriolisBu j+1 > o > o > At ^: v, CAv, vh j x ^ x ^ x At >: u, CAu, uh, a, b, c, d j > o > o > At o: h, KE j-1 x ^ x ^ x i-1 i i+1 At x & ^: i i+1 At > & o: The boundaries always run through q grid points (x). ------------------ Type Documentation ------------------ .. f:type:: coriolisadv_cs Control structure for :f:func:`mom_coriolisadv`. . :typefield integer id_rv: Diagnostic IDs. :typefield integer id_pv: Diagnostic IDs. :typefield integer id_gkeu: Diagnostic IDs. :typefield integer id_gkev: Diagnostic IDs. :typefield integer id_rvxu: Diagnostic IDs. :typefield integer id_rvxv: Diagnostic IDs. :typefield integer id_hf_gkeu_2d: Diagnostic IDs. :typefield integer id_hf_gkev_2d: Diagnostic IDs. :typefield integer id_hf_rvxu_2d: Diagnostic IDs. :typefield integer id_hf_rvxv_2d: Diagnostic IDs. :typefield integer coriolis_scheme: Selects the discretization for the Coriolis terms. Valid values are: :typefield integer ke_scheme: KE_SCHEME selects the discretization for the kinetic energy. Valid values are: KE_ARAKAWA, KE_SIMPLE_GUDONOV, KE_GUDONOV. :typefield integer pv_adv_scheme: PV_ADV_SCHEME selects the discretization for PV advection Valid values are: :typefield real f_eff_max_blend: The factor by which the maximum effective Coriolis acceleration from any point can be increased when blending different discretizations with the ARAKAWA_LAMB_BLEND Coriolis scheme. This must be greater than 2.0, and is 4.0 by default. :typefield real wt_lin_blend: A weighting value beyond which the blending between Sadourny and Arakawa & Hsu goes linearly to 0. This must be between 1 and 1e-15, often 1/8. :typefield logical no_slip: If true, no slip boundary conditions are used. Otherwise free slip boundary conditions are assumed. The implementation of the free slip boundary conditions on a C-grid is much cleaner than the no slip boundary conditions. The use of free slip b.c.s is strongly encouraged. The no slip b.c.s are not implemented with the biharmonic viscosity. :typefield logical bound_coriolis: If true, the Coriolis terms at u points are bounded by the four estimates of (f+rv)v from the four neighboring v points, and similarly at v points. This option would have no effect on the SADOURNY75_ENERGY scheme if it were possible to use centered difference thickness fluxes. :typefield logical coriolis_en_dis: If CORIOLIS_EN_DIS is defined, two estimates of the thickness fluxes are used to estimate the Coriolis term, and the one that dissipates energy relative to the other one is used. This is only available at present if Coriolis scheme is SADOURNY75_ENERGY. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine coradcalc(u, v, h, uh, vh, CAu, CAv, OBC, AD, G, GV, US, CS) Calculates the Coriolis and momentum advection contributions to the acceleration. :param g: [in] Ocen grid structure :param gv: [in] Vertical grid structure :param u: [in] Zonal velocity [L T-1 ~> m s-1] :param v: [in] Meridional velocity [L T-1 ~> m s-1] :param h: [in] Layer thickness [H ~> m or kg m-2] :param uh: [in] Zonal transport u*h*dy [H L2 T-1 ~> m3 s-1 or kg s-1] :param vh: [in] Meridional transport v*h*dx [H L2 T-1 ~> m3 s-1 or kg s-1] :param cau: [out] Zonal acceleration due to Coriolis and momentum advection [L T-2 ~> m s-2]. :param cav: [out] Meridional acceleration due to Coriolis and momentum advection [L T-2 ~> m s-2]. :param obc: Open boundary control structure :param ad: [inout] Storage for acceleration diagnostics :param us: [in] A dimensional unit scaling type :param cs: Control structure for MOM_CoriolisAdv :callto: :f:func:`al_blend ` :callto: :f:func:`arakawa_hsu90 ` :callto: :f:func:`arakawa_lamb81 ` :callto: :f:func:`gradke ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_open_boundary::obc_direction_n ` :callto: :f:func:`pv_adv_centered ` :callto: :f:func:`pv_adv_upwind1 ` :callto: :f:func:`robust_enstro ` :callto: :f:func:`sadourny75_energy ` :callto: :f:func:`sadourny75_enstro ` :calledfrom: :f:func:`mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ` :calledfrom: :f:func:`mom_dynamics_unsplit::step_mom_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2 ` .. f:subroutine:: subroutine gradke(u, v, h, KE, KEx, KEy, k, OBC, G, US, CS) Calculates the acceleration due to the gradient of kinetic energy. :param g: [in] Ocen grid structure :param u: [in] Zonal velocity [L T-1 ~> m s-1] :param v: [in] Meridional velocity [L T-1 ~> m s-1] :param h: [in] Layer thickness [H ~> m or kg m-2] :param ke: [out] Kinetic energy per unit mass [L2 T-2 ~> m2 s-2] :param kex: [out] Zonal acceleration due to kinetic energy gradient [L T-2 ~> m s-2] :param key: [out] Meridional acceleration due to kinetic energy gradient [L T-2 ~> m s-2] :param k: [in] Layer number to calculate for :param obc: Open boundary control structure :param us: [in] A dimensional unit scaling type :param cs: Control structure for MOM_CoriolisAdv :callto: :f:func:`ke_arakawa ` :callto: :f:func:`ke_gudonov ` :callto: :f:func:`ke_simple_gudonov ` :calledfrom: :f:func:`coradcalc ` .. f:subroutine:: subroutine coriolisadv_init(Time, G, GV, US, param_file, diag, AD, CS) Initializes the control structure for :f:func:`coriolisadv_cs`. . :param time: [in] Current model time :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] Runtime parameter handles :param diag: [inout] Diagnostics control structure :param ad: [inout] Strorage for acceleration diagnostics :param cs: Control structure fro MOM_CoriolisAdv :callto: :f:func:`al_blend ` :callto: :f:func:`al_blend_string ` :callto: :f:func:`arakawa_hsu90 ` :callto: :f:func:`arakawa_hsu_string ` :callto: :f:func:`arakawa_lamb81 ` :callto: :f:func:`arakawa_lamb_string ` :callto: :f:func:`ke_arakawa ` :callto: :f:func:`ke_arakawa_string ` :callto: :f:func:`ke_gudonov ` :callto: :f:func:`ke_gudonov_string ` :callto: :f:func:`ke_simple_gudonov ` :callto: :f:func:`ke_simple_gudonov_string ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`pv_adv_centered ` :callto: :f:func:`pv_adv_centered_string ` :callto: :f:func:`pv_adv_upwind1 ` :callto: :f:func:`pv_adv_upwind1_string ` :callto: :f:func:`mom_diag_mediator::register_diag_field ` :callto: :f:func:`robust_enstro ` :callto: :f:func:`robust_enstro_string ` :callto: :f:func:`sadourny75_energy ` :callto: :f:func:`sadourny75_energy_string ` :callto: :f:func:`sadourny75_enstro ` :callto: :f:func:`sadourny75_enstro_string ` :callto: :f:func:`mom_string_functions::uppercase ` :calledfrom: :f:func:`mom_dynamics_split_rk2::initialize_dyn_split_rk2 ` :calledfrom: :f:func:`mom_dynamics_unsplit::initialize_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::initialize_dyn_unsplit_rk2 ` .. f:subroutine:: subroutine coriolisadv_end(CS) Destructor for :f:func:`coriolisadv_cs`. . :param cs: Control structure fro MOM_CoriolisAdv [debug] xpath(./compounddef/compoundname[text()="mom_coriolisadv::coriolisadv_cs"]/..) match([('id', 'structmom__coriolisadv_1_1coriolisadv__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__coriolisadv) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__coriolisadv'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_coriolisadv::coriolisadv_cs', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_coriolisadv::coriolisadv_cs', , {}, ['`Mo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_coriolisadv::coriolisadv_cs', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, uh, vh, CAu, CAv, OBC, AD, G, GV, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coriolisadv::coradcalc', , {}, ['', 'Calcul [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coriolisadv::coradcalc', , {}, ['', 'Calcul [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, KE, KEx, KEy, k, OBC, G, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coriolisadv::gradke', , {}, ['', 'Calculate [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coriolisadv::gradke', , {}, ['', 'Calculate [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, AD, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__coriolisadv_1_1coriolisadv__cs) kindref(compound) ref([]) [debug] ref([('id', 'structmom__coriolisadv_1_1coriolisadv__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coriolisadv::coriolisadv_init', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coriolisadv::coriolisadv_init', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__coriolisadv_1_1coriolisadv__cs) kindref(compound) ref([]) [debug] ref([('id', 'structmom__coriolisadv_1_1coriolisadv__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coriolisadv::coriolisadv_end', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_coriolisadv::coriolisadv_end', , {}, ['', ' [fd] run(.. f:type:: coriolisadv_cs) [fd] sig(coriolisadv_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(coriolisadv_cs) arglist(None) [fd] fullname(mom_coriolisadv/coriolisadv_cs) ftype(None) [fd] name(('mom_coriolisadv/coriolisadv_cs', None)) sig(coriolisadv_cs) signode(type mom_coriolisadv/coriolisadv_cs) [fd] run(.. f:subroutine:: subroutine coradcalc(u, v, h, uh, vh, CAu, CAv, OBC, AD, G, GV, US, CS)) [fd] sig(subroutine coradcalc(u, v, h, uh, vh, CAu, CAv, OBC, AD, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(coradcalc) arglist(u, v, h, uh, vh, CAu, CAv, OBC, AD, G, GV, US, CS) [fd] fullname(mom_coriolisadv/coradcalc) ftype(None) [fd] name(('mom_coriolisadv/coradcalc', None)) sig(subroutine coradcalc(u, v, h, uh, vh, CAu, CAv, OBC, AD, G, GV, US, CS)) signode(subroutine mom_coriolisadv/coradcalcuvhuhvhCAuCAvOBCADGGVUSCS) [fd] run(.. f:subroutine:: subroutine gradke(u, v, h, KE, KEx, KEy, k, OBC, G, US, CS)) [fd] sig(subroutine gradke(u, v, h, KE, KEx, KEy, k, OBC, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(gradke) arglist(u, v, h, KE, KEx, KEy, k, OBC, G, US, CS) [fd] fullname(mom_coriolisadv/gradke) ftype(None) [fd] name(('mom_coriolisadv/gradke', None)) sig(subroutine gradke(u, v, h, KE, KEx, KEy, k, OBC, G, US, CS)) signode(subroutine mom_coriolisadv/gradkeuvhKEKExKEykOBCGUSCS) [fd] run(.. f:subroutine:: subroutine coriolisadv_init(Time, G, GV, US, param_file, diag, AD, CS)) [fd] sig(subroutine coriolisadv_init(Time, G, GV, US, param_file, diag, AD, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(coriolisadv_init) arglist(Time, G, GV, US, param_file, diag, AD, CS) [fd] fullname(mom_coriolisadv/coriolisadv_init) ftype(None) [fd] name(('mom_coriolisadv/coriolisadv_init', None)) sig(subroutine coriolisadv_init(Time, G, GV, US, param_file, diag, AD, CS)) signode(subroutine mom_coriolisadv/coriolisadv_initTimeGGVUSparam_filediagADCS) [fd] run(.. f:subroutine:: subroutine coriolisadv_end(CS)) [fd] sig(subroutine coriolisadv_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(coriolisadv_end) arglist(CS) [fd] fullname(mom_coriolisadv/coriolisadv_end) ftype(None) [fd] name(('mom_coriolisadv/coriolisadv_end', None)) sig(subroutine coriolisadv_end(CS)) signode(subroutine mom_coriolisadv/coriolisadv_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) docstring of mom_coriolisadv:5: (INFO/1) Possible title underline, too short for the title. Treating it as ordinary text because it’s so short. [filtered system message] reading sources... [ 22%] api/generated/modules/mom_cpu_clock [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_cpu_cloc [app] emitting event: 'source-read'('api/generated/modules/mom_cpu_clock', ['.. autodoxymodule:: mom_cpu_clock\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_cpu_clock.rst:1: input: .. autodoxymodule:: mom_cpu_clock :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_cpu_clock::cpu_clock_id [debug] xpath(./compounddef/compoundname[text()="mom_cpu_clock"]/..) match([('id', 'namespacemom__cpu__clock'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_cpu_clock module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cpu_clock', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_cpu_clock' (exception was: ModuleNotFoundError("No module named 'mom_cpu_clock'")) [debug] DoxygenMethodDocumenter format_signature called ((name, synchro_flag, grain)) [debug] add_directive_header sig((name, synchro_flag, grain)) [debug] DoxygenMethodDocumenter directive(function) name(integer function cpu_clock_id) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [debug] method=visit_simplesect [debug] simplesect kind(return) [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'cpu_clock_id', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_cpu_clock::cpu_clock_id .. _DETAmom_cpu_clock: -------------------- Detailed Description -------------------- Wraps the MPP cpu clock functions. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: integer function cpu_clock_id(name, synchro_flag, grain) cpu_clock_id returns the integer handle for a named CPU clock. :param name: [in] The unique name of the CPU clock :param synchro_flag: [in] An integer flag that controls whether the PEs are synchronized before the cpu clocks start counting. Synchronization occurs before the start of a clock if this is odd, while additional (expensive) statistics can set for other values. If absent, the default is taken from the settings for FMS. :param grain: [in] The timing granularity for this clock, usually set to the values of CLOCK_COMPONENT, CLOCK_ROUTINE, CLOCK_LOOP, etc. :returns undefined: The integer CPU clock handle. :calledfrom: :f:func:`mom_barotropic::barotropic_init ` :calledfrom: :f:func:`mom_bulk_mixed_layer::bulkmixedlayer_init ` :calledfrom: :f:func:`mom_continuity_ppm::continuity_ppm_init ` :calledfrom: :f:func:`mom_meke::meke_init ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`mom_forcing_type::register_forcing_type_diags ` :calledfrom: :f:func:`mom_regularize_layers::regularize_layers_init ` :calledfrom: :f:func:`mom_tidal_forcing::tidal_forcing_init ` [debug] DoxygenMethodDocumenter format_signature called ((name, synchro_flag, grain)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cpu_clock::cpu_clock_id', , {}, ['', 'cpu_c [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cpu_clock::cpu_clock_id', , {}, ['', 'cpu_c [fd] run(.. f:function:: integer function cpu_clock_id(name, synchro_flag, grain)) [fd] sig(integer function cpu_clock_id(name, synchro_flag, grain)) [fd] ftype(integer) objtype(function) modname(None) typename() name(cpu_clock_id) arglist(name, synchro_flag, grain) [fd] fullname(mom_cpu_clock/cpu_clock_id) ftype(integer) [fd] name(('mom_cpu_clock/cpu_clock_id', 'integer')) sig(integer function cpu_clock_id(name, synchro_flag, grain)) signode(function mom_cpu_clock/cpu_clock_idnamesynchro_flaggrain [integer]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 23%] api/generated/modules/mom_cvmix_conv [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_cvmix_co [app] emitting event: 'source-read'('api/generated/modules/mom_cvmix_conv', ['.. autodoxymodule:: mom_cvmix_conv\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_cvmix_conv.rst:1: input: .. autodoxymodule:: mom_cvmix_conv :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_cvmix_conv::cvmix_conv_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_cvmix_conv::cvmix_conv_init ~mom_cvmix_conv::calculate_cvmix_conv ~mom_cvmix_conv::cvmix_conv_is_used ~mom_cvmix_conv::cvmix_conv_end [debug] xpath(./compounddef/compoundname[text()="mom_cvmix_conv"]/..) match([('id', 'namespacemom__cvmix__conv'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_cvmix_conv module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_conv', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_cvmix_conv' (exception was: ModuleNotFoundError("No module named 'mom_cvmix_conv'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_cvmix_conv::cvmix_conv_cs', , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_conv::cvmix_conv_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_conv::cvmix_conv_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_conv::cvmix_conv_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_conv::cvmix_conv_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_conv::cvmix_conv_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_conv::cvmix_conv_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_conv::cvmix_conv_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_conv::cvmix_conv_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_conv::cvmix_conv_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_conv::cvmix_conv_cs', , {'members': < [debug] members([('cvmix_conv_init', ), ('calculate_cvmix_conv', ), ('cvmix_conv_is_used', ), ('cvmix_conv_end', )]) [autodoc] module analyzer failed: error importing 'mom_cvmix_conv' (exception was: ModuleNotFoundError("No module named 'mom_cvmix_conv'")) [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS)) [debug] add_directive_header sig((Time, G, GV, US, param_file, diag, CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function cvmix_conv_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'cvmix_conv_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_cvmix_conv::cvmix_conv_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_cvmix_conv::cvmix_conv_init ~mom_cvmix_conv::calculate_cvmix_conv ~mom_cvmix_conv::cvmix_conv_is_used ~mom_cvmix_conv::cvmix_conv_end .. _DETAmom_cvmix_conv: -------------------- Detailed Description -------------------- Interface to CVMix convection scheme. ------------------ Type Documentation ------------------ .. f:type:: cvmix_conv_cs Control structure including parameters for CVMix convection. :typefield integer id_n2: Diagnostics handles. :typefield integer id_kd_conv: Diagnostics handles. :typefield integer id_kv_conv: Diagnostics handles. :typefield real kd_conv_const: diffusivity constant used in convective regime [m2 s-1] :typefield real kv_conv_const: viscosity constant used in convective regime [m2 s-1] :typefield real bv_sqr_conv: Threshold for squared buoyancy frequency needed to trigger Brunt-Vaisala parameterization [s-2]. :typefield real min_thickness: Minimum thickness allowed [m]. :typefield logical debug: If true, turn on debugging. :typefield type(diag_ctrl) diag [pointer]: Pointer to diagnostics control structure. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function cvmix_conv_init(Time, G, GV, US, param_file, diag, CS) Initialized the CVMix convection mixing routine. :param time: [in] The current time. :param g: [in] Grid structure. :param gv: [in] Vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] Run-time parameter file handle :param diag: [inout] Diagnostics control structure. :param cs: This module's control structure. :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine calculate_cvmix_conv(h, tv, G, GV, US, CS, hbl, Kd, Kv, Kd_aux) Subroutine for calculating enhanced diffusivity/viscosity due to convection via CVMix. :param g: [in] Grid structure. :param gv: [in] Vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [in] Layer thickness [H ~> m or kg m-2]. :param tv: [in] Thermodynamics structure. :param cs: The control structure returned by a previous call to CVMix_conv_init. :param hbl: [in] Depth of ocean boundary layer [Z ~> m] :param kd: [inout] Diapycnal diffusivity at each interface that :param kv: [inout] Viscosity at each interface that will be :param kd_aux: [inout] A second diapycnal diffusivity at each :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale_legacy ` :calledfrom: :f:func:`mom_diabatic_driver::layered_diabatic ` .. f:function:: logical function cvmix_conv_is_used(param_file) Reads the parameter "USE_CVMix_CONVECTION" and returns state. This function allows other modules to know whether this parameterization will be used without needing to duplicate the log entry. :param param_file: [in] A structure to parse for run-time parameters :callto: :f:func:`mdl ` :calledfrom: :f:func:`mom_set_visc::set_visc_register_restarts ` .. f:subroutine:: subroutine cvmix_conv_end(CS) Clear pointers and dealocate memory. :param cs: Control structure for this module that will be deallocated in this subroutine :calledfrom: :f:func:`mom_diabatic_driver::diabatic_driver_end ` [debug] xpath(./compounddef/compoundname[text()="mom_cvmix_conv::cvmix_conv_cs"]/..) match([('id', 'structmom__cvmix__conv_1_1cvmix__conv__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_conv::cvmix_conv_cs', , {}, ['', 'C [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_conv::cvmix_conv_cs', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_conv::cvmix_conv_cs', , {}, ['', 'C [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_conv::cvmix_conv_init', , {}, ['', 'I [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_conv::cvmix_conv_init', , {}, ['', 'I [debug] DoxygenMethodDocumenter format_signature called ((h, tv, G, GV, US, CS, hbl, Kd, Kv, Kd_aux)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_conv::calculate_cvmix_conv', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_conv::calculate_cvmix_conv', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_conv::cvmix_conv_is_used', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_conv::cvmix_conv_is_used', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_conv::cvmix_conv_end', , {}, ['', 'Cl [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_conv::cvmix_conv_end', , {}, ['', 'Cl [fd] run(.. f:type:: cvmix_conv_cs) [fd] sig(cvmix_conv_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(cvmix_conv_cs) arglist(None) [fd] fullname(mom_cvmix_conv/cvmix_conv_cs) ftype(None) [fd] name(('mom_cvmix_conv/cvmix_conv_cs', None)) sig(cvmix_conv_cs) signode(type mom_cvmix_conv/cvmix_conv_cs) [fd] run(.. f:function:: logical function cvmix_conv_init(Time, G, GV, US, param_file, diag, CS)) [fd] sig(logical function cvmix_conv_init(Time, G, GV, US, param_file, diag, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(cvmix_conv_init) arglist(Time, G, GV, US, param_file, diag, CS) [fd] fullname(mom_cvmix_conv/cvmix_conv_init) ftype(logical) [fd] name(('mom_cvmix_conv/cvmix_conv_init', 'logical')) sig(logical function cvmix_conv_init(Time, G, GV, US, param_file, diag, CS)) signode(function mom_cvmix_conv/cvmix_conv_initTimeGGVUSparam_filediagCS [logical]) [fd] run(.. f:subroutine:: subroutine calculate_cvmix_conv(h, tv, G, GV, US, CS, hbl, Kd, Kv, Kd_aux)) [fd] sig(subroutine calculate_cvmix_conv(h, tv, G, GV, US, CS, hbl, Kd, Kv, Kd_aux)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_cvmix_conv) arglist(h, tv, G, GV, US, CS, hbl, Kd, Kv, Kd_aux) [fd] fullname(mom_cvmix_conv/calculate_cvmix_conv) ftype(None) [fd] name(('mom_cvmix_conv/calculate_cvmix_conv', None)) sig(subroutine calculate_cvmix_conv(h, tv, G, GV, US, CS, hbl, Kd, Kv, Kd_aux)) signode(subroutine mom_cvmix_conv/calculate_cvmix_convhtvGGVUSCShblKdKvKd_aux) [fd] run(.. f:function:: logical function cvmix_conv_is_used(param_file)) [fd] sig(logical function cvmix_conv_is_used(param_file)) [fd] ftype(logical) objtype(function) modname(None) typename() name(cvmix_conv_is_used) arglist(param_file) [fd] fullname(mom_cvmix_conv/cvmix_conv_is_used) ftype(logical) [fd] name(('mom_cvmix_conv/cvmix_conv_is_used', 'logical')) sig(logical function cvmix_conv_is_used(param_file)) signode(function mom_cvmix_conv/cvmix_conv_is_usedparam_file [logical]) [fd] run(.. f:subroutine:: subroutine cvmix_conv_end(CS)) [fd] sig(subroutine cvmix_conv_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(cvmix_conv_end) arglist(CS) [fd] fullname(mom_cvmix_conv/cvmix_conv_end) ftype(None) [fd] name(('mom_cvmix_conv/cvmix_conv_end', None)) sig(subroutine cvmix_conv_end(CS)) signode(subroutine mom_cvmix_conv/cvmix_conv_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 23%] api/generated/modules/mom_cvmix_ddiff [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_cvmix_dd [app] emitting event: 'source-read'('api/generated/modules/mom_cvmix_ddiff', ['.. autodoxymodule:: mom_cvmix_ddiff\n :members:\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_cvmix_ddiff.rst:1: input: .. autodoxymodule:: mom_cvmix_ddiff :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_cvmix_ddiff::cvmix_ddiff_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_cvmix_ddiff::cvmix_ddiff_init ~mom_cvmix_ddiff::compute_ddiff_coeffs ~mom_cvmix_ddiff::cvmix_ddiff_is_used ~mom_cvmix_ddiff::cvmix_ddiff_end [debug] xpath(./compounddef/compoundname[text()="mom_cvmix_ddiff"]/..) match([('id', 'namespacemom__cvmix__ddiff'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_cvmix_ddiff module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_ddiff', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_cvmix_ddiff' (exception was: ModuleNotFoundError("No module named 'mom_cvmix_ddiff'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_cvmix_ddiff::cvmix_ddiff_cs', , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_ddiff::cvmix_ddiff_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_ddiff::cvmix_ddiff_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_ddiff::cvmix_ddiff_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_ddiff::cvmix_ddiff_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_ddiff::cvmix_ddiff_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_ddiff::cvmix_ddiff_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_ddiff::cvmix_ddiff_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_ddiff::cvmix_ddiff_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_ddiff::cvmix_ddiff_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_ddiff::cvmix_ddiff_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_ddiff::cvmix_ddiff_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_ddiff::cvmix_ddiff_cs', , {'members': [debug] members([('cvmix_ddiff_init', ), ('compute_ddiff_coeffs', ), ('cvmix_ddiff_is_used', ), ('cvmix_ddiff_end', )]) [autodoc] module analyzer failed: error importing 'mom_cvmix_ddiff' (exception was: ModuleNotFoundError("No module named 'mom_cvmix_ddiff'")) [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS)) [debug] add_directive_header sig((Time, G, GV, US, param_file, diag, CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function cvmix_ddiff_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'cvmix_ddiff_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_cvmix_ddiff::cvmix_ddiff_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_cvmix_ddiff::cvmix_ddiff_init ~mom_cvmix_ddiff::compute_ddiff_coeffs ~mom_cvmix_ddiff::cvmix_ddiff_is_used ~mom_cvmix_ddiff::cvmix_ddiff_end .. _DETAmom_cvmix_ddiff: -------------------- Detailed Description -------------------- Interface to CVMix double diffusion scheme. ------------------ Type Documentation ------------------ .. f:type:: cvmix_ddiff_cs Control structure including parameters for CVMix double diffusion. :typefield real strat_param_max: maximum value for the stratification parameter [nondim] :typefield real kappa_ddiff_s: leading coefficient in formula for salt-fingering regime for salinity diffusion [m2 s-1] :typefield real ddiff_exp1: interior exponent in salt-fingering regime formula [nondim] :typefield real ddiff_exp2: exterior exponent in salt-fingering regime formula [nondim] :typefield real mol_diff: molecular diffusivity [m2 s-1] :typefield real kappa_ddiff_param1: exterior coefficient in diffusive convection regime [nondim] :typefield real kappa_ddiff_param2: middle coefficient in diffusive convection regime [nondim] :typefield real kappa_ddiff_param3: interior coefficient in diffusive convection regime [nondim] :typefield real min_thickness: Minimum thickness allowed [m]. :typefield character (len=4) diff_conv_type: type of diffusive convection to use. Options are Marmorino & Caldwell 1976 ("MC76"; default) and Kelley 1988, 1990 ("K90") :typefield logical debug: If true, turn on debugging. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function cvmix_ddiff_init(Time, G, GV, US, param_file, diag, CS) Initialized the CVMix double diffusion module. :param time: [in] The current time. :param g: [in] Grid structure. :param gv: [in] Vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] Run-time parameter file handle :param diag: [inout] Diagnostics control structure. :param cs: This module's control structure. :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine compute_ddiff_coeffs(h, tv, G, GV, US, j, Kd_T, Kd_S, CS, R_rho) Subroutine for computing vertical diffusion coefficients for the double diffusion mixing parameterization. :param g: [in] Grid structure. :param gv: [in] Vertical grid structure. :param h: [in] Layer thickness [H ~> m or kg m-2]. :param tv: [in] Thermodynamics structure. :param us: [in] A dimensional unit scaling type :param j: [in] Meridional grid index to work on. :param kd_t: [inout] Interface double diffusion diapycnal diffusivity for temp [Z2 T-1 ~> m2 s-1]. :param kd_s: [inout] Interface double diffusion diapycnal diffusivity for salt [Z2 T-1 ~> m2 s-1]. :param cs: The control structure returned by a previous call to CVMix_ddiff_init. :param r_rho: [inout] The density ratios at interfaces [nondim]. :calledfrom: :f:func:`mom_set_diffusivity::set_diffusivity ` .. f:function:: logical function cvmix_ddiff_is_used(param_file) Reads the parameter "USE_CVMIX_DDIFF" and returns state. This function allows other modules to know whether this parameterization will be used without needing to duplicate the log entry. :param param_file: [in] A structure to parse for run-time parameters :callto: :f:func:`mdl ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_driver_init ` .. f:subroutine:: subroutine cvmix_ddiff_end(CS) Clear pointers and dealocate memory. :param cs: Control structure for this module that will be deallocated in this subroutine [debug] xpath(./compounddef/compoundname[text()="mom_cvmix_ddiff::cvmix_ddiff_cs"]/..) match([('id', 'structmom__cvmix__ddiff_1_1cvmix__ddiff__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_ddiff::cvmix_ddiff_cs', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_ddiff::cvmix_ddiff_cs', , {}, ['`Mo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_ddiff::cvmix_ddiff_cs', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_ddiff::cvmix_ddiff_init', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_ddiff::cvmix_ddiff_init', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((h, tv, G, GV, US, j, Kd_T, Kd_S, CS, R_rho)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_ddiff::compute_ddiff_coeffs', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_ddiff::compute_ddiff_coeffs', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_ddiff::cvmix_ddiff_is_used', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_ddiff::cvmix_ddiff_is_used', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_ddiff::cvmix_ddiff_end', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_ddiff::cvmix_ddiff_end', , {}, ['', ' [fd] run(.. f:type:: cvmix_ddiff_cs) [fd] sig(cvmix_ddiff_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(cvmix_ddiff_cs) arglist(None) [fd] fullname(mom_cvmix_ddiff/cvmix_ddiff_cs) ftype(None) [fd] name(('mom_cvmix_ddiff/cvmix_ddiff_cs', None)) sig(cvmix_ddiff_cs) signode(type mom_cvmix_ddiff/cvmix_ddiff_cs) [fd] run(.. f:function:: logical function cvmix_ddiff_init(Time, G, GV, US, param_file, diag, CS)) [fd] sig(logical function cvmix_ddiff_init(Time, G, GV, US, param_file, diag, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(cvmix_ddiff_init) arglist(Time, G, GV, US, param_file, diag, CS) [fd] fullname(mom_cvmix_ddiff/cvmix_ddiff_init) ftype(logical) [fd] name(('mom_cvmix_ddiff/cvmix_ddiff_init', 'logical')) sig(logical function cvmix_ddiff_init(Time, G, GV, US, param_file, diag, CS)) signode(function mom_cvmix_ddiff/cvmix_ddiff_initTimeGGVUSparam_filediagCS [logical]) [fd] run(.. f:subroutine:: subroutine compute_ddiff_coeffs(h, tv, G, GV, US, j, Kd_T, Kd_S, CS, R_rho)) [fd] sig(subroutine compute_ddiff_coeffs(h, tv, G, GV, US, j, Kd_T, Kd_S, CS, R_rho)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(compute_ddiff_coeffs) arglist(h, tv, G, GV, US, j, Kd_T, Kd_S, CS, R_rho) [fd] fullname(mom_cvmix_ddiff/compute_ddiff_coeffs) ftype(None) [fd] name(('mom_cvmix_ddiff/compute_ddiff_coeffs', None)) sig(subroutine compute_ddiff_coeffs(h, tv, G, GV, US, j, Kd_T, Kd_S, CS, R_rho)) signode(subroutine mom_cvmix_ddiff/compute_ddiff_coeffshtvGGVUSjKd_TKd_SCSR_rho) [fd] run(.. f:function:: logical function cvmix_ddiff_is_used(param_file)) [fd] sig(logical function cvmix_ddiff_is_used(param_file)) [fd] ftype(logical) objtype(function) modname(None) typename() name(cvmix_ddiff_is_used) arglist(param_file) [fd] fullname(mom_cvmix_ddiff/cvmix_ddiff_is_used) ftype(logical) [fd] name(('mom_cvmix_ddiff/cvmix_ddiff_is_used', 'logical')) sig(logical function cvmix_ddiff_is_used(param_file)) signode(function mom_cvmix_ddiff/cvmix_ddiff_is_usedparam_file [logical]) [fd] run(.. f:subroutine:: subroutine cvmix_ddiff_end(CS)) [fd] sig(subroutine cvmix_ddiff_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(cvmix_ddiff_end) arglist(CS) [fd] fullname(mom_cvmix_ddiff/cvmix_ddiff_end) ftype(None) [fd] name(('mom_cvmix_ddiff/cvmix_ddiff_end', None)) sig(subroutine cvmix_ddiff_end(CS)) signode(subroutine mom_cvmix_ddiff/cvmix_ddiff_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 23%] api/generated/modules/mom_cvmix_kpp [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_cvmix_kp [app] emitting event: 'source-read'('api/generated/modules/mom_cvmix_kpp', ['.. autodoxymodule:: mom_cvmix_kpp\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_cvmix_kpp.rst:1: input: .. autodoxymodule:: mom_cvmix_kpp :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_cvmix_kpp::kpp_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_cvmix_kpp::kpp_init ~mom_cvmix_kpp::kpp_calculate ~mom_cvmix_kpp::kpp_compute_bld ~mom_cvmix_kpp::kpp_smooth_bld ~mom_cvmix_kpp::kpp_get_bld ~mom_cvmix_kpp::kpp_nonlocaltransport_temp ~mom_cvmix_kpp::kpp_nonlocaltransport_saln ~mom_cvmix_kpp::kpp_end [debug] xpath(./compounddef/compoundname[text()="mom_cvmix_kpp"]/..) match([('id', 'namespacemom__cvmix__kpp'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_cvmix_kpp module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_kpp', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_cvmix_kpp' (exception was: ModuleNotFoundError("No module named 'mom_cvmix_kpp'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_cvmix_kpp::kpp_cs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('kpp_calculate', ), ('kpp_compute_bld', ), ('kpp_smooth_bld', ), ('kpp_get_bld', ), ('kpp_nonlocaltransport_temp', ), ('kpp_nonlocaltransport_saln', ), ('kpp_end', )]) [autodoc] module analyzer failed: error importing 'mom_cvmix_kpp' (exception was: ModuleNotFoundError("No module named 'mom_cvmix_kpp'")) [debug] DoxygenMethodDocumenter format_signature called ((paramFile, G, GV, US, diag, Time, CS, passive, Waves)) [debug] add_directive_header sig((paramFile, G, GV, US, diag, Time, CS, passive, Waves)) [debug] DoxygenMethodDocumenter directive(function) name(logical function kpp_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'kpp_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_cvmix_kpp::kpp_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_cvmix_kpp::kpp_init ~mom_cvmix_kpp::kpp_calculate ~mom_cvmix_kpp::kpp_compute_bld ~mom_cvmix_kpp::kpp_smooth_bld ~mom_cvmix_kpp::kpp_get_bld ~mom_cvmix_kpp::kpp_nonlocaltransport_temp ~mom_cvmix_kpp::kpp_nonlocaltransport_saln ~mom_cvmix_kpp::kpp_end .. _DETAmom_cvmix_kpp: -------------------- Detailed Description -------------------- Provides the K-Profile Parameterization (KPP) of Large et al., 1994, via CVMix. ------------------ Type Documentation ------------------ .. f:type:: kpp_cs Control structure for containing KPP parameters/data. :typefield integer id_obldepth: Diagnostic handles. :typefield integer id_bulkri: Diagnostic handles. :typefield integer id_n: Diagnostic handles. :typefield integer id_n2: Diagnostic handles. :typefield integer id_ws: Diagnostic handles. :typefield integer id_vt2: Diagnostic handles. :typefield integer id_bulkuz2: Diagnostic handles. :typefield integer id_bulkdrho: Diagnostic handles. :typefield integer id_ustar: Diagnostic handles. :typefield integer id_buoyflux: Diagnostic handles. :typefield integer id_qminussw: Diagnostic handles. :typefield integer id_nets: Diagnostic handles. :typefield integer id_sigma: Diagnostic handles. :typefield integer id_kv_kpp: Diagnostic handles. :typefield integer id_kt_kpp: Diagnostic handles. :typefield integer id_ks_kpp: Diagnostic handles. :typefield integer id_tsurf: Diagnostic handles. :typefield integer id_ssurf: Diagnostic handles. :typefield integer id_usurf: Diagnostic handles. :typefield integer id_vsurf: Diagnostic handles. :typefield integer id_kd_in: Diagnostic handles. :typefield integer id_nltt: Diagnostic handles. :typefield integer id_nlts: Diagnostic handles. :typefield integer id_nlt_dsdt: Diagnostic handles. :typefield integer id_nlt_dtdt: Diagnostic handles. :typefield integer id_nlt_temp_budget: Diagnostic handles. :typefield integer id_nlt_saln_budget: Diagnostic handles. :typefield integer id_enhk: Diagnostic handles. :typefield integer id_enhvt2: Diagnostic handles. :typefield integer id_enhw: Diagnostic handles. :typefield integer id_la_sl: Diagnostic handles. :typefield integer id_obldepth_original: Diagnostic handles. :typefield real ri_crit: Critical bulk Richardson number (defines OBL depth) :typefield real vonkarman: von Karman constant (dimensionless) :typefield real cs: Parameter for computing velocity scale function (dimensionless) :typefield real cs2: Parameter for multiplying by non-local term. :typefield logical enhance_diffusion: If True, add enhanced diffusivity at base of boundary layer. :typefield character (len=10) interptype: Type of interpolation to compute bulk Richardson number. :typefield character (len=10) interptype2: Type of interpolation to compute diff and visc at OBL_depth. :typefield logical computeekman: If True, compute Ekman depth limit for OBLdepth. :typefield logical computemoninobukhov: If True, compute Monin-Obukhov limit for OBLdepth. :typefield logical passivemode: If True, makes KPP passive meaning it does NOT alter the diffusivity. :typefield real deepobloffset: If non-zero, is a distance from the bottom that the OBL can not penetrate through [m]. :typefield real minobldepth: If non-zero, is a minimum depth for the OBL [m]. :typefield real surf_layer_ext: Fraction of OBL depth considered in the surface layer [nondim]. :typefield real minvtsqr: Min for the squared unresolved velocity used in Rib CVMix calculation [m2 s-2]. :typefield logical fixedobldepth: If True, will fix the OBL depth at fixedOBLdepth_value. :typefield real fixedobldepth_value: value for the fixed OBL depth when fixedOBLdepth==True. :typefield logical debug: If True, calculate checksums and write debugging information. :typefield character (len=30) matchtechnique: Method used in CVMix for setting diffusivity and NLT profile functions. :typefield integer nlt_shape: MOM6 over-ride of CVMix NLT shape function. :typefield logical applynonlocaltrans: If True, apply non-local transport to heat and scalars. :typefield integer n_smooth: Number of times smoothing operator is applied on OBLdepth. :typefield logical deepen_only: If true, apply OBLdepth smoothing at a cell only if the OBLdepth gets deeper. :typefield logical kppzerodiffusivity: If True, will set diffusivity and viscosity from KPP to zero for testing purposes. :typefield logical kppisadditive: If True, will add KPP diffusivity to initial diffusivity. If False, will replace initial diffusivity wherever KPP diffusivity is non-zero. :typefield real min_thickness: A minimum thickness used to avoid division by small numbers in the vicinity of vanished layers. :typefield logical correctsurflayeravg: If true, applies a correction to the averaging of surface layer properties. :typefield real surflayerdepth: A guess at the depth of the surface layer (which should 0.1 of OBLdepth) [m]. :typefield integer sw_method: Sets method for using shortwave radiation in surface buoyancy flux. :typefield logical lt_k_enhancement: Flags if enhancing mixing coefficients due to LT. :typefield integer lt_k_shape: Integer for constant or shape function enhancement. :typefield integer lt_k_method: Integer for mixing coefficients LT method. :typefield real kpp_k_enh_fac: Factor to multiply by K if Method is CONSTANT. :typefield logical lt_vt2_enhancement: Flags if enhancing Vt2 due to LT. :typefield integer lt_vt2_method: Integer for Vt2 LT method. :typefield real kpp_vt2_enh_fac: Factor to multiply by VT2 if Method is CONSTANT. :typefield logical stokes_mixing: Flag if model is mixing down Stokes gradient This is relavent for which current to use in RiB. :typefield type(cvmix_kpp_params_type) kpp_params [pointer]: CVMix parameters. :typefield type(diag_ctrl) diag [pointer]: Pointer to diagnostics control structure. :typefield real(\:,\:) obldepth [allocatable]: Depth (positive) of OBL [m]. :typefield real(\:,\:) obldepth_original [allocatable]: Depth (positive) of OBL [m] without smoothing. :typefield real(\:,\:) kobl [allocatable]: Level (+fraction) of OBL extent. :typefield real(\:,\:) obldepthprev [allocatable]: previous Depth (positive) of OBL [m] :typefield real(\:,\:) la_sl [allocatable]: Langmuir number used in KPP. :typefield real(\:,\:,\:) drho [allocatable]: Bulk difference in density [R ~> kg m-3]. :typefield real(\:,\:,\:) uz2 [allocatable]: Square of bulk difference in resolved velocity [m2 s-2]. :typefield real(\:,\:,\:) bulkri [allocatable]: Bulk Richardson number for each layer (dimensionless) :typefield real(\:,\:,\:) sigma [allocatable]: Sigma coordinate (dimensionless) :typefield real(\:,\:,\:) ws [allocatable]: Turbulent velocity scale for scalars [m s-1]. :typefield real(\:,\:,\:) n [allocatable]: Brunt-Vaisala frequency [s-1]. :typefield real(\:,\:,\:) n2 [allocatable]: Squared Brunt-Vaisala frequency [s-2]. :typefield real(\:,\:,\:) vt2 [allocatable]: Unresolved squared turbulence velocity for bulk Ri [m2 s-2]. :typefield real(\:,\:,\:) kt_kpp [allocatable]: Temp diffusivity from KPP [m2 s-1]. :typefield real(\:,\:,\:) ks_kpp [allocatable]: Scalar diffusivity from KPP [m2 s-1]. :typefield real(\:,\:,\:) kv_kpp [allocatable]: Viscosity due to KPP [m2 s-1]. :typefield real(\:,\:) tsurf [allocatable]: Temperature of surface layer [degC]. :typefield real(\:,\:) ssurf [allocatable]: Salinity of surface layer [ppt]. :typefield real(\:,\:) usurf [allocatable]: i-velocity of surface layer [m s-1] :typefield real(\:,\:) vsurf [allocatable]: j-velocity of surface layer [m s-1] :typefield real(\:,\:,\:) enhk [allocatable]: Enhancement for mixing coefficient. :typefield real(\:,\:,\:) enhvt2 [allocatable]: Enhancement for Vt2. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function kpp_init(paramFile, G, GV, US, diag, Time, CS, passive, Waves) Initialize the CVMix KPP module and set up diagnostics Returns True if KPP is to be used, False otherwise. :param paramfile: [in] File parser :param g: [in] Ocean grid :param gv: [in] Vertical grid structure. :param us: [in] A dimensional unit scaling type :param diag: [in] Diagnostics :param time: [in] Model time :param cs: Control structure :param passive: [out] Copy of passiveMode :param waves: Wave CS :callto: :f:func:`mom_file_parser::closeparameterblock ` :callto: :f:func:`id_clock_kpp_calc ` :callto: :f:func:`id_clock_kpp_compute_bld ` :callto: :f:func:`id_clock_kpp_smoothing ` :callto: :f:func:`lt_k_constant ` :callto: :f:func:`lt_k_mode_constant ` :callto: :f:func:`lt_k_mode_rw16 ` :callto: :f:func:`lt_k_mode_vr12 ` :callto: :f:func:`lt_k_scaled ` :callto: :f:func:`lt_vt2_mode_constant ` :callto: :f:func:`lt_vt2_mode_lf17 ` :callto: :f:func:`lt_vt2_mode_rw16 ` :callto: :f:func:`lt_vt2_mode_vr12 ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`nlt_shape_cubic ` :callto: :f:func:`nlt_shape_cubic_lmd ` :callto: :f:func:`nlt_shape_cvmix ` :callto: :f:func:`nlt_shape_linear ` :callto: :f:func:`nlt_shape_parabolic ` :callto: :f:func:`mom_file_parser::openparameterblock ` :callto: :f:func:`mom_diag_mediator::register_diag_field ` :callto: :f:func:`sw_method_all_sw ` :callto: :f:func:`sw_method_lv1_sw ` :callto: :f:func:`sw_method_mxl_sw ` .. f:subroutine:: subroutine kpp_calculate(CS, G, GV, US, h, uStar, buoyFlux, Kt, Ks, Kv, nonLocalTransHeat, nonLocalTransScalar, waves) KPP vertical diffusivity/viscosity and non-local tracer transport. :param cs: Control structure :param g: [in] Ocean grid :param gv: [in] Ocean vertical grid :param us: [in] A dimensional unit scaling type :param waves: Wave CS :param h: [in] Layer/level thicknesses [H ~> m or kg m-2] :param ustar: [in] Surface friction velocity [Z T-1 ~> m s-1] :param buoyflux: [in] Surface buoyancy flux [L2 T-3 ~> m2 s-3] :param kt: [inout] (in) Vertical diffusivity of heat w/o KPP (out) Vertical diffusivity including KPP [Z2 T-1 ~> m2 s-1] :param ks: [inout] (in) Vertical diffusivity of salt w/o KPP (out) Vertical diffusivity including KPP [Z2 T-1 ~> m2 s-1] :param kv: [inout] (in) Vertical viscosity w/o KPP (out) Vertical viscosity including KPP [Z2 T-1 ~> m2 s-1] :param nonlocaltransheat: [inout] Temp non-local transport [m s-1] :param nonlocaltransscalar: [inout] scalar non-local transport [m s-1] :callto: :f:func:`id_clock_kpp_calc ` :callto: :f:func:`lt_k_constant ` :callto: :f:func:`lt_k_mode_constant ` :callto: :f:func:`lt_k_mode_rw16 ` :callto: :f:func:`lt_k_mode_vr12 ` :callto: :f:func:`lt_k_scaled ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`nlt_shape_cubic ` :callto: :f:func:`nlt_shape_cubic_lmd ` :callto: :f:func:`nlt_shape_linear ` :callto: :f:func:`nlt_shape_parabolic ` :callto: :f:func:`sw_method_all_sw ` :callto: :f:func:`sw_method_lv1_sw ` :callto: :f:func:`sw_method_mxl_sw ` .. f:subroutine:: subroutine kpp_compute_bld(CS, G, GV, US, h, Temp, Salt, u, v, tv, uStar, buoyFlux, Waves) Compute OBL depth. :param cs: Control structure :param g: [inout] Ocean grid :param gv: [in] Ocean vertical grid :param us: [in] A dimensional unit scaling type :param h: [in] Layer/level thicknesses [H ~> m or kg m-2] :param temp: [in] potential/cons temp [degC] :param salt: [in] Salinity [ppt] :param u: [in] Velocity i-component [L T-1 ~> m s-1] :param v: [in] Velocity j-component [L T-1 ~> m s-1] :param tv: [in] Thermodynamics structure. :param ustar: [in] Surface friction velocity [Z T-1 ~> m s-1] :param buoyflux: [in] Surface buoyancy flux [L2 T-3 ~> m2 s-3] :param waves: Wave CS :callto: :f:func:`mom_wave_interface::get_langmuir_number ` :callto: :f:func:`id_clock_kpp_compute_bld ` :callto: :f:func:`kpp_smooth_bld ` :callto: :f:func:`lt_vt2_mode_constant ` :callto: :f:func:`lt_vt2_mode_lf17 ` :callto: :f:func:`lt_vt2_mode_rw16 ` :callto: :f:func:`lt_vt2_mode_vr12 ` .. f:subroutine:: subroutine kpp_smooth_bld(CS, G, GV, h) Apply a 1-1-4-1-1 Laplacian filter one time on BLD to reduce any horizontal two-grid-point noise. :param cs: Control structure :param g: [inout] Ocean grid :param gv: [in] Ocean vertical grid :param h: [in] Layer/level thicknesses [H ~> m or kg m-2] :callto: :f:func:`id_clock_kpp_smoothing ` :calledfrom: :f:func:`kpp_compute_bld ` .. f:subroutine:: subroutine kpp_get_bld(CS, BLD, G, US, m_to_BLD_units) Copies KPP surface boundary layer depth into BLD, in units of [Z ~> m] unless other units are specified. :param cs: Control structure for this module :param g: [in] Grid structure :param us: [in] A dimensional unit scaling type :param bld: [inout] Boundary layer depth [Z ~> m] or other units :param m_to_bld_units: [in] A conversion factor from meters to the desired units for BLD :calledfrom: :f:func:`mom_lateral_boundary_diffusion::lateral_boundary_diffusion ` :calledfrom: :f:func:`mom_neutral_diffusion::neutral_diffusion_calc_coeffs ` .. f:subroutine:: subroutine kpp_nonlocaltransport_temp(CS, G, GV, h, nonLocalTrans, surfFlux, dt, scalar, C_p) Apply KPP non-local transport of surface fluxes for temperature. :param cs: [in] Control structure :param g: [in] Ocean grid :param gv: [in] Ocean vertical grid :param h: [in] Layer/level thickness [H ~> m or kg m-2] :param nonlocaltrans: [in] Non-local transport [nondim] :param surfflux: [in] Surface flux of scalar [conc H s-1 ~> conc m s-1 or conc kg m-2 s-1] :param dt: [in] Time-step [s] :param scalar: [inout] temperature :param c_p: [in] Seawater specific heat capacity [J kg-1 degC-1] :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale_legacy ` :calledfrom: :f:func:`mom_diabatic_driver::layered_diabatic ` .. f:subroutine:: subroutine kpp_nonlocaltransport_saln(CS, G, GV, h, nonLocalTrans, surfFlux, dt, scalar) Apply KPP non-local transport of surface fluxes for salinity. This routine is a useful prototype for other material tracers. :param cs: [in] Control structure :param g: [in] Ocean grid :param gv: [in] Ocean vertical grid :param h: [in] Layer/level thickness [H ~> m or kg m-2] :param nonlocaltrans: [in] Non-local transport [nondim] :param surfflux: [in] Surface flux of scalar [conc H s-1 ~> conc m s-1 or conc kg m-2 s-1] :param dt: [in] Time-step [s] :param scalar: [inout] Scalar (scalar units [conc]) :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale_legacy ` :calledfrom: :f:func:`mom_diabatic_driver::layered_diabatic ` .. f:subroutine:: subroutine kpp_end(CS) Clear pointers, deallocate memory. :param cs: Control structure [debug] xpath(./compounddef/compoundname[text()="mom_cvmix_kpp::kpp_cs"]/..) match([('id', 'structmom__cvmix__kpp_1_1kpp__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_kpp::kpp_cs', , {}, ['', 'Control s [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_kpp::kpp_cs', , {}, ['`More... , {}, ['', 'Control s [debug] DoxygenMethodDocumenter format_signature called ((paramFile, G, GV, US, diag, Time, CS, passive, Waves)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_kpp::kpp_init', , {}, ['', 'Initializ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_kpp::kpp_init', , {}, ['', 'Initializ [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, US, h, uStar, buoyFlux, Kt, Ks, Kv, nonLocalTransHeat, nonLocalTransScalar, waves)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_kpp::kpp_calculate', , {}, ['', 'KPP [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_kpp::kpp_calculate', , {}, ['', 'KPP [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, US, h, Temp, Salt, u, v, tv, uStar, buoyFlux, Waves)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_kpp::kpp_compute_bld', , {}, ['', 'Co [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_kpp::kpp_compute_bld', , {}, ['', 'Co [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, h)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_kpp::kpp_smooth_bld', , {}, ['', 'App [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_kpp::kpp_smooth_bld', , {}, ['', 'App [debug] DoxygenMethodDocumenter format_signature called ((CS, BLD, G, US, m_to_BLD_units)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_kpp::kpp_get_bld', , {}, ['', 'Copies [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_kpp::kpp_get_bld', , {}, ['', 'Copies [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, h, nonLocalTrans, surfFlux, dt, scalar, C_p)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_kpp::kpp_nonlocaltransport_temp', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_kpp::kpp_nonlocaltransport_temp', , { [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, h, nonLocalTrans, surfFlux, dt, scalar)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_kpp::kpp_nonlocaltransport_saln', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_kpp::kpp_nonlocaltransport_saln', , { [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_kpp::kpp_end', , {}, ['', 'Clear poin [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_kpp::kpp_end', , {}, ['', 'Clear poin [fd] run(.. f:type:: kpp_cs) [fd] sig(kpp_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(kpp_cs) arglist(None) [fd] fullname(mom_cvmix_kpp/kpp_cs) ftype(None) [fd] name(('mom_cvmix_kpp/kpp_cs', None)) sig(kpp_cs) signode(type mom_cvmix_kpp/kpp_cs) [fd] run(.. f:function:: logical function kpp_init(paramFile, G, GV, US, diag, Time, CS, passive, Waves)) [fd] sig(logical function kpp_init(paramFile, G, GV, US, diag, Time, CS, passive, Waves)) [fd] ftype(logical) objtype(function) modname(None) typename() name(kpp_init) arglist(paramFile, G, GV, US, diag, Time, CS, passive, Waves) [fd] fullname(mom_cvmix_kpp/kpp_init) ftype(logical) [fd] name(('mom_cvmix_kpp/kpp_init', 'logical')) sig(logical function kpp_init(paramFile, G, GV, US, diag, Time, CS, passive, Waves)) signode(function mom_cvmix_kpp/kpp_initparamFileGGVUSdiagTimeCSpassiveWaves [logical]) [fd] run(.. f:subroutine:: subroutine kpp_calculate(CS, G, GV, US, h, uStar, buoyFlux, Kt, Ks, Kv, nonLocalTransHeat, nonLocalTransScalar, waves)) [fd] sig(subroutine kpp_calculate(CS, G, GV, US, h, uStar, buoyFlux, Kt, Ks, Kv, nonLocalTransHeat, nonLocalTransScalar, waves)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(kpp_calculate) arglist(CS, G, GV, US, h, uStar, buoyFlux, Kt, Ks, Kv, nonLocalTransHeat, nonLocalTransScalar, waves) [fd] fullname(mom_cvmix_kpp/kpp_calculate) ftype(None) [fd] name(('mom_cvmix_kpp/kpp_calculate', None)) sig(subroutine kpp_calculate(CS, G, GV, US, h, uStar, buoyFlux, Kt, Ks, Kv, nonLocalTransHeat, nonLocalTransScalar, waves)) signode(subroutine mom_cvmix_kpp/kpp_calculateCSGGVUShuStarbuoyFluxKtKsKvnonLocalTransHeatnonLocalTransScalarwaves) [fd] run(.. f:subroutine:: subroutine kpp_compute_bld(CS, G, GV, US, h, Temp, Salt, u, v, tv, uStar, buoyFlux, Waves)) [fd] sig(subroutine kpp_compute_bld(CS, G, GV, US, h, Temp, Salt, u, v, tv, uStar, buoyFlux, Waves)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(kpp_compute_bld) arglist(CS, G, GV, US, h, Temp, Salt, u, v, tv, uStar, buoyFlux, Waves) [fd] fullname(mom_cvmix_kpp/kpp_compute_bld) ftype(None) [fd] name(('mom_cvmix_kpp/kpp_compute_bld', None)) sig(subroutine kpp_compute_bld(CS, G, GV, US, h, Temp, Salt, u, v, tv, uStar, buoyFlux, Waves)) signode(subroutine mom_cvmix_kpp/kpp_compute_bldCSGGVUShTempSaltuvtvuStarbuoyFluxWaves) [fd] run(.. f:subroutine:: subroutine kpp_smooth_bld(CS, G, GV, h)) [fd] sig(subroutine kpp_smooth_bld(CS, G, GV, h)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(kpp_smooth_bld) arglist(CS, G, GV, h) [fd] fullname(mom_cvmix_kpp/kpp_smooth_bld) ftype(None) [fd] name(('mom_cvmix_kpp/kpp_smooth_bld', None)) sig(subroutine kpp_smooth_bld(CS, G, GV, h)) signode(subroutine mom_cvmix_kpp/kpp_smooth_bldCSGGVh) [fd] run(.. f:subroutine:: subroutine kpp_get_bld(CS, BLD, G, US, m_to_BLD_units)) [fd] sig(subroutine kpp_get_bld(CS, BLD, G, US, m_to_BLD_units)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(kpp_get_bld) arglist(CS, BLD, G, US, m_to_BLD_units) [fd] fullname(mom_cvmix_kpp/kpp_get_bld) ftype(None) [fd] name(('mom_cvmix_kpp/kpp_get_bld', None)) sig(subroutine kpp_get_bld(CS, BLD, G, US, m_to_BLD_units)) signode(subroutine mom_cvmix_kpp/kpp_get_bldCSBLDGUSm_to_BLD_units) [fd] run(.. f:subroutine:: subroutine kpp_nonlocaltransport_temp(CS, G, GV, h, nonLocalTrans, surfFlux, dt, scalar, C_p)) [fd] sig(subroutine kpp_nonlocaltransport_temp(CS, G, GV, h, nonLocalTrans, surfFlux, dt, scalar, C_p)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(kpp_nonlocaltransport_temp) arglist(CS, G, GV, h, nonLocalTrans, surfFlux, dt, scalar, C_p) [fd] fullname(mom_cvmix_kpp/kpp_nonlocaltransport_temp) ftype(None) [fd] name(('mom_cvmix_kpp/kpp_nonlocaltransport_temp', None)) sig(subroutine kpp_nonlocaltransport_temp(CS, G, GV, h, nonLocalTrans, surfFlux, dt, scalar, C_p)) signode(subroutine mom_cvmix_kpp/kpp_nonlocaltransport_tempCSGGVhnonLocalTranssurfFluxdtscalarC_p) [fd] run(.. f:subroutine:: subroutine kpp_nonlocaltransport_saln(CS, G, GV, h, nonLocalTrans, surfFlux, dt, scalar)) [fd] sig(subroutine kpp_nonlocaltransport_saln(CS, G, GV, h, nonLocalTrans, surfFlux, dt, scalar)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(kpp_nonlocaltransport_saln) arglist(CS, G, GV, h, nonLocalTrans, surfFlux, dt, scalar) [fd] fullname(mom_cvmix_kpp/kpp_nonlocaltransport_saln) ftype(None) [fd] name(('mom_cvmix_kpp/kpp_nonlocaltransport_saln', None)) sig(subroutine kpp_nonlocaltransport_saln(CS, G, GV, h, nonLocalTrans, surfFlux, dt, scalar)) signode(subroutine mom_cvmix_kpp/kpp_nonlocaltransport_salnCSGGVhnonLocalTranssurfFluxdtscalar) [fd] run(.. f:subroutine:: subroutine kpp_end(CS)) [fd] sig(subroutine kpp_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(kpp_end) arglist(CS) [fd] fullname(mom_cvmix_kpp/kpp_end) ftype(None) [fd] name(('mom_cvmix_kpp/kpp_end', None)) sig(subroutine kpp_end(CS)) signode(subroutine mom_cvmix_kpp/kpp_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 24%] api/generated/modules/mom_cvmix_shear [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_cvmix_sh [app] emitting event: 'source-read'('api/generated/modules/mom_cvmix_shear', ['.. autodoxymodule:: mom_cvmix_shear\n :members:\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_cvmix_shear.rst:1: input: .. autodoxymodule:: mom_cvmix_shear :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_cvmix_shear::cvmix_shear_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_cvmix_shear::calculate_cvmix_shear ~mom_cvmix_shear::cvmix_shear_init ~mom_cvmix_shear::cvmix_shear_is_used ~mom_cvmix_shear::cvmix_shear_end [debug] xpath(./compounddef/compoundname[text()="mom_cvmix_shear"]/..) match([('id', 'namespacemom__cvmix__shear'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_cvmix_shear module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_shear', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_cvmix_shear' (exception was: ModuleNotFoundError("No module named 'mom_cvmix_shear'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_cvmix_shear::cvmix_shear_cs', , {'members': [debug] members([('calculate_cvmix_shear', ), ('cvmix_shear_init', ), ('cvmix_shear_is_used', ), ('cvmix_shear_end', )]) [autodoc] module analyzer failed: error importing 'mom_cvmix_shear' (exception was: ModuleNotFoundError("No module named 'mom_cvmix_shear'")) [debug] DoxygenMethodDocumenter format_signature called ((u_H, v_H, h, tv, kd, kv, G, GV, US, CS)) [debug] add_directive_header sig((u_H, v_H, h, tv, kd, kv, G, GV, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_cvmix_shear) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_cvmix_shear', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_cvmix_shear::cvmix_shear_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_cvmix_shear::calculate_cvmix_shear ~mom_cvmix_shear::cvmix_shear_init ~mom_cvmix_shear::cvmix_shear_is_used ~mom_cvmix_shear::cvmix_shear_end .. _DETAmom_cvmix_shear: -------------------- Detailed Description -------------------- Interface to CVMix interior shear schemes. ------------------ Type Documentation ------------------ .. f:type:: cvmix_shear_cs Control structure including parameters for CVMix interior shear schemes. :typefield integer id_n2: Diagnostic handles. :typefield integer id_s2: Diagnostic handles. :typefield integer id_ri_grad: Diagnostic handles. :typefield integer id_kv: Diagnostic handles. :typefield integer id_kd: Diagnostic handles. :typefield integer id_ri_grad_smooth: Diagnostic handles. :typefield logical use_lmd94: Flags to use the LMD94 scheme. :typefield logical use_pp81: Flags to use Pacanowski and Philander (JPO 1981) :typefield logical smooth_ri: If true, smooth Ri using a 1-2-1 filter. :typefield real ri_zero: LMD94 critical Richardson number. :typefield real nu_zero: LMD94 maximum interior diffusivity. :typefield real kpp_exp: Exponent of unitless factor of diff. for KPP internal shear mixing scheme. :typefield real(\:,\:,\:) n2 [allocatable]: Squared Brunt-Vaisala frequency [T-2 ~> s-2]. :typefield real(\:,\:,\:) s2 [allocatable]: Squared shear frequency [T-2 ~> s-2]. :typefield real(\:,\:,\:) ri_grad [allocatable]: Gradient Richardson number. :typefield real(\:,\:,\:) ri_grad_smooth [allocatable]: Gradient Richardson number after smoothing. :typefield character (10) mix_scheme: Mixing scheme name (string) :typefield type(diag_ctrl) diag [pointer]: Pointer to the diagnostics control structure. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine calculate_cvmix_shear(u_H, v_H, h, tv, kd, kv, G, GV, US, CS) Subroutine for calculating (internal) vertical diffusivities/viscosities. :param g: [in] Grid structure. :param gv: [in] Vertical grid structure. :param us: [in] A dimensional unit scaling type :param u_h: [in] Initial zonal velocity on T points [L T-1 ~> m s-1] :param v_h: [in] Initial meridional velocity on T points [L T-1 ~> m s-1] :param h: [in] Layer thickness [H ~> m or kg m-2]. :param tv: [in] Thermodynamics structure. :param kd: [out] The vertical diffusivity at each interface (not layer!) [Z2 T-1 ~> m2 s-1]. :param kv: [out] The vertical viscosity at each interface (not layer!) [Z2 T-1 ~> m2 s-1]. :param cs: The control structure returned by a previous call to CVMix_shear_init. .. f:function:: logical function cvmix_shear_init(Time, G, GV, US, param_file, diag, CS) Initialized the CVMix internal shear mixing routine. .. admonition:: Todo Does this note require emphasis? :param time: [in] The current time. :param g: [in] Grid structure. :param gv: [in] Vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] Run-time parameter file handle :param diag: [inout] Diagnostics control structure. :param cs: This module's control structure. :callto: :f:func:`mom_kappa_shear::kappa_shear_is_used ` :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:function:: logical function cvmix_shear_is_used(param_file) Reads the parameters "LMD94" and "PP81" and returns state. This function allows other modules to know whether this parameterization will be used without needing to duplicate the log entry. :param param_file: [in] Run-time parameter files handle. :callto: :f:func:`mdl ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_driver_init ` :calledfrom: :f:func:`mom_set_visc::set_visc_register_restarts ` .. f:subroutine:: subroutine cvmix_shear_end(CS) Clear pointers and dealocate memory. :param cs: Control structure for this module that will be deallocated in this subroutine :calledfrom: :f:func:`mom_set_diffusivity::set_diffusivity_end ` [debug] xpath(./compounddef/compoundname[text()="mom_cvmix_shear::cvmix_shear_cs"]/..) match([('id', 'structmom__cvmix__shear_1_1cvmix__shear__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_shear::cvmix_shear_cs', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_shear::cvmix_shear_cs', , {}, ['`Mo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_shear::cvmix_shear_cs', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((u_H, v_H, h, tv, kd, kv, G, GV, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_shear::calculate_cvmix_shear', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_shear::calculate_cvmix_shear', , {}, [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_shear::cvmix_shear_init', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_shear::cvmix_shear_init', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_shear::cvmix_shear_is_used', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_shear::cvmix_shear_is_used', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_shear::cvmix_shear_end', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_cvmix_shear::cvmix_shear_end', , {}, ['', ' [fd] run(.. f:type:: cvmix_shear_cs) [fd] sig(cvmix_shear_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(cvmix_shear_cs) arglist(None) [fd] fullname(mom_cvmix_shear/cvmix_shear_cs) ftype(None) [fd] name(('mom_cvmix_shear/cvmix_shear_cs', None)) sig(cvmix_shear_cs) signode(type mom_cvmix_shear/cvmix_shear_cs) [fd] run(.. f:subroutine:: subroutine calculate_cvmix_shear(u_H, v_H, h, tv, kd, kv, G, GV, US, CS)) [fd] sig(subroutine calculate_cvmix_shear(u_H, v_H, h, tv, kd, kv, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_cvmix_shear) arglist(u_H, v_H, h, tv, kd, kv, G, GV, US, CS) [fd] fullname(mom_cvmix_shear/calculate_cvmix_shear) ftype(None) [fd] name(('mom_cvmix_shear/calculate_cvmix_shear', None)) sig(subroutine calculate_cvmix_shear(u_H, v_H, h, tv, kd, kv, G, GV, US, CS)) signode(subroutine mom_cvmix_shear/calculate_cvmix_shearu_Hv_HhtvkdkvGGVUSCS) [fd] run(.. f:function:: logical function cvmix_shear_init(Time, G, GV, US, param_file, diag, CS)) [fd] sig(logical function cvmix_shear_init(Time, G, GV, US, param_file, diag, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(cvmix_shear_init) arglist(Time, G, GV, US, param_file, diag, CS) [fd] fullname(mom_cvmix_shear/cvmix_shear_init) ftype(logical) [fd] name(('mom_cvmix_shear/cvmix_shear_init', 'logical')) sig(logical function cvmix_shear_init(Time, G, GV, US, param_file, diag, CS)) signode(function mom_cvmix_shear/cvmix_shear_initTimeGGVUSparam_filediagCS [logical]) [fd] run(.. f:function:: logical function cvmix_shear_is_used(param_file)) [fd] sig(logical function cvmix_shear_is_used(param_file)) [fd] ftype(logical) objtype(function) modname(None) typename() name(cvmix_shear_is_used) arglist(param_file) [fd] fullname(mom_cvmix_shear/cvmix_shear_is_used) ftype(logical) [fd] name(('mom_cvmix_shear/cvmix_shear_is_used', 'logical')) sig(logical function cvmix_shear_is_used(param_file)) signode(function mom_cvmix_shear/cvmix_shear_is_usedparam_file [logical]) [fd] run(.. f:subroutine:: subroutine cvmix_shear_end(CS)) [fd] sig(subroutine cvmix_shear_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(cvmix_shear_end) arglist(CS) [fd] fullname(mom_cvmix_shear/cvmix_shear_end) ftype(None) [fd] name(('mom_cvmix_shear/cvmix_shear_end', None)) sig(subroutine cvmix_shear_end(CS)) signode(subroutine mom_cvmix_shear/cvmix_shear_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 24%] api/generated/modules/mom_debugging [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_debuggin [app] emitting event: 'source-read'('api/generated/modules/mom_debugging', ['.. autodoxymodule:: mom_debugging\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_debugging.rst:1: input: .. autodoxymodule:: mom_debugging :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_debugging::mom_debugging_init ~mom_debugging::check_redundant_vc3d ~mom_debugging::check_redundant_vc2d ~mom_debugging::check_redundant_sb3d ~mom_debugging::check_redundant_sb2d ~mom_debugging::check_redundant_vb3d ~mom_debugging::check_redundant_vb2d ~mom_debugging::check_redundant_st3d ~mom_debugging::check_redundant_st2d ~mom_debugging::check_redundant_vt3d ~mom_debugging::check_redundant_vt2d ~mom_debugging::chksum_vec_c3d ~mom_debugging::chksum_vec_c2d ~mom_debugging::chksum_vec_b3d ~mom_debugging::chksum_vec_b2d ~mom_debugging::chksum_vec_a3d ~mom_debugging::chksum_vec_a2d ~mom_debugging::totalstuff ~mom_debugging::totaltands ~mom_debugging::check_column_integral ~mom_debugging::check_column_integrals [debug] xpath(./compounddef/compoundname[text()="mom_debugging"]/..) match([('id', 'namespacemom__debugging'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_debugging module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_debugging', , {'members': , {'members': , {'members': ), ('check_redundant_vc3d', ), ('check_redundant_vc2d', ), ('check_redundant_sb3d', ), ('check_redundant_sb2d', ), ('check_redundant_vb3d', ), ('check_redundant_vb2d', ), ('check_redundant_st3d', ), ('check_redundant_st2d', ), ('check_redundant_vt3d', ), ('check_redundant_vt2d', ), ('chksum_vec_c3d', ), ('chksum_vec_c2d', ), ('chksum_vec_b3d', ), ('chksum_vec_b2d', ), ('chksum_vec_a3d', ), ('chksum_vec_a2d', ), ('totalstuff', ), ('totaltands', ), ('check_column_integral', ), ('check_column_integrals', )]) [autodoc] module analyzer failed: error importing 'mom_debugging' (exception was: ModuleNotFoundError("No module named 'mom_debugging'")) [debug] DoxygenMethodDocumenter format_signature called ((param_file)) [debug] add_directive_header sig((param_file)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine mom_debugging_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_debugging::mom_debugging_init ~mom_debugging::check_redundant_vc3d ~mom_debugging::check_redundant_vc2d ~mom_debugging::check_redundant_sb3d ~mom_debugging::check_redundant_sb2d ~mom_debugging::check_redundant_vb3d ~mom_debugging::check_redundant_vb2d ~mom_debugging::check_redundant_st3d ~mom_debugging::check_redundant_st2d ~mom_debugging::check_redundant_vt3d ~mom_debugging::check_redundant_vt2d ~mom_debugging::chksum_vec_c3d ~mom_debugging::chksum_vec_c2d ~mom_debugging::chksum_vec_b3d ~mom_debugging::chksum_vec_b2d ~mom_debugging::chksum_vec_a3d ~mom_debugging::chksum_vec_a2d ~mom_debugging::totalstuff ~mom_debugging::totaltands ~mom_debugging::check_column_integral ~mom_debugging::check_column_integrals .. _DETAmom_debugging: -------------------- Detailed Description -------------------- This module contains subroutines that perform various error checking and debugging functions for MOM6. This routine is similar to it counterpart in the SIS2 code, except for the use of the ocean_grid_type and by keeping them separate we retain the ability to set up MOM6 and SIS2 debugging separately. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine mom_debugging_init(param_file) MOM_debugging_init initializes the MOM_debugging module, and sets the parameterts that control which checks are active for MOM6. :param param_file: [in] A structure to parse for run-time parameters :callto: :f:func:`debug ` :callto: :f:func:`debug_chksums ` :callto: :f:func:`debug_redundant ` :callto: :f:func:`mom_checksums::mom_checksums_init ` .. f:subroutine:: subroutine check_redundant_vc3d(mesg, u_comp, v_comp, G, is, ie, js, je, direction) Check for consistency between the duplicated points of a 3-D C-grid vector. :param mesg: [in] An identifying message :param g: [inout] The ocean's grid structure :param u_comp: [in] The u-component of the vector to be checked for consistency :param v_comp: [in] The u-component of the vector to be checked for consistency :param is: [in] The starting i-index to check :param ie: [in] The ending i-index to check :param js: [in] The starting j-index to check :param je: [in] The ending j-index to check :param direction: [in] the direction flag to be passed to pass_vector :callto: :f:func:`check_redundant_vc2d ` .. f:subroutine:: subroutine check_redundant_vc2d(mesg, u_comp, v_comp, G, is, ie, js, je, direction) Check for consistency between the duplicated points of a 2-D C-grid vector. :param mesg: [in] An identifying message :param g: [inout] The ocean's grid structure :param u_comp: [in] The u-component of the vector to be checked for consistency :param v_comp: [in] The u-component of the vector to be checked for consistency :param is: [in] The starting i-index to check :param ie: [in] The ending i-index to check :param js: [in] The starting j-index to check :param je: [in] The ending j-index to check :param direction: [in] the direction flag to be passed to pass_vector :callto: :f:func:`max_redundant_prints ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`redundant_prints ` :calledfrom: :f:func:`check_redundant_vc3d ` .. f:subroutine:: subroutine check_redundant_sb3d(mesg, array, G, is, ie, js, je) Check for consistency between the duplicated points of a 3-D scalar at corner points. :param mesg: [in] An identifying message :param g: [inout] The ocean's grid structure :param array: [in] The array to be checked for consistency :param is: [in] The starting i-index to check :param ie: [in] The ending i-index to check :param js: [in] The starting j-index to check :param je: [in] The ending j-index to check :callto: :f:func:`check_redundant_sb2d ` .. f:subroutine:: subroutine check_redundant_sb2d(mesg, array, G, is, ie, js, je) Check for consistency between the duplicated points of a 2-D scalar at corner points. :param mesg: [in] An identifying message :param g: [inout] The ocean's grid structure :param array: [in] The array to be checked for consistency :param is: [in] The starting i-index to check :param ie: [in] The ending i-index to check :param js: [in] The starting j-index to check :param je: [in] The ending j-index to check :callto: :f:func:`max_redundant_prints ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`redundant_prints ` :callto: :f:func:`mom_domains::to_all ` :calledfrom: :f:func:`check_redundant_sb3d ` .. f:subroutine:: subroutine check_redundant_vb3d(mesg, u_comp, v_comp, G, is, ie, js, je, direction) Check for consistency between the duplicated points of a 3-D B-grid vector. :param mesg: [in] An identifying message :param g: [inout] The ocean's grid structure :param u_comp: [in] The u-component of the vector to be checked for consistency :param v_comp: [in] The v-component of the vector to be checked for consistency :param is: [in] The starting i-index to check :param ie: [in] The ending i-index to check :param js: [in] The starting j-index to check :param je: [in] The ending j-index to check :param direction: [in] the direction flag to be passed to pass_vector :callto: :f:func:`check_redundant_vb2d ` .. f:subroutine:: subroutine check_redundant_vb2d(mesg, u_comp, v_comp, G, is, ie, js, je, direction) Check for consistency between the duplicated points of a 2-D B-grid vector. :param mesg: [in] An identifying message :param g: [inout] The ocean's grid structure :param u_comp: [in] The u-component of the vector to be checked for consistency :param v_comp: [in] The v-component of the vector to be checked for consistency :param is: [in] The starting i-index to check :param ie: [in] The ending i-index to check :param js: [in] The starting j-index to check :param je: [in] The ending j-index to check :param direction: [in] the direction flag to be passed to pass_vector :callto: :f:func:`max_redundant_prints ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`redundant_prints ` :calledfrom: :f:func:`check_redundant_vb3d ` .. f:subroutine:: subroutine check_redundant_st3d(mesg, array, G, is, ie, js, je) Check for consistency between the duplicated points of a 3-D scalar at tracer points. :param mesg: [in] An identifying message :param g: [inout] The ocean's grid structure :param array: [in] The array to be checked for consistency :param is: [in] The starting i-index to check :param ie: [in] The ending i-index to check :param js: [in] The starting j-index to check :param je: [in] The ending j-index to check :callto: :f:func:`check_redundant_st2d ` .. f:subroutine:: subroutine check_redundant_st2d(mesg, array, G, is, ie, js, je) Check for consistency between the duplicated points of a 2-D scalar at tracer points. :param mesg: [in] An identifying message :param g: [inout] The ocean's grid structure :param array: [in] The array to be checked for consistency :param is: [in] The starting i-index to check :param ie: [in] The ending i-index to check :param js: [in] The starting j-index to check :param je: [in] The ending j-index to check :callto: :f:func:`max_redundant_prints ` :callto: :f:func:`redundant_prints ` :calledfrom: :f:func:`check_redundant_st3d ` .. f:subroutine:: subroutine check_redundant_vt3d(mesg, u_comp, v_comp, G, is, ie, js, je, direction) Check for consistency between the duplicated points of a 3-D A-grid vector. :param mesg: [in] An identifying message :param g: [inout] The ocean's grid structure :param u_comp: [in] The u-component of the vector to be checked for consistency :param v_comp: [in] The v-component of the vector to be checked for consistency :param is: [in] The starting i-index to check :param ie: [in] The ending i-index to check :param js: [in] The starting j-index to check :param je: [in] The ending j-index to check :param direction: [in] the direction flag to be passed to pass_vector :callto: :f:func:`check_redundant_vt2d ` .. f:subroutine:: subroutine check_redundant_vt2d(mesg, u_comp, v_comp, G, is, ie, js, je, direction) Check for consistency between the duplicated points of a 2-D A-grid vector. :param mesg: [in] An identifying message :param g: [inout] The ocean's grid structure :param u_comp: [in] The u-component of the vector to be checked for consistency :param v_comp: [in] The v-component of the vector to be checked for consistency :param is: [in] The starting i-index to check :param ie: [in] The ending i-index to check :param js: [in] The starting j-index to check :param je: [in] The ending j-index to check :param direction: [in] the direction flag to be passed to pass_vector :callto: :f:func:`max_redundant_prints ` :callto: :f:func:`redundant_prints ` :calledfrom: :f:func:`check_redundant_vt3d ` .. f:subroutine:: subroutine chksum_vec_c3d(mesg, u_comp, v_comp, G, halos, scalars) Do a checksum and redundant point check on a 3d C-grid vector. :param mesg: [in] An identifying message :param g: [inout] The ocean's grid structure :param u_comp: [in] The u-component of the vector :param v_comp: [in] The v-component of the vector :param halos: [in] The width of halos to check (default 0) :param scalars: [in] If true this is a pair of scalars that are being checked. :callto: :f:func:`debug_chksums ` :callto: :f:func:`debug_redundant ` :callto: :f:func:`mom_domains::to_all ` .. f:subroutine:: subroutine chksum_vec_c2d(mesg, u_comp, v_comp, G, halos, scalars) Do a checksum and redundant point check on a 2d C-grid vector. :param mesg: [in] An identifying message :param g: [inout] The ocean's grid structure :param u_comp: [in] The u-component of the vector :param v_comp: [in] The v-component of the vector :param halos: [in] The width of halos to check (default 0) :param scalars: [in] If true this is a pair of scalars that are being checked. :callto: :f:func:`debug_chksums ` :callto: :f:func:`debug_redundant ` :callto: :f:func:`mom_domains::to_all ` .. f:subroutine:: subroutine chksum_vec_b3d(mesg, u_comp, v_comp, G, halos, scalars) Do a checksum and redundant point check on a 3d B-grid vector. :param mesg: [in] An identifying message :param g: [inout] The ocean's grid structure :param u_comp: [in] The u-component of the vector :param v_comp: [in] The v-component of the vector :param halos: [in] The width of halos to check (default 0) :param scalars: [in] If true this is a pair of scalars that are being checked. :callto: :f:func:`debug_chksums ` :callto: :f:func:`debug_redundant ` :callto: :f:func:`mom_domains::to_all ` .. f:subroutine:: subroutine chksum_vec_b2d(mesg, u_comp, v_comp, G, halos, scalars, symmetric) :param mesg: [in] An identifying message :param g: [inout] The ocean's grid structure :param u_comp: [in] The u-component of the vector :param v_comp: [in] The v-component of the vector :param halos: [in] The width of halos to check (default 0) :param scalars: [in] If true this is a pair of scalars that are being checked. :param symmetric: [in] If true, do the checksums on the full symmetric computational domain. :callto: :f:func:`debug_chksums ` :callto: :f:func:`debug_redundant ` :callto: :f:func:`mom_domains::to_all ` .. f:subroutine:: subroutine chksum_vec_a3d(mesg, u_comp, v_comp, G, halos, scalars) Do a checksum and redundant point check on a 3d C-grid vector. :param mesg: [in] An identifying message :param g: [inout] The ocean's grid structure :param u_comp: [in] The u-component of the vector :param v_comp: [in] The v-component of the vector :param halos: [in] The width of halos to check (default 0) :param scalars: [in] If true this is a pair of scalars that are being checked. :callto: :f:func:`debug_chksums ` :callto: :f:func:`debug_redundant ` :callto: :f:func:`mom_domains::to_all ` .. f:subroutine:: subroutine chksum_vec_a2d(mesg, u_comp, v_comp, G, halos, scalars) Do a checksum and redundant point check on a 2d C-grid vector. :param mesg: [in] An identifying message :param g: [inout] The ocean's grid structure :param u_comp: [in] The u-component of the vector :param v_comp: [in] The v-component of the vector :param halos: [in] The width of halos to check (default 0) :param scalars: [in] If true this is a pair of scalars that are being checked. :callto: :f:func:`debug_chksums ` :callto: :f:func:`debug_redundant ` :callto: :f:func:`mom_domains::to_all ` .. f:function:: real function totalstuff(HI, hThick, areaT, stuff) This function returns the sum over computational domain of all processors of hThick*stuff, where stuff is a 3-d array at tracer points. :param hi: [in] A horizontal index type :param hthick: [in] The array of thicknesses to use as weights :param areat: [in] The array of cell areas [m2] :param stuff: [in] The array of stuff to be summed :returns undefined: the globally integrated amoutn of stuff :calledfrom: :f:func:`totaltands ` .. f:subroutine:: subroutine totaltands(HI, hThick, areaT, temperature, salinity, mesg) This subroutine display the total thickness, temperature and salinity as well as the change since the last call. :param hi: [in] A horizontal index type :param hthick: [in] The array of thicknesses to use as weights :param areat: [in] The array of cell areas [m2] :param temperature: [in] The temperature field to sum :param salinity: [in] The salinity field to sum :param mesg: [in] An identifying message :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`totalstuff ` .. f:function:: logical function check_column_integral(nk, field, known_answer) Returns false if the column integral of a given quantity is within roundoff. :param nk: [in] Number of levels in column :param field: [in] Field to be summed :param known_answer: [in] If present is the expected sum, If missing, assumed zero .. f:function:: logical function check_column_integrals(nk_1, field_1, nk_2, field_2, missing_value) Returns false if the column integrals of two given quantities are within roundoff of each other. :param nk_1: [in] Number of levels in field 1 :param nk_2: [in] Number of levels in field 2 :param field_1: [in] First field to be summed :param field_2: [in] Second field to be summed :param missing_value: [in] If column contains missing values, mask them from the sum :calledfrom: :f:func:`mom_ale::ale_offline_inputs ` [debug] DoxygenMethodDocumenter format_signature called ((param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::mom_debugging_init', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::mom_debugging_init', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_vc3d', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_vc3d', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_vc2d', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_vc2d', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((mesg, array, G, is, ie, js, je)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_sb3d', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_sb3d', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((mesg, array, G, is, ie, js, je)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_sb2d', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_sb2d', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_vb3d', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_vb3d', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_vb2d', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_vb2d', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((mesg, array, G, is, ie, js, je)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_st3d', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_st3d', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((mesg, array, G, is, ie, js, je)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_st2d', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_st2d', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_vt3d', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_vt3d', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_vt2d', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_redundant_vt2d', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((mesg, u_comp, v_comp, G, halos, scalars)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::chksum_vec_c3d', , {}, ['', 'Do [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::chksum_vec_c3d', , {}, ['', 'Do [debug] DoxygenMethodDocumenter format_signature called ((mesg, u_comp, v_comp, G, halos, scalars)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::chksum_vec_c2d', , {}, ['', 'Do [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::chksum_vec_c2d', , {}, ['', 'Do [debug] DoxygenMethodDocumenter format_signature called ((mesg, u_comp, v_comp, G, halos, scalars)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::chksum_vec_b3d', , {}, ['', 'Do [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::chksum_vec_b3d', , {}, ['', 'Do [debug] DoxygenMethodDocumenter format_signature called ((mesg, u_comp, v_comp, G, halos, scalars, symmetric)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::chksum_vec_b2d', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::chksum_vec_b2d', , {}, ['']) [debug] DoxygenMethodDocumenter format_signature called ((mesg, u_comp, v_comp, G, halos, scalars)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::chksum_vec_a3d', , {}, ['', 'Do [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::chksum_vec_a3d', , {}, ['', 'Do [debug] DoxygenMethodDocumenter format_signature called ((mesg, u_comp, v_comp, G, halos, scalars)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::chksum_vec_a2d', , {}, ['', 'Do [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::chksum_vec_a2d', , {}, ['', 'Do [debug] DoxygenMethodDocumenter format_signature called ((HI, hThick, areaT, stuff)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::totalstuff', , {}, ['', 'This fu [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::totalstuff', , {}, ['', 'This fu [debug] DoxygenMethodDocumenter format_signature called ((HI, hThick, areaT, temperature, salinity, mesg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::totaltands', , {}, ['', 'This su [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::totaltands', , {}, ['', 'This su [debug] DoxygenMethodDocumenter format_signature called ((nk, field, known_answer)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_column_integral', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_column_integral', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((nk_1, field_1, nk_2, field_2, missing_value)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_column_integrals', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_debugging::check_column_integrals', , {}, [ [fd] run(.. f:subroutine:: subroutine mom_debugging_init(param_file)) [fd] sig(subroutine mom_debugging_init(param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_debugging_init) arglist(param_file) [fd] fullname(mom_debugging/mom_debugging_init) ftype(None) [fd] name(('mom_debugging/mom_debugging_init', None)) sig(subroutine mom_debugging_init(param_file)) signode(subroutine mom_debugging/mom_debugging_initparam_file) [fd] run(.. f:subroutine:: subroutine check_redundant_vc3d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [fd] sig(subroutine check_redundant_vc3d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_redundant_vc3d) arglist(mesg, u_comp, v_comp, G, is, ie, js, je, direction) [fd] fullname(mom_debugging/check_redundant_vc3d) ftype(None) [fd] name(('mom_debugging/check_redundant_vc3d', None)) sig(subroutine check_redundant_vc3d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) signode(subroutine mom_debugging/check_redundant_vc3dmesgu_compv_compGisiejsjedirection) [fd] run(.. f:subroutine:: subroutine check_redundant_vc2d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [fd] sig(subroutine check_redundant_vc2d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_redundant_vc2d) arglist(mesg, u_comp, v_comp, G, is, ie, js, je, direction) [fd] fullname(mom_debugging/check_redundant_vc2d) ftype(None) [fd] name(('mom_debugging/check_redundant_vc2d', None)) sig(subroutine check_redundant_vc2d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) signode(subroutine mom_debugging/check_redundant_vc2dmesgu_compv_compGisiejsjedirection) [fd] run(.. f:subroutine:: subroutine check_redundant_sb3d(mesg, array, G, is, ie, js, je)) [fd] sig(subroutine check_redundant_sb3d(mesg, array, G, is, ie, js, je)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_redundant_sb3d) arglist(mesg, array, G, is, ie, js, je) [fd] fullname(mom_debugging/check_redundant_sb3d) ftype(None) [fd] name(('mom_debugging/check_redundant_sb3d', None)) sig(subroutine check_redundant_sb3d(mesg, array, G, is, ie, js, je)) signode(subroutine mom_debugging/check_redundant_sb3dmesgarrayGisiejsje) [fd] run(.. f:subroutine:: subroutine check_redundant_sb2d(mesg, array, G, is, ie, js, je)) [fd] sig(subroutine check_redundant_sb2d(mesg, array, G, is, ie, js, je)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_redundant_sb2d) arglist(mesg, array, G, is, ie, js, je) [fd] fullname(mom_debugging/check_redundant_sb2d) ftype(None) [fd] name(('mom_debugging/check_redundant_sb2d', None)) sig(subroutine check_redundant_sb2d(mesg, array, G, is, ie, js, je)) signode(subroutine mom_debugging/check_redundant_sb2dmesgarrayGisiejsje) [fd] run(.. f:subroutine:: subroutine check_redundant_vb3d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [fd] sig(subroutine check_redundant_vb3d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_redundant_vb3d) arglist(mesg, u_comp, v_comp, G, is, ie, js, je, direction) [fd] fullname(mom_debugging/check_redundant_vb3d) ftype(None) [fd] name(('mom_debugging/check_redundant_vb3d', None)) sig(subroutine check_redundant_vb3d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) signode(subroutine mom_debugging/check_redundant_vb3dmesgu_compv_compGisiejsjedirection) [fd] run(.. f:subroutine:: subroutine check_redundant_vb2d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [fd] sig(subroutine check_redundant_vb2d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_redundant_vb2d) arglist(mesg, u_comp, v_comp, G, is, ie, js, je, direction) [fd] fullname(mom_debugging/check_redundant_vb2d) ftype(None) [fd] name(('mom_debugging/check_redundant_vb2d', None)) sig(subroutine check_redundant_vb2d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) signode(subroutine mom_debugging/check_redundant_vb2dmesgu_compv_compGisiejsjedirection) [fd] run(.. f:subroutine:: subroutine check_redundant_st3d(mesg, array, G, is, ie, js, je)) [fd] sig(subroutine check_redundant_st3d(mesg, array, G, is, ie, js, je)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_redundant_st3d) arglist(mesg, array, G, is, ie, js, je) [fd] fullname(mom_debugging/check_redundant_st3d) ftype(None) [fd] name(('mom_debugging/check_redundant_st3d', None)) sig(subroutine check_redundant_st3d(mesg, array, G, is, ie, js, je)) signode(subroutine mom_debugging/check_redundant_st3dmesgarrayGisiejsje) [fd] run(.. f:subroutine:: subroutine check_redundant_st2d(mesg, array, G, is, ie, js, je)) [fd] sig(subroutine check_redundant_st2d(mesg, array, G, is, ie, js, je)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_redundant_st2d) arglist(mesg, array, G, is, ie, js, je) [fd] fullname(mom_debugging/check_redundant_st2d) ftype(None) [fd] name(('mom_debugging/check_redundant_st2d', None)) sig(subroutine check_redundant_st2d(mesg, array, G, is, ie, js, je)) signode(subroutine mom_debugging/check_redundant_st2dmesgarrayGisiejsje) [fd] run(.. f:subroutine:: subroutine check_redundant_vt3d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [fd] sig(subroutine check_redundant_vt3d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_redundant_vt3d) arglist(mesg, u_comp, v_comp, G, is, ie, js, je, direction) [fd] fullname(mom_debugging/check_redundant_vt3d) ftype(None) [fd] name(('mom_debugging/check_redundant_vt3d', None)) sig(subroutine check_redundant_vt3d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) signode(subroutine mom_debugging/check_redundant_vt3dmesgu_compv_compGisiejsjedirection) [fd] run(.. f:subroutine:: subroutine check_redundant_vt2d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [fd] sig(subroutine check_redundant_vt2d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_redundant_vt2d) arglist(mesg, u_comp, v_comp, G, is, ie, js, je, direction) [fd] fullname(mom_debugging/check_redundant_vt2d) ftype(None) [fd] name(('mom_debugging/check_redundant_vt2d', None)) sig(subroutine check_redundant_vt2d(mesg, u_comp, v_comp, G, is, ie, js, je, direction)) signode(subroutine mom_debugging/check_redundant_vt2dmesgu_compv_compGisiejsjedirection) [fd] run(.. f:subroutine:: subroutine chksum_vec_c3d(mesg, u_comp, v_comp, G, halos, scalars)) [fd] sig(subroutine chksum_vec_c3d(mesg, u_comp, v_comp, G, halos, scalars)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_vec_c3d) arglist(mesg, u_comp, v_comp, G, halos, scalars) [fd] fullname(mom_debugging/chksum_vec_c3d) ftype(None) [fd] name(('mom_debugging/chksum_vec_c3d', None)) sig(subroutine chksum_vec_c3d(mesg, u_comp, v_comp, G, halos, scalars)) signode(subroutine mom_debugging/chksum_vec_c3dmesgu_compv_compGhalosscalars) [fd] run(.. f:subroutine:: subroutine chksum_vec_c2d(mesg, u_comp, v_comp, G, halos, scalars)) [fd] sig(subroutine chksum_vec_c2d(mesg, u_comp, v_comp, G, halos, scalars)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_vec_c2d) arglist(mesg, u_comp, v_comp, G, halos, scalars) [fd] fullname(mom_debugging/chksum_vec_c2d) ftype(None) [fd] name(('mom_debugging/chksum_vec_c2d', None)) sig(subroutine chksum_vec_c2d(mesg, u_comp, v_comp, G, halos, scalars)) signode(subroutine mom_debugging/chksum_vec_c2dmesgu_compv_compGhalosscalars) [fd] run(.. f:subroutine:: subroutine chksum_vec_b3d(mesg, u_comp, v_comp, G, halos, scalars)) [fd] sig(subroutine chksum_vec_b3d(mesg, u_comp, v_comp, G, halos, scalars)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_vec_b3d) arglist(mesg, u_comp, v_comp, G, halos, scalars) [fd] fullname(mom_debugging/chksum_vec_b3d) ftype(None) [fd] name(('mom_debugging/chksum_vec_b3d', None)) sig(subroutine chksum_vec_b3d(mesg, u_comp, v_comp, G, halos, scalars)) signode(subroutine mom_debugging/chksum_vec_b3dmesgu_compv_compGhalosscalars) [fd] run(.. f:subroutine:: subroutine chksum_vec_b2d(mesg, u_comp, v_comp, G, halos, scalars, symmetric)) [fd] sig(subroutine chksum_vec_b2d(mesg, u_comp, v_comp, G, halos, scalars, symmetric)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_vec_b2d) arglist(mesg, u_comp, v_comp, G, halos, scalars, symmetric) [fd] fullname(mom_debugging/chksum_vec_b2d) ftype(None) [fd] name(('mom_debugging/chksum_vec_b2d', None)) sig(subroutine chksum_vec_b2d(mesg, u_comp, v_comp, G, halos, scalars, symmetric)) signode(subroutine mom_debugging/chksum_vec_b2dmesgu_compv_compGhalosscalarssymmetric) [fd] run(.. f:subroutine:: subroutine chksum_vec_a3d(mesg, u_comp, v_comp, G, halos, scalars)) [fd] sig(subroutine chksum_vec_a3d(mesg, u_comp, v_comp, G, halos, scalars)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_vec_a3d) arglist(mesg, u_comp, v_comp, G, halos, scalars) [fd] fullname(mom_debugging/chksum_vec_a3d) ftype(None) [fd] name(('mom_debugging/chksum_vec_a3d', None)) sig(subroutine chksum_vec_a3d(mesg, u_comp, v_comp, G, halos, scalars)) signode(subroutine mom_debugging/chksum_vec_a3dmesgu_compv_compGhalosscalars) [fd] run(.. f:subroutine:: subroutine chksum_vec_a2d(mesg, u_comp, v_comp, G, halos, scalars)) [fd] sig(subroutine chksum_vec_a2d(mesg, u_comp, v_comp, G, halos, scalars)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(chksum_vec_a2d) arglist(mesg, u_comp, v_comp, G, halos, scalars) [fd] fullname(mom_debugging/chksum_vec_a2d) ftype(None) [fd] name(('mom_debugging/chksum_vec_a2d', None)) sig(subroutine chksum_vec_a2d(mesg, u_comp, v_comp, G, halos, scalars)) signode(subroutine mom_debugging/chksum_vec_a2dmesgu_compv_compGhalosscalars) [fd] run(.. f:function:: real function totalstuff(HI, hThick, areaT, stuff)) [fd] sig(real function totalstuff(HI, hThick, areaT, stuff)) [fd] ftype(real) objtype(function) modname(None) typename() name(totalstuff) arglist(HI, hThick, areaT, stuff) [fd] fullname(mom_debugging/totalstuff) ftype(real) [fd] name(('mom_debugging/totalstuff', 'real')) sig(real function totalstuff(HI, hThick, areaT, stuff)) signode(function mom_debugging/totalstuffHIhThickareaTstuff [real]) [fd] run(.. f:subroutine:: subroutine totaltands(HI, hThick, areaT, temperature, salinity, mesg)) [fd] sig(subroutine totaltands(HI, hThick, areaT, temperature, salinity, mesg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(totaltands) arglist(HI, hThick, areaT, temperature, salinity, mesg) [fd] fullname(mom_debugging/totaltands) ftype(None) [fd] name(('mom_debugging/totaltands', None)) sig(subroutine totaltands(HI, hThick, areaT, temperature, salinity, mesg)) signode(subroutine mom_debugging/totaltandsHIhThickareaTtemperaturesalinitymesg) [fd] run(.. f:function:: logical function check_column_integral(nk, field, known_answer)) [fd] sig(logical function check_column_integral(nk, field, known_answer)) [fd] ftype(logical) objtype(function) modname(None) typename() name(check_column_integral) arglist(nk, field, known_answer) [fd] fullname(mom_debugging/check_column_integral) ftype(logical) [fd] name(('mom_debugging/check_column_integral', 'logical')) sig(logical function check_column_integral(nk, field, known_answer)) signode(function mom_debugging/check_column_integralnkfieldknown_answer [logical]) [fd] run(.. f:function:: logical function check_column_integrals(nk_1, field_1, nk_2, field_2, missing_value)) [fd] sig(logical function check_column_integrals(nk_1, field_1, nk_2, field_2, missing_value)) [fd] ftype(logical) objtype(function) modname(None) typename() name(check_column_integrals) arglist(nk_1, field_1, nk_2, field_2, missing_value) [fd] fullname(mom_debugging/check_column_integrals) ftype(logical) [fd] name(('mom_debugging/check_column_integrals', 'logical')) sig(logical function check_column_integrals(nk_1, field_1, nk_2, field_2, missing_value)) signode(function mom_debugging/check_column_integralsnk_1field_1nk_2field_2missing_value [logical]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 25%] api/generated/modules/mom_density_integrals [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_density_ [app] emitting event: 'source-read'('api/generated/modules/mom_density_integrals', ['.. autodoxymodule:: mom_density_integrals\n :mem [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_density_integrals.rst:1: input: .. autodoxymodule:: mom_density_integrals :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_density_integrals::int_density_dz ~mom_density_integrals::int_density_dz_generic_pcm ~mom_density_integrals::int_density_dz_generic_plm ~mom_density_integrals::int_density_dz_generic_ppm ~mom_density_integrals::int_specific_vol_dp ~mom_density_integrals::int_spec_vol_dp_generic_pcm ~mom_density_integrals::int_spec_vol_dp_generic_plm ~mom_density_integrals::find_depth_of_pressure_in_cell ~mom_density_integrals::frac_dp_at_pos [debug] xpath(./compounddef/compoundname[text()="mom_density_integrals"]/..) match([('id', 'namespacemom__density__integrals'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_density_integrals module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_density_integrals', , {'members': , {'members': , {'members': ), ('int_density_dz_generic_pcm', ), ('int_density_dz_generic_plm', ), ('int_density_dz_generic_ppm', ), ('int_specific_vol_dp', ), ('int_spec_vol_dp_generic_pcm', ), ('int_spec_vol_dp_generic_plm', ), ('find_depth_of_pressure_in_cell', ), ('frac_dp_at_pos', )]) [autodoc] module analyzer failed: error importing 'mom_density_integrals' (exception was: ModuleNotFoundError("No module named 'mom_density_integrals'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) [debug] add_directive_header sig((T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine int_density_dz) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'int_density_dz', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_depth_of_pressure_in_cell', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_depth_of_pressure_in_cell', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_depth_of_pressure_in_cell', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_depth_of_pressure_in_cell', , {'members': [autodoc] module analyzer failed: error importing 'mom_density_integrals' (exception was: ModuleNotFoundError("No module named 'mom_density_integrals'")) [debug] DoxygenMethodDocumenter format_signature called ((T_t, T_b, S_t, S_b, z_t, z_b, rho_ref, G_e, pos, EOS)) [debug] add_directive_header sig((T_t, T_b, S_t, S_b, z_t, z_b, rho_ref, G_e, pos, EOS)) [debug] DoxygenMethodDocumenter directive(function) name(real function frac_dp_at_pos) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'frac_dp_at_pos', , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_density_integrals::int_density_dz ~mom_density_integrals::int_density_dz_generic_pcm ~mom_density_integrals::int_density_dz_generic_plm ~mom_density_integrals::int_density_dz_generic_ppm ~mom_density_integrals::int_specific_vol_dp ~mom_density_integrals::int_spec_vol_dp_generic_pcm ~mom_density_integrals::int_spec_vol_dp_generic_plm ~mom_density_integrals::find_depth_of_pressure_in_cell ~mom_density_integrals::frac_dp_at_pos .. _DETAmom_density_integrals: -------------------- Detailed Description -------------------- Provides integrals of density. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine int_density_dz(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp) Calls the appropriate subroutine to calculate analytical and nearly-analytical integrals in z across layers of pressure anomalies, which are required for calculating the finite-volume form pressure accelerations in a Boussinesq model. :param hi: [in] Ocean horizontal index structures for the arrays :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param z_t: [in] Height at the top of the layer in depth units [Z ~> m] :param z_b: [in] Height at the bottom of the layer [Z ~> m] :param rho_ref: [in] A mean density [R ~> kg m-3] or [kg m-3], that is subtracted out to reduce the magnitude of each of the integrals. :param rho_0: [in] A density [R ~> kg m-3] or [kg m-3], that is used to calculate the pressure (as p~=-z*rho_0*G_e) used in the equation of state. :param g_e: [in] The Earth's gravitational acceleration [L2 Z-1 T-2 ~> m s-2] or [m2 Z-1 s-2 ~> m s-2] :param eos: Equation of state structure :param us: [in] A dimensional unit scaling type :param dpa: [inout] The change in the pressure anomaly :param intz_dpa: [inout] The integral through the thickness of the :param intx_dpa: [inout] The integral in x of the difference between :param inty_dpa: [inout] The integral in y of the difference between :param bathyt: [in] The depth of the bathymetry [Z ~> m] :param dz_neglect: [in] A minuscule thickness change [Z ~> m] :param usemasswghtinterp: [in] If true, uses mass weighting to interpolate T/S for top and bottom integrals. :callto: :f:func:`int_density_dz_generic_pcm ` :calledfrom: :f:func:`mom_diagnostics::calculate_vertical_integrals ` .. f:subroutine:: subroutine int_density_dz_generic_pcm(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp) Calculates (by numerical quadrature) integrals of pressure anomalies across layers, which are required for calculating the finite-volume form pressure accelerations in a Boussinesq model. :param hi: [in] Horizontal index type for input variables. :param t: [in] Potential temperature of the layer [degC] :param s: [in] Salinity of the layer [ppt] :param z_t: [in] Height at the top of the layer in depth units [Z ~> m] :param z_b: [in] Height at the bottom of the layer [Z ~> m] :param rho_ref: [in] A mean density [R ~> kg m-3] or [kg m-3], that is subtracted out to reduce the magnitude of each of the integrals. :param rho_0: [in] A density [R ~> kg m-3] or [kg m-3], that is used to calculate the pressure (as p~=-z*rho_0*G_e) used in the equation of state. :param g_e: [in] The Earth's gravitational acceleration [L2 Z-1 T-2 ~> m s-2] or [m2 Z-1 s-2 ~> m s-2] :param eos: Equation of state structure :param us: [in] A dimensional unit scaling type :param dpa: [inout] The change in the pressure anomaly :param intz_dpa: [inout] The integral through the thickness of the :param intx_dpa: [inout] The integral in x of the difference between :param inty_dpa: [inout] The integral in y of the difference between :param bathyt: [in] The depth of the bathymetry [Z ~> m] :param dz_neglect: [in] A minuscule thickness change [Z ~> m] :param usemasswghtinterp: [in] If true, uses mass weighting to interpolate T/S for top and bottom integrals. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`int_density_dz ` .. f:subroutine:: subroutine int_density_dz_generic_plm(k, tv, T_t, T_b, S_t, S_b, e, rho_ref, rho_0, G_e, dz_subroundoff, bathyT, HI, GV, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, useMassWghtInterp) Compute pressure gradient force integrals by quadrature for the case where T and S are linear profiles. :param k: [in] Layer index to calculate integrals for :param hi: [in] Ocean horizontal index structures for the input arrays :param gv: [in] Vertical grid structure :param tv: [in] Thermodynamic variables :param t_t: [in] Potential temperature at the cell top [degC] :param t_b: [in] Potential temperature at the cell bottom [degC] :param s_t: [in] Salinity at the cell top [ppt] :param s_b: [in] Salinity at the cell bottom [ppt] :param e: [in] Height of interfaces [Z ~> m] :param rho_ref: [in] A mean density [R ~> kg m-3] or [kg m-3], that is subtracted out to reduce the magnitude of each of the integrals. :param rho_0: [in] A density [R ~> kg m-3] or [kg m-3], that is used to calculate the pressure (as p~=-z*rho_0*G_e) used in the equation of state. :param g_e: [in] The Earth's gravitational acceleration [L2 Z-1 T-2 ~> m s-2] :param dz_subroundoff: [in] A minuscule thickness change [Z ~> m] :param bathyt: [in] The depth of the bathymetry [Z ~> m] :param eos: Equation of state structure :param us: [in] A dimensional unit scaling type :param dpa: [inout] The change in the pressure anomaly across the layer [R L2 T-2 ~> Pa] :param intz_dpa: [inout] The integral through the thickness of the layer of :param intx_dpa: [inout] The integral in x of the difference between the :param inty_dpa: [inout] The integral in y of the difference between the :param usemasswghtinterp: [in] If true, uses mass weighting to interpolate T/S for top and bottom integrals. .. f:subroutine:: subroutine int_density_dz_generic_ppm(k, tv, T_t, T_b, S_t, S_b, e, rho_ref, rho_0, G_e, dz_subroundoff, bathyT, HI, GV, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, useMassWghtInterp) Compute pressure gradient force integrals for layer "k" and the case where T and S are parabolic profiles. :param k: [in] Layer index to calculate integrals for :param hi: [in] Ocean horizontal index structures for the input arrays :param gv: [in] Vertical grid structure :param tv: [in] Thermodynamic variables :param t_t: [in] Potential temperature at the cell top [degC] :param t_b: [in] Potential temperature at the cell bottom [degC] :param s_t: [in] Salinity at the cell top [ppt] :param s_b: [in] Salinity at the cell bottom [ppt] :param e: [in] Height of interfaces [Z ~> m] :param rho_ref: [in] A mean density [R ~> kg m-3] or [kg m-3], that is subtracted out to reduce the magnitude of each of the integrals. :param rho_0: [in] A density [R ~> kg m-3] or [kg m-3], that is used to calculate the pressure (as p~=-z*rho_0*G_e) used in the equation of state. :param g_e: [in] The Earth's gravitational acceleration [m s-2] :param dz_subroundoff: [in] A minuscule thickness change [Z ~> m] :param bathyt: [in] The depth of the bathymetry [Z ~> m] :param eos: Equation of state structure :param us: [in] A dimensional unit scaling type :param dpa: [inout] The change in the pressure anomaly across the layer [R L2 T-2 ~> Pa] :param intz_dpa: [inout] The integral through the thickness of the layer of :param intx_dpa: [inout] The integral in x of the difference between the :param inty_dpa: [inout] The integral in y of the difference between the :param usemasswghtinterp: [in] If true, uses mass weighting to interpolate T/S for top and bottom integrals. .. f:subroutine:: subroutine int_specific_vol_dp(T, S, p_t, p_b, alpha_ref, HI, EOS, US, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_tiny, useMassWghtInterp) Calls the appropriate subroutine to calculate analytical and nearly-analytical integrals in pressure across layers of geopotential anomalies, which are required for calculating the finite-volume form pressure accelerations in a non-Boussinesq model. There are essentially no free assumptions, apart from the use of Boole's rule to do the horizontal integrals, and from a truncation in the series for log(1-eps/1+eps) that assumes that |eps| < 0.34. :param hi: [in] The horizontal index structure :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param p_t: [in] Pressure at the top of the layer [R L2 T-2 ~> Pa] or [Pa] :param p_b: [in] Pressure at the bottom of the layer [R L2 T-2 ~> Pa] or [Pa] :param alpha_ref: [in] A mean specific volume that is subtracted out to reduce the magnitude of each of the integrals [R-1 ~> m3 kg-1] The calculation is mathematically identical with different values of alpha_ref, but this reduces the effects of roundoff. :param eos: Equation of state structure :param us: [in] A dimensional unit scaling type :param dza: [inout] The change in the geopotential anomaly across :param intp_dza: [inout] The integral in pressure through the layer of the :param intx_dza: [inout] The integral in x of the difference between the :param inty_dza: [inout] The integral in y of the difference between the :param halo_size: [in] The width of halo points on which to calculate dza. :param bathyp: [in] The pressure at the bathymetry [R L2 T-2 ~> Pa] or [Pa] :param dp_tiny: [in] A minuscule pressure change with the same units as p_t [R L2 T-2 ~> Pa] or [Pa] :param usemasswghtinterp: [in] If true, uses mass weighting to interpolate T/S for top and bottom integrals. :callto: :f:func:`int_spec_vol_dp_generic_pcm ` :calledfrom: :f:func:`mom_interface_heights::find_eta_2d ` :calledfrom: :f:func:`mom_interface_heights::find_eta_3d ` :calledfrom: :f:func:`mom_pressureforce_mont::pressureforce_mont_nonbouss ` .. f:subroutine:: subroutine int_spec_vol_dp_generic_pcm(T, S, p_t, p_b, alpha_ref, HI, EOS, US, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp) This subroutine calculates integrals of specific volume anomalies in pressure across layers, which are required for calculating the finite-volume form pressure accelerations in a non-Boussinesq model. There are essentially no free assumptions, apart from the use of Boole's rule quadrature to do the integrals. :param hi: [in] A horizontal index type structure. :param t: [in] Potential temperature of the layer [degC] :param s: [in] Salinity of the layer [ppt] :param p_t: [in] Pressure atop the layer [R L2 T-2 ~> Pa] or [Pa] :param p_b: [in] Pressure below the layer [R L2 T-2 ~> Pa] or [Pa] :param alpha_ref: [in] A mean specific volume that is subtracted out to reduce the magnitude of each of the integrals [R-1 ~> m3 kg-1] The calculation is mathematically identical with different values of alpha_ref, but alpha_ref alters the effects of roundoff, and answers do change. :param eos: Equation of state structure :param us: [in] A dimensional unit scaling type :param dza: [inout] The change in the geopotential anomaly :param intp_dza: [inout] The integral in pressure through the layer of :param intx_dza: [inout] The integral in x of the difference between :param inty_dza: [inout] The integral in y of the difference between :param halo_size: [in] The width of halo points on which to calculate dza. :param bathyp: [in] The pressure at the bathymetry [R L2 T-2 ~> Pa] or [Pa] :param dp_neglect: [in] A minuscule pressure change with the same units as p_t [R L2 T-2 ~> Pa] or [Pa] :param usemasswghtinterp: [in] If true, uses mass weighting to interpolate T/S for top and bottom integrals. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`int_specific_vol_dp ` .. f:subroutine:: subroutine int_spec_vol_dp_generic_plm(T_t, T_b, S_t, S_b, p_t, p_b, alpha_ref, dP_neglect, bathyP, HI, EOS, US, dza, intp_dza, intx_dza, inty_dza, useMassWghtInterp) This subroutine calculates integrals of specific volume anomalies in pressure across layers, which are required for calculating the finite-volume form pressure accelerations in a non-Boussinesq model. There are essentially no free assumptions, apart from the use of Boole's rule quadrature to do the integrals. :param hi: [in] A horizontal index type structure. :param t_t: [in] Potential temperature at the top of the layer [degC] :param t_b: [in] Potential temperature at the bottom of the layer [degC] :param s_t: [in] Salinity at the top the layer [ppt] :param s_b: [in] Salinity at the bottom the layer [ppt] :param p_t: [in] Pressure atop the layer [R L2 T-2 ~> Pa] or [Pa] :param p_b: [in] Pressure below the layer [R L2 T-2 ~> Pa] or [Pa] :param alpha_ref: [in] A mean specific volume that is subtracted out to reduce the magnitude of each of the integrals [R-1 ~> m3 kg-1] The calculation is mathematically identical with different values of alpha_ref, but alpha_ref alters the effects of roundoff, and answers do change. :param dp_neglect: [in] !< A miniscule pressure change with the same units as p_t [R L2 T-2 ~> Pa] or [Pa] :param bathyp: [in] The pressure at the bathymetry [R L2 T-2 ~> Pa] or [Pa] :param eos: Equation of state structure :param us: [in] A dimensional unit scaling type :param dza: [inout] The change in the geopotential anomaly :param intp_dza: [inout] The integral in pressure through the layer of :param intx_dza: [inout] The integral in x of the difference between :param inty_dza: [inout] The integral in y of the difference between :param usemasswghtinterp: [in] If true, uses mass weighting to interpolate T/S for top and bottom integrals. .. f:subroutine:: subroutine find_depth_of_pressure_in_cell(T_t, T_b, S_t, S_b, z_t, z_b, P_t, P_tgt, rho_ref, G_e, EOS, US, P_b, z_out, z_tol) Find the depth at which the reconstructed pressure matches P_tgt. :param t_t: [in] Potential temperature at the cell top [degC] :param t_b: [in] Potential temperature at the cell bottom [degC] :param s_t: [in] Salinity at the cell top [ppt] :param s_b: [in] Salinity at the cell bottom [ppt] :param z_t: [in] Absolute height of top of cell [Z ~> m] (Boussinesq ????) :param z_b: [in] Absolute height of bottom of cell [Z ~> m] :param p_t: [in] Anomalous pressure of top of cell, relative to g*rho_ref*z_t [R L2 T-2 ~> Pa] :param p_tgt: [in] Target pressure at height z_out, relative to g*rho_ref*z_out [R L2 T-2 ~> Pa] :param rho_ref: [in] Reference density with which calculation are anomalous to [R ~> kg m-3] :param g_e: [in] Gravitational acceleration [L2 Z-1 T-2 ~> m s-2] :param eos: Equation of state structure :param us: [in] A dimensional unit scaling type :param p_b: [out] Pressure at the bottom of the cell [R L2 T-2 ~> Pa] :param z_out: [out] Absolute depth at which anomalous pressure = p_tgt [Z ~> m] :param z_tol: [in] The tolerance in finding z_out [Z ~> m] :callto: :f:func:`frac_dp_at_pos ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_state_initialization::cut_off_column_top ` .. f:function:: real function frac_dp_at_pos(T_t, T_b, S_t, S_b, z_t, z_b, rho_ref, G_e, pos, EOS) Returns change in anomalous pressure change from top to non-dimensional position pos between z_t and z_b. :param t_t: [in] Potential temperature at the cell top [degC] :param t_b: [in] Potential temperature at the cell bottom [degC] :param s_t: [in] Salinity at the cell top [ppt] :param s_b: [in] Salinity at the cell bottom [ppt] :param z_t: [in] The geometric height at the top of the layer [Z ~> m] :param z_b: [in] The geometric height at the bottom of the layer [Z ~> m] :param rho_ref: [in] A mean density [R ~> kg m-3], that is subtracted out to reduce the magnitude of each of the integrals. :param g_e: [in] The Earth's gravitational acceleration [L2 Z-1 T-2 ~> m s-2] :param pos: [in] The fractional vertical position, 0 to 1 [nondim] :param eos: Equation of state structure :calledfrom: :f:func:`find_depth_of_pressure_in_cell ` [debug] DoxygenMethodDocumenter format_signature called ((T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_density_integrals::int_density_dz', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_density_integrals::int_density_dz', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_density_integrals::int_density_dz_generic_pcm', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_density_integrals::int_specific_vol_dp', , [debug] DoxygenMethodDocumenter format_signature called ((T, S, p_t, p_b, alpha_ref, HI, EOS, US, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_density_integrals::int_spec_vol_dp_generic_pcm', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_density_integrals::frac_dp_at_pos', , {}, [ [fd] run(.. f:subroutine:: subroutine int_density_dz(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) [fd] sig(subroutine int_density_dz(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(int_density_dz) arglist(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp) [fd] fullname(mom_density_integrals/int_density_dz) ftype(None) [fd] name(('mom_density_integrals/int_density_dz', None)) sig(subroutine int_density_dz(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) signode(subroutine mom_density_integrals/int_density_dzTSz_tz_brho_refrho_0G_eHIEOSUSdpaintz_dpaintx_dpainty_dpabathyTdz_neglectuseMassWghtInterp) [fd] run(.. f:subroutine:: subroutine int_density_dz_generic_pcm(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) [fd] sig(subroutine int_density_dz_generic_pcm(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(int_density_dz_generic_pcm) arglist(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp) [fd] fullname(mom_density_integrals/int_density_dz_generic_pcm) ftype(None) [fd] name(('mom_density_integrals/int_density_dz_generic_pcm', None)) sig(subroutine int_density_dz_generic_pcm(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) signode(subroutine mom_density_integrals/int_density_dz_generic_pcmTSz_tz_brho_refrho_0G_eHIEOSUSdpaintz_dpaintx_dpainty_dpabathyTdz_neglectuseMassWghtInterp) [fd] run(.. f:subroutine:: subroutine int_density_dz_generic_plm(k, tv, T_t, T_b, S_t, S_b, e, rho_ref, rho_0, G_e, dz_subroundoff, bathyT, HI, GV, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, useMassWghtInterp)) [fd] sig(subroutine int_density_dz_generic_plm(k, tv, T_t, T_b, S_t, S_b, e, rho_ref, rho_0, G_e, dz_subroundoff, bathyT, HI, GV, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, useMassWghtInterp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(int_density_dz_generic_plm) arglist(k, tv, T_t, T_b, S_t, S_b, e, rho_ref, rho_0, G_e, dz_subroundoff, bathyT, HI, GV, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, useMassWghtInterp) [fd] fullname(mom_density_integrals/int_density_dz_generic_plm) ftype(None) [fd] name(('mom_density_integrals/int_density_dz_generic_plm', None)) sig(subroutine int_density_dz_generic_plm(k, tv, T_t, T_b, S_t, S_b, e, rho_ref, rho_0, G_e, dz_subroundoff, bathyT, HI, GV, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, useMassWghtInterp)) signode(subroutine mom_density_integrals/int_density_dz_generic_plmktvT_tT_bS_tS_berho_refrho_0G_edz_subroundoffbathyTHIGVEOSUSdpaintz_dpaintx_dpainty_dpauseMassWghtInterp) [fd] run(.. f:subroutine:: subroutine int_density_dz_generic_ppm(k, tv, T_t, T_b, S_t, S_b, e, rho_ref, rho_0, G_e, dz_subroundoff, bathyT, HI, GV, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, useMassWghtInterp)) [fd] sig(subroutine int_density_dz_generic_ppm(k, tv, T_t, T_b, S_t, S_b, e, rho_ref, rho_0, G_e, dz_subroundoff, bathyT, HI, GV, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, useMassWghtInterp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(int_density_dz_generic_ppm) arglist(k, tv, T_t, T_b, S_t, S_b, e, rho_ref, rho_0, G_e, dz_subroundoff, bathyT, HI, GV, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, useMassWghtInterp) [fd] fullname(mom_density_integrals/int_density_dz_generic_ppm) ftype(None) [fd] name(('mom_density_integrals/int_density_dz_generic_ppm', None)) sig(subroutine int_density_dz_generic_ppm(k, tv, T_t, T_b, S_t, S_b, e, rho_ref, rho_0, G_e, dz_subroundoff, bathyT, HI, GV, EOS, US, dpa, intz_dpa, intx_dpa, inty_dpa, useMassWghtInterp)) signode(subroutine mom_density_integrals/int_density_dz_generic_ppmktvT_tT_bS_tS_berho_refrho_0G_edz_subroundoffbathyTHIGVEOSUSdpaintz_dpaintx_dpainty_dpauseMassWghtInterp) [fd] run(.. f:subroutine:: subroutine int_specific_vol_dp(T, S, p_t, p_b, alpha_ref, HI, EOS, US, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_tiny, useMassWghtInterp)) [fd] sig(subroutine int_specific_vol_dp(T, S, p_t, p_b, alpha_ref, HI, EOS, US, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_tiny, useMassWghtInterp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(int_specific_vol_dp) arglist(T, S, p_t, p_b, alpha_ref, HI, EOS, US, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_tiny, useMassWghtInterp) [fd] fullname(mom_density_integrals/int_specific_vol_dp) ftype(None) [fd] name(('mom_density_integrals/int_specific_vol_dp', None)) sig(subroutine int_specific_vol_dp(T, S, p_t, p_b, alpha_ref, HI, EOS, US, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_tiny, useMassWghtInterp)) signode(subroutine mom_density_integrals/int_specific_vol_dpTSp_tp_balpha_refHIEOSUSdzaintp_dzaintx_dzainty_dzahalo_sizebathyPdP_tinyuseMassWghtInterp) [fd] run(.. f:subroutine:: subroutine int_spec_vol_dp_generic_pcm(T, S, p_t, p_b, alpha_ref, HI, EOS, US, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp)) [fd] sig(subroutine int_spec_vol_dp_generic_pcm(T, S, p_t, p_b, alpha_ref, HI, EOS, US, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(int_spec_vol_dp_generic_pcm) arglist(T, S, p_t, p_b, alpha_ref, HI, EOS, US, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp) [fd] fullname(mom_density_integrals/int_spec_vol_dp_generic_pcm) ftype(None) [fd] name(('mom_density_integrals/int_spec_vol_dp_generic_pcm', None)) sig(subroutine int_spec_vol_dp_generic_pcm(T, S, p_t, p_b, alpha_ref, HI, EOS, US, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp)) signode(subroutine mom_density_integrals/int_spec_vol_dp_generic_pcmTSp_tp_balpha_refHIEOSUSdzaintp_dzaintx_dzainty_dzahalo_sizebathyPdP_neglectuseMassWghtInterp) [fd] run(.. f:subroutine:: subroutine int_spec_vol_dp_generic_plm(T_t, T_b, S_t, S_b, p_t, p_b, alpha_ref, dP_neglect, bathyP, HI, EOS, US, dza, intp_dza, intx_dza, inty_dza, useMassWghtInterp)) [fd] sig(subroutine int_spec_vol_dp_generic_plm(T_t, T_b, S_t, S_b, p_t, p_b, alpha_ref, dP_neglect, bathyP, HI, EOS, US, dza, intp_dza, intx_dza, inty_dza, useMassWghtInterp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(int_spec_vol_dp_generic_plm) arglist(T_t, T_b, S_t, S_b, p_t, p_b, alpha_ref, dP_neglect, bathyP, HI, EOS, US, dza, intp_dza, intx_dza, inty_dza, useMassWghtInterp) [fd] fullname(mom_density_integrals/int_spec_vol_dp_generic_plm) ftype(None) [fd] name(('mom_density_integrals/int_spec_vol_dp_generic_plm', None)) sig(subroutine int_spec_vol_dp_generic_plm(T_t, T_b, S_t, S_b, p_t, p_b, alpha_ref, dP_neglect, bathyP, HI, EOS, US, dza, intp_dza, intx_dza, inty_dza, useMassWghtInterp)) signode(subroutine mom_density_integrals/int_spec_vol_dp_generic_plmT_tT_bS_tS_bp_tp_balpha_refdP_neglectbathyPHIEOSUSdzaintp_dzaintx_dzainty_dzauseMassWghtInterp) [fd] run(.. f:subroutine:: subroutine find_depth_of_pressure_in_cell(T_t, T_b, S_t, S_b, z_t, z_b, P_t, P_tgt, rho_ref, G_e, EOS, US, P_b, z_out, z_tol)) [fd] sig(subroutine find_depth_of_pressure_in_cell(T_t, T_b, S_t, S_b, z_t, z_b, P_t, P_tgt, rho_ref, G_e, EOS, US, P_b, z_out, z_tol)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_depth_of_pressure_in_cell) arglist(T_t, T_b, S_t, S_b, z_t, z_b, P_t, P_tgt, rho_ref, G_e, EOS, US, P_b, z_out, z_tol) [fd] fullname(mom_density_integrals/find_depth_of_pressure_in_cell) ftype(None) [fd] name(('mom_density_integrals/find_depth_of_pressure_in_cell', None)) sig(subroutine find_depth_of_pressure_in_cell(T_t, T_b, S_t, S_b, z_t, z_b, P_t, P_tgt, rho_ref, G_e, EOS, US, P_b, z_out, z_tol)) signode(subroutine mom_density_integrals/find_depth_of_pressure_in_cellT_tT_bS_tS_bz_tz_bP_tP_tgtrho_refG_eEOSUSP_bz_outz_tol) [fd] run(.. f:function:: real function frac_dp_at_pos(T_t, T_b, S_t, S_b, z_t, z_b, rho_ref, G_e, pos, EOS)) [fd] sig(real function frac_dp_at_pos(T_t, T_b, S_t, S_b, z_t, z_b, rho_ref, G_e, pos, EOS)) [fd] ftype(real) objtype(function) modname(None) typename() name(frac_dp_at_pos) arglist(T_t, T_b, S_t, S_b, z_t, z_b, rho_ref, G_e, pos, EOS) [fd] fullname(mom_density_integrals/frac_dp_at_pos) ftype(real) [fd] name(('mom_density_integrals/frac_dp_at_pos', 'real')) sig(real function frac_dp_at_pos(T_t, T_b, S_t, S_b, z_t, z_b, rho_ref, G_e, pos, EOS)) signode(function mom_density_integrals/frac_dp_at_posT_tT_bS_tS_bz_tz_brho_refG_eposEOS [real]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 25%] api/generated/modules/mom_diabatic_aux [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_diabatic [app] emitting event: 'source-read'('api/generated/modules/mom_diabatic_aux', ['.. autodoxymodule:: mom_diabatic_aux\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_diabatic_aux.rst:1: input: .. autodoxymodule:: mom_diabatic_aux :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_diabatic_aux::diabatic_aux_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_diabatic_aux::make_frazil ~mom_diabatic_aux::differential_diffuse_t_s ~mom_diabatic_aux::adjust_salt ~mom_diabatic_aux::tridiagts ~mom_diabatic_aux::find_uv_at_h ~mom_diabatic_aux::set_pen_shortwave ~mom_diabatic_aux::diagnosemldbydensitydifference ~mom_diabatic_aux::diagnosemldbyenergy ~mom_diabatic_aux::applyboundaryfluxesinout ~mom_diabatic_aux::diabatic_aux_init ~mom_diabatic_aux::diabatic_aux_end [debug] xpath(./compounddef/compoundname[text()="mom_diabatic_aux"]/..) match([('id', 'namespacemom__diabatic__aux'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_diabatic_aux module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diabatic_aux', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_diabatic_aux' (exception was: ModuleNotFoundError("No module named 'mom_diabatic_aux'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_aux::diabatic_aux_cs', , {'members [debug] members([('make_frazil', ), ('differential_diffuse_t_s', ), ('adjust_salt', ), ('tridiagts', ), ('find_uv_at_h', ), ('set_pen_shortwave', ), ('diagnosemldbydensitydifference', ), ('diagnosemldbyenergy', ), ('applyboundaryfluxesinout', ), ('diabatic_aux_init', ), ('diabatic_aux_end', )]) [autodoc] module analyzer failed: error importing 'mom_diabatic_aux' (exception was: ModuleNotFoundError("No module named 'mom_diabatic_aux'")) [debug] DoxygenMethodDocumenter format_signature called ((h, tv, G, GV, US, CS, p_surf, halo)) [debug] add_directive_header sig((h, tv, G, GV, US, CS, p_surf, halo)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine make_frazil) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'make_frazil', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diagnosemldbydensitydifference', , {'members': [autodoc] module analyzer failed: error importing 'mom_diabatic_aux' (exception was: ModuleNotFoundError("No module named 'mom_diabatic_aux'")) [debug] DoxygenMethodDocumenter format_signature called ((id_MLD, h, tv, G, GV, US, Mixing_Energy, diagPtr)) [debug] add_directive_header sig((id_MLD, h, tv, G, GV, US, Mixing_Energy, diagPtr)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine diagnosemldbyenergy) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diagnosemldbyenergy', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_diabatic_aux::diabatic_aux_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_diabatic_aux::make_frazil ~mom_diabatic_aux::differential_diffuse_t_s ~mom_diabatic_aux::adjust_salt ~mom_diabatic_aux::tridiagts ~mom_diabatic_aux::find_uv_at_h ~mom_diabatic_aux::set_pen_shortwave ~mom_diabatic_aux::diagnosemldbydensitydifference ~mom_diabatic_aux::diagnosemldbyenergy ~mom_diabatic_aux::applyboundaryfluxesinout ~mom_diabatic_aux::diabatic_aux_init ~mom_diabatic_aux::diabatic_aux_end .. _DETAmom_diabatic_aux: -------------------- Detailed Description -------------------- This module contains the subroutines that, along with the subroutines that it calls, implements diapycnal mass and momentum fluxes and a bulk mixed layer. The diapycnal diffusion can be used without the bulk mixed layer. diabatic first determines the (diffusive) diapycnal mass fluxes based on the convergence of the buoyancy fluxes within each layer. The dual-stream entrainment scheme of MacDougall and Dewar (JPO, 1997) is used for combined diapycnal advection and diffusion, calculated implicitly and potentially with the Richardson number dependent mixing, as described by Hallberg (MWR, 2000). Diapycnal advection is fundamentally the residual of diapycnal diffusion, so the fully implicit upwind differencing scheme that is used is entirely appropriate. The downward buoyancy flux in each layer is determined from an implicit calculation based on the previously calculated flux of the layer above and an estimated flux in the layer below. This flux is subject to the following conditions: (1) the flux in the top and bottom layers are set by the boundary conditions, and (2) no layer may be driven below an Angstrom thick- ness. If there is a bulk mixed layer, the buffer layer is treat- ed as a fixed density layer with vanishingly small diffusivity. diabatic takes 5 arguments: the two velocities (u and v), the thicknesses (h), a structure containing the forcing fields, and the length of time over which to act (dt). The velocities and thickness are taken as inputs and modified within the subroutine. There is no limit on the time step. ------------------ Type Documentation ------------------ .. f:type:: diabatic_aux_cs Control structure for diabatic_aux. :typefield logical do_rivermix: Provide additional TKE to mix river runoff at the river mouths to a depth of "rivermix_depth". :typefield real rivermix_depth: The depth to which rivers are mixed if do_rivermix = T [Z ~> m]. :typefield logical reclaim_frazil: If true, try to use any frazil heat deficit to to cool the topmost layer down to the freezing point. The default is false. :typefield logical pressure_dependent_frazil: If true, use a pressure dependent freezing temperature when making frazil. The default is false, which will be faster but is inappropriate with ice-shelf cavities. :typefield logical ignore_fluxes_over_land: If true, the model does not check if fluxes are applied over land points. This flag must be used when the ocean is coupled with sea ice and ice shelves and use_ePBL = true. :typefield logical use_river_heat_content: If true, assumes that ice-ocean boundary has provided a river heat content. Otherwise, runoff is added with a temperature of the local SST. :typefield logical use_calving_heat_content: If true, assumes that ice-ocean boundary has provided a calving heat content. Otherwise, calving is added with a temperature of the local SST. :typefield logical var_pen_sw: If true, use one of the CHL_A schemes to determine the e-folding depth of incoming shortwave radiation. :typefield integer sbc_chl: An integer handle used in time interpolation of chlorophyll read from a file. :typefield logical chl_from_file: If true, chl_a is read from a file. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(diag_ctrl) diag [pointer]: Structure used to regulate timing of diagnostic output. :typefield integer id_createdh: Diagnostic ID of mass added to avoid grounding. :typefield integer id_brine_lay: Diagnostic ID of which layer receives the brine. :typefield integer id_pensw_diag: Diagnostic ID of Penetrative shortwave heating (flux convergence) :typefield integer id_penswflux_diag: Diagnostic ID of Penetrative shortwave flux. :typefield integer id_nonpensw_diag: Diagnostic ID of Non-penetrative shortwave heating. :typefield integer id_chl: Diagnostic ID of chlorophyll-A handles for opacity. :typefield real(\:,\:) createdh [allocatable]: The amount of volume added in order to avoid grounding [H T-1 ~> m s-1]. :typefield real(\:,\:,\:) pensw_diag [allocatable]: Heating in a layer from convergence of penetrative SW [Q R Z T-1 ~> W m-2]. :typefield real(\:,\:,\:) penswflux_diag [allocatable]: Penetrative SW flux at base of grid layer [Q R Z T-1 ~> W m-2]. :typefield real(\:,\:) nonpensw_diag [allocatable]: Non-downwelling SW radiation at ocean surface [Q R Z T-1 ~> W m-2]. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine make_frazil(h, tv, G, GV, US, CS, p_surf, halo) Frazil formation keeps the temperature above the freezing point. This subroutine warms any water that is colder than the (currently surface) freezing point up to the freezing point and accumulates the required heat (in [Q R Z ~> J m-2]) in tvfrazil. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [inout] Structure containing pointers to any available thermodynamic fields. :param us: [in] A dimensional unit scaling type :param cs: [in] The control structure returned by a previous call to diabatic_aux_init. :param p_surf: [in] The pressure at the ocean surface [R L2 T-2 ~> Pa]. :param halo: [in] Halo width over which to calculate frazil :callto: :f:func:`id_clock_frazil ` .. f:subroutine:: subroutine differential_diffuse_t_s(h, T, S, Kd_T, Kd_S, dt, G, GV) This subroutine applies double diffusion to T & S, assuming no diapycal mass fluxes, using a simple triadiagonal solver. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param t: [inout] Potential temperature [degC]. :param s: [inout] Salinity [PSU] or [gSalt/kg], generically [ppt]. :param kd_t: [inout] The extra diffusivity of temperature due to :param kd_s: [in] The extra diffusivity of salinity due to :param dt: [in] Time increment [T ~> s]. .. f:subroutine:: subroutine adjust_salt(h, tv, G, GV, CS, halo) This subroutine keeps salinity from falling below a small but positive threshold. This usually occurs when the ice model attempts to extract more salt then is actually available to it from the ocean. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [inout] Structure containing pointers to any available thermodynamic fields. :param cs: [in] The control structure returned by a previous call to diabatic_aux_init. :param halo: [in] Halo width over which to work .. f:subroutine:: subroutine tridiagts(G, GV, is, ie, js, je, hold, ea, eb, T, S) This is a simple tri-diagonal solver for T and S. "Simple" means it only uses arrays hold, ea and eb. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param is: [in] The start i-index to work on. :param ie: [in] The end i-index to work on. :param js: [in] The start j-index to work on. :param je: [in] The end j-index to work on. :param hold: [in] The layer thicknesses before entrainment, [H ~> m or kg m-2]. :param ea: [in] The amount of fluid entrained from the layer above within this time step [H ~> m or kg m-2] :param eb: [in] The amount of fluid entrained from the layer below within this time step [H ~> m or kg m-2] :param t: [inout] Layer potential temperatures [degC]. :param s: [inout] Layer salinities [ppt]. .. f:subroutine:: subroutine find_uv_at_h(u, v, h, u_h, v_h, G, GV, US, ea, eb) This subroutine calculates u_h and v_h (velocities at thickness points), optionally using the entrainment amounts passed in as arguments. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param u: [in] The zonal velocity [L T-1 ~> m s-1] :param v: [in] The meridional velocity [L T-1 ~> m s-1] :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param u_h: [out] Zonal velocity interpolated to h points [L T-1 ~> m s-1]. :param v_h: [out] Meridional velocity interpolated to h points [L T-1 ~> m s-1]. :param ea: [in] The amount of fluid entrained from the layer :param eb: [in] The amount of fluid entrained from the layer :callto: :f:func:`id_clock_uv_at_h ` .. f:subroutine:: subroutine set_pen_shortwave(optics, fluxes, G, GV, US, CS, opacity_CSp, tracer_flow_CSp) :param optics: An optics structure that has will contain information about shortwave fluxes and absorption. :param fluxes: [inout] points to forcing fields unused fields have NULL ptrs :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param cs: Control structure for diabatic_aux :param opacity_csp: The control structure for the opacity module. :param tracer_flow_csp: A pointer to the control structure organizing the tracer modules. :callto: :f:func:`mom_tracer_flow_control::get_chl_from_model ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale_legacy ` :calledfrom: :f:func:`mom_diabatic_driver::layered_diabatic ` .. f:subroutine:: subroutine diagnosemldbydensitydifference(id_MLD, h, tv, densityDiff, G, GV, US, diagPtr, id_N2subML, id_MLDsq, dz_subML) Diagnose a mixed layer depth (MLD) determined by a given density difference with the surface. This routine is appropriate in MOM_diabatic_driver due to its position within the time stepping. :param g: [in] Grid type :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param id_mld: [in] Handle (ID) of MLD diagnostic :param h: [in] Layer thickness [H ~> m or kg m-2] :param tv: [in] Structure containing pointers to any available thermodynamic fields. :param densitydiff: [in] Density difference to determine MLD [R ~> kg m-3] :param diagptr: Diagnostics structure :param id_n2subml: [in] Optional handle (ID) of subML stratification :param id_mldsq: [in] Optional handle (ID) of squared MLD :param dz_subml: [in] The distance over which to calculate N2subML or 50 m if missing [Z ~> m] .. f:subroutine:: subroutine diagnosemldbyenergy(id_MLD, h, tv, G, GV, US, Mixing_Energy, diagPtr) Diagnose a mixed layer depth (MLD) determined by the depth a given energy value would mix. This routine is appropriate in MOM_diabatic_driver due to its position within the time stepping. :param id_mld: [in] Energy output diag IDs :param g: [in] Grid type :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param mixing_energy: [in] Energy values for up to 3 MLDs :param h: [in] Layer thickness [H ~> m or kg m-2] :param tv: [in] Structure containing pointers to any available thermodynamic fields. :param diagptr: Diagnostics structure .. f:subroutine:: subroutine applyboundaryfluxesinout(CS, G, GV, US, dt, fluxes, optics, nsw, h, tv, aggregate_FW_forcing, evap_CFL_limit, minimum_forcing_depth, cTKE, dSV_dT, dSV_dS, SkinBuoyFlux) Update the thickness, temperature, and salinity due to thermodynamic boundary forcing (contained in fluxes type) applied to h, tvT and tvS, and calculate the TKE implications of this heating. :param cs: Control structure for diabatic_aux :param g: [in] Grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param dt: [in] Time-step over which forcing is applied [T ~> s] :param fluxes: [inout] Surface fluxes container :param optics: Optical properties container :param nsw: [in] The number of frequency bands of penetrating shortwave radiation :param h: [inout] Layer thickness [H ~> m or kg m-2] :param tv: [inout] Structure containing pointers to any available thermodynamic fields. :param aggregate_fw_forcing: [in] If False, treat in/out fluxes separately. :param evap_cfl_limit: [in] The largest fraction of a layer that can be evaporated in one time-step [nondim]. :param minimum_forcing_depth: [in] The smallest depth over which heat and freshwater fluxes is applied [H ~> m or kg m-2]. :param ctke: [out] Turbulent kinetic energy requirement to mix :param dsv_dt: [out] Partial derivative of specific volume with :param dsv_ds: [out] Partial derivative of specific volume with :param skinbuoyflux: [out] Buoyancy flux at surface [Z2 T-3 ~> m2 s-3]. :callto: :f:func:`mom_opacity::absorbremainingsw ` :callto: :f:func:`mom_forcing_type::extractfluxes1d ` :callto: :f:func:`mom_forcing_type::forcing_singlepointprint ` .. f:subroutine:: subroutine diabatic_aux_init(Time, G, GV, US, param_file, diag, CS, useALEalgorithm, use_ePBL) This subroutine initializes the parameters and control structure of the diabatic_aux module. :param time: [in] The current model time. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :param diag: [inout] A structure used to regulate diagnostic output :param cs: A pointer to the control structure for the diabatic_aux module, which is initialized here. :param usealealgorithm: [in] If true, use the ALE algorithm rather than layered mode. :param use_epbl: [in] If true, use the implicit energetics planetary boundary layer scheme to determine the diffusivity in the surface boundary layer. :callto: :f:func:`id_clock_frazil ` :callto: :f:func:`id_clock_uv_at_h ` .. f:subroutine:: subroutine diabatic_aux_end(CS) This subroutine initializes the control structure and any related memory for the diabatic_aux module. :param cs: The control structure returned by a previous call to diabatic_aux_init; it is deallocated here. [debug] xpath(./compounddef/compoundname[text()="mom_diabatic_aux::diabatic_aux_cs"]/..) match([('id', 'structmom__diabatic__aux_1_1diabatic__aux__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diabatic_aux::diabatic_aux_cs', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diabatic_aux::diabatic_aux_cs', , {}, ['` [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diabatic_aux::diabatic_aux_cs', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((h, tv, G, GV, US, CS, p_surf, halo)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::make_frazil', , {}, ['', 'Fra [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::make_frazil', , {}, ['', 'Fra [debug] DoxygenMethodDocumenter format_signature called ((h, T, S, Kd_T, Kd_S, dt, G, GV)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::differential_diffuse_t_s', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::differential_diffuse_t_s', , [debug] DoxygenMethodDocumenter format_signature called ((h, tv, G, GV, CS, halo)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::adjust_salt', , {}, ['', 'Thi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::adjust_salt', , {}, ['', 'Thi [debug] DoxygenMethodDocumenter format_signature called ((G, GV, is, ie, js, je, hold, ea, eb, T, S)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::tridiagts', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::tridiagts', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, u_h, v_h, G, GV, US, ea, eb)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::find_uv_at_h', , {}, ['', 'Th [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::find_uv_at_h', , {}, ['', 'Th [debug] DoxygenMethodDocumenter format_signature called ((optics, fluxes, G, GV, US, CS, opacity_CSp, tracer_flow_CSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::set_pen_shortwave', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::set_pen_shortwave', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((id_MLD, h, tv, densityDiff, G, GV, US, diagPtr, id_N2subML, id_MLDsq, dz_subML)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::diagnosemldbydensitydifference', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::diagnosemldbyenergy', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, US, dt, fluxes, optics, nsw, h, tv, aggregate_FW_forcing, evap_CFL_limit, minimum_forcing_depth, cTKE, dSV_dT, dSV_dS, SkinBuoyFlux)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::applyboundaryfluxesinout', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::applyboundaryfluxesinout', , [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS, useALEalgorithm, use_ePBL)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::diabatic_aux_init', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::diabatic_aux_init', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::diabatic_aux_end', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_aux::diabatic_aux_end', , {}, ['', [fd] run(.. f:type:: diabatic_aux_cs) [fd] sig(diabatic_aux_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(diabatic_aux_cs) arglist(None) [fd] fullname(mom_diabatic_aux/diabatic_aux_cs) ftype(None) [fd] name(('mom_diabatic_aux/diabatic_aux_cs', None)) sig(diabatic_aux_cs) signode(type mom_diabatic_aux/diabatic_aux_cs) [fd] run(.. f:subroutine:: subroutine make_frazil(h, tv, G, GV, US, CS, p_surf, halo)) [fd] sig(subroutine make_frazil(h, tv, G, GV, US, CS, p_surf, halo)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(make_frazil) arglist(h, tv, G, GV, US, CS, p_surf, halo) [fd] fullname(mom_diabatic_aux/make_frazil) ftype(None) [fd] name(('mom_diabatic_aux/make_frazil', None)) sig(subroutine make_frazil(h, tv, G, GV, US, CS, p_surf, halo)) signode(subroutine mom_diabatic_aux/make_frazilhtvGGVUSCSp_surfhalo) [fd] run(.. f:subroutine:: subroutine differential_diffuse_t_s(h, T, S, Kd_T, Kd_S, dt, G, GV)) [fd] sig(subroutine differential_diffuse_t_s(h, T, S, Kd_T, Kd_S, dt, G, GV)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(differential_diffuse_t_s) arglist(h, T, S, Kd_T, Kd_S, dt, G, GV) [fd] fullname(mom_diabatic_aux/differential_diffuse_t_s) ftype(None) [fd] name(('mom_diabatic_aux/differential_diffuse_t_s', None)) sig(subroutine differential_diffuse_t_s(h, T, S, Kd_T, Kd_S, dt, G, GV)) signode(subroutine mom_diabatic_aux/differential_diffuse_t_shTSKd_TKd_SdtGGV) [fd] run(.. f:subroutine:: subroutine adjust_salt(h, tv, G, GV, CS, halo)) [fd] sig(subroutine adjust_salt(h, tv, G, GV, CS, halo)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(adjust_salt) arglist(h, tv, G, GV, CS, halo) [fd] fullname(mom_diabatic_aux/adjust_salt) ftype(None) [fd] name(('mom_diabatic_aux/adjust_salt', None)) sig(subroutine adjust_salt(h, tv, G, GV, CS, halo)) signode(subroutine mom_diabatic_aux/adjust_salthtvGGVCShalo) [fd] run(.. f:subroutine:: subroutine tridiagts(G, GV, is, ie, js, je, hold, ea, eb, T, S)) [fd] sig(subroutine tridiagts(G, GV, is, ie, js, je, hold, ea, eb, T, S)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tridiagts) arglist(G, GV, is, ie, js, je, hold, ea, eb, T, S) [fd] fullname(mom_diabatic_aux/tridiagts) ftype(None) [fd] name(('mom_diabatic_aux/tridiagts', None)) sig(subroutine tridiagts(G, GV, is, ie, js, je, hold, ea, eb, T, S)) signode(subroutine mom_diabatic_aux/tridiagtsGGVisiejsjeholdeaebTS) [fd] run(.. f:subroutine:: subroutine find_uv_at_h(u, v, h, u_h, v_h, G, GV, US, ea, eb)) [fd] sig(subroutine find_uv_at_h(u, v, h, u_h, v_h, G, GV, US, ea, eb)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_uv_at_h) arglist(u, v, h, u_h, v_h, G, GV, US, ea, eb) [fd] fullname(mom_diabatic_aux/find_uv_at_h) ftype(None) [fd] name(('mom_diabatic_aux/find_uv_at_h', None)) sig(subroutine find_uv_at_h(u, v, h, u_h, v_h, G, GV, US, ea, eb)) signode(subroutine mom_diabatic_aux/find_uv_at_huvhu_hv_hGGVUSeaeb) [fd] run(.. f:subroutine:: subroutine set_pen_shortwave(optics, fluxes, G, GV, US, CS, opacity_CSp, tracer_flow_CSp)) [fd] sig(subroutine set_pen_shortwave(optics, fluxes, G, GV, US, CS, opacity_CSp, tracer_flow_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_pen_shortwave) arglist(optics, fluxes, G, GV, US, CS, opacity_CSp, tracer_flow_CSp) [fd] fullname(mom_diabatic_aux/set_pen_shortwave) ftype(None) [fd] name(('mom_diabatic_aux/set_pen_shortwave', None)) sig(subroutine set_pen_shortwave(optics, fluxes, G, GV, US, CS, opacity_CSp, tracer_flow_CSp)) signode(subroutine mom_diabatic_aux/set_pen_shortwaveopticsfluxesGGVUSCSopacity_CSptracer_flow_CSp) [fd] run(.. f:subroutine:: subroutine diagnosemldbydensitydifference(id_MLD, h, tv, densityDiff, G, GV, US, diagPtr, id_N2subML, id_MLDsq, dz_subML)) [fd] sig(subroutine diagnosemldbydensitydifference(id_MLD, h, tv, densityDiff, G, GV, US, diagPtr, id_N2subML, id_MLDsq, dz_subML)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diagnosemldbydensitydifference) arglist(id_MLD, h, tv, densityDiff, G, GV, US, diagPtr, id_N2subML, id_MLDsq, dz_subML) [fd] fullname(mom_diabatic_aux/diagnosemldbydensitydifference) ftype(None) [fd] name(('mom_diabatic_aux/diagnosemldbydensitydifference', None)) sig(subroutine diagnosemldbydensitydifference(id_MLD, h, tv, densityDiff, G, GV, US, diagPtr, id_N2subML, id_MLDsq, dz_subML)) signode(subroutine mom_diabatic_aux/diagnosemldbydensitydifferenceid_MLDhtvdensityDiffGGVUSdiagPtrid_N2subMLid_MLDsqdz_subML) [fd] run(.. f:subroutine:: subroutine diagnosemldbyenergy(id_MLD, h, tv, G, GV, US, Mixing_Energy, diagPtr)) [fd] sig(subroutine diagnosemldbyenergy(id_MLD, h, tv, G, GV, US, Mixing_Energy, diagPtr)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diagnosemldbyenergy) arglist(id_MLD, h, tv, G, GV, US, Mixing_Energy, diagPtr) [fd] fullname(mom_diabatic_aux/diagnosemldbyenergy) ftype(None) [fd] name(('mom_diabatic_aux/diagnosemldbyenergy', None)) sig(subroutine diagnosemldbyenergy(id_MLD, h, tv, G, GV, US, Mixing_Energy, diagPtr)) signode(subroutine mom_diabatic_aux/diagnosemldbyenergyid_MLDhtvGGVUSMixing_EnergydiagPtr) [fd] run(.. f:subroutine:: subroutine applyboundaryfluxesinout(CS, G, GV, US, dt, fluxes, optics, nsw, h, tv, aggregate_FW_forcing, evap_CFL_limit, minimum_forcing_depth, cTKE, dSV_dT, dSV_dS, SkinBuoyFlux)) [fd] sig(subroutine applyboundaryfluxesinout(CS, G, GV, US, dt, fluxes, optics, nsw, h, tv, aggregate_FW_forcing, evap_CFL_limit, minimum_forcing_depth, cTKE, dSV_dT, dSV_dS, SkinBuoyFlux)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(applyboundaryfluxesinout) arglist(CS, G, GV, US, dt, fluxes, optics, nsw, h, tv, aggregate_FW_forcing, evap_CFL_limit, minimum_forcing_depth, cTKE, dSV_dT, dSV_dS, SkinBuoyFlux) [fd] fullname(mom_diabatic_aux/applyboundaryfluxesinout) ftype(None) [fd] name(('mom_diabatic_aux/applyboundaryfluxesinout', None)) sig(subroutine applyboundaryfluxesinout(CS, G, GV, US, dt, fluxes, optics, nsw, h, tv, aggregate_FW_forcing, evap_CFL_limit, minimum_forcing_depth, cTKE, dSV_dT, dSV_dS, SkinBuoyFlux)) signode(subroutine mom_diabatic_aux/applyboundaryfluxesinoutCSGGVUSdtfluxesopticsnswhtvaggregate_FW_forcingevap_CFL_limitminimum_forcing_depthcTKEdSV_dTdSV_dSSkinBuoyFlux) [fd] run(.. f:subroutine:: subroutine diabatic_aux_init(Time, G, GV, US, param_file, diag, CS, useALEalgorithm, use_ePBL)) [fd] sig(subroutine diabatic_aux_init(Time, G, GV, US, param_file, diag, CS, useALEalgorithm, use_ePBL)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diabatic_aux_init) arglist(Time, G, GV, US, param_file, diag, CS, useALEalgorithm, use_ePBL) [fd] fullname(mom_diabatic_aux/diabatic_aux_init) ftype(None) [fd] name(('mom_diabatic_aux/diabatic_aux_init', None)) sig(subroutine diabatic_aux_init(Time, G, GV, US, param_file, diag, CS, useALEalgorithm, use_ePBL)) signode(subroutine mom_diabatic_aux/diabatic_aux_initTimeGGVUSparam_filediagCSuseALEalgorithmuse_ePBL) [fd] run(.. f:subroutine:: subroutine diabatic_aux_end(CS)) [fd] sig(subroutine diabatic_aux_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diabatic_aux_end) arglist(CS) [fd] fullname(mom_diabatic_aux/diabatic_aux_end) ftype(None) [fd] name(('mom_diabatic_aux/diabatic_aux_end', None)) sig(subroutine diabatic_aux_end(CS)) signode(subroutine mom_diabatic_aux/diabatic_aux_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 25%] api/generated/modules/mom_diabatic_driver [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_diabatic [app] emitting event: 'source-read'('api/generated/modules/mom_diabatic_driver', ['.. autodoxymodule:: mom_diabatic_driver\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_diabatic_driver.rst:1: input: .. autodoxymodule:: mom_diabatic_driver :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_diabatic_driver::diabatic_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_diabatic_driver::diabatic ~mom_diabatic_driver::diabatic_ale_legacy ~mom_diabatic_driver::diabatic_ale ~mom_diabatic_driver::layered_diabatic ~mom_diabatic_driver::extract_diabatic_member ~mom_diabatic_driver::adiabatic ~mom_diabatic_driver::diagnose_diabatic_diff_tendency ~mom_diabatic_driver::diagnose_boundary_forcing_tendency ~mom_diabatic_driver::diagnose_frazil_tendency ~mom_diabatic_driver::adiabatic_driver_init ~mom_diabatic_driver::diabatic_driver_init ~mom_diabatic_driver::diabatic_driver_end [debug] xpath(./compounddef/compoundname[text()="mom_diabatic_driver"]/..) match([('id', 'namespacemom__diabatic__driver'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_diabatic_driver module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diabatic_driver', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_diabatic_driver' (exception was: ModuleNotFoundError("No module named 'mom_diabatic_driver'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diabatic_driver::diabatic_cs', , {'members' [debug] members([('diabatic', ), ('diabatic_ale_legacy', ), ('diabatic_ale', ), ('layered_diabatic', ), ('extract_diabatic_member', ), ('adiabatic', ), ('diagnose_diabatic_diff_tendency', ), ('diagnose_boundary_forcing_tendency', ), ('diagnose_frazil_tendency', ), ('adiabatic_driver_init', ), ('diabatic_driver_init', ), ('diabatic_driver_end', )]) [autodoc] module analyzer failed: error importing 'mom_diabatic_driver' (exception was: ModuleNotFoundError("No module named 'mom_diabatic_driver'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, OBC, WAVES)) [debug] add_directive_header sig((u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, OBC, WAVES)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine diabatic) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diabatic', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diagnose_diabatic_diff_tendency', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diagnose_diabatic_diff_tendency', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diagnose_diabatic_diff_tendency', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diagnose_diabatic_diff_tendency', , {'members': [autodoc] module analyzer failed: error importing 'mom_diabatic_driver' (exception was: ModuleNotFoundError("No module named 'mom_diabatic_driver'")) [debug] DoxygenMethodDocumenter format_signature called ((tv, h, temp_old, saln_old, h_old, dt, G, GV, US, CS)) [debug] add_directive_header sig((tv, h, temp_old, saln_old, h_old, dt, G, GV, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine diagnose_boundary_forcing_tendency) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diagnose_boundary_forcing_tendency', , {'member [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diagnose_boundary_forcing_tendency', , {'member [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diagnose_boundary_forcing_tendency', , {'member [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diagnose_boundary_forcing_tendency', , {'member [autodoc] module analyzer failed: error importing 'mom_diabatic_driver' (exception was: ModuleNotFoundError("No module named 'mom_diabatic_driver'")) [debug] DoxygenMethodDocumenter format_signature called ((tv, h, temp_old, dt, G, GV, US, CS)) [debug] add_directive_header sig((tv, h, temp_old, dt, G, GV, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine diagnose_frazil_tendency) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diagnose_frazil_tendency', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_diabatic_driver::diabatic_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_diabatic_driver::diabatic ~mom_diabatic_driver::diabatic_ale_legacy ~mom_diabatic_driver::diabatic_ale ~mom_diabatic_driver::layered_diabatic ~mom_diabatic_driver::extract_diabatic_member ~mom_diabatic_driver::adiabatic ~mom_diabatic_driver::diagnose_diabatic_diff_tendency ~mom_diabatic_driver::diagnose_boundary_forcing_tendency ~mom_diabatic_driver::diagnose_frazil_tendency ~mom_diabatic_driver::adiabatic_driver_init ~mom_diabatic_driver::diabatic_driver_init ~mom_diabatic_driver::diabatic_driver_end .. _DETAmom_diabatic_driver: -------------------- Detailed Description -------------------- By Robert Hallberg, Alistair Adcroft, and Stephen Griffies This program contains the subroutine that, along with the subroutines that it calls, implements diapycnal mass and momentum fluxes and a bulk mixed layer. The diapycnal diffusion can be used without the bulk mixed layer. .. _namespacemom__diabatic__driver_1section_diabatic: Outline of MOM diabatic ======================= * diabatic first determines the (diffusive) diapycnal mass fluxes based on the convergence of the buoyancy fluxes within each layer. * The dual-stream entrainment scheme of MacDougall and Dewar (JPO, 1997) is used for combined diapycnal advection and diffusion, calculated implicitly and potentially with the Richardson number dependent mixing, as described by Hallberg (MWR, 2000). * Diapycnal advection is the residual of diapycnal diffusion, so the fully implicit upwind differencing scheme that is used is entirely appropriate. * The downward buoyancy flux in each layer is determined from an implicit calculation based on the previously calculated flux of the layer above and an estimated flux in the layer below. This flux is subject to the following conditions: (1) the flux in the top and bottom layers are set by the boundary conditions, and (2) no layer may be driven below an Angstrom thick- ness. If there is a bulk mixed layer, the buffer layer is treated as a fixed density layer with vanishingly small diffusivity. diabatic takes 5 arguments: the two velocities (u and v), the thicknesses (h), a structure containing the forcing fields, and the length of time over which to act (dt). The velocities and thickness are taken as inputs and modified within the subroutine. There is no limit on the time step. ------------------ Type Documentation ------------------ .. f:type:: diabatic_cs Control structure for this module. :typefield integer id_cg1: Diagnostic IDs. :typefield integer(\:) id_cn [allocatable]: Diagnostic IDs. :typefield integer id_wd: Diagnostic IDs. :typefield integer id_ea: Diagnostic IDs. :typefield integer id_eb: Diagnostic IDs. :typefield integer id_dudt_dia: Diagnostic IDs. :typefield integer id_dvdt_dia: Diagnostic IDs. :typefield integer id_ea_s: Diagnostic IDs. :typefield integer id_eb_s: Diagnostic IDs. :typefield integer id_ea_t: Diagnostic IDs. :typefield integer id_eb_t: Diagnostic IDs. :typefield integer id_kd_heat: Diagnostic IDs. :typefield integer id_kd_salt: Diagnostic IDs. :typefield integer id_kd_interface: Diagnostic IDs. :typefield integer id_kd_epbl: Diagnostic IDs. :typefield integer id_tdif: Diagnostic IDs. :typefield integer id_tadv: Diagnostic IDs. :typefield integer id_sdif: Diagnostic IDs. :typefield integer id_sadv: Diagnostic IDs. :typefield integer id_mld_003: Diagnostic IDs. :typefield integer id_mld_0125: Diagnostic IDs. :typefield integer id_mld_user: Diagnostic IDs. :typefield integer id_mlotstsq: Diagnostic IDs. :typefield integer id_mld_en1: Diagnostic IDs. :typefield integer id_mld_en2: Diagnostic IDs. :typefield integer id_mld_en3: Diagnostic IDs. :typefield integer id_submln2: Diagnostic IDs. :typefield integer id_hf_dudt_dia_2d: Diagnostic IDs. :typefield integer id_hf_dvdt_dia_2d: Diagnostic IDs. :typefield integer id_u_predia: Diagnostic IDs. :typefield integer id_v_predia: Diagnostic IDs. :typefield integer id_h_predia: Diagnostic IDs. :typefield integer id_t_predia: Diagnostic IDs. :typefield integer id_s_predia: Diagnostic IDs. :typefield integer id_e_predia: Diagnostic IDs. :typefield integer id_diabatic_diff_temp_tend: Diagnostic IDs. :typefield integer id_diabatic_diff_saln_tend: Diagnostic IDs. :typefield integer id_diabatic_diff_heat_tend: Diagnostic IDs. :typefield integer id_diabatic_diff_salt_tend: Diagnostic IDs. :typefield integer id_diabatic_diff_heat_tend_2d: Diagnostic IDs. :typefield integer id_diabatic_diff_salt_tend_2d: Diagnostic IDs. :typefield integer id_diabatic_diff_h: Diagnostic IDs. :typefield integer id_boundary_forcing_h: Diagnostic IDs. :typefield integer id_boundary_forcing_h_tendency: Diagnostic IDs. :typefield integer id_boundary_forcing_temp_tend: Diagnostic IDs. :typefield integer id_boundary_forcing_saln_tend: Diagnostic IDs. :typefield integer id_boundary_forcing_heat_tend: Diagnostic IDs. :typefield integer id_boundary_forcing_salt_tend: Diagnostic IDs. :typefield integer id_boundary_forcing_heat_tend_2d: Diagnostic IDs. :typefield integer id_boundary_forcing_salt_tend_2d: Diagnostic IDs. :typefield integer id_frazil_h: Diagnostic IDs. :typefield integer id_frazil_temp_tend: Diagnostic IDs. :typefield integer id_frazil_heat_tend: Diagnostic IDs. :typefield integer id_frazil_heat_tend_2d: Diagnostic IDs. :typefield logical use_legacy_diabatic: If true (default), use the a legacy version of the diabatic algorithm. This is temporary and is needed to avoid change in answers. :typefield logical bulkmixedlayer: If true, a refined bulk mixed layer is used with nkml sublayers (and additional buffer layers). :typefield logical use_energetic_pbl: If true, use the implicit energetics planetary boundary layer scheme to determine the diffusivity in the surface boundary layer. :typefield logical use_kpp: If true, use CVMix/KPP boundary layer scheme to determine the OBLD and the diffusivities within this layer. :typefield logical use_kappa_shear: If true, use the kappa_shear module to find the shear-driven diapycnal diffusivity. :typefield logical use_cvmix_shear: If true, use the CVMix module to find the shear-driven diapycnal diffusivity. :typefield logical use_cvmix_ddiff: If true, use the CVMix double diffusion module. :typefield logical use_cvmix_conv: If true, use the CVMix module to get enhanced mixing due to convection. :typefield logical double_diffuse: If true, some form of double-diffusive mixing is used. :typefield logical use_sponge: If true, sponges may be applied anywhere in the domain. The exact location and properties of those sponges are set by calls to initialize_sponge and set_up_sponge_field. :typefield logical use_geothermal: If true, apply geothermal heating. :typefield logical use_int_tides: If true, use the code that advances a separate set of equations for the internal tide energy density. :typefield logical epbl_is_additive: If true, the diffusivity from ePBL is added to all other diffusivities. Otherwise, the larger of kappa- shear and ePBL diffusivities are used. :typefield real epbl_prandtl: The Prandtl number used by ePBL to convert vertical diffusivities into viscosities. :typefield integer nmode: Number of baroclinic modes to consider. :typefield real uniform_test_cg: Uniform group velocity of internal tide for testing internal tides [L T-1 ~> m s-1]. :typefield logical usealealgorithm: If true, use the ALE algorithm rather than layered isopycnal/stacked shallow water mode. This logical passed by argument to diabatic_driver_init. :typefield logical aggregate_fw_forcing: Determines whether net incoming/outgoing surface FW fluxes are applied separately or combined before being applied. :typefield real ml_mix_first: The nondimensional fraction of the mixed layer algorithm that is applied before diffusive mixing. The default is 0, while 0.5 gives Strang splitting and 1 is a sensible value too. Note that if there are convective instabilities in the initial state, the first call may do much more than the second. :typefield integer nkbl: The number of buffer layers (if bulk_mixed_layer) :typefield logical massless_match_targets: If true (the default), keep the T & S consistent with the target values. :typefield logical mix_boundary_tracers: If true, mix the passive tracers in massless layers at the bottom into the interior as though a diffusivity of Kd_min_tr (see below) were operating. :typefield real kd_bbl_tr: A bottom boundary layer tracer diffusivity that will allow for explicitly specified bottom fluxes [Z2 T-1 ~> m2 s-1]. The entrainment at the bottom is at least sqrt(Kd_BBL_tr*dt) over the same distance. :typefield real kd_min_tr: A minimal diffusivity that should always be applied to tracers, especially in massless layers near the bottom [Z2 T-1 ~> m2 s-1]. :typefield real minimum_forcing_depth: The smallest depth over which heat and freshwater fluxes are applied [H ~> m or kg m-2]. :typefield real evap_cfl_limit: The largest fraction of a layer that can be evaporated in one time-step [nondim]. :typefield integer halo_ts_diff: The temperature, salinity and thickness halo size that must be valid for the diffusivity calculations. :typefield logical usekpp: use CVMix/KPP diffusivities and non-local transport :typefield logical kppispassive: If true, KPP is in passive mode, not changing answers. :typefield logical debug: If true, write verbose checksums for debugging purposes. :typefield logical debugconservation: If true, monitor conservation and extrema. :typefield logical tracer_tridiag: If true, use tracer_vertdiff instead of tridiagTS for vertical diffusion of T and S. :typefield logical debug_energy_req: If true, test the mixing energy requirement code. :typefield type(diag_ctrl) diag [pointer]: structure used to regulate timing of diagnostic output :typefield real mlddensitydifference: Density difference used to determine MLD_user [R ~> kg m-3]. :typefield real dz_subml_n2: The distance over which to calculate a diagnostic of the average stratification at the base of the mixed layer [Z ~> m]. :typefield real(3) mld_en_vals: Energy values for energy mixed layer diagnostics. :typefield logical diabatic_diff_tendency_diag: If true calculate diffusive tendency diagnostics. :typefield logical boundary_forcing_tendency_diag: If true calculate frazil diagnostics. :typefield logical frazil_tendency_diag: If true calculate frazil tendency diagnostics. :typefield real(\:,\:,\:) frazil_heat_diag [allocatable]: diagnose 3d heat tendency from frazil :typefield real(\:,\:,\:) frazil_temp_diag [allocatable]: diagnose 3d temp tendency from frazil :typefield type(diabatic_aux_cs) diabatic_aux_csp [pointer]: Control structure for a child module. :typefield type(entrain_diffusive_cs) entrain_diffusive_csp [pointer]: Control structure for a child module. :typefield type(bulkmixedlayer_cs) bulkmixedlayer_csp [pointer]: Control structure for a child module. :typefield type(energetic_pbl_cs) energetic_pbl_csp [pointer]: Control structure for a child module. :typefield type(regularize_layers_cs) regularize_layers_csp [pointer]: Control structure for a child module. :typefield type(geothermal_cs) geothermal_csp [pointer]: Control structure for a child module. :typefield type(int_tide_cs) int_tide_csp [pointer]: Control structure for a child module. :typefield type(int_tide_input_cs) int_tide_input_csp [pointer]: Control structure for a child module. :typefield type(int_tide_input_type) int_tide_input [pointer]: Control structure for a child module. :typefield type(opacity_cs) opacity_csp [pointer]: Control structure for a child module. :typefield type(set_diffusivity_cs) set_diff_csp [pointer]: Control structure for a child module. :typefield type(sponge_cs) sponge_csp [pointer]: Control structure for a child module. :typefield type(ale_sponge_cs) ale_sponge_csp [pointer]: Control structure for a child module. :typefield type(tracer_flow_control_cs) tracer_flow_csp [pointer]: Control structure for a child module. :typefield type(optics_type) optics [pointer]: Control structure for a child module. :typefield type(kpp_cs) kpp_csp [pointer]: Control structure for a child module. :typefield type(cvmix_conv_cs) cvmix_conv_csp [pointer]: Control structure for a child module. :typefield type(diapyc_energy_req_cs) diapyc_en_rec_csp [pointer]: Control structure for a child module. :typefield type(group_pass_type) pass_hold_eb_ea: For group halo pass. :typefield type(group_pass_type) pass_kv: For group halo pass. :typefield type(diag_grid_storage) diag_grids_prev: Stores diagnostic grids at some previous point in the algorithm. :typefield real(\:,\:,\:) kpp_nltheat [allocatable]: KPP non-local transport for heat [m s-1]. :typefield real(\:,\:,\:) kpp_nltscalar [allocatable]: KPP non-local transport for scalars [m s-1]. :typefield real(\:,\:,\:) kpp_buoy_flux [allocatable]: KPP forcing buoyancy flux [L2 T-3 ~> m2 s-3]. :typefield real(\:,\:) kpp_temp_flux [allocatable]: KPP effective temperature flux [degC m s-1]. :typefield real(\:,\:) kpp_salt_flux [allocatable]: KPP effective salt flux [ppt m s-1]. :typefield type(time_type) time [pointer]: Pointer to model time (needed for sponges) --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine diabatic(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, OBC, WAVES) This subroutine imposes the diapycnal mass fluxes and the accompanying diapycnal advection of momentum and tracers. :param g: [inout] ocean grid structure :param gv: [in] ocean vertical grid structure :param u: [inout] zonal velocity [L T-1 ~> m s-1] :param v: [inout] meridional velocity [L T-1 ~> m s-1] :param h: [inout] thickness [H ~> m or kg m-2] :param tv: [inout] points to thermodynamic fields unused have NULL ptrs :param hml: Active mixed layer depth [Z ~> m] :param fluxes: [inout] points to forcing fields unused fields have NULL ptrs :param visc: [inout] vertical viscosities, BBL properies, and :param adp: [inout] related points to accelerations in momentum equations, to enable the later derived diagnostics, like energy budgets :param cdp: [inout] points to terms in continuity equations :param dt: [in] time increment [T ~> s] :param time_end: [in] Time at the end of the interval :param us: [in] A dimensional unit scaling type :param cs: module control structure :param obc: Open boundaries control structure. :param waves: Surface gravity waves :callto: :f:func:`mom_error_handler::calltree_waypoint ` :callto: :f:func:`diabatic_ale ` :callto: :f:func:`diabatic_ale_legacy ` :callto: :f:func:`diagnose_frazil_tendency ` :callto: :f:func:`mom_diapyc_energy_req::diapyc_energy_req_test ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_set_diffusivity ` :callto: :f:func:`layered_diabatic ` :callto: :f:func:`mom_checksum_packages::mom_state_stats ` :callto: :f:func:`mom_time_manager::real_to_time ` :callto: :f:func:`mom_wave_speed::wave_speeds ` .. f:subroutine:: subroutine diabatic_ale_legacy(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, Waves) Applies diabatic forcing and diapycnal mixing of temperature, salinity and other tracers for use with an ALE algorithm. This version uses an older set of algorithms compared with diabatic_ALE. :param g: [inout] ocean grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param u: [inout] zonal velocity [L T-1 ~> m s-1] :param v: [inout] meridional velocity [L T-1 ~> m s-1] :param h: [inout] thickness [H ~> m or kg m-2] :param tv: [inout] points to thermodynamic fields unused have NULL ptrs :param hml: Active mixed layer depth [Z ~> m] :param fluxes: [inout] points to forcing fields unused fields have NULL ptrs :param visc: [inout] vertical viscosities, BBL properies, and :param adp: [inout] related points to accelerations in momentum equations, to enable the later derived diagnostics, like energy budgets :param cdp: [inout] points to terms in continuity equations :param dt: [in] time increment [T ~> s] :param time_end: [in] Time at the end of the interval :param cs: module control structure :param waves: Surface gravity waves :callto: :f:func:`mom_ale_sponge::apply_ale_sponge ` :callto: :f:func:`mom_cvmix_conv::calculate_cvmix_conv ` :callto: :f:func:`mom_forcing_type::calculatebuoyancyflux2d ` :callto: :f:func:`mom_tracer_flow_control::call_tracer_column_fns ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_error_handler::calltree_waypoint ` :callto: :f:func:`diagnose_boundary_forcing_tendency ` :callto: :f:func:`diagnose_diabatic_diff_tendency ` :callto: :f:func:`mom_energetic_pbl::energetic_pbl_get_mld ` :callto: :f:func:`id_clock_differential_diff ` :callto: :f:func:`id_clock_geothermal ` :callto: :f:func:`id_clock_kpp ` :callto: :f:func:`id_clock_remap ` :callto: :f:func:`id_clock_set_diffusivity ` :callto: :f:func:`id_clock_sponge ` :callto: :f:func:`id_clock_tracers ` :callto: :f:func:`id_clock_tridiag ` :callto: :f:func:`mom_cvmix_kpp::kpp_nonlocaltransport_saln ` :callto: :f:func:`mom_cvmix_kpp::kpp_nonlocaltransport_temp ` :callto: :f:func:`mom_checksum_packages::mom_state_stats ` :callto: :f:func:`mom_variables::mom_thermovar_chksum ` :callto: :f:func:`mom_opacity::optics_nbands ` :callto: :f:func:`mom_diabatic_aux::set_pen_shortwave ` :callto: :f:func:`mom_tracer_diabatic::tracer_vertdiff ` :calledfrom: :f:func:`diabatic ` .. f:subroutine:: subroutine diabatic_ale(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, Waves) This subroutine imposes the diapycnal mass fluxes and the accompanying diapycnal advection of momentum and tracers. :param g: [inout] ocean grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param u: [inout] zonal velocity [L T-1 ~> m s-1] :param v: [inout] meridional velocity [L T-1 ~> m s-1] :param h: [inout] thickness [H ~> m or kg m-2] :param tv: [inout] points to thermodynamic fields unused have NULL ptrs :param hml: Active mixed layer depth [Z ~> m] :param fluxes: [inout] points to forcing fields unused fields have NULL ptrs :param visc: [inout] vertical viscosities, BBL properies, and :param adp: [inout] related points to accelerations in momentum equations, to enable the later derived diagnostics, like energy budgets :param cdp: [inout] points to terms in continuity equations :param dt: [in] time increment [T ~> s] :param time_end: [in] Time at the end of the interval :param cs: module control structure :param waves: Surface gravity waves :callto: :f:func:`mom_ale_sponge::apply_ale_sponge ` :callto: :f:func:`mom_cvmix_conv::calculate_cvmix_conv ` :callto: :f:func:`mom_forcing_type::calculatebuoyancyflux2d ` :callto: :f:func:`mom_tracer_flow_control::call_tracer_column_fns ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_error_handler::calltree_waypoint ` :callto: :f:func:`diagnose_boundary_forcing_tendency ` :callto: :f:func:`diagnose_diabatic_diff_tendency ` :callto: :f:func:`mom_domains::do_group_pass ` :callto: :f:func:`mom_energetic_pbl::energetic_pbl_get_mld ` :callto: :f:func:`id_clock_differential_diff ` :callto: :f:func:`id_clock_geothermal ` :callto: :f:func:`id_clock_kpp ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_remap ` :callto: :f:func:`id_clock_set_diffusivity ` :callto: :f:func:`id_clock_sponge ` :callto: :f:func:`id_clock_tracers ` :callto: :f:func:`id_clock_tridiag ` :callto: :f:func:`mom_cvmix_kpp::kpp_nonlocaltransport_saln ` :callto: :f:func:`mom_cvmix_kpp::kpp_nonlocaltransport_temp ` :callto: :f:func:`mom_checksum_packages::mom_state_stats ` :callto: :f:func:`mom_variables::mom_thermovar_chksum ` :callto: :f:func:`mom_opacity::optics_nbands ` :callto: :f:func:`mom_diabatic_aux::set_pen_shortwave ` :callto: :f:func:`mom_tracer_diabatic::tracer_vertdiff ` :calledfrom: :f:func:`diabatic ` .. f:subroutine:: subroutine layered_diabatic(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, WAVES) Imposes the diapycnal mass fluxes and the accompanying diapycnal advection of momentum and tracers using the original MOM6 algorithms. :param g: [inout] ocean grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param u: [inout] zonal velocity [L T-1 ~> m s-1] :param v: [inout] meridional velocity [L T-1 ~> m s-1] :param h: [inout] thickness [H ~> m or kg m-2] :param tv: [inout] points to thermodynamic fields unused have NULL ptrs :param hml: Active mixed layer depth [Z ~> m] :param fluxes: [inout] points to forcing fields unused fields have NULL ptrs :param visc: [inout] vertical viscosities, BBL properies, and :param adp: [inout] related points to accelerations in momentum equations, to enable the later derived diagnostics, like energy budgets :param cdp: [inout] points to terms in continuity equations :param dt: [in] time increment [T ~> s] :param time_end: [in] Time at the end of the interval :param cs: module control structure :param waves: Surface gravity waves :callto: :f:func:`mom_sponge::apply_sponge ` :callto: :f:func:`mom_bulk_mixed_layer::bulkmixedlayer ` :callto: :f:func:`mom_cvmix_conv::calculate_cvmix_conv ` :callto: :f:func:`mom_forcing_type::calculatebuoyancyflux2d ` :callto: :f:func:`mom_tracer_flow_control::call_tracer_column_fns ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_error_handler::calltree_waypoint ` :callto: :f:func:`diagnose_diabatic_diff_tendency ` :callto: :f:func:`mom_domains::do_group_pass ` :callto: :f:func:`mom_eos::eos_domain ` :callto: :f:func:`id_clock_differential_diff ` :callto: :f:func:`id_clock_entrain ` :callto: :f:func:`id_clock_geothermal ` :callto: :f:func:`id_clock_kpp ` :callto: :f:func:`id_clock_mixedlayer ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_remap ` :callto: :f:func:`id_clock_set_diffusivity ` :callto: :f:func:`id_clock_sponge ` :callto: :f:func:`id_clock_tracers ` :callto: :f:func:`id_clock_tridiag ` :callto: :f:func:`mom_cvmix_kpp::kpp_nonlocaltransport_saln ` :callto: :f:func:`mom_cvmix_kpp::kpp_nonlocaltransport_temp ` :callto: :f:func:`mom_checksum_packages::mom_state_stats ` :callto: :f:func:`mom_variables::mom_thermovar_chksum ` :callto: :f:func:`mom_regularize_layers::regularize_layers ` :callto: :f:func:`mom_diabatic_aux::set_pen_shortwave ` :callto: :f:func:`mom_tracer_diabatic::tracer_vertdiff ` :calledfrom: :f:func:`diabatic ` .. f:subroutine:: subroutine extract_diabatic_member(CS, opacity_CSp, optics_CSp, evap_CFL_limit, minimum_forcing_depth, KPP_CSp, energetic_PBL_CSp, diabatic_aux_CSp, diabatic_halo) Returns pointers or values of members within the diabatic_CS type. For extensibility, each returned argument is an optional argument. :param cs: [in] module control structure :param opacity_csp: A pointer to be set to the opacity control structure :param optics_csp: A pointer to be set to the optics control structure :param kpp_csp: A pointer to be set to the KPP CS :param energetic_pbl_csp: A pointer to be set to the ePBL CS :param evap_cfl_limit: [out] The largest fraction of a layer that can be evaporated in one time-step [nondim]. :param minimum_forcing_depth: [out] The smallest depth over which heat and freshwater fluxes are applied [H ~> m or kg m-2]. :param diabatic_aux_csp: A pointer to be set to the diabatic_aux control structure :param diabatic_halo: [out] The halo size where the diabatic algorithms assume thermodynamics properties are valid. :calledfrom: :f:func:`mom_lateral_boundary_diffusion::lateral_boundary_diffusion_init ` :calledfrom: :f:func:`mom_neutral_diffusion::neutral_diffusion_init ` :calledfrom: :f:func:`mom_offline_main::offline_transport_init ` .. f:subroutine:: subroutine adiabatic(h, tv, fluxes, dt, G, GV, US, CS) Routine called for adiabatic physics. :param g: [inout] ocean grid structure :param h: [inout] thickness [H ~> m or kg m-2] :param tv: [inout] points to thermodynamic fields :param fluxes: [inout] boundary fluxes :param dt: [in] time step [T ~> s] :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param cs: module control structure :callto: :f:func:`mom_tracer_flow_control::call_tracer_column_fns ` :calledfrom: :f:func:`mom::step_mom_thermo ` .. f:subroutine:: subroutine diagnose_diabatic_diff_tendency(tv, h, temp_old, saln_old, dt, G, GV, US, CS) This routine diagnoses tendencies from application of diabatic diffusion using ALE algorithm. Note that layer thickness is not altered by diabatic diffusion. :param g: [in] ocean grid structure :param gv: [in] ocean vertical grid structure :param tv: [in] points to updated thermodynamic fields :param h: [in] thickness [H ~> m or kg m-2] :param temp_old: [in] temperature prior to diabatic physics :param saln_old: [in] salinity prior to diabatic physics [ppt] :param dt: [in] time step [T ~> s] :param us: [in] A dimensional unit scaling type :param cs: module control structure :calledfrom: :f:func:`diabatic_ale ` :calledfrom: :f:func:`diabatic_ale_legacy ` :calledfrom: :f:func:`layered_diabatic ` .. f:subroutine:: subroutine diagnose_boundary_forcing_tendency(tv, h, temp_old, saln_old, h_old, dt, G, GV, US, CS) This routine diagnoses tendencies from application of boundary fluxes. These impacts are generally 3d, in particular for penetrative shortwave. Other fluxes contribute 3d in cases when the layers vanish or are very thin, in which case we distribute the flux into k > 1 layers. :param g: [in] ocean grid structure :param gv: [in] ocean vertical grid structure :param tv: [in] points to updated thermodynamic fields :param h: [in] thickness after boundary flux application [H ~> m or kg m-2] :param temp_old: [in] temperature prior to boundary flux application [degC] :param saln_old: [in] salinity prior to boundary flux application [ppt] :param h_old: [in] thickness prior to boundary flux application [H ~> m or kg m-2] :param dt: [in] time step [T ~> s] :param us: [in] A dimensional unit scaling type :param cs: module control structure :calledfrom: :f:func:`diabatic_ale ` :calledfrom: :f:func:`diabatic_ale_legacy ` .. f:subroutine:: subroutine diagnose_frazil_tendency(tv, h, temp_old, dt, G, GV, US, CS) This routine diagnoses tendencies for temperature and heat from frazil formation. This routine is called twice from within subroutine diabatic; at start and at end of the diabatic processes. The impacts from frazil are generally a function of depth. Hence, when checking heat budget, be sure to remove HFSIFRAZIL from HFDS in k=1. :param g: [in] ocean grid structure :param gv: [in] ocean vertical grid structure :param tv: [in] points to updated thermodynamic fields :param h: [in] thickness [H ~> m or kg m-2] :param temp_old: [in] temperature prior to frazil formation [degC] :param dt: [in] time step [T ~> s] :param us: [in] A dimensional unit scaling type :param cs: module control structure :calledfrom: :f:func:`diabatic ` .. f:subroutine:: subroutine adiabatic_driver_init(Time, G, param_file, diag, CS, tracer_flow_CSp) A simplified version of diabatic_driver_init that will allow tracer column functions to be called without allowing any of the diabatic processes to be used. :param time: [in] current model time :param g: [in] model grid structure :param param_file: [in] the file to parse for parameter values :param diag: [inout] regulates diagnostic output :param cs: module control structure :param tracer_flow_csp: pointer to control structure of the tracer flow control module :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine diabatic_driver_init(Time, G, GV, US, param_file, useALEalgorithm, diag, ADp, CDp, CS, tracer_flow_CSp, sponge_CSp, ALE_sponge_CSp) This routine initializes the diabatic driver module. :param time: model time :param g: [inout] model grid structure :param gv: [in] model vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] file to parse for parameter values :param usealealgorithm: [in] logical for whether to use ALE remapping :param diag: [inout] structure to regulate diagnostic output :param adp: [inout] pointers to accelerations in momentum equations, to enable diagnostics, like energy budgets :param cdp: [inout] pointers to terms in continuity equations :param cs: module control structure :param tracer_flow_csp: pointer to control structure of the tracer flow control module :param sponge_csp: pointer to the sponge module control structure :param ale_sponge_csp: pointer to the ALE sponge module control structure :callto: :f:func:`mom_bulk_mixed_layer::bulkmixedlayer_init ` :callto: :f:func:`mom_cvmix_ddiff::cvmix_ddiff_is_used ` :callto: :f:func:`mom_cvmix_shear::cvmix_shear_is_used ` :callto: :f:func:`mom_geothermal::geothermal_init ` :callto: :f:func:`mom_verticalgrid::get_thickness_units ` :callto: :f:func:`id_clock_differential_diff ` :callto: :f:func:`id_clock_entrain ` :callto: :f:func:`id_clock_geothermal ` :callto: :f:func:`id_clock_kpp ` :callto: :f:func:`id_clock_mixedlayer ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_remap ` :callto: :f:func:`id_clock_set_diffusivity ` :callto: :f:func:`id_clock_sponge ` :callto: :f:func:`id_clock_tracers ` :callto: :f:func:`id_clock_tridiag ` :callto: :f:func:`mom_internal_tides::internal_tides_init ` :callto: :f:func:`mom_kappa_shear::kappa_shear_is_used ` :callto: :f:func:`mom_regularize_layers::regularize_layers_init ` .. f:subroutine:: subroutine diabatic_driver_end(CS) Routine to close the diabatic driver module. :param cs: module control structure :callto: :f:func:`mom_cvmix_conv::cvmix_conv_end ` :callto: :f:func:`mom_entrain_diffusive::entrain_diffusive_end ` :calledfrom: :f:func:`mom::mom_end ` [debug] xpath(./compounddef/compoundname[text()="mom_diabatic_driver::diabatic_cs"]/..) match([('id', 'structmom__diabatic__driver_1_1diabatic__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diabatic_driver::diabatic_cs', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diabatic_driver::diabatic_cs', , {}, ['`M [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diabatic_driver::diabatic_cs', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, OBC, WAVES)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::diabatic', , {}, ['', 'Thi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::diabatic', , {}, ['', 'Thi [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, Waves)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::diabatic_ale_legacy', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::diabatic_ale_legacy', , {} [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, Waves)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::diabatic_ale', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::diabatic_ale', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, WAVES)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::layered_diabatic', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::layered_diabatic', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((CS, opacity_CSp, optics_CSp, evap_CFL_limit, minimum_forcing_depth, KPP_CSp, energetic_PBL_CSp, diabatic_aux_CSp, diabatic_halo)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::extract_diabatic_member', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::extract_diabatic_member', [debug] DoxygenMethodDocumenter format_signature called ((h, tv, fluxes, dt, G, GV, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::adiabatic', , {}, ['', 'Ro [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::adiabatic', , {}, ['', 'Ro [debug] DoxygenMethodDocumenter format_signature called ((tv, h, temp_old, saln_old, dt, G, GV, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::diagnose_diabatic_diff_tendency', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::adiabatic_driver_init', , [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, useALEalgorithm, diag, ADp, CDp, CS, tracer_flow_CSp, sponge_CSp, ALE_sponge_CSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::diabatic_driver_init', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::diabatic_driver_init', , { [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::diabatic_driver_end', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diabatic_driver::diabatic_driver_end', , {} [fd] run(.. f:type:: diabatic_cs) [fd] sig(diabatic_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(diabatic_cs) arglist(None) [fd] fullname(mom_diabatic_driver/diabatic_cs) ftype(None) [fd] name(('mom_diabatic_driver/diabatic_cs', None)) sig(diabatic_cs) signode(type mom_diabatic_driver/diabatic_cs) [fd] run(.. f:subroutine:: subroutine diabatic(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, OBC, WAVES)) [fd] sig(subroutine diabatic(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, OBC, WAVES)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diabatic) arglist(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, OBC, WAVES) [fd] fullname(mom_diabatic_driver/diabatic) ftype(None) [fd] name(('mom_diabatic_driver/diabatic', None)) sig(subroutine diabatic(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, OBC, WAVES)) signode(subroutine mom_diabatic_driver/diabaticuvhtvHmlfluxesviscADpCDpdtTime_endGGVUSCSOBCWAVES) [fd] run(.. f:subroutine:: subroutine diabatic_ale_legacy(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, Waves)) [fd] sig(subroutine diabatic_ale_legacy(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, Waves)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diabatic_ale_legacy) arglist(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, Waves) [fd] fullname(mom_diabatic_driver/diabatic_ale_legacy) ftype(None) [fd] name(('mom_diabatic_driver/diabatic_ale_legacy', None)) sig(subroutine diabatic_ale_legacy(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, Waves)) signode(subroutine mom_diabatic_driver/diabatic_ale_legacyuvhtvHmlfluxesviscADpCDpdtTime_endGGVUSCSWaves) [fd] run(.. f:subroutine:: subroutine diabatic_ale(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, Waves)) [fd] sig(subroutine diabatic_ale(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, Waves)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diabatic_ale) arglist(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, Waves) [fd] fullname(mom_diabatic_driver/diabatic_ale) ftype(None) [fd] name(('mom_diabatic_driver/diabatic_ale', None)) sig(subroutine diabatic_ale(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, Waves)) signode(subroutine mom_diabatic_driver/diabatic_aleuvhtvHmlfluxesviscADpCDpdtTime_endGGVUSCSWaves) [fd] run(.. f:subroutine:: subroutine layered_diabatic(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, WAVES)) [fd] sig(subroutine layered_diabatic(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, WAVES)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(layered_diabatic) arglist(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, WAVES) [fd] fullname(mom_diabatic_driver/layered_diabatic) ftype(None) [fd] name(('mom_diabatic_driver/layered_diabatic', None)) sig(subroutine layered_diabatic(u, v, h, tv, Hml, fluxes, visc, ADp, CDp, dt, Time_end, G, GV, US, CS, WAVES)) signode(subroutine mom_diabatic_driver/layered_diabaticuvhtvHmlfluxesviscADpCDpdtTime_endGGVUSCSWAVES) [fd] run(.. f:subroutine:: subroutine extract_diabatic_member(CS, opacity_CSp, optics_CSp, evap_CFL_limit, minimum_forcing_depth, KPP_CSp, energetic_PBL_CSp, diabatic_aux_CSp, diabatic_halo)) [fd] sig(subroutine extract_diabatic_member(CS, opacity_CSp, optics_CSp, evap_CFL_limit, minimum_forcing_depth, KPP_CSp, energetic_PBL_CSp, diabatic_aux_CSp, diabatic_halo)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(extract_diabatic_member) arglist(CS, opacity_CSp, optics_CSp, evap_CFL_limit, minimum_forcing_depth, KPP_CSp, energetic_PBL_CSp, diabatic_aux_CSp, diabatic_halo) [fd] fullname(mom_diabatic_driver/extract_diabatic_member) ftype(None) [fd] name(('mom_diabatic_driver/extract_diabatic_member', None)) sig(subroutine extract_diabatic_member(CS, opacity_CSp, optics_CSp, evap_CFL_limit, minimum_forcing_depth, KPP_CSp, energetic_PBL_CSp, diabatic_aux_CSp, diabatic_halo)) signode(subroutine mom_diabatic_driver/extract_diabatic_memberCSopacity_CSpoptics_CSpevap_CFL_limitminimum_forcing_depthKPP_CSpenergetic_PBL_CSpdiabatic_aux_CSpdiabatic_halo) [fd] run(.. f:subroutine:: subroutine adiabatic(h, tv, fluxes, dt, G, GV, US, CS)) [fd] sig(subroutine adiabatic(h, tv, fluxes, dt, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(adiabatic) arglist(h, tv, fluxes, dt, G, GV, US, CS) [fd] fullname(mom_diabatic_driver/adiabatic) ftype(None) [fd] name(('mom_diabatic_driver/adiabatic', None)) sig(subroutine adiabatic(h, tv, fluxes, dt, G, GV, US, CS)) signode(subroutine mom_diabatic_driver/adiabatichtvfluxesdtGGVUSCS) [fd] run(.. f:subroutine:: subroutine diagnose_diabatic_diff_tendency(tv, h, temp_old, saln_old, dt, G, GV, US, CS)) [fd] sig(subroutine diagnose_diabatic_diff_tendency(tv, h, temp_old, saln_old, dt, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diagnose_diabatic_diff_tendency) arglist(tv, h, temp_old, saln_old, dt, G, GV, US, CS) [fd] fullname(mom_diabatic_driver/diagnose_diabatic_diff_tendency) ftype(None) [fd] name(('mom_diabatic_driver/diagnose_diabatic_diff_tendency', None)) sig(subroutine diagnose_diabatic_diff_tendency(tv, h, temp_old, saln_old, dt, G, GV, US, CS)) signode(subroutine mom_diabatic_driver/diagnose_diabatic_diff_tendencytvhtemp_oldsaln_olddtGGVUSCS) [fd] run(.. f:subroutine:: subroutine diagnose_boundary_forcing_tendency(tv, h, temp_old, saln_old, h_old, dt, G, GV, US, CS)) [fd] sig(subroutine diagnose_boundary_forcing_tendency(tv, h, temp_old, saln_old, h_old, dt, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diagnose_boundary_forcing_tendency) arglist(tv, h, temp_old, saln_old, h_old, dt, G, GV, US, CS) [fd] fullname(mom_diabatic_driver/diagnose_boundary_forcing_tendency) ftype(None) [fd] name(('mom_diabatic_driver/diagnose_boundary_forcing_tendency', None)) sig(subroutine diagnose_boundary_forcing_tendency(tv, h, temp_old, saln_old, h_old, dt, G, GV, US, CS)) signode(subroutine mom_diabatic_driver/diagnose_boundary_forcing_tendencytvhtemp_oldsaln_oldh_olddtGGVUSCS) [fd] run(.. f:subroutine:: subroutine diagnose_frazil_tendency(tv, h, temp_old, dt, G, GV, US, CS)) [fd] sig(subroutine diagnose_frazil_tendency(tv, h, temp_old, dt, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diagnose_frazil_tendency) arglist(tv, h, temp_old, dt, G, GV, US, CS) [fd] fullname(mom_diabatic_driver/diagnose_frazil_tendency) ftype(None) [fd] name(('mom_diabatic_driver/diagnose_frazil_tendency', None)) sig(subroutine diagnose_frazil_tendency(tv, h, temp_old, dt, G, GV, US, CS)) signode(subroutine mom_diabatic_driver/diagnose_frazil_tendencytvhtemp_olddtGGVUSCS) [fd] run(.. f:subroutine:: subroutine adiabatic_driver_init(Time, G, param_file, diag, CS, tracer_flow_CSp)) [fd] sig(subroutine adiabatic_driver_init(Time, G, param_file, diag, CS, tracer_flow_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(adiabatic_driver_init) arglist(Time, G, param_file, diag, CS, tracer_flow_CSp) [fd] fullname(mom_diabatic_driver/adiabatic_driver_init) ftype(None) [fd] name(('mom_diabatic_driver/adiabatic_driver_init', None)) sig(subroutine adiabatic_driver_init(Time, G, param_file, diag, CS, tracer_flow_CSp)) signode(subroutine mom_diabatic_driver/adiabatic_driver_initTimeGparam_filediagCStracer_flow_CSp) [fd] run(.. f:subroutine:: subroutine diabatic_driver_init(Time, G, GV, US, param_file, useALEalgorithm, diag, ADp, CDp, CS, tracer_flow_CSp, sponge_CSp, ALE_sponge_CSp)) [fd] sig(subroutine diabatic_driver_init(Time, G, GV, US, param_file, useALEalgorithm, diag, ADp, CDp, CS, tracer_flow_CSp, sponge_CSp, ALE_sponge_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diabatic_driver_init) arglist(Time, G, GV, US, param_file, useALEalgorithm, diag, ADp, CDp, CS, tracer_flow_CSp, sponge_CSp, ALE_sponge_CSp) [fd] fullname(mom_diabatic_driver/diabatic_driver_init) ftype(None) [fd] name(('mom_diabatic_driver/diabatic_driver_init', None)) sig(subroutine diabatic_driver_init(Time, G, GV, US, param_file, useALEalgorithm, diag, ADp, CDp, CS, tracer_flow_CSp, sponge_CSp, ALE_sponge_CSp)) signode(subroutine mom_diabatic_driver/diabatic_driver_initTimeGGVUSparam_fileuseALEalgorithmdiagADpCDpCStracer_flow_CSpsponge_CSpALE_sponge_CSp) [fd] run(.. f:subroutine:: subroutine diabatic_driver_end(CS)) [fd] sig(subroutine diabatic_driver_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diabatic_driver_end) arglist(CS) [fd] fullname(mom_diabatic_driver/diabatic_driver_end) ftype(None) [fd] name(('mom_diabatic_driver/diabatic_driver_end', None)) sig(subroutine diabatic_driver_end(CS)) signode(subroutine mom_diabatic_driver/diabatic_driver_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 26%] api/generated/modules/mom_diag_manager_wrapper [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_diag_man [app] emitting event: 'source-read'('api/generated/modules/mom_diag_manager_wrapper', ['.. autodoxymodule:: mom_diag_manager_wrapper\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_diag_manager_wrapper.rst:1: input: .. autodoxymodule:: mom_diag_manager_wrapper :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_diag_manager_wrapper::register_diag_field_array_fms ~mom_diag_manager_wrapper::register_diag_field_scalar_fms [debug] xpath(./compounddef/compoundname[text()="mom_diag_manager_wrapper"]/..) match([('id', 'namespacemom__diag__manager__wrapper'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_diag_manager_wrapper module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_manager_wrapper', , {'members': , {'members': ]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__mediator_1ada491446bf7216fe101e6b0f6ed551e1'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_mediator::register_diag_field) node_name(None) [debug] method=visit_ref [debug] refid(interfacemom__diag__manager__wrapper_1_1register__diag__field__fms) kindref(compound) ref([]) [debug] ref([('id', 'interfacemom__diag__manager__wrapper_1_1register__diag__field__fms'), ('kind', 'interface'), ('language', 'Fortran'), ('prot', 'private')]) [debug] kind(interface) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_manager_wrapper', , {'members': ), ('register_diag_field_scalar_fms', )]) [autodoc] module analyzer failed: error importing 'mom_diag_manager_wrapper' (exception was: ModuleNotFoundError("No module named 'mom_diag_manager_wrapper'")) [debug] DoxygenMethodDocumenter format_signature called ((module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, area, volume)) [debug] add_directive_header sig((module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, area, volume)) [debug] DoxygenMethodDocumenter directive(function) name(integer function register_diag_field_array_fms) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__diag__mediator_1ada491446bf7216fe101e6b0f6ed551e1) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__mediator_1ada491446bf7216fe101e6b0f6ed551e1'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_mediator::register_diag_field) node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diag_field_array_fms', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diag_field_array_fms', , {'members': < [autodoc] module analyzer failed: error importing 'mom_diag_manager_wrapper' (exception was: ModuleNotFoundError("No module named 'mom_diag_manager_wrapper'")) [debug] DoxygenMethodDocumenter format_signature called ((module_name, field_name, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, area, volume)) [debug] add_directive_header sig((module_name, field_name, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, area, volume)) [debug] DoxygenMethodDocumenter directive(function) name(integer function register_diag_field_scalar_fms) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__diag__mediator_1ada491446bf7216fe101e6b0f6ed551e1) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__mediator_1ada491446bf7216fe101e6b0f6ed551e1'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_mediator::register_diag_field) node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diag_field_scalar_fms', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diag_field_scalar_fms', , {'members': [autodoc] output: ========================================= mom_diag_manager_wrapper module reference ========================================= .. f:module:: mom_diag_manager_wrapper A simple (very thin) wrapper for register_diag_field to avoid a compiler bug with PGI. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_diag_manager_wrapper::register_diag_field_array_fms ~mom_diag_manager_wrapper::register_diag_field_scalar_fms .. _DETAmom_diag_manager_wrapper: -------------------- Detailed Description -------------------- This module simply wraps :f:func:`register_diag_field() ` from FMS's diag_manager_mod. We used to be able to import register_diag_field and rename it to from FMS's diag_manager_mod. We used to be able to import register_diag_field and rename it to :f:func:`register_diag_field_fms` with a simple "use, only : register_diag_field_fms => register_diag_field" but PGI 16.5 has a bug that refuses to compile this - earlier versions did work. with a simple "use, only : register_diag_field_fms => register_diag_field" but PGI 16.5 has a bug that refuses to compile this - earlier versions did work. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: integer function register_diag_field_array_fms(module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, area, volume) An integer handle for a diagnostic array returned by :f:func:`register_diag_field() ` :param module_name: [in] Name of this module, usually "ocean_model" or "ice_shelf_model" :param field_name: [in] Name of the diagnostic field :param axes: [in] Container w/ up to 3 integer handles that indicates axes for this field :param init_time: [in] Time at which a field is first available? :param long_name: [in] Long name of a field. :param units: [in] Units of a field. :param standard_name: [in] Standardized name associated with a field :param missing_value: [in] A value that indicates missing values. :param range: [in] Valid range of a variable (not used in MOM?) :param mask_variant: [in] If true a logical mask must be provided with post_data calls (not used in MOM?) :param verbose: [in] If true, FMS is verbose (not used in MOM?) :param do_not_log: [in] If true, do not log something (not used in MOM?) :param err_msg: [out] String into which an error message might be placed (not used in MOM?) :param interp_method: [in] If 'none' indicates the field should not be interpolated as a scalar :param tile_count: [in] no clue (not used in MOM?) :param area: [in] The FMS id of cell area :param volume: [in] The FMS id of cell volume .. f:function:: integer function register_diag_field_scalar_fms(module_name, field_name, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, area, volume) An integer handle for a diagnostic scalar array returned by :f:func:`register_diag_field() ` :param module_name: [in] Name of this module, usually "ocean_model" or "ice_shelf_model" :param field_name: [in] Name of the diagnostic field :param init_time: [in] Time at which a field is first available? :param long_name: [in] Long name of a field. :param units: [in] Units of a field. :param standard_name: [in] Standardized name associated with a field :param missing_value: [in] A value that indicates missing values. :param range: [in] Valid range of a variable (not used in MOM?) :param mask_variant: [in] If true a logical mask must be provided with post_data calls (not used in MOM?) :param verbose: [in] If true, FMS is verbose (not used in MOM?) :param do_not_log: [in] If true, do not log something (not used in MOM?) :param err_msg: [out] String into which an error message might be placed (not used in MOM?) :param interp_method: [in] If 'none' indicates the field should not be interpolated as a scalar :param tile_count: [in] no clue (not used in MOM?) :param area: [in] The FMS id of cell area (not used for scalars) :param volume: [in] The FMS id of cell volume (not used for scalars) [debug] DoxygenMethodDocumenter format_signature called ((module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, area, volume)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__diag__mediator_1ada491446bf7216fe101e6b0f6ed551e1) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__mediator_1ada491446bf7216fe101e6b0f6ed551e1'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_mediator::register_diag_field) node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_manager_wrapper::register_diag_field_array_fms', ]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__mediator_1ada491446bf7216fe101e6b0f6ed551e1'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_mediator::register_diag_field) node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_manager_wrapper::register_diag_field_scalar_fms', function mom_diag_manager_wrapper/register_diag_field_array_fmsmodule_namefield_nameaxesinit_timelong_nameunitsmissing_valuerangemask_variantstandard_nameverbosedo_not_logerr_msginterp_methodtile_countareavolume [integer]) [fd] run(.. f:function:: integer function register_diag_field_scalar_fms(module_name, field_name, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, area, volume)) [fd] sig(integer function register_diag_field_scalar_fms(module_name, field_name, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, area, volume)) [fd] ftype(integer) objtype(function) modname(None) typename() name(register_diag_field_scalar_fms) arglist(module_name, field_name, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, area, volume) [fd] fullname(mom_diag_manager_wrapper/register_diag_field_scalar_fms) ftype(integer) [fd] name(('mom_diag_manager_wrapper/register_diag_field_scalar_fms', 'integer')) sig(integer function register_diag_field_scalar_fms(module_name, field_name, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, area, volume)) signode(function mom_diag_manager_wrapper/register_diag_field_scalar_fmsmodule_namefield_nameinit_timelong_nameunitsmissing_valuerangemask_variantstandard_nameverbosedo_not_logerr_msginterp_methodtile_countareavolume [integer]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 26%] api/generated/modules/mom_diag_mediator [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_diag_med [app] emitting event: 'source-read'('api/generated/modules/mom_diag_mediator', ['.. autodoxymodule:: mom_diag_mediator\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_diag_mediator.rst:1: input: .. autodoxymodule:: mom_diag_mediator :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_diag_mediator::axes_grp ~mom_diag_mediator::diag_ctrl ~mom_diag_mediator::diag_dsamp ~mom_diag_mediator::diag_grid_storage ~mom_diag_mediator::diag_grids_type ~mom_diag_mediator::diag_type ~mom_diag_mediator::diagcs_dsamp --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_diag_mediator::set_axes_info ~mom_diag_mediator::set_axes_info_dsamp ~mom_diag_mediator::set_masks_for_axes ~mom_diag_mediator::set_masks_for_axes_dsamp ~mom_diag_mediator::diag_register_area_ids ~mom_diag_mediator::register_cell_measure ~mom_diag_mediator::diag_associate_volume_cell_measure ~mom_diag_mediator::diag_get_volume_cell_measure_dm_id ~mom_diag_mediator::define_axes_group ~mom_diag_mediator::define_axes_group_dsamp ~mom_diag_mediator::set_diag_mediator_grid ~mom_diag_mediator::post_data_0d ~mom_diag_mediator::post_data_1d_k ~mom_diag_mediator::post_data_2d ~mom_diag_mediator::post_data_2d_low ~mom_diag_mediator::post_data_3d ~mom_diag_mediator::post_data_3d_low ~mom_diag_mediator::post_xy_average ~mom_diag_mediator::enable_averaging ~mom_diag_mediator::enable_averages ~mom_diag_mediator::disable_averaging ~mom_diag_mediator::query_averaging_enabled ~mom_diag_mediator::get_diag_time_end ~mom_diag_mediator::register_diag_field ~mom_diag_mediator::register_diag_field_expand_cmor ~mom_diag_mediator::register_diag_field_expand_axes ~mom_diag_mediator::add_diag_to_list ~mom_diag_mediator::add_xyz_method ~mom_diag_mediator::attach_cell_methods ~mom_diag_mediator::register_scalar_field ~mom_diag_mediator::register_static_field ~mom_diag_mediator::describe_option ~mom_diag_mediator::ocean_register_diag ~mom_diag_mediator::diag_mediator_infrastructure_init ~mom_diag_mediator::diag_mediator_init ~mom_diag_mediator::diag_set_state_ptrs ~mom_diag_mediator::diag_update_remap_grids ~mom_diag_mediator::diag_masks_set ~mom_diag_mediator::diag_mediator_close_registration ~mom_diag_mediator::diag_mediator_end ~mom_diag_mediator::i2s ~mom_diag_mediator::get_new_diag_id ~mom_diag_mediator::initialize_diag_type ~mom_diag_mediator::alloc_diag_with_id ~mom_diag_mediator::log_available_diag ~mom_diag_mediator::log_chksum_diag ~mom_diag_mediator::diag_grid_storage_init ~mom_diag_mediator::diag_copy_diag_to_storage ~mom_diag_mediator::diag_copy_storage_to_diag ~mom_diag_mediator::diag_save_grids ~mom_diag_mediator::diag_restore_grids ~mom_diag_mediator::diag_grid_storage_end ~mom_diag_mediator::downsample_diag_masks_set ~mom_diag_mediator::downsample_diag_indices_get ~mom_diag_mediator::downsample_diag_field_3d ~mom_diag_mediator::downsample_diag_field_2d ~mom_diag_mediator::downsample_field_3d ~mom_diag_mediator::downsample_field_2d ~mom_diag_mediator::downsample_mask_2d ~mom_diag_mediator::downsample_mask_3d [debug] xpath(./compounddef/compoundname[text()="mom_diag_mediator"]/..) match([('id', 'namespacemom__diag__mediator'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_diag_mediator module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator', , {'members': , {'members': , {'members': ), ('mom_diag_mediator::diag_ctrl', ), ('mom_diag_mediator::diag_dsamp', ), ('mom_diag_mediator::diag_grid_storage', ), ('mom_diag_mediator::diag_grids_type', ), ('mom_diag_mediator::diag_type', ), ('mom_diag_mediator::diagcs_dsamp', )]) [autodoc] module analyzer failed: error importing 'mom_diag_mediator' (exception was: ModuleNotFoundError("No module named 'mom_diag_mediator'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_diag_mediator::axes_grp', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diag_dsamp', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diag_dsamp', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diag_dsamp', , {'members': < [autodoc] module analyzer failed: error importing 'mom_diag_mediator' (exception was: ModuleNotFoundError("No module named 'mom_diag_mediator'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_diag_mediator::diag_grid_storage', , {'memb [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diag_grid_storage', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diag_grid_storage', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diag_grid_storage', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diag_grid_storage', , {'memb [autodoc] module analyzer failed: error importing 'mom_diag_mediator' (exception was: ModuleNotFoundError("No module named 'mom_diag_mediator'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_diag_mediator::diag_grids_type', , {'member [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diag_grids_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diag_grids_type', , {'member [autodoc] module analyzer failed: error importing 'mom_diag_mediator' (exception was: ModuleNotFoundError("No module named 'mom_diag_mediator'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_diag_mediator::diag_type', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_mediator::diagcs_dsamp', , {'members': [debug] members([('set_axes_info', ), ('set_axes_info_dsamp', ), ('set_masks_for_axes', ), ('set_masks_for_axes_dsamp', ), ('diag_register_area_ids', ), ('register_cell_measure', ), ('diag_associate_volume_cell_measure', ), ('diag_get_volume_cell_measure_dm_id', ), ('define_axes_group', ), ('define_axes_group_dsamp', ), ('set_diag_mediator_grid', ), ('post_data_0d', ), ('post_data_1d_k', ), ('post_data_2d', ), ('post_data_2d_low', ), ('post_data_3d', ), ('post_data_3d_low', ), ('post_xy_average', ), ('enable_averaging', ), ('enable_averages', ), ('disable_averaging', ), ('query_averaging_enabled', ), ('get_diag_time_end', ), ('register_diag_field', ), ('register_diag_field_expand_cmor', ), ('register_diag_field_expand_axes', ), ('add_diag_to_list', ), ('add_xyz_method', ), ('attach_cell_methods', ), ('register_scalar_field', ), ('register_static_field', ), ('describe_option', ), ('ocean_register_diag', ), ('diag_mediator_infrastructure_init', ), ('diag_mediator_init', ), ('diag_set_state_ptrs', ), ('diag_update_remap_grids', ), ('diag_masks_set', ), ('diag_mediator_close_registration', ), ('diag_mediator_end', ), ('i2s', ), ('get_new_diag_id', ), ('initialize_diag_type', ), ('alloc_diag_with_id', ), ('log_available_diag', ), ('log_chksum_diag', ), ('diag_grid_storage_init', ), ('diag_copy_diag_to_storage', ), ('diag_copy_storage_to_diag', ), ('diag_save_grids', ), ('diag_restore_grids', ), ('diag_grid_storage_end', ), ('downsample_diag_masks_set', ), ('downsample_diag_indices_get', ), ('downsample_diag_field_3d', ), ('downsample_diag_field_2d', ), ('downsample_field_3d', ), ('downsample_field_2d', ), ('downsample_mask_2d', ), ('downsample_mask_3d', )]) [autodoc] module analyzer failed: error importing 'mom_diag_mediator' (exception was: ModuleNotFoundError("No module named 'mom_diag_mediator'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, param_file, diag_cs, set_vertical)) [debug] add_directive_header sig((G, GV, US, param_file, diag_cs, set_vertical)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine set_axes_info) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_axes_info', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__mediator_1aa78e69709084d0097b3e01bbd83d3509'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_mediator::diag_update_remap_grids) node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_masks_for_axes', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'member [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diag_associate_volume_cell_measure', , {'member [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diag_associate_volume_cell_measure', , {'member [autodoc] module analyzer failed: error importing 'mom_diag_mediator' (exception was: ModuleNotFoundError("No module named 'mom_diag_mediator'")) [debug] DoxygenMethodDocumenter format_signature called ((diag_cs)) [debug] add_directive_header sig((diag_cs)) [debug] DoxygenMethodDocumenter directive(function) name(integer function diag_get_volume_cell_measure_dm_id) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diag_get_volume_cell_measure_dm_id', , {'member [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diag_get_volume_cell_measure_dm_id', , {'member [autodoc] module analyzer failed: error importing 'mom_diag_mediator' (exception was: ModuleNotFoundError("No module named 'mom_diag_mediator'")) [debug] DoxygenMethodDocumenter format_signature called ((diag_cs, handles, axes, nz, vertical_coordinate_number, x_cell_method, y_cell_method, v_cell_method, is_h_point, is_q_point, is_u_point, is_v_point, is_layer, is_interface, is_native, needs_remapping, needs_interpolating, xyave_axes)) [debug] add_directive_header sig((diag_cs, handles, axes, nz, vertical_coordinate_number, x_cell_method, y_cell_method, v_cell_method, is_h_point, is_q_point, is_u_point, is_v_point, is_layer, is_interface, is_native, needs_remapping, needs_interpolating, xyave_axes)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine define_axes_group) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'define_axes_group', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__diag__mediator_1_1diag__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'post_data_2d_low', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__diag__mediator_1_1diag__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'post_data_3d_low', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__mediator_1aca4a32fea8dade9f51e076a56b9bad2b'), ('prot', 'private'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_mediator::register_diag_field_expand_axes) node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diag_field_expand_cmor', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diag_field_expand_cmor', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diag_field_expand_cmor', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diag_field_expand_cmor', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diag_field_expand_cmor', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diag_field_expand_cmor', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diag_field_expand_cmor', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diag_field_expand_cmor', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diag_field_expand_cmor', , {'members': [autodoc] module analyzer failed: error importing 'mom_diag_mediator' (exception was: ModuleNotFoundError("No module named 'mom_diag_mediator'")) [debug] DoxygenMethodDocumenter format_signature called ((module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count)) [debug] add_directive_header sig((module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count)) [debug] DoxygenMethodDocumenter directive(function) name(integer function register_diag_field_expand_axes) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diag_field_expand_axes', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diag_field_expand_axes', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diag_field_expand_axes', , {'members': [autodoc] module analyzer failed: error importing 'mom_diag_mediator' (exception was: ModuleNotFoundError("No module named 'mom_diag_mediator'")) [debug] DoxygenMethodDocumenter format_signature called ((diag_cs, dm_id, fms_id, this_diag, axes, module_name, field_name, msg)) [debug] add_directive_header sig((diag_cs, dm_id, fms_id, this_diag, axes, module_name, field_name, msg)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine add_diag_to_list) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'add_diag_to_list', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__diag__mediator_1_1axes__grp'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'attach_cell_methods', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diag_mediator_infrastructure_init', , {'members [autodoc] module analyzer failed: error importing 'mom_diag_mediator' (exception was: ModuleNotFoundError("No module named 'mom_diag_mediator'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, nz, param_file, diag_cs, doc_file_dir)) [debug] add_directive_header sig((G, GV, US, nz, param_file, diag_cs, doc_file_dir)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine diag_mediator_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diag_mediator_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diag_mediator_close_registration', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diag_mediator_close_registration', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diag_mediator_close_registration', , {'members' [autodoc] module analyzer failed: error importing 'mom_diag_mediator' (exception was: ModuleNotFoundError("No module named 'mom_diag_mediator'")) [debug] DoxygenMethodDocumenter format_signature called ((time, diag_CS, end_diag_manager)) [debug] add_directive_header sig((time, diag_CS, end_diag_manager)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine diag_mediator_end) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diag_mediator_end', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__diag__mediator_1_1diag__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_diag_type', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_diag_mediator::axes_grp ~mom_diag_mediator::diag_ctrl ~mom_diag_mediator::diag_dsamp ~mom_diag_mediator::diag_grid_storage ~mom_diag_mediator::diag_grids_type ~mom_diag_mediator::diag_type ~mom_diag_mediator::diagcs_dsamp --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_diag_mediator::set_axes_info ~mom_diag_mediator::set_axes_info_dsamp ~mom_diag_mediator::set_masks_for_axes ~mom_diag_mediator::set_masks_for_axes_dsamp ~mom_diag_mediator::diag_register_area_ids ~mom_diag_mediator::register_cell_measure ~mom_diag_mediator::diag_associate_volume_cell_measure ~mom_diag_mediator::diag_get_volume_cell_measure_dm_id ~mom_diag_mediator::define_axes_group ~mom_diag_mediator::define_axes_group_dsamp ~mom_diag_mediator::set_diag_mediator_grid ~mom_diag_mediator::post_data_0d ~mom_diag_mediator::post_data_1d_k ~mom_diag_mediator::post_data_2d ~mom_diag_mediator::post_data_2d_low ~mom_diag_mediator::post_data_3d ~mom_diag_mediator::post_data_3d_low ~mom_diag_mediator::post_xy_average ~mom_diag_mediator::enable_averaging ~mom_diag_mediator::enable_averages ~mom_diag_mediator::disable_averaging ~mom_diag_mediator::query_averaging_enabled ~mom_diag_mediator::get_diag_time_end ~mom_diag_mediator::register_diag_field ~mom_diag_mediator::register_diag_field_expand_cmor ~mom_diag_mediator::register_diag_field_expand_axes ~mom_diag_mediator::add_diag_to_list ~mom_diag_mediator::add_xyz_method ~mom_diag_mediator::attach_cell_methods ~mom_diag_mediator::register_scalar_field ~mom_diag_mediator::register_static_field ~mom_diag_mediator::describe_option ~mom_diag_mediator::ocean_register_diag ~mom_diag_mediator::diag_mediator_infrastructure_init ~mom_diag_mediator::diag_mediator_init ~mom_diag_mediator::diag_set_state_ptrs ~mom_diag_mediator::diag_update_remap_grids ~mom_diag_mediator::diag_masks_set ~mom_diag_mediator::diag_mediator_close_registration ~mom_diag_mediator::diag_mediator_end ~mom_diag_mediator::i2s ~mom_diag_mediator::get_new_diag_id ~mom_diag_mediator::initialize_diag_type ~mom_diag_mediator::alloc_diag_with_id ~mom_diag_mediator::log_available_diag ~mom_diag_mediator::log_chksum_diag ~mom_diag_mediator::diag_grid_storage_init ~mom_diag_mediator::diag_copy_diag_to_storage ~mom_diag_mediator::diag_copy_storage_to_diag ~mom_diag_mediator::diag_save_grids ~mom_diag_mediator::diag_restore_grids ~mom_diag_mediator::diag_grid_storage_end ~mom_diag_mediator::downsample_diag_masks_set ~mom_diag_mediator::downsample_diag_indices_get ~mom_diag_mediator::downsample_diag_field_3d ~mom_diag_mediator::downsample_diag_field_2d ~mom_diag_mediator::downsample_field_3d ~mom_diag_mediator::downsample_field_2d ~mom_diag_mediator::downsample_mask_2d ~mom_diag_mediator::downsample_mask_3d .. _DETAmom_diag_mediator: -------------------- Detailed Description -------------------- The subroutines here provide convenient wrappers to the fms diag_manager interfaces with additional diagnostic capabilies. ------------------ Type Documentation ------------------ .. f:type:: axes_grp A group of 1D axes that comprise a 1D/2D/3D mesh. :typefield character (len=15) id: The id string for this particular combination of handles. :typefield integer rank: Number of dimensions in the list of axes. :typefield integer(\:) handles [allocatable]: Handles to 1D axes. :typefield type( diag_ctrl ) diag_cs [pointer]: Circular link back to the main diagnostics control structure (Used to avoid passing said structure into every possible call). :typefield character (len=9) x_cell_method: Default nature of data representation, if axes group includes x-direction. :typefield character (len=9) y_cell_method: Default nature of data representation, if axes group includes y-direction. :typefield character (len=9) v_cell_method: Default nature of data representation, if axes group includes vertical direction. :typefield integer nz: Vertical dimension of diagnostic. :typefield integer vertical_coordinate_number: Index of the corresponding diag_remap_ctrl for this axis group. :typefield logical is_h_point: If true, indicates that this axes group is for an h-point located field. :typefield logical is_q_point: If true, indicates that this axes group is for a q-point located field. :typefield logical is_u_point: If true, indicates that this axes group is for a u-point located field. :typefield logical is_v_point: If true, indicates that this axes group is for a v-point located field. :typefield logical is_layer: If true, indicates that this axes group is for a layer vertically-located field. :typefield logical is_interface: If true, indicates that this axes group is for an interface vertically-located field. :typefield logical is_native: If true, indicates that this axes group is for a native model grid. False for any other grid. Used for rank>2. :typefield logical needs_remapping: If true, indicates that this axes group is for a intensive layer-located field that must be remapped to these axes. Used for rank>2. :typefield logical needs_interpolating: If true, indicates that this axes group is for a sampled interface-located field that must be interpolated to these axes. Used for rank>2. :typefield integer downsample_level: If greater than 1, the factor by which this diagnostic/axes/masks be downsampled. :typefield type( axes_grp ) xyave_axes [pointer]: The associated 1d axes for horizontall area-averaged diagnostics. :typefield integer id_area: The diag_manager id for area to be used for cell_measure of variables with this :typefield integer id_volume: The diag_manager id for volume to be used for cell_measure of variables with this :typefield real(\:,\:) mask2d [pointer]: Mask for 2d (x-y) axes. :typefield real(\:,\:,\:) mask3d [pointer]: Mask for 3d axes. :typefield type( diag_dsamp )(2\:2) dsamp: Downsample container. .. f:type:: diag_ctrl The following data type a list of diagnostic fields an their variants, as well as variables that control the handling of model output. :typefield type( axes_grp ) axesbl: The following are 3D and 2D axis groups defined for output. The names indicate the horizontal (B, T, Cu, or Cv) and vertical (L, i, or 1) locations. :typefield type( axes_grp ) axestl: The following are 3D and 2D axis groups defined for output. The names indicate the horizontal (B, T, Cu, or Cv) and vertical (L, i, or 1) locations. :typefield type( axes_grp ) axescul: The following are 3D and 2D axis groups defined for output. The names indicate the horizontal (B, T, Cu, or Cv) and vertical (L, i, or 1) locations. :typefield type( axes_grp ) axescvl: The following are 3D and 2D axis groups defined for output. The names indicate the horizontal (B, T, Cu, or Cv) and vertical (L, i, or 1) locations. :typefield type( axes_grp ) axesbi: The following are 3D and 2D axis groups defined for output. The names indicate the horizontal (B, T, Cu, or Cv) and vertical (L, i, or 1) locations. :typefield type( axes_grp ) axesti: The following are 3D and 2D axis groups defined for output. The names indicate the horizontal (B, T, Cu, or Cv) and vertical (L, i, or 1) locations. :typefield type( axes_grp ) axescui: The following are 3D and 2D axis groups defined for output. The names indicate the horizontal (B, T, Cu, or Cv) and vertical (L, i, or 1) locations. :typefield type( axes_grp ) axescvi: The following are 3D and 2D axis groups defined for output. The names indicate the horizontal (B, T, Cu, or Cv) and vertical (L, i, or 1) locations. :typefield type( axes_grp ) axesb1: The following are 3D and 2D axis groups defined for output. The names indicate the horizontal (B, T, Cu, or Cv) and vertical (L, i, or 1) locations. :typefield type( axes_grp ) axest1: The following are 3D and 2D axis groups defined for output. The names indicate the horizontal (B, T, Cu, or Cv) and vertical (L, i, or 1) locations. :typefield type( axes_grp ) axescu1: The following are 3D and 2D axis groups defined for output. The names indicate the horizontal (B, T, Cu, or Cv) and vertical (L, i, or 1) locations. :typefield type( axes_grp ) axescv1: The following are 3D and 2D axis groups defined for output. The names indicate the horizontal (B, T, Cu, or Cv) and vertical (L, i, or 1) locations. :typefield real(\:,\:,\:) mask3dtl [pointer]: 3D mask arrays for diagnostics at layers (mask...L) and interfaces (mask...i) :typefield real(\:,\:,\:) mask3dbl [pointer]: 3D mask arrays for diagnostics at layers (mask...L) and interfaces (mask...i) :typefield real(\:,\:,\:) mask3dcul [pointer]: 3D mask arrays for diagnostics at layers (mask...L) and interfaces (mask...i) :typefield real(\:,\:,\:) mask3dcvl [pointer]: 3D mask arrays for diagnostics at layers (mask...L) and interfaces (mask...i) :typefield real(\:,\:,\:) mask3dti [pointer]: 3D mask arrays for diagnostics at layers (mask...L) and interfaces (mask...i) :typefield real(\:,\:,\:) mask3dbi [pointer]: 3D mask arrays for diagnostics at layers (mask...L) and interfaces (mask...i) :typefield real(\:,\:,\:) mask3dcui [pointer]: 3D mask arrays for diagnostics at layers (mask...L) and interfaces (mask...i) :typefield real(\:,\:,\:) mask3dcvi [pointer]: 3D mask arrays for diagnostics at layers (mask...L) and interfaces (mask...i) :typefield type( diagcs_dsamp )(2\:max_dsamp_lev) dsamp: Downsample control container. :typefield type( axes_grp )(\:) remap_axestl [allocatable]: Axes used for remapping. :typefield type( axes_grp )(\:) remap_axesbl [allocatable]: Axes used for remapping. :typefield type( axes_grp )(\:) remap_axescul [allocatable]: Axes used for remapping. :typefield type( axes_grp )(\:) remap_axescvl [allocatable]: Axes used for remapping. :typefield type( axes_grp )(\:) remap_axesti [allocatable]: Axes used for remapping. :typefield type( axes_grp )(\:) remap_axesbi [allocatable]: Axes used for remapping. :typefield type( axes_grp )(\:) remap_axescui [allocatable]: Axes used for remapping. :typefield type( axes_grp )(\:) remap_axescvi [allocatable]: Axes used for remapping. :typefield integer available_diag_doc_unit: The unit number of a diagnostic documentation file. This file is open if available_diag_doc_unit is > 0. :typefield integer chksum_iounit: The unit number of a diagnostic documentation file. This file is open if available_diag_doc_unit is > 0. :typefield logical diag_as_chksum: If true, log chksums in a text file instead of posting diagnostics. :typefield logical grid_space_axes: If true, diagnostic horizontal coordinates axes are in grid space. :typefield integer is: The start i-index of cell centers within the computational domain. :typefield integer ie: The end i-index of cell centers within the computational domain. :typefield integer js: The start j-index of cell centers within the computational domain. :typefield integer je: The end j-index of cell centers within the computational domain. :typefield integer isd: The start i-index of cell centers within the data domain. :typefield integer ied: The end i-index of cell centers within the data domain. :typefield integer jsd: The start j-index of cell centers within the data domain. :typefield integer jed: The end j-index of cell centers within the data domain. :typefield real time_int: The time interval for any fields that are offered for averaging [s]. :typefield type(time_type) time_end: The end time of the valid interval for any offered field. :typefield logical ave_enabled: True if averaging is enabled. :typefield type( axes_grp ) axeszi: A 1-D z-space axis at interfaces. :typefield type( axes_grp ) axeszl: A 1-D z-space axis at layer centers. :typefield type( axes_grp ) axesnull: An axis group for scalars. :typefield real(\:,\:) mask2dt [pointer]: 2D mask array for cell-center points :typefield real(\:,\:) mask2dbu [pointer]: 2D mask array for cell-corner points :typefield real(\:,\:) mask2dcu [pointer]: 2D mask array for east-face points :typefield real(\:,\:) mask2dcv [pointer]: 2D mask array for north-face points :typefield type( diag_type )(\:) diags [allocatable]: The list of diagnostics. :typefield integer next_free_diag_id: The next unused diagnostic ID. :typefield real missing_value: default missing value to be sent to ALL diagnostics registrations :typefield integer num_diag_coords: Number of diagnostic vertical coordinates (remapped) :typefield type(diag_remap_ctrl)(\:) diag_remap_cs [allocatable]: Control structure for each possible coordinate. :typefield type( diag_grid_storage ) diag_grid_temp: Stores the remapped diagnostic grid. :typefield logical diag_grid_overridden: True if the diagnostic grids have been overriden. :typefield type( axes_grp )(\:) remap_axeszl [allocatable]: The 1-D z-space cell-centered axis for remapping. :typefield type( axes_grp )(\:) remap_axeszi [allocatable]: The 1-D z-space interface axis for remapping. :typefield real(\:,\:,\:) h [pointer]: The thicknesses needed for remapping [H ~> m or kg m-2]. :typefield real(\:,\:,\:) t [pointer]: The temperatures needed for remapping [degC]. :typefield real(\:,\:,\:) s [pointer]: The salinities needed for remapping [ppt]. :typefield type(eos_type) eqn_of_state [pointer]: The equation of state type. :typefield type(ocean_grid_type) g [pointer]: The ocean grid type. :typefield type(verticalgrid_type) gv [pointer]: The model's vertical ocean grid. :typefield type(unit_scale_type) us [pointer]: A dimensional unit scaling type. :typefield integer volume_cell_measure_dm_id: The volume cell measure (special diagnostic) manager id. :typefield integer num_chksum_diags: Number of checksum-only diagnostics. :typefield real(\:,\:,\:) h_begin [allocatable]: Layer thicknesses at the beginning of the timestep used for remapping of extensive variables. .. f:type:: diag_dsamp Contained for down sampled masks. :typefield real(\:,\:) mask2d [pointer, private]: Mask for 2d (x-y) axes. :typefield real(\:,\:,\:) mask3d [pointer, private]: Mask for 3d axes. .. f:type:: diag_grid_storage Stores all the remapping grids and the model's native space thicknesses. :typefield integer num_diag_coords: Number of target coordinates. :typefield real(\:,\:,\:) h_state [allocatable]: Layer thicknesses in native space [H ~> m or kg m-2]. :typefield type( diag_grids_type )(\:) diag_grids [allocatable]: Primarily empty, except h field. .. f:type:: diag_grids_type Contains an array to store a diagnostic target grid. :typefield real(\:,\:,\:) h [allocatable, private]: Target grid for remapped coordinate. .. f:type:: diag_type This type is used to represent a diagnostic at the diag_mediator level. :typefield logical in_use [private]: True if this entry is being used. :typefield integer fms_diag_id [private]: Underlying FMS diag_manager id. :typefield integer fms_xyave_diag_id [private]: For a horizontally area-averaged diagnostic. :typefield integer downsample_diag_id [private]: For a horizontally area-downsampled diagnostic. :typefield character (64) debug_str [private]: For FATAL errors and debugging. :typefield type( axes_grp ) axes [pointer, private]: The axis group for this diagnostic. :typefield type( diag_type ) next [pointer, private]: Pointer to the next diagnostic. :typefield real conversion_factor [private]: A factor to multiply data by before posting to FMS, if non-zero. :typefield logical v_extensive [private]: True for vertically extensive fields (vertically integrated). False for intensive (concentrations). :typefield integer xyz_method [private]: A 3 digit integer encoding the diagnostics cell method It can be used to determine the downsample algorithm. .. f:type:: diagcs_dsamp Container for down sampling information. :typefield type( axes_grp ) axesbl [private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp ) axestl [private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp ) axescul [private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp ) axescvl [private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp ) axesbi [private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp ) axesti [private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp ) axescui [private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp ) axescvi [private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp ) axesb1 [private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp ) axest1 [private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp ) axescu1 [private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp ) axescv1 [private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp )(\:) remap_axestl [allocatable, private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp )(\:) remap_axesbl [allocatable, private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp )(\:) remap_axescul [allocatable, private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp )(\:) remap_axescvl [allocatable, private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp )(\:) remap_axesti [allocatable, private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp )(\:) remap_axesbi [allocatable, private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp )(\:) remap_axescui [allocatable, private]: Axes for each location on a diagnostic grid. :typefield type( axes_grp )(\:) remap_axescvi [allocatable, private]: Axes for each location on a diagnostic grid. :typefield real(\:,\:,\:) mask3dtl [pointer, private]: 3D mask arrays for diagnostics at layers (mask...L) and interfaces (mask...i) :typefield real(\:,\:,\:) mask3dbl [pointer, private]: 3D mask arrays for diagnostics at layers (mask...L) and interfaces (mask...i) :typefield real(\:,\:,\:) mask3dcul [pointer, private]: 3D mask arrays for diagnostics at layers (mask...L) and interfaces (mask...i) :typefield real(\:,\:,\:) mask3dcvl [pointer, private]: 3D mask arrays for diagnostics at layers (mask...L) and interfaces (mask...i) :typefield real(\:,\:,\:) mask3dti [pointer, private]: 3D mask arrays for diagnostics at layers (mask...L) and interfaces (mask...i) :typefield real(\:,\:,\:) mask3dbi [pointer, private]: 3D mask arrays for diagnostics at layers (mask...L) and interfaces (mask...i) :typefield real(\:,\:,\:) mask3dcui [pointer, private]: 3D mask arrays for diagnostics at layers (mask...L) and interfaces (mask...i) :typefield real(\:,\:,\:) mask3dcvi [pointer, private]: 3D mask arrays for diagnostics at layers (mask...L) and interfaces (mask...i) :typefield integer isc [private]: The start i-index of cell centers within the computational domain. :typefield integer iec [private]: The end i-index of cell centers within the computational domain. :typefield integer jsc [private]: The start j-index of cell centers within the computational domain. :typefield integer jec [private]: The end j-index of cell centers within the computational domain. :typefield integer isd [private]: The start i-index of cell centers within the data domain. :typefield integer ied [private]: The end i-index of cell centers within the data domain. :typefield integer jsd [private]: The start j-index of cell centers within the data domain. :typefield integer jed [private]: The end j-index of cell centers within the data domain. :typefield integer isg [private]: The start i-index of cell centers within the global domain. :typefield integer ieg [private]: The end i-index of cell centers within the global domain. :typefield integer jsg [private]: The start j-index of cell centers within the global domain. :typefield integer jeg [private]: The end j-index of cell centers within the global domain. :typefield integer isgb [private]: The start i-index of cell corners within the global domain. :typefield integer iegb [private]: The end i-index of cell corners within the global domain. :typefield integer jsgb [private]: The start j-index of cell corners within the global domain. :typefield integer jegb [private]: The end j-index of cell corners within the global domain. :typefield real(\:,\:) mask2dt [pointer, private]: 2D mask array for cell-center points :typefield real(\:,\:) mask2dbu [pointer, private]: 2D mask array for cell-corner points :typefield real(\:,\:) mask2dcu [pointer, private]: 2D mask array for east-face points :typefield real(\:,\:) mask2dcv [pointer, private]: 2D mask array for north-face points --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine set_axes_info(G, GV, US, param_file, diag_cs, set_vertical) Sets up diagnostics axes. :param g: [inout] Ocean grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] Parameter file structure :param diag_cs: [inout] Diagnostics control structure :param set_vertical: [in] If true or missing, set up vertical axes :callto: :f:func:`define_axes_group ` :callto: :f:func:`diag_grid_storage_init ` :callto: :f:func:`set_axes_info_dsamp ` :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` .. f:subroutine:: subroutine set_axes_info_dsamp(G, GV, param_file, diag_cs, id_zl_native, id_zi_native) :param g: [in] Ocean grid structure :param gv: [in] ocean vertical grid structure :param param_file: [in] Parameter file structure :param diag_cs: [inout] Diagnostics control structure :param id_zl_native: [in] ID of native layers :param id_zi_native: [in] ID of native interfaces :callto: :f:func:`define_axes_group_dsamp ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`set_axes_info ` .. f:subroutine:: subroutine set_masks_for_axes(G, diag_cs) set_masks_for_axes sets up the 2d and 3d masks for diagnostics using the current grid recorded after calling :f:func:`diag_update_remap_grids() ` :param g: [in] The ocean grid type. :param diag_cs: A pointer to a type with many variables used for diagnostics :callto: :f:func:`mom_error_handler::assert ` :callto: :f:func:`set_masks_for_axes_dsamp ` .. f:subroutine:: subroutine set_masks_for_axes_dsamp(G, diag_cs) :param g: [in] The ocean grid type. :param diag_cs: A pointer to a type with many variables used for diagnostics :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`set_masks_for_axes ` .. f:subroutine:: subroutine diag_register_area_ids(diag_cs, id_area_t, id_area_q) Attaches the id of cell areas to axes groups for use with cell_measures. :param diag_cs: [inout] Diagnostics control structure :param id_area_t: [in] Diag_mediator id for area of h-cells :param id_area_q: [in] Diag_mediator id for area of q-cells .. f:subroutine:: subroutine register_cell_measure(G, diag, Time) Sets a handle inside diagnostics mediator to associate 3d cell measures. :param g: [in] Ocean grid structure :param diag: [inout] Regulates diagnostic output :param time: [in] Model time :callto: :f:func:`diag_associate_volume_cell_measure ` :callto: :f:func:`register_diag_field ` .. f:subroutine:: subroutine diag_associate_volume_cell_measure(diag_cs, id_h_volume) Attaches the id of cell volumes to axes groups for use with cell_measures. :param diag_cs: [inout] Diagnostics control structure :param id_h_volume: [in] Diag_manager id for volume of h-cells :calledfrom: :f:func:`register_cell_measure ` .. f:function:: integer function diag_get_volume_cell_measure_dm_id(diag_cs) Returns diag_manager id for cell measure of h-cells. :param diag_cs: [in] Diagnostics control structure .. f:subroutine:: subroutine define_axes_group(diag_cs, handles, axes, nz, vertical_coordinate_number, x_cell_method, y_cell_method, v_cell_method, is_h_point, is_q_point, is_u_point, is_v_point, is_layer, is_interface, is_native, needs_remapping, needs_interpolating, xyave_axes) Defines a group of "axes" from list of handles. :param diag_cs: [in] Diagnostics control structure :param handles: [in] A list of 1D axis handles :param axes: [out] The group of 1D axes :param nz: [in] Number of layers in this diagnostic grid :param vertical_coordinate_number: [in] Index number for vertical coordinate :param x_cell_method: [in] A x-direction cell method used to construct the "cell_methods" attribute in CF convention :param y_cell_method: [in] A y-direction cell method used to construct the "cell_methods" attribute in CF convention :param v_cell_method: [in] A vertical direction cell method used to construct the "cell_methods" attribute in CF convention :param is_h_point: [in] If true, indicates this axes group for h-point located fields :param is_q_point: [in] If true, indicates this axes group for q-point located fields :param is_u_point: [in] If true, indicates this axes group for u-point located fields :param is_v_point: [in] If true, indicates this axes group for v-point located fields :param is_layer: [in] If true, indicates that this axes group is for a layer vertically-located field. :param is_interface: [in] If true, indicates that this axes group is for an interface vertically-located field. :param is_native: [in] If true, indicates that this axes group is for a native model grid. False for any other grid. :param needs_remapping: [in] If true, indicates that this axes group is for a intensive layer-located field that must be remapped to these axes. Used for rank>2. :param needs_interpolating: [in] If true, indicates that this axes group is for a sampled interface-located field that must be interpolated to these axes. Used for rank>2. :param xyave_axes: The corresponding axes group for horizontally area-average diagnostics :callto: :f:func:`i2s ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_internal_tides::internal_tides_init ` :calledfrom: :f:func:`set_axes_info ` .. f:subroutine:: subroutine define_axes_group_dsamp(diag_cs, handles, axes, dl, nz, vertical_coordinate_number, x_cell_method, y_cell_method, v_cell_method, is_h_point, is_q_point, is_u_point, is_v_point, is_layer, is_interface, is_native, needs_remapping, needs_interpolating, xyave_axes) Defines a group of downsampled "axes" from list of handles. :param diag_cs: [in] Diagnostics control structure :param handles: [in] A list of 1D axis handles :param axes: [out] The group of 1D axes :param dl: [in] Downsample level :param nz: [in] Number of layers in this diagnostic grid :param vertical_coordinate_number: [in] Index number for vertical coordinate :param x_cell_method: [in] A x-direction cell method used to construct the "cell_methods" attribute in CF convention :param y_cell_method: [in] A y-direction cell method used to construct the "cell_methods" attribute in CF convention :param v_cell_method: [in] A vertical direction cell method used to construct the "cell_methods" attribute in CF convention :param is_h_point: [in] If true, indicates this axes group for h-point located fields :param is_q_point: [in] If true, indicates this axes group for q-point located fields :param is_u_point: [in] If true, indicates this axes group for u-point located fields :param is_v_point: [in] If true, indicates this axes group for v-point located fields :param is_layer: [in] If true, indicates that this axes group is for a layer vertically-located field. :param is_interface: [in] If true, indicates that this axes group is for an interface vertically-located field. :param is_native: [in] If true, indicates that this axes group is for a native model grid. False for any other grid. :param needs_remapping: [in] If true, indicates that this axes group is for a intensive layer-located field that must be remapped to these axes. Used for rank>2. :param needs_interpolating: [in] If true, indicates that this axes group is for a sampled interface-located field that must be interpolated to these axes. Used for rank>2. :param xyave_axes: The corresponding axes group for horizontally area-average diagnostics :callto: :f:func:`i2s ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`set_axes_info_dsamp ` .. f:subroutine:: subroutine set_diag_mediator_grid(G, diag_cs) Set up the array extents for doing diagnostics. :param g: [inout] The ocean's grid structure :param diag_cs: [inout] Structure used to regulate diagnostic output .. f:subroutine:: subroutine post_data_0d(diag_field_id, field, diag_cs, is_static) Make a real scalar diagnostic available for averaging or output. :param diag_field_id: [in] The id for an output variable returned by a previous call to register_diag_field. :param field: [in] real value being offered for output or averaging :param diag_cs: [in] Structure used to regulate diagnostic output :param is_static: [in] If true, this is a static field that is always offered. :callto: :f:func:`mom_error_handler::assert ` :callto: :f:func:`id_clock_diag_mediator ` .. f:subroutine:: subroutine post_data_1d_k(diag_field_id, field, diag_cs, is_static) Make a real 1-d array diagnostic available for averaging or output. :param diag_field_id: [in] The id for an output variable returned by a previous call to register_diag_field. :param field: [in] 1-d array being offered for output or averaging :param diag_cs: [in] Structure used to regulate diagnostic output :param is_static: [in] If true, this is a static field that is always offered. :callto: :f:func:`mom_error_handler::assert ` :callto: :f:func:`id_clock_diag_mediator ` .. f:subroutine:: subroutine post_data_2d(diag_field_id, field, diag_cs, is_static, mask) Make a real 2-d array diagnostic available for averaging or output. :param diag_field_id: [in] The id for an output variable returned by a previous call to register_diag_field. :param field: [in] 2-d array being offered for output or averaging :param diag_cs: [in] Structure used to regulate diagnostic output :param is_static: [in] If true, this is a static field that is always offered. :param mask: [in] If present, use this real array as the data mask. :callto: :f:func:`mom_error_handler::assert ` :callto: :f:func:`id_clock_diag_mediator ` :callto: :f:func:`post_data_2d_low ` .. f:subroutine:: subroutine post_data_2d_low(diag, field, diag_cs, is_static, mask) Make a real 2-d array diagnostic available for averaging or output using a :f:func:`diag_type` instead of an integer id. instead of an integer id. :param diag: [in] A structure describing the diagnostic to post :param field: [in] 2-d array being offered for output or averaging :param diag_cs: [in] Structure used to regulate diagnostic output :param is_static: [in] If true, this is a static field that is always offered. :param mask: [in] If present, use this real array as the data mask. :callto: :f:func:`mom_error_handler::assert ` :callto: :f:func:`downsample_field_2d ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`msk ` :calledfrom: :f:func:`post_data_2d ` .. f:subroutine:: subroutine post_data_3d(diag_field_id, field, diag_cs, is_static, mask, alt_h) Make a real 3-d array diagnostic available for averaging or output. :param diag_field_id: [in] The id for an output variable returned by a previous call to register_diag_field. :param field: [in] 3-d array being offered for output or averaging :param diag_cs: [in] Structure used to regulate diagnostic output :param is_static: [in] If true, this is a static field that is always offered. :param mask: [in] If present, use this real array as the data mask. :param alt_h: [in] An alternate thickness to use for vertically :callto: :f:func:`mom_error_handler::assert ` :callto: :f:func:`id_clock_diag_mediator ` :callto: :f:func:`id_clock_diag_remap ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`post_data_3d_low ` .. f:subroutine:: subroutine post_data_3d_low(diag, field, diag_cs, is_static, mask) Make a real 3-d array diagnostic available for averaging or output using a :f:func:`diag_type` instead of an integer id. instead of an integer id. :param diag: [in] A structure describing the diagnostic to post :param field: [in] 3-d array being offered for output or averaging :param diag_cs: [in] Structure used to regulate diagnostic output :param is_static: [in] If true, this is a static field that is always offered. :param mask: [in] If present, use this real array as the data mask. :callto: :f:func:`mom_error_handler::assert ` :callto: :f:func:`downsample_field_3d ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`msk ` :callto: :f:func:`post_xy_average ` :calledfrom: :f:func:`post_data_3d ` .. f:subroutine:: subroutine post_xy_average(diag_cs, diag, field) Post the horizontally area-averaged diagnostic. :param diag: [in] This diagnostic :param field: [in] Diagnostic field :param diag_cs: [in] Diagnostics mediator control structure :callto: :f:func:`mom_error_handler::assert ` :callto: :f:func:`mom_diag_remap::horizontally_average_diag_field ` :calledfrom: :f:func:`post_data_3d_low ` .. f:subroutine:: subroutine enable_averaging(time_int_in, time_end_in, diag_cs) This subroutine enables the accumulation of time averages over the specified time interval. :param time_int_in: [in] The time interval [s] over which any values that are offered are valid. :param time_end_in: [in] The end time of the valid interval :param diag_cs: [inout] Structure used to regulate diagnostic output :calledfrom: :f:func:`mom_barotropic::btstep ` :calledfrom: :f:func:`mom_forcing_type::mech_forcing_diags ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`mom_ice_shelf::shelf_calc_flux ` .. f:subroutine:: subroutine enable_averages(time_int, time_end, diag_CS, T_to_s) Enable the accumulation of time averages over the specified time interval in time units. :param time_int: [in] The time interval over which any values that are offered are valid [T ~> s]. :param time_end: [in] The end time of the valid interval. :param diag_cs: [inout] A structure that is used to regulate diagnostic output :param t_to_s: [in] A conversion factor for time_int to [s]. :calledfrom: :f:func:`mom_forcing_type::forcing_diagnostics ` :calledfrom: :f:func:`mom_ice_shelf::solo_step_ice_shelf ` :calledfrom: :f:func:`mom_ice_shelf_dynamics::update_ice_shelf ` .. f:subroutine:: subroutine disable_averaging(diag_cs) Call this subroutine to avoid averaging any offered fields. :param diag_cs: [inout] Structure used to regulate diagnostic output :calledfrom: :f:func:`mom_forcing_type::forcing_diagnostics ` :calledfrom: :f:func:`mom_forcing_type::mech_forcing_diags ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`mom_ice_shelf::shelf_calc_flux ` :calledfrom: :f:func:`mom_ice_shelf::solo_step_ice_shelf ` :calledfrom: :f:func:`mom_ice_shelf_dynamics::update_ice_shelf ` .. f:function:: logical function query_averaging_enabled(diag_cs, time_int, time_end) Call this subroutine to determine whether the averaging is currently enabled. .true. is returned if it is. :param diag_cs: [in] Structure used to regulate diagnostic output :param time_int: [out] Current setting of diagtime_int [s] :param time_end: [out] Current setting of diagtime_end :calledfrom: :f:func:`mom_lateral_mixing_coeffs::calc_resoln_function ` :calledfrom: :f:func:`mom_lateral_mixing_coeffs::calc_slope_functions ` :calledfrom: :f:func:`mom_lateral_mixing_coeffs::calc_visbeck_coeffs ` :calledfrom: :f:func:`mom_opacity::set_opacity ` .. f:function:: type(time_type) function get_diag_time_end(diag_cs) This function returns the valid end time for use with diagnostics that are handled outside of the MOM6 diagnostics infrastructure. :param diag_cs: [in] Structure used to regulate diagnostic output :calledfrom: :f:func:`mom_generic_tracer::mom_generic_tracer_column_physics ` :calledfrom: :f:func:`mom_generic_tracer::mom_generic_tracer_surface_state ` .. f:function:: integer function register_diag_field(module_name, field_name, axes_in, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, cell_methods, x_cell_method, y_cell_method, v_cell_method, conversion, v_extensive) Returns the "diag_mediator" handle for a group (native, CMOR, z-coord, ...) of diagnostics derived from one field. :param module_name: [in] Name of this module, usually "ocean_model" or "ice_shelf_model" :param field_name: [in] Name of the diagnostic field :param axes_in: [in] Container w/ up to 3 integer handles that indicates axes for this field :param init_time: [in] Time at which a field is first available? :param long_name: [in] Long name of a field. :param units: [in] Units of a field. :param standard_name: [in] Standardized name associated with a field :param missing_value: [in] A value that indicates missing values. :param range: [in] Valid range of a variable (not used in MOM?) :param mask_variant: [in] If true a logical mask must be provided with :f:func:`post_data` calls (not used in MOM?) calls (not used in MOM?) :param verbose: [in] If true, FMS is verbose (not used in MOM?) :param do_not_log: [in] If true, do not log something (not used in MOM?) :param err_msg: [out] String into which an error message might be placed (not used in MOM?) :param interp_method: [in] If 'none' indicates the field should not be interpolated as a scalar :param tile_count: [in] no clue (not used in MOM?) :param cmor_field_name: [in] CMOR name of a field :param cmor_long_name: [in] CMOR long name of a field :param cmor_units: [in] CMOR units of a field :param cmor_standard_name: [in] CMOR standardized name associated with a field :param cell_methods: [in] String to append as cell_methods attribute. Use '' to have no attribute. If present, this overrides the default constructed from the default for each individual axis direction. :param x_cell_method: [in] Specifies the cell method for the x-direction. Use '' have no method. :param y_cell_method: [in] Specifies the cell method for the y-direction. Use '' have no method. :param v_cell_method: [in] Specifies the cell method for the vertical direction. Use '' have no method. :param conversion: [in] A value to multiply data by before writing to file :param v_extensive: [in] True for vertically extensive fields (vertically integrated). Default/absent for intensive. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`register_diag_field_expand_cmor ` :calledfrom: :f:func:`mom_coriolisadv::coriolisadv_init ` :calledfrom: :f:func:`mom_diapyc_energy_req::diapyc_energy_req_init ` :calledfrom: :f:func:`mom_int_tide_input::int_tide_input_init ` :calledfrom: :f:func:`mom_cvmix_kpp::kpp_init ` :calledfrom: :f:func:`ocean_register_diag ` :calledfrom: :f:func:`mom_opacity::opacity_init ` :calledfrom: :f:func:`register_cell_measure ` :calledfrom: :f:func:`mom_offline_main::register_diags_offline_transport ` :calledfrom: :f:func:`mom_set_diffusivity::set_diffusivity_init ` :calledfrom: :f:func:`mom_tracer_hor_diff::tracer_hor_diff_init ` .. f:function:: logical function register_diag_field_expand_cmor(dm_id, module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, cell_methods, x_cell_method, y_cell_method, v_cell_method, conversion, v_extensive) Returns True if either the native or CMOr version of the diagnostic were registered. Updates 'dm_id' after calling :f:func:`register_diag_field_expand_axes() ` for both native and CMOR variants of the field. for both native and CMOR variants of the field. :param dm_id: [inout] The diag_mediator ID for this diagnostic group :param module_name: [in] Name of this module, usually "ocean_model" or "ice_shelf_model" :param field_name: [in] Name of the diagnostic field :param axes: [in] Container w/ up to 3 integer handles that indicates axes for this field :param init_time: [in] Time at which a field is first available? :param long_name: [in] Long name of a field. :param units: [in] Units of a field. :param standard_name: [in] Standardized name associated with a field :param missing_value: [in] A value that indicates missing values. :param range: [in] Valid range of a variable (not used in MOM?) :param mask_variant: [in] If true a logical mask must be provided with :f:func:`post_data` calls (not used in MOM?) calls (not used in MOM?) :param verbose: [in] If true, FMS is verbose (not used in MOM?) :param do_not_log: [in] If true, do not log something (not used in MOM?) :param err_msg: [out] String into which an error message might be placed (not used in MOM?) :param interp_method: [in] If 'none' indicates the field should not be interpolated as a scalar :param tile_count: [in] no clue (not used in MOM?) :param cmor_field_name: [in] CMOR name of a field :param cmor_long_name: [in] CMOR long name of a field :param cmor_units: [in] CMOR units of a field :param cmor_standard_name: [in] CMOR standardized name associated with a field :param cell_methods: [in] String to append as cell_methods attribute. Use '' to have no attribute. If present, this overrides the default constructed from the default for each individual axis direction. :param x_cell_method: [in] Specifies the cell method for the x-direction. Use '' have no method. :param y_cell_method: [in] Specifies the cell method for the y-direction. Use '' have no method. :param v_cell_method: [in] Specifies the cell method for the vertical direction. Use '' have no method. :param conversion: [in] A value to multiply data by before writing to file :param v_extensive: [in] True for vertically extensive fields (vertically integrated). Default/absent for intensive. :callto: :f:func:`add_diag_to_list ` :callto: :f:func:`add_xyz_method ` :callto: :f:func:`attach_cell_methods ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`log_available_diag ` :callto: :f:func:`register_diag_field_expand_axes ` :calledfrom: :f:func:`register_diag_field ` .. f:function:: integer function register_diag_field_expand_axes(module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count) Returns an FMS id from register_diag_field_fms (the diag_manager routine) after expanding axes (axes-group) into handles and conditionally adding an FMS area_id for cell_measures. :param module_name: [in] Name of this module, usually "ocean_model" or "ice_shelf_model" :param field_name: [in] Name of the diagnostic field :param axes: [in] Container w/ up to 3 integer handles that indicates axes for this field :param init_time: [in] Time at which a field is first available? :param long_name: [in] Long name of a field. :param units: [in] Units of a field. :param standard_name: [in] Standardized name associated with a field :param missing_value: [in] A value that indicates missing values. :param range: [in] Valid range of a variable (not used in MOM?) :param mask_variant: [in] If true a logical mask must be provided with :f:func:`post_data` calls (not used in MOM?) calls (not used in MOM?) :param verbose: [in] If true, FMS is verbose (not used in MOM?) :param do_not_log: [in] If true, do not log something (not used in MOM?) :param err_msg: [out] String into which an error message might be placed (not used in MOM?) :param interp_method: [in] If 'none' indicates the field should not be interpolated as a scalar :param tile_count: [in] no clue (not used in MOM?) :calledfrom: :f:func:`register_diag_field_expand_cmor ` .. f:subroutine:: subroutine add_diag_to_list(diag_cs, dm_id, fms_id, this_diag, axes, module_name, field_name, msg) Create a diagnostic type and attached to list. :param diag_cs: Diagnostics mediator control structure :param dm_id: [inout] The diag_mediator ID for this diagnostic group :param fms_id: [in] The FMS diag_manager ID for this diagnostic :param this_diag: This diagnostic :param axes: [in] Container w/ up to 3 integer handles that indicates axes for this field :param module_name: [in] Name of this module, usually "ocean_model" or "ice_shelf_model" :param field_name: [in] Name of diagnostic :param msg: [in] Message for errors :callto: :f:func:`alloc_diag_with_id ` :callto: :f:func:`mom_error_handler::assert ` :callto: :f:func:`get_new_diag_id ` :calledfrom: :f:func:`register_diag_field_expand_cmor ` .. f:subroutine:: subroutine add_xyz_method(diag, axes, x_cell_method, y_cell_method, v_cell_method, v_extensive) Adds the encoded "cell_methods" for a diagnostics as a diag% property This allows access to the cell_method for a given diagnostics at the time of sending. :param diag: This diagnostic :param axes: [in] Container w/ up to 3 integer handles that indicates axes for this field :param x_cell_method: [in] Specifies the cell method for the x-direction. Use '' have no method. :param y_cell_method: [in] Specifies the cell method for the y-direction. Use '' have no method. :param v_cell_method: [in] Specifies the cell method for the vertical direction. Use '' have no method. :param v_extensive: [in] True for vertically extensive fields (vertically integrated). Default/absent for intensive. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`register_diag_field_expand_cmor ` .. f:subroutine:: subroutine attach_cell_methods(id, axes, ostring, cell_methods, x_cell_method, y_cell_method, v_cell_method, v_extensive) Attaches "cell_methods" attribute to a variable based on defaults for :f:func:`axes_grp` or optional arguments. or optional arguments. :param id: [in] Handle to diagnostic :param axes: [in] Container w/ up to 3 integer handles that indicates axes for this field :param ostring: [out] The cell_methods strings that would appear in the file :param cell_methods: [in] String to append as cell_methods attribute. Use '' to have no attribute. If present, this overrides the default constructed from the default for each individual axis direction. :param x_cell_method: [in] Specifies the cell method for the x-direction. Use '' have no method. :param y_cell_method: [in] Specifies the cell method for the y-direction. Use '' have no method. :param v_cell_method: [in] Specifies the cell method for the vertical direction. Use '' have no method. :param v_extensive: [in] True for vertically extensive fields (vertically integrated). Default/absent for intensive. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`register_diag_field_expand_cmor ` .. f:function:: integer function register_scalar_field(module_name, field_name, init_time, diag_cs, long_name, units, missing_value, range, standard_name, do_not_log, err_msg, interp_method, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name) :returns undefined: An integer handle for a diagnostic array. :param module_name: [in] Name of this module, usually "ocean_model" or "ice_shelf_model" :param field_name: [in] Name of the diagnostic field :param init_time: [in] Time at which a field is first available? :param diag_cs: [inout] Structure used to regulate diagnostic output :param long_name: [in] Long name of a field. :param units: [in] Units of a field. :param standard_name: [in] Standardized name associated with a field :param missing_value: [in] A value that indicates missing values. :param range: [in] Valid range of a variable (not used in MOM?) :param do_not_log: [in] If true, do not log something (not used in MOM?) :param err_msg: [out] String into which an error message might be placed (not used in MOM?) :param interp_method: [in] If 'none' indicates the field should not be interpolated as a scalar :param cmor_field_name: [in] CMOR name of a field :param cmor_long_name: [in] CMOR long name of a field :param cmor_units: [in] CMOR units of a field :param cmor_standard_name: [in] CMOR standardized name associated with a field :callto: :f:func:`alloc_diag_with_id ` :callto: :f:func:`mom_error_handler::assert ` :callto: :f:func:`get_new_diag_id ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`log_available_diag ` .. f:function:: integer function register_static_field(module_name, field_name, axes, long_name, units, missing_value, range, mask_variant, standard_name, do_not_log, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, area, x_cell_method, y_cell_method, area_cell_method, conversion) Registers a static diagnostic, returning an integer handle. :returns undefined: An integer handle for a diagnostic array. :param module_name: [in] Name of this module, usually "ocean_model" or "ice_shelf_model" :param field_name: [in] Name of the diagnostic field :param axes: [in] Container w/ up to 3 integer handles that indicates axes for this field :param long_name: [in] Long name of a field. :param units: [in] Units of a field. :param standard_name: [in] Standardized name associated with a field :param missing_value: [in] A value that indicates missing values. :param range: [in] Valid range of a variable (not used in MOM?) :param mask_variant: [in] If true a logical mask must be provided with :f:func:`post_data` calls (not used in MOM?) calls (not used in MOM?) :param do_not_log: [in] If true, do not log something (not used in MOM?) :param interp_method: [in] If 'none' indicates the field should not be interpolated as a scalar :param tile_count: [in] no clue (not used in MOM?) :param cmor_field_name: [in] CMOR name of a field :param cmor_long_name: [in] CMOR long name of a field :param cmor_units: [in] CMOR units of a field :param cmor_standard_name: [in] CMOR standardized name associated with a field :param area: [in] fms_id for area_t :param x_cell_method: [in] Specifies the cell method for the x-direction. :param y_cell_method: [in] Specifies the cell method for the y-direction. :param area_cell_method: [in] Specifies the cell method for area :param conversion: [in] A value to multiply data by before writing to file :callto: :f:func:`alloc_diag_with_id ` :callto: :f:func:`mom_error_handler::assert ` :callto: :f:func:`get_new_diag_id ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`log_available_diag ` :calledfrom: :f:func:`mom_geothermal::geothermal_init ` .. f:subroutine:: subroutine describe_option(opt_name, value, diag_CS) Describe an option setting in the diagnostic files. :param opt_name: [in] The name of the option :param value: [in] A character string with the setting of the option. :param diag_cs: [in] Structure used to regulate diagnostic output :calledfrom: :f:func:`log_available_diag ` .. f:function:: integer function ocean_register_diag(var_desc, G, diag_CS, day) Registers a diagnostic using the information encapsulated in the vardesc type argument and returns an integer handle to this diagostic. That integer handle is negative if the diagnostic is unused. :returns undefined: An integer handle to this diagnostic. :param var_desc: [in] The vardesc type describing the diagnostic :param g: [in] The ocean's grid type :param diag_cs: [in] The diagnotic control structure :param day: [in] The current model time :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`register_diag_field ` .. f:subroutine:: subroutine diag_mediator_infrastructure_init(err_msg) :param err_msg: [out] An error message .. f:subroutine:: subroutine diag_mediator_init(G, GV, US, nz, param_file, diag_cs, doc_file_dir) diag_mediator_init initializes the MOM diag_mediator and opens the available diagnostics file, if appropriate. :param g: [inout] The ocean grid type. :param gv: [in] The ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param nz: [in] The number of layers in the model's native grid. :param param_file: [in] Parameter file structure :param diag_cs: [inout] A pointer to a type with many variables used for diagnostics :param doc_file_dir: [in] A directory in which to create the file :callto: :f:func:`id_clock_diag_grid_updates ` :callto: :f:func:`id_clock_diag_mediator ` :callto: :f:func:`id_clock_diag_remap ` :callto: :f:func:`initialize_diag_type ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine diag_set_state_ptrs(h, T, S, eqn_of_state, diag_cs) Set pointers to the default state fields used to remap diagnostics. :param h: [in] the model thickness array [H ~> m or kg m-2] :param t: [in] the model temperature array :param s: [in] the model salinity array :param eqn_of_state: [in] Equation of state structure :param diag_cs: [inout] diag mediator control structure .. f:subroutine:: subroutine diag_update_remap_grids(diag_cs, alt_h, alt_T, alt_S, update_intensive, update_extensive) Build/update vertical grids for diagnostic remapping. :param diag_cs: [inout] Diagnostics control structure :param alt_h: [in] Used if remapped grids should be something other than the current thicknesses [H ~> m or kg m-2] :param alt_t: [in] Used if remapped grids should be something other than the current temperatures :param alt_s: [in] Used if remapped grids should be something other than the current salinity :param update_intensive: [in] If true (default), update the grids used for intensive diagnostics :param update_extensive: [in] If true (not default), update the grids used for intensive diagnostics :callto: :f:func:`id_clock_diag_grid_updates ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_ale::ale_main ` :calledfrom: :f:func:`mom_bulk_mixed_layer::bulkmixedlayer ` :calledfrom: :f:func:`mom_mixed_layer_restrat::mixedlayer_restrat_bml ` :calledfrom: :f:func:`mom_mixed_layer_restrat::mixedlayer_restrat_general ` :calledfrom: :f:func:`mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ` :calledfrom: :f:func:`mom_dynamics_unsplit::step_mom_dyn_unsplit ` :calledfrom: :f:func:`mom_thickness_diffuse::thickness_diffuse ` .. f:subroutine:: subroutine diag_masks_set(G, nz, diag_cs) Sets up the 2d and 3d masks for native diagnostics. :param g: [in] The ocean grid type. :param nz: [in] The number of layers in the model's native grid. :param diag_cs: A pointer to a type with many variables used for diagnostics :callto: :f:func:`downsample_diag_masks_set ` .. f:subroutine:: subroutine diag_mediator_close_registration(diag_CS) :param diag_cs: [inout] Structure used to regulate diagnostic output :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`ocean_model_mod::ocean_model_init ` .. f:subroutine:: subroutine diag_mediator_end(time, diag_CS, end_diag_manager) :param time: [in] The current model time :param diag_cs: [inout] Structure used to regulate diagnostic output :param end_diag_manager: [in] If true, call diag_manager_end() :callto: :f:func:`diag_grid_storage_end ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`ocean_model_mod::ocean_model_end ` .. f:function:: character(len=15) function i2s(a, n_in) Convert the first n elements (up to 3) of an integer array to an underscore delimited string. :param a: [in] The array of integers to translate :param n_in: [in] The number of elements to translate, by default all :returns undefined: The returned string :calledfrom: :f:func:`define_axes_group ` :calledfrom: :f:func:`define_axes_group_dsamp ` .. f:function:: integer function get_new_diag_id(diag_cs) Returns a new diagnostic id, it may be necessary to expand the diagnostics array. :param diag_cs: [inout] Diagnostics control structure :callto: :f:func:`mom_error_handler::assert ` :callto: :f:func:`initialize_diag_type ` :calledfrom: :f:func:`add_diag_to_list ` :calledfrom: :f:func:`register_scalar_field ` :calledfrom: :f:func:`register_static_field ` .. f:subroutine:: subroutine initialize_diag_type(diag) Initializes a :f:func:`diag_type` (used after allocating new memory) (used after allocating new memory) :param diag: [inout] :f:func:`diag_type` to be initialized to be initialized :calledfrom: :f:func:`diag_mediator_init ` :calledfrom: :f:func:`get_new_diag_id ` .. f:subroutine:: subroutine alloc_diag_with_id(diag_id, diag_cs, diag) Make a new diagnostic. Either use memory which is in the array of 'primary' diagnostics, or if that is in use, insert it to the list of secondary diags. :param diag_id: [in] id for the diagnostic :param diag_cs: [inout] structure used to regulate diagnostic output :param diag: structure representing a diagnostic (inout) :calledfrom: :f:func:`add_diag_to_list ` :calledfrom: :f:func:`register_scalar_field ` :calledfrom: :f:func:`register_static_field ` .. f:subroutine:: subroutine log_available_diag(used, module_name, field_name, cell_methods_string, comment, diag_CS, long_name, units, standard_name) Log a diagnostic to the available diagnostics file. :param used: [in] Whether this diagnostic was in the diag_table or not :param module_name: [in] Name of the diagnostic module :param field_name: [in] Name of this diagnostic field :param cell_methods_string: [in] The spatial component of the CF cell_methods attribute :param comment: [in] A comment to append after [Used|Unused] :param diag_cs: [in] The diagnotics control structure :param long_name: [in] CF long name of diagnostic :param units: [in] Units for diagnostic :param standard_name: [in] CF standardized name of diagnostic :callto: :f:func:`describe_option ` :calledfrom: :f:func:`register_diag_field_expand_cmor ` :calledfrom: :f:func:`register_scalar_field ` :calledfrom: :f:func:`register_static_field ` .. f:subroutine:: subroutine log_chksum_diag(docunit, description, chksum) Log the diagnostic chksum to the chksum diag file. :param docunit: [in] Handle of the log file :param description: [in] Name of the diagnostic module :param chksum: [in] chksum of the diagnostic .. f:subroutine:: subroutine diag_grid_storage_init(grid_storage, G, diag) Allocates fields necessary to store diagnostic remapping fields. :param grid_storage: [inout] Structure containing a snapshot of the target grids :param g: [in] Horizontal grid :param diag: [in] Diagnostic control structure used as the contructor template for this routine :calledfrom: :f:func:`set_axes_info ` .. f:subroutine:: subroutine diag_copy_diag_to_storage(grid_storage, h_state, diag) Copy from the main diagnostic arrays to the grid storage as well as the native thicknesses. :param grid_storage: [inout] Structure containing a snapshot of the target grids :param h_state: [in] Current model thicknesses [H ~> m or kg m-2] :param diag: [in] Diagnostic control structure used as the contructor :calledfrom: :f:func:`mom::initialize_mom ` :calledfrom: :f:func:`mom::step_mom ` .. f:subroutine:: subroutine diag_copy_storage_to_diag(diag, grid_storage) Copy from the stored diagnostic arrays to the main diagnostic grids. :param diag: [inout] Diagnostic control structure used as the contructor :param grid_storage: [in] Structure containing a snapshot of the target grids :calledfrom: :f:func:`mom_diagnostics::calculate_diagnostic_fields ` :calledfrom: :f:func:`mom_tracer_registry::post_tracer_diagnostics_at_sync ` :calledfrom: :f:func:`mom_diagnostics::post_transport_diagnostics ` .. f:subroutine:: subroutine diag_save_grids(diag) Save the current diagnostic grids in the temporary structure within diag. :param diag: [inout] Diagnostic control structure used as the contructor :calledfrom: :f:func:`mom_diagnostics::calculate_diagnostic_fields ` :calledfrom: :f:func:`mom_tracer_registry::post_tracer_diagnostics_at_sync ` :calledfrom: :f:func:`mom_diagnostics::post_transport_diagnostics ` .. f:subroutine:: subroutine diag_restore_grids(diag) Restore the diagnostic grids from the temporary structure within diag. :param diag: [inout] Diagnostic control structure used as the contructor :calledfrom: :f:func:`mom_diagnostics::calculate_diagnostic_fields ` :calledfrom: :f:func:`mom_tracer_registry::post_tracer_diagnostics_at_sync ` :calledfrom: :f:func:`mom_diagnostics::post_transport_diagnostics ` .. f:subroutine:: subroutine diag_grid_storage_end(grid_storage) Deallocates the fields in the remapping fields container. :param grid_storage: [inout] Structure containing a snapshot of the target grids :calledfrom: :f:func:`diag_mediator_end ` .. f:subroutine:: subroutine downsample_diag_masks_set(G, nz, diag_cs) :param g: [in] The ocean grid type. :param nz: [in] The number of layers in the model's native grid. :param diag_cs: A pointer to a type with many variables used for diagnostics :calledfrom: :f:func:`diag_masks_set ` .. f:subroutine:: subroutine downsample_diag_indices_get(fo1, fo2, dl, diag_cs, isv, iev, jsv, jev) Get the diagnostics-compute indices (to be passed to send_data) based on the shape of the diag field (the same way they are deduced for non-downsampled fields) :param fo1: [in] The size of the diag field in x :param fo2: [in] The size of the diag field in y :param dl: [in] Integer downsample level :param diag_cs: [in] Structure used to regulate diagnostic output :param isv: [out] i-start index for diagnostics :param iev: [out] i-end index for diagnostics :param jsv: [out] j-start index for diagnostics :param jev: [out] j-end index for diagnostics :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`downsample_diag_field_2d ` :calledfrom: :f:func:`downsample_diag_field_3d ` .. f:subroutine:: subroutine downsample_diag_field_3d(locfield, locfield_dsamp, dl, diag_cs, diag, isv, iev, jsv, jev, mask) This subroutine allocates and computes a downsampled array from an input array It also determines the diagnostics-compurte indices for the downsampled array 3d interface. :param locfield: Input array pointer :param locfield_dsamp: [inout] Output (downsampled) array :param diag_cs: [in] Structure used to regulate diagnostic output :param diag: [in] A structure describing the diagnostic to post :param dl: [in] Level of down sampling :param isv: [inout] i-start index for diagnostics :param iev: [inout] i-end index for diagnostics :param jsv: [inout] j-start index for diagnostics :param jev: [inout] j-end index for diagnostics :param mask: [in] If present, use this real array as the data mask. :callto: :f:func:`downsample_diag_indices_get ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine downsample_diag_field_2d(locfield, locfield_dsamp, dl, diag_cs, diag, isv, iev, jsv, jev, mask) This subroutine allocates and computes a downsampled array from an input array It also determines the diagnostics-compurte indices for the downsampled array 2d interface. :param locfield: Input array pointer :param locfield_dsamp: [inout] Output (downsampled) array :param diag_cs: [in] Structure used to regulate diagnostic output :param diag: [in] A structure describing the diagnostic to post :param dl: [in] Level of down sampling :param isv: [inout] i-start index for diagnostics :param iev: [inout] i-end index for diagnostics :param jsv: [inout] j-start index for diagnostics :param jev: [inout] j-end index for diagnostics :param mask: [in] If present, use this real array as the data mask. :callto: :f:func:`downsample_diag_indices_get ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine downsample_field_3d(field_in, field_out, dl, method, mask, diag_cs, diag, isv_o, jsv_o, isv_d, iev_d, jsv_d, jev_d) This subroutine allocates and computes a down sampled 3d array given an input array The down sample method is based on the "cell_methods" for the diagnostics as explained in the above table. .. _namespacemom__diag__mediator_1downsampling: The down sample algorithm ========================= The down sample method could be deduced (before send_data call) from the diagx_cell_method, diagy_cell_method and diagv_cell_method This is the summary of the down sample algoritm for a diagnostic field f: .. math:: f(Id,Jd) = \sum_{i,j} f(Id+i,Jd+j) * weight(Id+i,Jd+j) / [ \sum_{i,j} weight(Id+i,Jd+j)] Here, i and j run from 0 to dl-1 (dl being the down sample level). Id,Jd are the down sampled (coarse grid) indices run over the coarsened compute grid, if and jf are the original (fine grid) indices. :: Example x_cell y_cell v_cell algorithm_id implemented weight(if,jf) --------------------------------------------------------------------------------------- theta mean mean mean MMM =222 G%areaT(if,jf)*h(if,jf) u point mean mean PMM =022 dyCu(if,jf)*h(if,jf)*delta(if,Id) v mean point mean MPM =202 dxCv(if,jf)*h(if,jf)*delta(jf,Jd) ? point sum mean PSM =012 h(if,jf)*delta(if,Id) volcello sum sum sum SSS =111 1 T_dfxy_co sum sum point SSP =110 1 umo point sum sum PSS =011 1*delta(if,Id) vmo sum point sum SPS =101 1*delta(jf,Jd) umo_2d point sum point PSP =010 1*delta(if,Id) vmo_2d sum point point SPP =100 1*delta(jf,Jd) ? point mean point PMP =020 dyCu(if,jf)*delta(if,Id) ? mean point point MPP =200 dxCv(if,jf)*delta(jf,Jd) w mean mean point MMP =220 G%areaT(if,jf) h*theta mean mean sum MMS =221 G%areaT(if,jf) delta is the Kronecker delta :param field_in: Original field to be down sampled :param field_out: down sampled field :param dl: [in] Level of down sampling :param method: [in] Sampling method :param mask: Mask for field :param diag_cs: [in] Structure used to regulate diagnostic output :param diag: [in] A structure describing the diagnostic to post :param isv_o: [in] Original i-start index :param jsv_o: [in] Original j-start index :param isv_d: [in] i-start index of down sampled data :param iev_d: [in] i-end index of down sampled data :param jsv_d: [in] j-start index of down sampled data :param jev_d: [in] j-end index of down sampled data :callto: :f:func:`mmm ` :callto: :f:func:`mmp ` :callto: :f:func:`mms ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mpm ` :callto: :f:func:`msk ` :callto: :f:func:`pmm ` :callto: :f:func:`pss ` :callto: :f:func:`sps ` :callto: :f:func:`sss ` :calledfrom: :f:func:`post_data_3d_low ` .. f:subroutine:: subroutine downsample_field_2d(field_in, field_out, dl, method, mask, diag_cs, diag, isv_o, jsv_o, isv_d, iev_d, jsv_d, jev_d) This subroutine allocates and computes a down sampled 2d array given an input array The down sample method is based on the "cell_methods" for the diagnostics as explained in the above table. :param field_in: Original field to be down sampled :param field_out: Down sampled field :param dl: [in] Level of down sampling :param method: [in] Sampling method :param mask: Mask for field :param diag_cs: [in] Structure used to regulate diagnostic output :param diag: [in] A structure describing the diagnostic to post :param isv_o: [in] Original i-start index :param jsv_o: [in] Original j-start index :param isv_d: [in] i-start index of down sampled data :param iev_d: [in] i-end index of down sampled data :param jsv_d: [in] j-start index of down sampled data :param jev_d: [in] j-end index of down sampled data :callto: :f:func:`mmp ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mpp ` :callto: :f:func:`msk ` :callto: :f:func:`pmp ` :callto: :f:func:`psp ` :callto: :f:func:`spp ` :callto: :f:func:`ssp ` :calledfrom: :f:func:`post_data_2d_low ` .. f:subroutine:: subroutine downsample_mask_2d(field_in, field_out, dl, isc_o, jsc_o, isc_d, iec_d, jsc_d, jec_d, isd_d, ied_d, jsd_d, jed_d) Allocate and compute the 2d down sampled mask The masks are down sampled based on a minority rule, i.e., a coarse cell is open (1) if at least one of the sub-cells are open, otherwise it's closed (0) :param field_in: [in] Original field to be down sampled :param field_out: Down sampled field :param dl: [in] Level of down sampling :param isc_o: [in] Original i-start index :param jsc_o: [in] Original j-start index :param isc_d: [in] Computational i-start index of down sampled data :param iec_d: [in] Computational i-end index of down sampled data :param jsc_d: [in] Computational j-start index of down sampled data :param jec_d: [in] Computational j-end index of down sampled data :param isd_d: [in] Computational i-start index of down sampled data :param ied_d: [in] Computational i-end index of down sampled data :param jsd_d: [in] Computational j-start index of down sampled data :param jed_d: [in] Computational j-end index of down sampled data .. f:subroutine:: subroutine downsample_mask_3d(field_in, field_out, dl, isc_o, jsc_o, isc_d, iec_d, jsc_d, jec_d, isd_d, ied_d, jsd_d, jed_d) Allocate and compute the 3d down sampled mask The masks are down sampled based on a minority rule, i.e., a coarse cell is open (1) if at least one of the sub-cells are open, otherwise it's closed (0) :param field_in: [in] Original field to be down sampled :param field_out: down sampled field :param dl: [in] Level of down sampling :param isc_o: [in] Original i-start index :param jsc_o: [in] Original j-start index :param isc_d: [in] Computational i-start index of down sampled data :param iec_d: [in] Computational i-end index of down sampled data :param jsc_d: [in] Computational j-start index of down sampled data :param jec_d: [in] Computational j-end index of down sampled data :param isd_d: [in] Computational i-start index of down sampled data :param ied_d: [in] Computational i-end index of down sampled data :param jsd_d: [in] Computational j-start index of down sampled data :param jed_d: [in] Computational j-end index of down sampled data [debug] xpath(./compounddef/compoundname[text()="mom_diag_mediator::axes_grp"]/..) match([('id', 'structmom__diag__mediator_1_1axes__grp'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::axes_grp', , {}, ['', 'A g [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::axes_grp', , {}, ['`More.. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::axes_grp', , {}, ['', 'A g [debug] xpath(./compounddef/compoundname[text()="mom_diag_mediator::diag_ctrl"]/..) match([('id', 'structmom__diag__mediator_1_1diag__ctrl'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diag_ctrl', , {}, ['', 'Th [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diag_ctrl', , {}, ['`More. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diag_ctrl', , {}, ['', 'Th [debug] xpath(./compounddef/compoundname[text()="mom_diag_mediator::diag_dsamp"]/..) match([('id', 'structmom__diag__mediator_1_1diag__dsamp'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diag_dsamp', , {}, ['', 'C [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diag_dsamp', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diag_dsamp', , {}, ['', 'C [debug] xpath(./compounddef/compoundname[text()="mom_diag_mediator::diag_grid_storage"]/..) match([('id', 'structmom__diag__mediator_1_1diag__grid__storage'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diag_grid_storage', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diag_grid_storage', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diag_grid_storage', , {}, [debug] xpath(./compounddef/compoundname[text()="mom_diag_mediator::diag_grids_type"]/..) match([('id', 'structmom__diag__mediator_1_1diag__grids__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diag_grids_type', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diag_grids_type', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diag_grids_type', , {}, [' [debug] xpath(./compounddef/compoundname[text()="mom_diag_mediator::diag_type"]/..) match([('id', 'structmom__diag__mediator_1_1diag__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diag_type', , {}, ['', 'Th [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diag_type', , {}, ['`More. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diag_type', , {}, ['', 'Th [debug] xpath(./compounddef/compoundname[text()="mom_diag_mediator::diagcs_dsamp"]/..) match([('id', 'structmom__diag__mediator_1_1diagcs__dsamp'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diagcs_dsamp', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diagcs_dsamp', , {}, ['`Mo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator::diagcs_dsamp', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, param_file, diag_cs, set_vertical)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::set_axes_info', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::set_axes_info', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((G, GV, param_file, diag_cs, id_zl_native, id_zi_native)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::set_axes_info_dsamp', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::set_axes_info_dsamp', , {}, [debug] DoxygenMethodDocumenter format_signature called ((G, diag_cs)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__diag__mediator_1aa78e69709084d0097b3e01bbd83d3509) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__mediator_1aa78e69709084d0097b3e01bbd83d3509'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_mediator::diag_update_remap_grids) node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::set_masks_for_axes', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::set_masks_for_axes', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((G, diag_cs)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::set_masks_for_axes_dsamp', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::set_masks_for_axes_dsamp', , [debug] DoxygenMethodDocumenter format_signature called ((diag_cs, id_area_t, id_area_q)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_register_area_ids', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_register_area_ids', , { [debug] DoxygenMethodDocumenter format_signature called ((G, diag, Time)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::register_cell_measure', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::register_cell_measure', , {} [debug] DoxygenMethodDocumenter format_signature called ((diag_cs, id_h_volume)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_associate_volume_cell_measure', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::define_axes_group', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((diag_cs, handles, axes, dl, nz, vertical_coordinate_number, x_cell_method, y_cell_method, v_cell_method, is_h_point, is_q_point, is_u_point, is_v_point, is_layer, is_interface, is_native, needs_remapping, needs_interpolating, xyave_axes)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::define_axes_group_dsamp', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::define_axes_group_dsamp', , [debug] DoxygenMethodDocumenter format_signature called ((G, diag_cs)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::set_diag_mediator_grid', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::set_diag_mediator_grid', , { [debug] DoxygenMethodDocumenter format_signature called ((diag_field_id, field, diag_cs, is_static)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::post_data_0d', , {}, ['', 'M [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::post_data_0d', , {}, ['', 'M [debug] DoxygenMethodDocumenter format_signature called ((diag_field_id, field, diag_cs, is_static)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::post_data_1d_k', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::post_data_1d_k', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((diag_field_id, field, diag_cs, is_static, mask)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::post_data_2d', , {}, ['', 'M [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::post_data_2d', , {}, ['', 'M [debug] DoxygenMethodDocumenter format_signature called ((diag, field, diag_cs, is_static, mask)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__diag__mediator_1_1diag__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__diag__mediator_1_1diag__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::post_data_2d_low', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::post_data_2d_low', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((diag_field_id, field, diag_cs, is_static, mask, alt_h)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::post_data_3d', , {}, ['', 'M [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::post_data_3d', , {}, ['', 'M [debug] DoxygenMethodDocumenter format_signature called ((diag, field, diag_cs, is_static, mask)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__diag__mediator_1_1diag__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__diag__mediator_1_1diag__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::post_data_3d_low', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::post_data_3d_low', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((diag_cs, diag, field)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::post_xy_average', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::post_xy_average', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((time_int_in, time_end_in, diag_cs)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::enable_averaging', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::enable_averaging', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((time_int, time_end, diag_CS, T_to_s)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::enable_averages', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::enable_averages', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((diag_cs)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::disable_averaging', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::disable_averaging', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((diag_cs, time_int, time_end)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::query_averaging_enabled', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::query_averaging_enabled', , [debug] DoxygenMethodDocumenter format_signature called ((diag_cs)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::get_diag_time_end', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::get_diag_time_end', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((module_name, field_name, axes_in, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, cell_methods, x_cell_method, y_cell_method, v_cell_method, conversion, v_extensive)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::register_diag_field', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::register_diag_field', , {}, [debug] DoxygenMethodDocumenter format_signature called ((dm_id, module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, cell_methods, x_cell_method, y_cell_method, v_cell_method, conversion, v_extensive)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__diag__mediator_1aca4a32fea8dade9f51e076a56b9bad2b) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__mediator_1aca4a32fea8dade9f51e076a56b9bad2b'), ('prot', 'private'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_mediator::register_diag_field_expand_axes) node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::register_diag_field_expand_cmor', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::add_diag_to_list', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((diag, axes, x_cell_method, y_cell_method, v_cell_method, v_extensive)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::add_xyz_method', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::add_xyz_method', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((id, axes, ostring, cell_methods, x_cell_method, y_cell_method, v_cell_method, v_extensive)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__diag__mediator_1_1axes__grp) kindref(compound) ref([]) [debug] ref([('id', 'structmom__diag__mediator_1_1axes__grp'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::attach_cell_methods', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::attach_cell_methods', , {}, [debug] DoxygenMethodDocumenter format_signature called ((module_name, field_name, init_time, diag_cs, long_name, units, missing_value, range, standard_name, do_not_log, err_msg, interp_method, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::register_scalar_field', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::register_scalar_field', , {} [debug] DoxygenMethodDocumenter format_signature called ((module_name, field_name, axes, long_name, units, missing_value, range, mask_variant, standard_name, do_not_log, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, area, x_cell_method, y_cell_method, area_cell_method, conversion)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::register_static_field', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::register_static_field', , {} [debug] DoxygenMethodDocumenter format_signature called ((opt_name, value, diag_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::describe_option', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::describe_option', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((var_desc, G, diag_CS, day)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::ocean_register_diag', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::ocean_register_diag', , {}, [debug] DoxygenMethodDocumenter format_signature called ((err_msg)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_mediator_infrastructure_init', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_mediator_init', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((h, T, S, eqn_of_state, diag_cs)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_set_state_ptrs', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_set_state_ptrs', , {}, [debug] DoxygenMethodDocumenter format_signature called ((diag_cs, alt_h, alt_T, alt_S, update_intensive, update_extensive)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_update_remap_grids', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_update_remap_grids', , [debug] DoxygenMethodDocumenter format_signature called ((G, nz, diag_cs)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_masks_set', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_masks_set', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((diag_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_mediator_close_registration', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_mediator_end', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((a, n_in)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::i2s', , {}, ['', 'Convert th [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::i2s', , {}, ['', 'Convert th [debug] DoxygenMethodDocumenter format_signature called ((diag_cs)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::get_new_diag_id', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::get_new_diag_id', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((diag)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__diag__mediator_1_1diag__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__diag__mediator_1_1diag__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::initialize_diag_type', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::initialize_diag_type', , {}, [debug] DoxygenMethodDocumenter format_signature called ((diag_id, diag_cs, diag)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::alloc_diag_with_id', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::alloc_diag_with_id', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((used, module_name, field_name, cell_methods_string, comment, diag_CS, long_name, units, standard_name)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::log_available_diag', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::log_available_diag', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((docunit, description, chksum)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::log_chksum_diag', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::log_chksum_diag', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((grid_storage, G, diag)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_grid_storage_init', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_grid_storage_init', , { [debug] DoxygenMethodDocumenter format_signature called ((grid_storage, h_state, diag)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_copy_diag_to_storage', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_copy_diag_to_storage', [debug] DoxygenMethodDocumenter format_signature called ((diag, grid_storage)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_copy_storage_to_diag', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_copy_storage_to_diag', [debug] DoxygenMethodDocumenter format_signature called ((diag)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_save_grids', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_save_grids', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((diag)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_restore_grids', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_restore_grids', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((grid_storage)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_grid_storage_end', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::diag_grid_storage_end', , {} [debug] DoxygenMethodDocumenter format_signature called ((G, nz, diag_cs)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::downsample_diag_masks_set', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::downsample_diag_masks_set', [debug] DoxygenMethodDocumenter format_signature called ((fo1, fo2, dl, diag_cs, isv, iev, jsv, jev)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::downsample_diag_indices_get', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::downsample_diag_field_3d', , [debug] DoxygenMethodDocumenter format_signature called ((locfield, locfield_dsamp, dl, diag_cs, diag, isv, iev, jsv, jev, mask)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::downsample_diag_field_2d', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::downsample_diag_field_2d', , [debug] DoxygenMethodDocumenter format_signature called ((field_in, field_out, dl, method, mask, diag_cs, diag, isv_o, jsv_o, isv_d, iev_d, jsv_d, jev_d)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::downsample_field_3d', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::downsample_field_3d', , {}, [debug] DoxygenMethodDocumenter format_signature called ((field_in, field_out, dl, method, mask, diag_cs, diag, isv_o, jsv_o, isv_d, iev_d, jsv_d, jev_d)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::downsample_field_2d', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::downsample_field_2d', , {}, [debug] DoxygenMethodDocumenter format_signature called ((field_in, field_out, dl, isc_o, jsc_o, isc_d, iec_d, jsc_d, jec_d, isd_d, ied_d, jsd_d, jed_d)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::downsample_mask_2d', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::downsample_mask_2d', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((field_in, field_out, dl, isc_o, jsc_o, isc_d, iec_d, jsc_d, jec_d, isd_d, ied_d, jsd_d, jed_d)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::downsample_mask_3d', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_mediator::downsample_mask_3d', , {}, [ [fd] run(.. f:type:: axes_grp) [fd] sig(axes_grp) [fd] ftype(None) objtype(None) modname(None) typename() name(axes_grp) arglist(None) [fd] fullname(mom_diag_mediator/axes_grp) ftype(None) [fd] name(('mom_diag_mediator/axes_grp', None)) sig(axes_grp) signode(type mom_diag_mediator/axes_grp) [fd] run(.. f:type:: diag_ctrl) [fd] sig(diag_ctrl) [fd] ftype(None) objtype(None) modname(None) typename() name(diag_ctrl) arglist(None) [fd] fullname(mom_diag_mediator/diag_ctrl) ftype(None) [fd] name(('mom_diag_mediator/diag_ctrl', None)) sig(diag_ctrl) signode(type mom_diag_mediator/diag_ctrl) [fd] run(.. f:type:: diag_dsamp) [fd] sig(diag_dsamp) [fd] ftype(None) objtype(None) modname(None) typename() name(diag_dsamp) arglist(None) [fd] fullname(mom_diag_mediator/diag_dsamp) ftype(None) [fd] name(('mom_diag_mediator/diag_dsamp', None)) sig(diag_dsamp) signode(type mom_diag_mediator/diag_dsamp) [fd] run(.. f:type:: diag_grid_storage) [fd] sig(diag_grid_storage) [fd] ftype(None) objtype(None) modname(None) typename() name(diag_grid_storage) arglist(None) [fd] fullname(mom_diag_mediator/diag_grid_storage) ftype(None) [fd] name(('mom_diag_mediator/diag_grid_storage', None)) sig(diag_grid_storage) signode(type mom_diag_mediator/diag_grid_storage) [fd] run(.. f:type:: diag_grids_type) [fd] sig(diag_grids_type) [fd] ftype(None) objtype(None) modname(None) typename() name(diag_grids_type) arglist(None) [fd] fullname(mom_diag_mediator/diag_grids_type) ftype(None) [fd] name(('mom_diag_mediator/diag_grids_type', None)) sig(diag_grids_type) signode(type mom_diag_mediator/diag_grids_type) [fd] run(.. f:type:: diag_type) [fd] sig(diag_type) [fd] ftype(None) objtype(None) modname(None) typename() name(diag_type) arglist(None) [fd] fullname(mom_diag_mediator/diag_type) ftype(None) [fd] name(('mom_diag_mediator/diag_type', None)) sig(diag_type) signode(type mom_diag_mediator/diag_type) [fd] run(.. f:type:: diagcs_dsamp) [fd] sig(diagcs_dsamp) [fd] ftype(None) objtype(None) modname(None) typename() name(diagcs_dsamp) arglist(None) [fd] fullname(mom_diag_mediator/diagcs_dsamp) ftype(None) [fd] name(('mom_diag_mediator/diagcs_dsamp', None)) sig(diagcs_dsamp) signode(type mom_diag_mediator/diagcs_dsamp) [fd] run(.. f:subroutine:: subroutine set_axes_info(G, GV, US, param_file, diag_cs, set_vertical)) [fd] sig(subroutine set_axes_info(G, GV, US, param_file, diag_cs, set_vertical)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_axes_info) arglist(G, GV, US, param_file, diag_cs, set_vertical) [fd] fullname(mom_diag_mediator/set_axes_info) ftype(None) [fd] name(('mom_diag_mediator/set_axes_info', None)) sig(subroutine set_axes_info(G, GV, US, param_file, diag_cs, set_vertical)) signode(subroutine mom_diag_mediator/set_axes_infoGGVUSparam_filediag_csset_vertical) [fd] run(.. f:subroutine:: subroutine set_axes_info_dsamp(G, GV, param_file, diag_cs, id_zl_native, id_zi_native)) [fd] sig(subroutine set_axes_info_dsamp(G, GV, param_file, diag_cs, id_zl_native, id_zi_native)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_axes_info_dsamp) arglist(G, GV, param_file, diag_cs, id_zl_native, id_zi_native) [fd] fullname(mom_diag_mediator/set_axes_info_dsamp) ftype(None) [fd] name(('mom_diag_mediator/set_axes_info_dsamp', None)) sig(subroutine set_axes_info_dsamp(G, GV, param_file, diag_cs, id_zl_native, id_zi_native)) signode(subroutine mom_diag_mediator/set_axes_info_dsampGGVparam_filediag_csid_zl_nativeid_zi_native) [fd] run(.. f:subroutine:: subroutine set_masks_for_axes(G, diag_cs)) [fd] sig(subroutine set_masks_for_axes(G, diag_cs)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_masks_for_axes) arglist(G, diag_cs) [fd] fullname(mom_diag_mediator/set_masks_for_axes) ftype(None) [fd] name(('mom_diag_mediator/set_masks_for_axes', None)) sig(subroutine set_masks_for_axes(G, diag_cs)) signode(subroutine mom_diag_mediator/set_masks_for_axesGdiag_cs) [fd] run(.. f:subroutine:: subroutine set_masks_for_axes_dsamp(G, diag_cs)) [fd] sig(subroutine set_masks_for_axes_dsamp(G, diag_cs)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_masks_for_axes_dsamp) arglist(G, diag_cs) [fd] fullname(mom_diag_mediator/set_masks_for_axes_dsamp) ftype(None) [fd] name(('mom_diag_mediator/set_masks_for_axes_dsamp', None)) sig(subroutine set_masks_for_axes_dsamp(G, diag_cs)) signode(subroutine mom_diag_mediator/set_masks_for_axes_dsampGdiag_cs) [fd] run(.. f:subroutine:: subroutine diag_register_area_ids(diag_cs, id_area_t, id_area_q)) [fd] sig(subroutine diag_register_area_ids(diag_cs, id_area_t, id_area_q)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_register_area_ids) arglist(diag_cs, id_area_t, id_area_q) [fd] fullname(mom_diag_mediator/diag_register_area_ids) ftype(None) [fd] name(('mom_diag_mediator/diag_register_area_ids', None)) sig(subroutine diag_register_area_ids(diag_cs, id_area_t, id_area_q)) signode(subroutine mom_diag_mediator/diag_register_area_idsdiag_csid_area_tid_area_q) [fd] run(.. f:subroutine:: subroutine register_cell_measure(G, diag, Time)) [fd] sig(subroutine register_cell_measure(G, diag, Time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_cell_measure) arglist(G, diag, Time) [fd] fullname(mom_diag_mediator/register_cell_measure) ftype(None) [fd] name(('mom_diag_mediator/register_cell_measure', None)) sig(subroutine register_cell_measure(G, diag, Time)) signode(subroutine mom_diag_mediator/register_cell_measureGdiagTime) [fd] run(.. f:subroutine:: subroutine diag_associate_volume_cell_measure(diag_cs, id_h_volume)) [fd] sig(subroutine diag_associate_volume_cell_measure(diag_cs, id_h_volume)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_associate_volume_cell_measure) arglist(diag_cs, id_h_volume) [fd] fullname(mom_diag_mediator/diag_associate_volume_cell_measure) ftype(None) [fd] name(('mom_diag_mediator/diag_associate_volume_cell_measure', None)) sig(subroutine diag_associate_volume_cell_measure(diag_cs, id_h_volume)) signode(subroutine mom_diag_mediator/diag_associate_volume_cell_measurediag_csid_h_volume) [fd] run(.. f:function:: integer function diag_get_volume_cell_measure_dm_id(diag_cs)) [fd] sig(integer function diag_get_volume_cell_measure_dm_id(diag_cs)) [fd] ftype(integer) objtype(function) modname(None) typename() name(diag_get_volume_cell_measure_dm_id) arglist(diag_cs) [fd] fullname(mom_diag_mediator/diag_get_volume_cell_measure_dm_id) ftype(integer) [fd] name(('mom_diag_mediator/diag_get_volume_cell_measure_dm_id', 'integer')) sig(integer function diag_get_volume_cell_measure_dm_id(diag_cs)) signode(function mom_diag_mediator/diag_get_volume_cell_measure_dm_iddiag_cs [integer]) [fd] run(.. f:subroutine:: subroutine define_axes_group(diag_cs, handles, axes, nz, vertical_coordinate_number, x_cell_method, y_cell_method, v_cell_method, is_h_point, is_q_point, is_u_point, is_v_point, is_layer, is_interface, is_native, needs_remapping, needs_interpolating, xyave_axes)) [fd] sig(subroutine define_axes_group(diag_cs, handles, axes, nz, vertical_coordinate_number, x_cell_method, y_cell_method, v_cell_method, is_h_point, is_q_point, is_u_point, is_v_point, is_layer, is_interface, is_native, needs_remapping, needs_interpolating, xyave_axes)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(define_axes_group) arglist(diag_cs, handles, axes, nz, vertical_coordinate_number, x_cell_method, y_cell_method, v_cell_method, is_h_point, is_q_point, is_u_point, is_v_point, is_layer, is_interface, is_native, needs_remapping, needs_interpolating, xyave_axes) [fd] fullname(mom_diag_mediator/define_axes_group) ftype(None) [fd] name(('mom_diag_mediator/define_axes_group', None)) sig(subroutine define_axes_group(diag_cs, handles, axes, nz, vertical_coordinate_number, x_cell_method, y_cell_method, v_cell_method, is_h_point, is_q_point, is_u_point, is_v_point, is_layer, is_interface, is_native, needs_remapping, needs_interpolating, xyave_axes)) signode(subroutine mom_diag_mediator/define_axes_groupdiag_cshandlesaxesnzvertical_coordinate_numberx_cell_methody_cell_methodv_cell_methodis_h_pointis_q_pointis_u_pointis_v_pointis_layeris_interfaceis_nativeneeds_remappingneeds_interpolatingxyave_axes) [fd] run(.. f:subroutine:: subroutine define_axes_group_dsamp(diag_cs, handles, axes, dl, nz, vertical_coordinate_number, x_cell_method, y_cell_method, v_cell_method, is_h_point, is_q_point, is_u_point, is_v_point, is_layer, is_interface, is_native, needs_remapping, needs_interpolating, xyave_axes)) [fd] sig(subroutine define_axes_group_dsamp(diag_cs, handles, axes, dl, nz, vertical_coordinate_number, x_cell_method, y_cell_method, v_cell_method, is_h_point, is_q_point, is_u_point, is_v_point, is_layer, is_interface, is_native, needs_remapping, needs_interpolating, xyave_axes)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(define_axes_group_dsamp) arglist(diag_cs, handles, axes, dl, nz, vertical_coordinate_number, x_cell_method, y_cell_method, v_cell_method, is_h_point, is_q_point, is_u_point, is_v_point, is_layer, is_interface, is_native, needs_remapping, needs_interpolating, xyave_axes) [fd] fullname(mom_diag_mediator/define_axes_group_dsamp) ftype(None) [fd] name(('mom_diag_mediator/define_axes_group_dsamp', None)) sig(subroutine define_axes_group_dsamp(diag_cs, handles, axes, dl, nz, vertical_coordinate_number, x_cell_method, y_cell_method, v_cell_method, is_h_point, is_q_point, is_u_point, is_v_point, is_layer, is_interface, is_native, needs_remapping, needs_interpolating, xyave_axes)) signode(subroutine mom_diag_mediator/define_axes_group_dsampdiag_cshandlesaxesdlnzvertical_coordinate_numberx_cell_methody_cell_methodv_cell_methodis_h_pointis_q_pointis_u_pointis_v_pointis_layeris_interfaceis_nativeneeds_remappingneeds_interpolatingxyave_axes) [fd] run(.. f:subroutine:: subroutine set_diag_mediator_grid(G, diag_cs)) [fd] sig(subroutine set_diag_mediator_grid(G, diag_cs)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_diag_mediator_grid) arglist(G, diag_cs) [fd] fullname(mom_diag_mediator/set_diag_mediator_grid) ftype(None) [fd] name(('mom_diag_mediator/set_diag_mediator_grid', None)) sig(subroutine set_diag_mediator_grid(G, diag_cs)) signode(subroutine mom_diag_mediator/set_diag_mediator_gridGdiag_cs) [fd] run(.. f:subroutine:: subroutine post_data_0d(diag_field_id, field, diag_cs, is_static)) [fd] sig(subroutine post_data_0d(diag_field_id, field, diag_cs, is_static)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(post_data_0d) arglist(diag_field_id, field, diag_cs, is_static) [fd] fullname(mom_diag_mediator/post_data_0d) ftype(None) [fd] name(('mom_diag_mediator/post_data_0d', None)) sig(subroutine post_data_0d(diag_field_id, field, diag_cs, is_static)) signode(subroutine mom_diag_mediator/post_data_0ddiag_field_idfielddiag_csis_static) [fd] run(.. f:subroutine:: subroutine post_data_1d_k(diag_field_id, field, diag_cs, is_static)) [fd] sig(subroutine post_data_1d_k(diag_field_id, field, diag_cs, is_static)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(post_data_1d_k) arglist(diag_field_id, field, diag_cs, is_static) [fd] fullname(mom_diag_mediator/post_data_1d_k) ftype(None) [fd] name(('mom_diag_mediator/post_data_1d_k', None)) sig(subroutine post_data_1d_k(diag_field_id, field, diag_cs, is_static)) signode(subroutine mom_diag_mediator/post_data_1d_kdiag_field_idfielddiag_csis_static) [fd] run(.. f:subroutine:: subroutine post_data_2d(diag_field_id, field, diag_cs, is_static, mask)) [fd] sig(subroutine post_data_2d(diag_field_id, field, diag_cs, is_static, mask)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(post_data_2d) arglist(diag_field_id, field, diag_cs, is_static, mask) [fd] fullname(mom_diag_mediator/post_data_2d) ftype(None) [fd] name(('mom_diag_mediator/post_data_2d', None)) sig(subroutine post_data_2d(diag_field_id, field, diag_cs, is_static, mask)) signode(subroutine mom_diag_mediator/post_data_2ddiag_field_idfielddiag_csis_staticmask) [fd] run(.. f:subroutine:: subroutine post_data_2d_low(diag, field, diag_cs, is_static, mask)) [fd] sig(subroutine post_data_2d_low(diag, field, diag_cs, is_static, mask)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(post_data_2d_low) arglist(diag, field, diag_cs, is_static, mask) [fd] fullname(mom_diag_mediator/post_data_2d_low) ftype(None) [fd] name(('mom_diag_mediator/post_data_2d_low', None)) sig(subroutine post_data_2d_low(diag, field, diag_cs, is_static, mask)) signode(subroutine mom_diag_mediator/post_data_2d_lowdiagfielddiag_csis_staticmask) [fd] run(.. f:subroutine:: subroutine post_data_3d(diag_field_id, field, diag_cs, is_static, mask, alt_h)) [fd] sig(subroutine post_data_3d(diag_field_id, field, diag_cs, is_static, mask, alt_h)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(post_data_3d) arglist(diag_field_id, field, diag_cs, is_static, mask, alt_h) [fd] fullname(mom_diag_mediator/post_data_3d) ftype(None) [fd] name(('mom_diag_mediator/post_data_3d', None)) sig(subroutine post_data_3d(diag_field_id, field, diag_cs, is_static, mask, alt_h)) signode(subroutine mom_diag_mediator/post_data_3ddiag_field_idfielddiag_csis_staticmaskalt_h) [fd] run(.. f:subroutine:: subroutine post_data_3d_low(diag, field, diag_cs, is_static, mask)) [fd] sig(subroutine post_data_3d_low(diag, field, diag_cs, is_static, mask)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(post_data_3d_low) arglist(diag, field, diag_cs, is_static, mask) [fd] fullname(mom_diag_mediator/post_data_3d_low) ftype(None) [fd] name(('mom_diag_mediator/post_data_3d_low', None)) sig(subroutine post_data_3d_low(diag, field, diag_cs, is_static, mask)) signode(subroutine mom_diag_mediator/post_data_3d_lowdiagfielddiag_csis_staticmask) [fd] run(.. f:subroutine:: subroutine post_xy_average(diag_cs, diag, field)) [fd] sig(subroutine post_xy_average(diag_cs, diag, field)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(post_xy_average) arglist(diag_cs, diag, field) [fd] fullname(mom_diag_mediator/post_xy_average) ftype(None) [fd] name(('mom_diag_mediator/post_xy_average', None)) sig(subroutine post_xy_average(diag_cs, diag, field)) signode(subroutine mom_diag_mediator/post_xy_averagediag_csdiagfield) [fd] run(.. f:subroutine:: subroutine enable_averaging(time_int_in, time_end_in, diag_cs)) [fd] sig(subroutine enable_averaging(time_int_in, time_end_in, diag_cs)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(enable_averaging) arglist(time_int_in, time_end_in, diag_cs) [fd] fullname(mom_diag_mediator/enable_averaging) ftype(None) [fd] name(('mom_diag_mediator/enable_averaging', None)) sig(subroutine enable_averaging(time_int_in, time_end_in, diag_cs)) signode(subroutine mom_diag_mediator/enable_averagingtime_int_intime_end_indiag_cs) [fd] run(.. f:subroutine:: subroutine enable_averages(time_int, time_end, diag_CS, T_to_s)) [fd] sig(subroutine enable_averages(time_int, time_end, diag_CS, T_to_s)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(enable_averages) arglist(time_int, time_end, diag_CS, T_to_s) [fd] fullname(mom_diag_mediator/enable_averages) ftype(None) [fd] name(('mom_diag_mediator/enable_averages', None)) sig(subroutine enable_averages(time_int, time_end, diag_CS, T_to_s)) signode(subroutine mom_diag_mediator/enable_averagestime_inttime_enddiag_CST_to_s) [fd] run(.. f:subroutine:: subroutine disable_averaging(diag_cs)) [fd] sig(subroutine disable_averaging(diag_cs)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(disable_averaging) arglist(diag_cs) [fd] fullname(mom_diag_mediator/disable_averaging) ftype(None) [fd] name(('mom_diag_mediator/disable_averaging', None)) sig(subroutine disable_averaging(diag_cs)) signode(subroutine mom_diag_mediator/disable_averagingdiag_cs) [fd] run(.. f:function:: logical function query_averaging_enabled(diag_cs, time_int, time_end)) [fd] sig(logical function query_averaging_enabled(diag_cs, time_int, time_end)) [fd] ftype(logical) objtype(function) modname(None) typename() name(query_averaging_enabled) arglist(diag_cs, time_int, time_end) [fd] fullname(mom_diag_mediator/query_averaging_enabled) ftype(logical) [fd] name(('mom_diag_mediator/query_averaging_enabled', 'logical')) sig(logical function query_averaging_enabled(diag_cs, time_int, time_end)) signode(function mom_diag_mediator/query_averaging_enableddiag_cstime_inttime_end [logical]) [fd] run(.. f:function:: type(time_type) function get_diag_time_end(diag_cs)) [fd] sig(type(time_type) function get_diag_time_end(diag_cs)) [fd] ftype(type(time_type)) objtype(function) modname(None) typename() name(get_diag_time_end) arglist(diag_cs) [fd] fullname(mom_diag_mediator/get_diag_time_end) ftype(type(time_type)) [fd] name(('mom_diag_mediator/get_diag_time_end', 'type(time_type)')) sig(type(time_type) function get_diag_time_end(diag_cs)) signode(function mom_diag_mediator/get_diag_time_enddiag_cs [type(time_type)]) [fd] run(.. f:function:: integer function register_diag_field(module_name, field_name, axes_in, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, cell_methods, x_cell_method, y_cell_method, v_cell_method, conversion, v_extensive)) [fd] sig(integer function register_diag_field(module_name, field_name, axes_in, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, cell_methods, x_cell_method, y_cell_method, v_cell_method, conversion, v_extensive)) [fd] ftype(integer) objtype(function) modname(None) typename() name(register_diag_field) arglist(module_name, field_name, axes_in, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, cell_methods, x_cell_method, y_cell_method, v_cell_method, conversion, v_extensive) [fd] fullname(mom_diag_mediator/register_diag_field) ftype(integer) [fd] name(('mom_diag_mediator/register_diag_field', 'integer')) sig(integer function register_diag_field(module_name, field_name, axes_in, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, cell_methods, x_cell_method, y_cell_method, v_cell_method, conversion, v_extensive)) signode(function mom_diag_mediator/register_diag_fieldmodule_namefield_nameaxes_ininit_timelong_nameunitsmissing_valuerangemask_variantstandard_nameverbosedo_not_logerr_msginterp_methodtile_countcmor_field_namecmor_long_namecmor_unitscmor_standard_namecell_methodsx_cell_methody_cell_methodv_cell_methodconversionv_extensive [integer]) [fd] run(.. f:function:: logical function register_diag_field_expand_cmor(dm_id, module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, cell_methods, x_cell_method, y_cell_method, v_cell_method, conversion, v_extensive)) [fd] sig(logical function register_diag_field_expand_cmor(dm_id, module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, cell_methods, x_cell_method, y_cell_method, v_cell_method, conversion, v_extensive)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_diag_field_expand_cmor) arglist(dm_id, module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, cell_methods, x_cell_method, y_cell_method, v_cell_method, conversion, v_extensive) [fd] fullname(mom_diag_mediator/register_diag_field_expand_cmor) ftype(logical) [fd] name(('mom_diag_mediator/register_diag_field_expand_cmor', 'logical')) sig(logical function register_diag_field_expand_cmor(dm_id, module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, cell_methods, x_cell_method, y_cell_method, v_cell_method, conversion, v_extensive)) signode(function mom_diag_mediator/register_diag_field_expand_cmordm_idmodule_namefield_nameaxesinit_timelong_nameunitsmissing_valuerangemask_variantstandard_nameverbosedo_not_logerr_msginterp_methodtile_countcmor_field_namecmor_long_namecmor_unitscmor_standard_namecell_methodsx_cell_methody_cell_methodv_cell_methodconversionv_extensive [logical]) [fd] run(.. f:function:: integer function register_diag_field_expand_axes(module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count)) [fd] sig(integer function register_diag_field_expand_axes(module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count)) [fd] ftype(integer) objtype(function) modname(None) typename() name(register_diag_field_expand_axes) arglist(module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count) [fd] fullname(mom_diag_mediator/register_diag_field_expand_axes) ftype(integer) [fd] name(('mom_diag_mediator/register_diag_field_expand_axes', 'integer')) sig(integer function register_diag_field_expand_axes(module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count)) signode(function mom_diag_mediator/register_diag_field_expand_axesmodule_namefield_nameaxesinit_timelong_nameunitsmissing_valuerangemask_variantstandard_nameverbosedo_not_logerr_msginterp_methodtile_count [integer]) [fd] run(.. f:subroutine:: subroutine add_diag_to_list(diag_cs, dm_id, fms_id, this_diag, axes, module_name, field_name, msg)) [fd] sig(subroutine add_diag_to_list(diag_cs, dm_id, fms_id, this_diag, axes, module_name, field_name, msg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(add_diag_to_list) arglist(diag_cs, dm_id, fms_id, this_diag, axes, module_name, field_name, msg) [fd] fullname(mom_diag_mediator/add_diag_to_list) ftype(None) [fd] name(('mom_diag_mediator/add_diag_to_list', None)) sig(subroutine add_diag_to_list(diag_cs, dm_id, fms_id, this_diag, axes, module_name, field_name, msg)) signode(subroutine mom_diag_mediator/add_diag_to_listdiag_csdm_idfms_idthis_diagaxesmodule_namefield_namemsg) [fd] run(.. f:subroutine:: subroutine add_xyz_method(diag, axes, x_cell_method, y_cell_method, v_cell_method, v_extensive)) [fd] sig(subroutine add_xyz_method(diag, axes, x_cell_method, y_cell_method, v_cell_method, v_extensive)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(add_xyz_method) arglist(diag, axes, x_cell_method, y_cell_method, v_cell_method, v_extensive) [fd] fullname(mom_diag_mediator/add_xyz_method) ftype(None) [fd] name(('mom_diag_mediator/add_xyz_method', None)) sig(subroutine add_xyz_method(diag, axes, x_cell_method, y_cell_method, v_cell_method, v_extensive)) signode(subroutine mom_diag_mediator/add_xyz_methoddiagaxesx_cell_methody_cell_methodv_cell_methodv_extensive) [fd] run(.. f:subroutine:: subroutine attach_cell_methods(id, axes, ostring, cell_methods, x_cell_method, y_cell_method, v_cell_method, v_extensive)) [fd] sig(subroutine attach_cell_methods(id, axes, ostring, cell_methods, x_cell_method, y_cell_method, v_cell_method, v_extensive)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(attach_cell_methods) arglist(id, axes, ostring, cell_methods, x_cell_method, y_cell_method, v_cell_method, v_extensive) [fd] fullname(mom_diag_mediator/attach_cell_methods) ftype(None) [fd] name(('mom_diag_mediator/attach_cell_methods', None)) sig(subroutine attach_cell_methods(id, axes, ostring, cell_methods, x_cell_method, y_cell_method, v_cell_method, v_extensive)) signode(subroutine mom_diag_mediator/attach_cell_methodsidaxesostringcell_methodsx_cell_methody_cell_methodv_cell_methodv_extensive) [fd] run(.. f:function:: integer function register_scalar_field(module_name, field_name, init_time, diag_cs, long_name, units, missing_value, range, standard_name, do_not_log, err_msg, interp_method, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name)) [fd] sig(integer function register_scalar_field(module_name, field_name, init_time, diag_cs, long_name, units, missing_value, range, standard_name, do_not_log, err_msg, interp_method, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name)) [fd] ftype(integer) objtype(function) modname(None) typename() name(register_scalar_field) arglist(module_name, field_name, init_time, diag_cs, long_name, units, missing_value, range, standard_name, do_not_log, err_msg, interp_method, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name) [fd] fullname(mom_diag_mediator/register_scalar_field) ftype(integer) [fd] name(('mom_diag_mediator/register_scalar_field', 'integer')) sig(integer function register_scalar_field(module_name, field_name, init_time, diag_cs, long_name, units, missing_value, range, standard_name, do_not_log, err_msg, interp_method, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name)) signode(function mom_diag_mediator/register_scalar_fieldmodule_namefield_nameinit_timediag_cslong_nameunitsmissing_valuerangestandard_namedo_not_logerr_msginterp_methodcmor_field_namecmor_long_namecmor_unitscmor_standard_name [integer]) [fd] run(.. f:function:: integer function register_static_field(module_name, field_name, axes, long_name, units, missing_value, range, mask_variant, standard_name, do_not_log, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, area, x_cell_method, y_cell_method, area_cell_method, conversion)) [fd] sig(integer function register_static_field(module_name, field_name, axes, long_name, units, missing_value, range, mask_variant, standard_name, do_not_log, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, area, x_cell_method, y_cell_method, area_cell_method, conversion)) [fd] ftype(integer) objtype(function) modname(None) typename() name(register_static_field) arglist(module_name, field_name, axes, long_name, units, missing_value, range, mask_variant, standard_name, do_not_log, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, area, x_cell_method, y_cell_method, area_cell_method, conversion) [fd] fullname(mom_diag_mediator/register_static_field) ftype(integer) [fd] name(('mom_diag_mediator/register_static_field', 'integer')) sig(integer function register_static_field(module_name, field_name, axes, long_name, units, missing_value, range, mask_variant, standard_name, do_not_log, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, area, x_cell_method, y_cell_method, area_cell_method, conversion)) signode(function mom_diag_mediator/register_static_fieldmodule_namefield_nameaxeslong_nameunitsmissing_valuerangemask_variantstandard_namedo_not_loginterp_methodtile_countcmor_field_namecmor_long_namecmor_unitscmor_standard_nameareax_cell_methody_cell_methodarea_cell_methodconversion [integer]) [fd] run(.. f:subroutine:: subroutine describe_option(opt_name, value, diag_CS)) [fd] sig(subroutine describe_option(opt_name, value, diag_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(describe_option) arglist(opt_name, value, diag_CS) [fd] fullname(mom_diag_mediator/describe_option) ftype(None) [fd] name(('mom_diag_mediator/describe_option', None)) sig(subroutine describe_option(opt_name, value, diag_CS)) signode(subroutine mom_diag_mediator/describe_optionopt_namevaluediag_CS) [fd] run(.. f:function:: integer function ocean_register_diag(var_desc, G, diag_CS, day)) [fd] sig(integer function ocean_register_diag(var_desc, G, diag_CS, day)) [fd] ftype(integer) objtype(function) modname(None) typename() name(ocean_register_diag) arglist(var_desc, G, diag_CS, day) [fd] fullname(mom_diag_mediator/ocean_register_diag) ftype(integer) [fd] name(('mom_diag_mediator/ocean_register_diag', 'integer')) sig(integer function ocean_register_diag(var_desc, G, diag_CS, day)) signode(function mom_diag_mediator/ocean_register_diagvar_descGdiag_CSday [integer]) [fd] run(.. f:subroutine:: subroutine diag_mediator_infrastructure_init(err_msg)) [fd] sig(subroutine diag_mediator_infrastructure_init(err_msg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_mediator_infrastructure_init) arglist(err_msg) [fd] fullname(mom_diag_mediator/diag_mediator_infrastructure_init) ftype(None) [fd] name(('mom_diag_mediator/diag_mediator_infrastructure_init', None)) sig(subroutine diag_mediator_infrastructure_init(err_msg)) signode(subroutine mom_diag_mediator/diag_mediator_infrastructure_initerr_msg) [fd] run(.. f:subroutine:: subroutine diag_mediator_init(G, GV, US, nz, param_file, diag_cs, doc_file_dir)) [fd] sig(subroutine diag_mediator_init(G, GV, US, nz, param_file, diag_cs, doc_file_dir)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_mediator_init) arglist(G, GV, US, nz, param_file, diag_cs, doc_file_dir) [fd] fullname(mom_diag_mediator/diag_mediator_init) ftype(None) [fd] name(('mom_diag_mediator/diag_mediator_init', None)) sig(subroutine diag_mediator_init(G, GV, US, nz, param_file, diag_cs, doc_file_dir)) signode(subroutine mom_diag_mediator/diag_mediator_initGGVUSnzparam_filediag_csdoc_file_dir) [fd] run(.. f:subroutine:: subroutine diag_set_state_ptrs(h, T, S, eqn_of_state, diag_cs)) [fd] sig(subroutine diag_set_state_ptrs(h, T, S, eqn_of_state, diag_cs)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_set_state_ptrs) arglist(h, T, S, eqn_of_state, diag_cs) [fd] fullname(mom_diag_mediator/diag_set_state_ptrs) ftype(None) [fd] name(('mom_diag_mediator/diag_set_state_ptrs', None)) sig(subroutine diag_set_state_ptrs(h, T, S, eqn_of_state, diag_cs)) signode(subroutine mom_diag_mediator/diag_set_state_ptrshTSeqn_of_statediag_cs) [fd] run(.. f:subroutine:: subroutine diag_update_remap_grids(diag_cs, alt_h, alt_T, alt_S, update_intensive, update_extensive)) [fd] sig(subroutine diag_update_remap_grids(diag_cs, alt_h, alt_T, alt_S, update_intensive, update_extensive)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_update_remap_grids) arglist(diag_cs, alt_h, alt_T, alt_S, update_intensive, update_extensive) [fd] fullname(mom_diag_mediator/diag_update_remap_grids) ftype(None) [fd] name(('mom_diag_mediator/diag_update_remap_grids', None)) sig(subroutine diag_update_remap_grids(diag_cs, alt_h, alt_T, alt_S, update_intensive, update_extensive)) signode(subroutine mom_diag_mediator/diag_update_remap_gridsdiag_csalt_halt_Talt_Supdate_intensiveupdate_extensive) [fd] run(.. f:subroutine:: subroutine diag_masks_set(G, nz, diag_cs)) [fd] sig(subroutine diag_masks_set(G, nz, diag_cs)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_masks_set) arglist(G, nz, diag_cs) [fd] fullname(mom_diag_mediator/diag_masks_set) ftype(None) [fd] name(('mom_diag_mediator/diag_masks_set', None)) sig(subroutine diag_masks_set(G, nz, diag_cs)) signode(subroutine mom_diag_mediator/diag_masks_setGnzdiag_cs) [fd] run(.. f:subroutine:: subroutine diag_mediator_close_registration(diag_CS)) [fd] sig(subroutine diag_mediator_close_registration(diag_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_mediator_close_registration) arglist(diag_CS) [fd] fullname(mom_diag_mediator/diag_mediator_close_registration) ftype(None) [fd] name(('mom_diag_mediator/diag_mediator_close_registration', None)) sig(subroutine diag_mediator_close_registration(diag_CS)) signode(subroutine mom_diag_mediator/diag_mediator_close_registrationdiag_CS) [fd] run(.. f:subroutine:: subroutine diag_mediator_end(time, diag_CS, end_diag_manager)) [fd] sig(subroutine diag_mediator_end(time, diag_CS, end_diag_manager)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_mediator_end) arglist(time, diag_CS, end_diag_manager) [fd] fullname(mom_diag_mediator/diag_mediator_end) ftype(None) [fd] name(('mom_diag_mediator/diag_mediator_end', None)) sig(subroutine diag_mediator_end(time, diag_CS, end_diag_manager)) signode(subroutine mom_diag_mediator/diag_mediator_endtimediag_CSend_diag_manager) [fd] run(.. f:function:: character(len=15) function i2s(a, n_in)) [fd] sig(character(len=15) function i2s(a, n_in)) [fd] ftype(character(len=15)) objtype(function) modname(None) typename() name(i2s) arglist(a, n_in) [fd] fullname(mom_diag_mediator/i2s) ftype(character(len=15)) [fd] name(('mom_diag_mediator/i2s', 'character(len=15)')) sig(character(len=15) function i2s(a, n_in)) signode(function mom_diag_mediator/i2san_in [character(len=15)]) [fd] run(.. f:function:: integer function get_new_diag_id(diag_cs)) [fd] sig(integer function get_new_diag_id(diag_cs)) [fd] ftype(integer) objtype(function) modname(None) typename() name(get_new_diag_id) arglist(diag_cs) [fd] fullname(mom_diag_mediator/get_new_diag_id) ftype(integer) [fd] name(('mom_diag_mediator/get_new_diag_id', 'integer')) sig(integer function get_new_diag_id(diag_cs)) signode(function mom_diag_mediator/get_new_diag_iddiag_cs [integer]) [fd] run(.. f:subroutine:: subroutine initialize_diag_type(diag)) [fd] sig(subroutine initialize_diag_type(diag)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_diag_type) arglist(diag) [fd] fullname(mom_diag_mediator/initialize_diag_type) ftype(None) [fd] name(('mom_diag_mediator/initialize_diag_type', None)) sig(subroutine initialize_diag_type(diag)) signode(subroutine mom_diag_mediator/initialize_diag_typediag) [fd] run(.. f:subroutine:: subroutine alloc_diag_with_id(diag_id, diag_cs, diag)) [fd] sig(subroutine alloc_diag_with_id(diag_id, diag_cs, diag)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(alloc_diag_with_id) arglist(diag_id, diag_cs, diag) [fd] fullname(mom_diag_mediator/alloc_diag_with_id) ftype(None) [fd] name(('mom_diag_mediator/alloc_diag_with_id', None)) sig(subroutine alloc_diag_with_id(diag_id, diag_cs, diag)) signode(subroutine mom_diag_mediator/alloc_diag_with_iddiag_iddiag_csdiag) [fd] run(.. f:subroutine:: subroutine log_available_diag(used, module_name, field_name, cell_methods_string, comment, diag_CS, long_name, units, standard_name)) [fd] sig(subroutine log_available_diag(used, module_name, field_name, cell_methods_string, comment, diag_CS, long_name, units, standard_name)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(log_available_diag) arglist(used, module_name, field_name, cell_methods_string, comment, diag_CS, long_name, units, standard_name) [fd] fullname(mom_diag_mediator/log_available_diag) ftype(None) [fd] name(('mom_diag_mediator/log_available_diag', None)) sig(subroutine log_available_diag(used, module_name, field_name, cell_methods_string, comment, diag_CS, long_name, units, standard_name)) signode(subroutine mom_diag_mediator/log_available_diagusedmodule_namefield_namecell_methods_stringcommentdiag_CSlong_nameunitsstandard_name) [fd] run(.. f:subroutine:: subroutine log_chksum_diag(docunit, description, chksum)) [fd] sig(subroutine log_chksum_diag(docunit, description, chksum)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(log_chksum_diag) arglist(docunit, description, chksum) [fd] fullname(mom_diag_mediator/log_chksum_diag) ftype(None) [fd] name(('mom_diag_mediator/log_chksum_diag', None)) sig(subroutine log_chksum_diag(docunit, description, chksum)) signode(subroutine mom_diag_mediator/log_chksum_diagdocunitdescriptionchksum) [fd] run(.. f:subroutine:: subroutine diag_grid_storage_init(grid_storage, G, diag)) [fd] sig(subroutine diag_grid_storage_init(grid_storage, G, diag)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_grid_storage_init) arglist(grid_storage, G, diag) [fd] fullname(mom_diag_mediator/diag_grid_storage_init) ftype(None) [fd] name(('mom_diag_mediator/diag_grid_storage_init', None)) sig(subroutine diag_grid_storage_init(grid_storage, G, diag)) signode(subroutine mom_diag_mediator/diag_grid_storage_initgrid_storageGdiag) [fd] run(.. f:subroutine:: subroutine diag_copy_diag_to_storage(grid_storage, h_state, diag)) [fd] sig(subroutine diag_copy_diag_to_storage(grid_storage, h_state, diag)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_copy_diag_to_storage) arglist(grid_storage, h_state, diag) [fd] fullname(mom_diag_mediator/diag_copy_diag_to_storage) ftype(None) [fd] name(('mom_diag_mediator/diag_copy_diag_to_storage', None)) sig(subroutine diag_copy_diag_to_storage(grid_storage, h_state, diag)) signode(subroutine mom_diag_mediator/diag_copy_diag_to_storagegrid_storageh_statediag) [fd] run(.. f:subroutine:: subroutine diag_copy_storage_to_diag(diag, grid_storage)) [fd] sig(subroutine diag_copy_storage_to_diag(diag, grid_storage)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_copy_storage_to_diag) arglist(diag, grid_storage) [fd] fullname(mom_diag_mediator/diag_copy_storage_to_diag) ftype(None) [fd] name(('mom_diag_mediator/diag_copy_storage_to_diag', None)) sig(subroutine diag_copy_storage_to_diag(diag, grid_storage)) signode(subroutine mom_diag_mediator/diag_copy_storage_to_diagdiaggrid_storage) [fd] run(.. f:subroutine:: subroutine diag_save_grids(diag)) [fd] sig(subroutine diag_save_grids(diag)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_save_grids) arglist(diag) [fd] fullname(mom_diag_mediator/diag_save_grids) ftype(None) [fd] name(('mom_diag_mediator/diag_save_grids', None)) sig(subroutine diag_save_grids(diag)) signode(subroutine mom_diag_mediator/diag_save_gridsdiag) [fd] run(.. f:subroutine:: subroutine diag_restore_grids(diag)) [fd] sig(subroutine diag_restore_grids(diag)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_restore_grids) arglist(diag) [fd] fullname(mom_diag_mediator/diag_restore_grids) ftype(None) [fd] name(('mom_diag_mediator/diag_restore_grids', None)) sig(subroutine diag_restore_grids(diag)) signode(subroutine mom_diag_mediator/diag_restore_gridsdiag) [fd] run(.. f:subroutine:: subroutine diag_grid_storage_end(grid_storage)) [fd] sig(subroutine diag_grid_storage_end(grid_storage)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_grid_storage_end) arglist(grid_storage) [fd] fullname(mom_diag_mediator/diag_grid_storage_end) ftype(None) [fd] name(('mom_diag_mediator/diag_grid_storage_end', None)) sig(subroutine diag_grid_storage_end(grid_storage)) signode(subroutine mom_diag_mediator/diag_grid_storage_endgrid_storage) [fd] run(.. f:subroutine:: subroutine downsample_diag_masks_set(G, nz, diag_cs)) [fd] sig(subroutine downsample_diag_masks_set(G, nz, diag_cs)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(downsample_diag_masks_set) arglist(G, nz, diag_cs) [fd] fullname(mom_diag_mediator/downsample_diag_masks_set) ftype(None) [fd] name(('mom_diag_mediator/downsample_diag_masks_set', None)) sig(subroutine downsample_diag_masks_set(G, nz, diag_cs)) signode(subroutine mom_diag_mediator/downsample_diag_masks_setGnzdiag_cs) [fd] run(.. f:subroutine:: subroutine downsample_diag_indices_get(fo1, fo2, dl, diag_cs, isv, iev, jsv, jev)) [fd] sig(subroutine downsample_diag_indices_get(fo1, fo2, dl, diag_cs, isv, iev, jsv, jev)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(downsample_diag_indices_get) arglist(fo1, fo2, dl, diag_cs, isv, iev, jsv, jev) [fd] fullname(mom_diag_mediator/downsample_diag_indices_get) ftype(None) [fd] name(('mom_diag_mediator/downsample_diag_indices_get', None)) sig(subroutine downsample_diag_indices_get(fo1, fo2, dl, diag_cs, isv, iev, jsv, jev)) signode(subroutine mom_diag_mediator/downsample_diag_indices_getfo1fo2dldiag_csisvievjsvjev) [fd] run(.. f:subroutine:: subroutine downsample_diag_field_3d(locfield, locfield_dsamp, dl, diag_cs, diag, isv, iev, jsv, jev, mask)) [fd] sig(subroutine downsample_diag_field_3d(locfield, locfield_dsamp, dl, diag_cs, diag, isv, iev, jsv, jev, mask)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(downsample_diag_field_3d) arglist(locfield, locfield_dsamp, dl, diag_cs, diag, isv, iev, jsv, jev, mask) [fd] fullname(mom_diag_mediator/downsample_diag_field_3d) ftype(None) [fd] name(('mom_diag_mediator/downsample_diag_field_3d', None)) sig(subroutine downsample_diag_field_3d(locfield, locfield_dsamp, dl, diag_cs, diag, isv, iev, jsv, jev, mask)) signode(subroutine mom_diag_mediator/downsample_diag_field_3dlocfieldlocfield_dsampdldiag_csdiagisvievjsvjevmask) [fd] run(.. f:subroutine:: subroutine downsample_diag_field_2d(locfield, locfield_dsamp, dl, diag_cs, diag, isv, iev, jsv, jev, mask)) [fd] sig(subroutine downsample_diag_field_2d(locfield, locfield_dsamp, dl, diag_cs, diag, isv, iev, jsv, jev, mask)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(downsample_diag_field_2d) arglist(locfield, locfield_dsamp, dl, diag_cs, diag, isv, iev, jsv, jev, mask) [fd] fullname(mom_diag_mediator/downsample_diag_field_2d) ftype(None) [fd] name(('mom_diag_mediator/downsample_diag_field_2d', None)) sig(subroutine downsample_diag_field_2d(locfield, locfield_dsamp, dl, diag_cs, diag, isv, iev, jsv, jev, mask)) signode(subroutine mom_diag_mediator/downsample_diag_field_2dlocfieldlocfield_dsampdldiag_csdiagisvievjsvjevmask) [fd] run(.. f:subroutine:: subroutine downsample_field_3d(field_in, field_out, dl, method, mask, diag_cs, diag, isv_o, jsv_o, isv_d, iev_d, jsv_d, jev_d)) [fd] sig(subroutine downsample_field_3d(field_in, field_out, dl, method, mask, diag_cs, diag, isv_o, jsv_o, isv_d, iev_d, jsv_d, jev_d)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(downsample_field_3d) arglist(field_in, field_out, dl, method, mask, diag_cs, diag, isv_o, jsv_o, isv_d, iev_d, jsv_d, jev_d) [fd] fullname(mom_diag_mediator/downsample_field_3d) ftype(None) [fd] name(('mom_diag_mediator/downsample_field_3d', None)) sig(subroutine downsample_field_3d(field_in, field_out, dl, method, mask, diag_cs, diag, isv_o, jsv_o, isv_d, iev_d, jsv_d, jev_d)) signode(subroutine mom_diag_mediator/downsample_field_3dfield_infield_outdlmethodmaskdiag_csdiagisv_ojsv_oisv_diev_djsv_djev_d) [fd] run(.. f:subroutine:: subroutine downsample_field_2d(field_in, field_out, dl, method, mask, diag_cs, diag, isv_o, jsv_o, isv_d, iev_d, jsv_d, jev_d)) [fd] sig(subroutine downsample_field_2d(field_in, field_out, dl, method, mask, diag_cs, diag, isv_o, jsv_o, isv_d, iev_d, jsv_d, jev_d)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(downsample_field_2d) arglist(field_in, field_out, dl, method, mask, diag_cs, diag, isv_o, jsv_o, isv_d, iev_d, jsv_d, jev_d) [fd] fullname(mom_diag_mediator/downsample_field_2d) ftype(None) [fd] name(('mom_diag_mediator/downsample_field_2d', None)) sig(subroutine downsample_field_2d(field_in, field_out, dl, method, mask, diag_cs, diag, isv_o, jsv_o, isv_d, iev_d, jsv_d, jev_d)) signode(subroutine mom_diag_mediator/downsample_field_2dfield_infield_outdlmethodmaskdiag_csdiagisv_ojsv_oisv_diev_djsv_djev_d) [fd] run(.. f:subroutine:: subroutine downsample_mask_2d(field_in, field_out, dl, isc_o, jsc_o, isc_d, iec_d, jsc_d, jec_d, isd_d, ied_d, jsd_d, jed_d)) [fd] sig(subroutine downsample_mask_2d(field_in, field_out, dl, isc_o, jsc_o, isc_d, iec_d, jsc_d, jec_d, isd_d, ied_d, jsd_d, jed_d)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(downsample_mask_2d) arglist(field_in, field_out, dl, isc_o, jsc_o, isc_d, iec_d, jsc_d, jec_d, isd_d, ied_d, jsd_d, jed_d) [fd] fullname(mom_diag_mediator/downsample_mask_2d) ftype(None) [fd] name(('mom_diag_mediator/downsample_mask_2d', None)) sig(subroutine downsample_mask_2d(field_in, field_out, dl, isc_o, jsc_o, isc_d, iec_d, jsc_d, jec_d, isd_d, ied_d, jsd_d, jed_d)) signode(subroutine mom_diag_mediator/downsample_mask_2dfield_infield_outdlisc_ojsc_oisc_diec_djsc_djec_disd_died_djsd_djed_d) [fd] run(.. f:subroutine:: subroutine downsample_mask_3d(field_in, field_out, dl, isc_o, jsc_o, isc_d, iec_d, jsc_d, jec_d, isd_d, ied_d, jsd_d, jed_d)) [fd] sig(subroutine downsample_mask_3d(field_in, field_out, dl, isc_o, jsc_o, isc_d, iec_d, jsc_d, jec_d, isd_d, ied_d, jsd_d, jed_d)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(downsample_mask_3d) arglist(field_in, field_out, dl, isc_o, jsc_o, isc_d, iec_d, jsc_d, jec_d, isd_d, ied_d, jsd_d, jed_d) [fd] fullname(mom_diag_mediator/downsample_mask_3d) ftype(None) [fd] name(('mom_diag_mediator/downsample_mask_3d', None)) sig(subroutine downsample_mask_3d(field_in, field_out, dl, isc_o, jsc_o, isc_d, iec_d, jsc_d, jec_d, isd_d, ied_d, jsd_d, jed_d)) signode(subroutine mom_diag_mediator/downsample_mask_3dfield_infield_outdlisc_ojsc_oisc_diec_djsc_djec_disd_died_djsd_djed_d) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 26%] api/generated/modules/mom_diag_remap [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_diag_rem [app] emitting event: 'source-read'('api/generated/modules/mom_diag_remap', ['.. autodoxymodule:: mom_diag_remap\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_diag_remap.rst:1: input: .. autodoxymodule:: mom_diag_remap :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_diag_remap::diag_remap_ctrl --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_diag_remap::diag_remap_init ~mom_diag_remap::diag_remap_end ~mom_diag_remap::diag_remap_diag_registration_closed ~mom_diag_remap::diag_remap_set_active ~mom_diag_remap::diag_remap_configure_axes ~mom_diag_remap::diag_remap_get_axes_info ~mom_diag_remap::diag_remap_axes_configured ~mom_diag_remap::diag_remap_update ~mom_diag_remap::diag_remap_do_remap ~mom_diag_remap::diag_remap_calc_hmask ~mom_diag_remap::vertically_reintegrate_diag_field ~mom_diag_remap::vertically_interpolate_diag_field ~mom_diag_remap::horizontally_average_diag_field [debug] xpath(./compounddef/compoundname[text()="mom_diag_remap"]/..) match([('id', 'namespacemom__diag__remap'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_diag_remap module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_remap', , {'members': , {'members': ]) [debug] ref([('id', 'structmom__diag__remap_1_1diag__remap__ctrl'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] kind(type) real_name() node_name(None) [debug] method=visit_orderedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__diag__remap_1a3a3c0c9aaae22cbd2390eb42feafd622) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__remap_1a3a3c0c9aaae22cbd2390eb42feafd622'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_remap::diag_remap_init) node_name(None) [debug] method=visit_ref [debug] refid(structmom__diag__remap_1_1diag__remap__ctrl) kindref(compound) ref([]) [debug] ref([('id', 'structmom__diag__remap_1_1diag__remap__ctrl'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] kind(type) real_name() node_name(None) [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__diag__remap_1a0f3324e591a16e1ef6e3fc7b9f800270) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__remap_1a0f3324e591a16e1ef6e3fc7b9f800270'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_remap::diag_remap_configure_axes) node_name(None) [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__diag__remap_1aaaa62e290958a9364ffd3d73825ce3f2) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__remap_1aaaa62e290958a9364ffd3d73825ce3f2'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_remap::diag_remap_get_axes_info) node_name(None) [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__diag__remap_1aaa0a887dc724438845e88598d439b20a) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__remap_1aaa0a887dc724438845e88598d439b20a'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_remap::diag_remap_update) node_name(None) [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__diag__remap_1a125ada6654d47c8d9750b620cdd0af7c) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__remap_1a125ada6654d47c8d9750b620cdd0af7c'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_remap::diag_remap_do_remap) node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_remap', , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_diag_remap' (exception was: ModuleNotFoundError("No module named 'mom_diag_remap'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_diag_remap::diag_remap_ctrl', , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_remap::diag_remap_ctrl', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_remap::diag_remap_ctrl', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_remap::diag_remap_ctrl', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_remap::diag_remap_ctrl', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_remap::diag_remap_ctrl', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_remap::diag_remap_ctrl', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_remap::diag_remap_ctrl', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_remap::diag_remap_ctrl', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_remap::diag_remap_ctrl', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_remap::diag_remap_ctrl', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_remap::diag_remap_ctrl', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_remap::diag_remap_ctrl', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_remap::diag_remap_ctrl', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_remap::diag_remap_ctrl', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_remap::diag_remap_ctrl', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diag_remap::diag_remap_ctrl', , {'members': [debug] members([('diag_remap_init', ), ('diag_remap_end', ), ('diag_remap_diag_registration_closed', ), ('diag_remap_set_active', ), ('diag_remap_configure_axes', ), ('diag_remap_get_axes_info', ), ('diag_remap_axes_configured', ), ('diag_remap_update', ), ('diag_remap_do_remap', ), ('diag_remap_calc_hmask', ), ('vertically_reintegrate_diag_field', ), ('vertically_interpolate_diag_field', ), ('horizontally_average_diag_field', )]) [autodoc] module analyzer failed: error importing 'mom_diag_remap' (exception was: ModuleNotFoundError("No module named 'mom_diag_remap'")) [debug] DoxygenMethodDocumenter format_signature called ((remap_cs, coord_tuple, answers_2018)) [debug] add_directive_header sig((remap_cs, coord_tuple, answers_2018)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine diag_remap_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diag_remap_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diag_remap_diag_registration_closed', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diag_remap_diag_registration_closed', , {'membe [autodoc] module analyzer failed: error importing 'mom_diag_remap' (exception was: ModuleNotFoundError("No module named 'mom_diag_remap'")) [debug] DoxygenMethodDocumenter format_signature called ((remap_cs)) [debug] add_directive_header sig((remap_cs)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine diag_remap_set_active) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diag_remap_set_active', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__remap_1a0f3324e591a16e1ef6e3fc7b9f800270'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_remap::diag_remap_configure_axes) node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diag_remap_axes_configured', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'vertically_reintegrate_diag_field', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'vertically_reintegrate_diag_field', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'vertically_reintegrate_diag_field', , {'members [autodoc] module analyzer failed: error importing 'mom_diag_remap' (exception was: ModuleNotFoundError("No module named 'mom_diag_remap'")) [debug] DoxygenMethodDocumenter format_signature called ((remap_cs, G, h, staggered_in_x, staggered_in_y, mask, field, interpolated_field)) [debug] add_directive_header sig((remap_cs, G, h, staggered_in_x, staggered_in_y, mask, field, interpolated_field)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine vertically_interpolate_diag_field) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'vertically_interpolate_diag_field', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'vertically_interpolate_diag_field', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'vertically_interpolate_diag_field', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'vertically_interpolate_diag_field', , {'members [autodoc] module analyzer failed: error importing 'mom_diag_remap' (exception was: ModuleNotFoundError("No module named 'mom_diag_remap'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, h, staggered_in_x, staggered_in_y, is_layer, is_extensive, field, averaged_field, averaged_mask)) [debug] add_directive_header sig((G, GV, h, staggered_in_x, staggered_in_y, is_layer, is_extensive, field, averaged_field, averaged_mask)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine horizontally_average_diag_field) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'horizontally_average_diag_field', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'horizontally_average_diag_field', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'horizontally_average_diag_field', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'horizontally_average_diag_field', , {'members': [autodoc] output: =============================== mom_diag_remap module reference =============================== .. f:module:: mom_diag_remap provides runtime remapping of diagnostics to z star, sigma and rho vertical coordinates. `More... `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_diag_remap::diag_remap_ctrl --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_diag_remap::diag_remap_init ~mom_diag_remap::diag_remap_end ~mom_diag_remap::diag_remap_diag_registration_closed ~mom_diag_remap::diag_remap_set_active ~mom_diag_remap::diag_remap_configure_axes ~mom_diag_remap::diag_remap_get_axes_info ~mom_diag_remap::diag_remap_axes_configured ~mom_diag_remap::diag_remap_update ~mom_diag_remap::diag_remap_do_remap ~mom_diag_remap::diag_remap_calc_hmask ~mom_diag_remap::vertically_reintegrate_diag_field ~mom_diag_remap::vertically_interpolate_diag_field ~mom_diag_remap::horizontally_average_diag_field .. _DETAmom_diag_remap: -------------------- Detailed Description -------------------- The :f:func:`diag_remap_ctrl` type represents a remapping of diagnostics to a particular vertical coordinate. The module is used by the diag mediator module in the following way:type represents a remapping of diagnostics to a particular vertical coordinate. The module is used by the diag mediator module in the following way: #. :f:func:`diag_remap_init() ` is called to initialize a is called to initialize a :f:func:`diag_remap_ctrl` instance.instance. #. :f:func:`diag_remap_configure_axes() ` is called to read the configuration file and set up the vertical coordinate / axes definitions.is called to read the configuration file and set up the vertical coordinate / axes definitions. #. :f:func:`diag_remap_get_axes_info() ` returns information needed for the diag mediator to define new axes for the remapped diagnostics.returns information needed for the diag mediator to define new axes for the remapped diagnostics. #. :f:func:`diag_remap_update() ` is called periodically (whenever h, T or S change) to either create or update the target remapping grids.is called periodically (whenever h, T or S change) to either create or update the target remapping grids. #. :f:func:`diag_remap_do_remap() ` is called from within a diag post() to do the remapping before the diagnostic is written out. is called from within a diag post() to do the remapping before the diagnostic is written out. ------------------ Type Documentation ------------------ .. f:type:: diag_remap_ctrl Represents remapping of diagnostics to a particular vertical coordinate. :typefield logical configured [private]: Whether vertical coordinate has been configured. :typefield logical initialized [private]: Whether remappping initialized. :typefield logical used [private]: Whether this coordinate actually gets used. :typefield integer vertical_coord [private]: The vertical coordinate that we remap to. :typefield character (len=10) vertical_coord_name [private]: The coordinate name as understood by ALE. :typefield character (len=16) diag_coord_name [private]: A name for the purpose of run-time parameters. :typefield character (len=8) diag_module_suffix [private]: The suffix for the module to appear in diag_table. :typefield type(remapping_cs) remap_cs [private]: Remapping control structure use for this axes. :typefield type(regridding_cs) regrid_cs [private]: Regridding control structure that defines the coordinates for this axes. :typefield integer nz [private]: Number of vertical levels used for remapping. :typefield real(\:,\:,\:) h [allocatable, private]: Remap grid thicknesses [H ~> m or kg m-2]. :typefield real(\:,\:,\:) h_extensive [allocatable, private]: Remap grid thicknesses for extensive variables [H ~> m or kg m-2]. :typefield integer interface_axes_id [private]: Vertical axes id for remapping at interfaces. :typefield integer layer_axes_id [private]: Vertical axes id for remapping on layers. :typefield logical answers_2018 [private]: If true, use the order of arithmetic and expressions for remapping that recover the answers from the end of 2018. Otherwise, use updated more robust forms of the same expressions. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine diag_remap_init(remap_cs, coord_tuple, answers_2018) Initialize a diagnostic remapping type with the given vertical coordinate. :param remap_cs: [inout] Diag remapping control structure :param coord_tuple: [in] A string in form of MODULE_SUFFIX PARAMETER_SUFFIX COORDINATE_NAME :param answers_2018: [in] If true, use the order of arithmetic and expressions for remapping that recover the answers from the end of 2018. Otherwise, use more robust forms of the same expressions. :callto: :f:func:`regrid_consts::coordinatemode ` :callto: :f:func:`mom_string_functions::extractword ` .. f:subroutine:: subroutine diag_remap_end(remap_cs) De-init a diagnostic remapping type. Free allocated memory. :param remap_cs: [inout] Diag remapping control structure :calledfrom: :f:func:`diag_remap_diag_registration_closed ` .. f:subroutine:: subroutine diag_remap_diag_registration_closed(remap_cs) Inform that all diagnostics have been registered. If _set_active() has not been called on the remapping control structure will be disabled. This saves time in the case that a vertical coordinate was configured but no diagnostics which use the coordinate appeared in the diag_table. :param remap_cs: [inout] Diag remapping control structure :callto: :f:func:`diag_remap_end ` .. f:subroutine:: subroutine diag_remap_set_active(remap_cs) Indicate that this remapping type is actually used by the diag manager. If this is never called then the type will be disabled to save time. See further explanation with diag_remap_registration_closed. :param remap_cs: [inout] Diag remapping control structure .. f:subroutine:: subroutine diag_remap_configure_axes(remap_cs, GV, US, param_file) Configure the vertical axes for a diagnostic remapping control structure. Reads a configuration parameters to determine coordinate generation. :param remap_cs: [inout] Diag remap control structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] Parameter file structure :callto: :f:func:`regrid_consts::coordinatemode ` :callto: :f:func:`mom_string_functions::lowercase ` .. f:subroutine:: subroutine diag_remap_get_axes_info(remap_cs, nz, id_layer, id_interface) Get layer and interface axes ids for this coordinate Needed when defining axes groups. :param remap_cs: [in] Diagnostic coordinate control structure :param nz: [out] Number of vertical levels for the coordinate :param id_layer: [out] 1D-axes id for layer points :param id_interface: [out] 1D-axes id for interface points .. f:function:: logical function diag_remap_axes_configured(remap_cs) Whether or not the axes for this vertical coordinated has been configured. Configuration is complete when :f:func:`diag_remap_configure_axes() ` has been successfully called. has been successfully called. :param remap_cs: [in] Diagnostic coordinate control structure .. f:subroutine:: subroutine diag_remap_update(remap_cs, G, GV, US, h, T, S, eqn_of_state, h_target) Build/update target vertical grids for diagnostic remapping. :param remap_cs: [inout] Diagnostic coordinate control structure :param g: The ocean's grid type :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] New thickness [H ~> m or kg m-2] :param t: [in] New temperatures [degC] :param s: [in] New salinities [ppt] :param eqn_of_state: A pointer to the equation of state :param h_target: [inout] The new diagnostic thicknesses [H ~> m or kg m-2] :callto: :f:func:`coord_rho::build_rho_column ` :callto: :f:func:`coord_sigma::build_sigma_column ` :callto: :f:func:`coord_zlike::build_zstar_column ` :callto: :f:func:`regrid_consts::coordinatemode ` :callto: :f:func:`mom_regridding::get_rho_cs ` :callto: :f:func:`mom_regridding::get_sigma_cs ` :callto: :f:func:`mom_regridding::get_zlike_cs ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine diag_remap_do_remap(remap_cs, G, GV, h, staggered_in_x, staggered_in_y, mask, field, remapped_field) Remap diagnostic field to alternative vertical grid. :param remap_cs: [in] Diagnostic coodinate control structure :param g: [in] Ocean grid structure :param gv: [in] ocean vertical grid structure :param h: [in] The current thicknesses [H ~> m or kg m-2] :param staggered_in_x: [in] True is the x-axis location is at u or q points :param staggered_in_y: [in] True is the y-axis location is at v or q points :param mask: A mask for the field [nondim] :param field: [in] The diagnostic field to be remapped [A] :param remapped_field: [inout] Field remapped to new coordinate [A] :callto: :f:func:`mom_error_handler::assert ` :callto: :f:func:`mom_remapping::remapping_core_h ` .. f:subroutine:: subroutine diag_remap_calc_hmask(remap_cs, G, mask) Calculate masks for target grid. :param remap_cs: [in] Diagnostic coodinate control structure :param g: [in] Ocean grid structure :param mask: [out] h-point mask for target grid [nondim] :callto: :f:func:`mom_error_handler::assert ` :callto: :f:func:`regrid_consts::coordinatemode ` .. f:subroutine:: subroutine vertically_reintegrate_diag_field(remap_cs, G, h, h_target, staggered_in_x, staggered_in_y, mask, field, reintegrated_field) Vertically re-grid an already vertically-integrated diagnostic field to alternative vertical grid. :param remap_cs: [in] Diagnostic coodinate control structure :param g: [in] Ocean grid structure :param h: [in] The thicknesses of the source grid [H ~> m or kg m-2] :param h_target: [in] The thicknesses of the target grid [H ~> m or kg m-2] :param staggered_in_x: [in] True is the x-axis location is at u or q points :param staggered_in_y: [in] True is the y-axis location is at v or q points :param mask: A mask for the field [nondim] :param field: [in] The diagnostic field to be remapped [A] :param reintegrated_field: [inout] Field argument remapped to alternative coordinate [A] :callto: :f:func:`mom_error_handler::assert ` :callto: :f:func:`mom_diag_vkernels::reintegrate_column ` .. f:subroutine:: subroutine vertically_interpolate_diag_field(remap_cs, G, h, staggered_in_x, staggered_in_y, mask, field, interpolated_field) Vertically interpolate diagnostic field to alternative vertical grid. :param remap_cs: [in] Diagnostic coodinate control structure :param g: [in] Ocean grid structure :param h: [in] The current thicknesses [H ~> m or kg m-2] :param staggered_in_x: [in] True is the x-axis location is at u or q points :param staggered_in_y: [in] True is the y-axis location is at v or q points :param mask: A mask for the field [nondim] :param field: [in] The diagnostic field to be remapped [A] :param interpolated_field: [inout] Field argument remapped to alternative coordinate [A] :callto: :f:func:`mom_error_handler::assert ` :callto: :f:func:`mom_diag_vkernels::interpolate_column ` .. f:subroutine:: subroutine horizontally_average_diag_field(G, GV, h, staggered_in_x, staggered_in_y, is_layer, is_extensive, field, averaged_field, averaged_mask) Horizontally average field. :param g: [in] Ocean grid structure :param gv: [in] The ocean vertical grid structure :param h: [in] The current thicknesses [H ~> m or kg m-2] :param staggered_in_x: [in] True if the x-axis location is at u or q points :param staggered_in_y: [in] True if the y-axis location is at v or q points :param is_layer: [in] True if the z-axis location is at h points :param is_extensive: [in] True if the z-direction is spatially integrated (over layers) :param field: [in] The diagnostic field to be remapped [A] :param averaged_field: [inout] Field argument horizontally averaged [A] :param averaged_mask: [inout] Mask for horizontally averaged field [nondim] :callto: :f:func:`mom_error_handler::assert ` :calledfrom: :f:func:`mom_diag_mediator::post_xy_average ` [debug] xpath(./compounddef/compoundname[text()="mom_diag_remap::diag_remap_ctrl"]/..) match([('id', 'structmom__diag__remap_1_1diag__remap__ctrl'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_remap::diag_remap_ctrl', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_remap::diag_remap_ctrl', , {}, ['`Mo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_remap::diag_remap_ctrl', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((remap_cs, coord_tuple, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_init', , {}, ['', 'I [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_init', , {}, ['', 'I [debug] DoxygenMethodDocumenter format_signature called ((remap_cs)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_end', , {}, ['', 'De [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_end', , {}, ['', 'De [debug] DoxygenMethodDocumenter format_signature called ((remap_cs)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_diag_registration_closed', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_set_active', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((remap_cs, GV, US, param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_configure_axes', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_configure_axes', , { [debug] DoxygenMethodDocumenter format_signature called ((remap_cs, nz, id_layer, id_interface)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_get_axes_info', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_get_axes_info', , {} [debug] DoxygenMethodDocumenter format_signature called ((remap_cs)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__diag__remap_1a0f3324e591a16e1ef6e3fc7b9f800270) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__remap_1a0f3324e591a16e1ef6e3fc7b9f800270'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_remap::diag_remap_configure_axes) node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_axes_configured', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_axes_configured', , [debug] DoxygenMethodDocumenter format_signature called ((remap_cs, G, GV, US, h, T, S, eqn_of_state, h_target)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_update', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_update', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((remap_cs, G, GV, h, staggered_in_x, staggered_in_y, mask, field, remapped_field)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_do_remap', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_do_remap', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((remap_cs, G, mask)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_calc_hmask', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::diag_remap_calc_hmask', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((remap_cs, G, h, h_target, staggered_in_x, staggered_in_y, mask, field, reintegrated_field)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_remap::vertically_reintegrate_diag_field', type mom_diag_remap/diag_remap_ctrl) [fd] run(.. f:subroutine:: subroutine diag_remap_init(remap_cs, coord_tuple, answers_2018)) [fd] sig(subroutine diag_remap_init(remap_cs, coord_tuple, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_remap_init) arglist(remap_cs, coord_tuple, answers_2018) [fd] fullname(mom_diag_remap/diag_remap_init) ftype(None) [fd] name(('mom_diag_remap/diag_remap_init', None)) sig(subroutine diag_remap_init(remap_cs, coord_tuple, answers_2018)) signode(subroutine mom_diag_remap/diag_remap_initremap_cscoord_tupleanswers_2018) [fd] run(.. f:subroutine:: subroutine diag_remap_end(remap_cs)) [fd] sig(subroutine diag_remap_end(remap_cs)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_remap_end) arglist(remap_cs) [fd] fullname(mom_diag_remap/diag_remap_end) ftype(None) [fd] name(('mom_diag_remap/diag_remap_end', None)) sig(subroutine diag_remap_end(remap_cs)) signode(subroutine mom_diag_remap/diag_remap_endremap_cs) [fd] run(.. f:subroutine:: subroutine diag_remap_diag_registration_closed(remap_cs)) [fd] sig(subroutine diag_remap_diag_registration_closed(remap_cs)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_remap_diag_registration_closed) arglist(remap_cs) [fd] fullname(mom_diag_remap/diag_remap_diag_registration_closed) ftype(None) [fd] name(('mom_diag_remap/diag_remap_diag_registration_closed', None)) sig(subroutine diag_remap_diag_registration_closed(remap_cs)) signode(subroutine mom_diag_remap/diag_remap_diag_registration_closedremap_cs) [fd] run(.. f:subroutine:: subroutine diag_remap_set_active(remap_cs)) [fd] sig(subroutine diag_remap_set_active(remap_cs)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_remap_set_active) arglist(remap_cs) [fd] fullname(mom_diag_remap/diag_remap_set_active) ftype(None) [fd] name(('mom_diag_remap/diag_remap_set_active', None)) sig(subroutine diag_remap_set_active(remap_cs)) signode(subroutine mom_diag_remap/diag_remap_set_activeremap_cs) [fd] run(.. f:subroutine:: subroutine diag_remap_configure_axes(remap_cs, GV, US, param_file)) [fd] sig(subroutine diag_remap_configure_axes(remap_cs, GV, US, param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_remap_configure_axes) arglist(remap_cs, GV, US, param_file) [fd] fullname(mom_diag_remap/diag_remap_configure_axes) ftype(None) [fd] name(('mom_diag_remap/diag_remap_configure_axes', None)) sig(subroutine diag_remap_configure_axes(remap_cs, GV, US, param_file)) signode(subroutine mom_diag_remap/diag_remap_configure_axesremap_csGVUSparam_file) [fd] run(.. f:subroutine:: subroutine diag_remap_get_axes_info(remap_cs, nz, id_layer, id_interface)) [fd] sig(subroutine diag_remap_get_axes_info(remap_cs, nz, id_layer, id_interface)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_remap_get_axes_info) arglist(remap_cs, nz, id_layer, id_interface) [fd] fullname(mom_diag_remap/diag_remap_get_axes_info) ftype(None) [fd] name(('mom_diag_remap/diag_remap_get_axes_info', None)) sig(subroutine diag_remap_get_axes_info(remap_cs, nz, id_layer, id_interface)) signode(subroutine mom_diag_remap/diag_remap_get_axes_inforemap_csnzid_layerid_interface) [fd] run(.. f:function:: logical function diag_remap_axes_configured(remap_cs)) [fd] sig(logical function diag_remap_axes_configured(remap_cs)) [fd] ftype(logical) objtype(function) modname(None) typename() name(diag_remap_axes_configured) arglist(remap_cs) [fd] fullname(mom_diag_remap/diag_remap_axes_configured) ftype(logical) [fd] name(('mom_diag_remap/diag_remap_axes_configured', 'logical')) sig(logical function diag_remap_axes_configured(remap_cs)) signode(function mom_diag_remap/diag_remap_axes_configuredremap_cs [logical]) [fd] run(.. f:subroutine:: subroutine diag_remap_update(remap_cs, G, GV, US, h, T, S, eqn_of_state, h_target)) [fd] sig(subroutine diag_remap_update(remap_cs, G, GV, US, h, T, S, eqn_of_state, h_target)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_remap_update) arglist(remap_cs, G, GV, US, h, T, S, eqn_of_state, h_target) [fd] fullname(mom_diag_remap/diag_remap_update) ftype(None) [fd] name(('mom_diag_remap/diag_remap_update', None)) sig(subroutine diag_remap_update(remap_cs, G, GV, US, h, T, S, eqn_of_state, h_target)) signode(subroutine mom_diag_remap/diag_remap_updateremap_csGGVUShTSeqn_of_stateh_target) [fd] run(.. f:subroutine:: subroutine diag_remap_do_remap(remap_cs, G, GV, h, staggered_in_x, staggered_in_y, mask, field, remapped_field)) [fd] sig(subroutine diag_remap_do_remap(remap_cs, G, GV, h, staggered_in_x, staggered_in_y, mask, field, remapped_field)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_remap_do_remap) arglist(remap_cs, G, GV, h, staggered_in_x, staggered_in_y, mask, field, remapped_field) [fd] fullname(mom_diag_remap/diag_remap_do_remap) ftype(None) [fd] name(('mom_diag_remap/diag_remap_do_remap', None)) sig(subroutine diag_remap_do_remap(remap_cs, G, GV, h, staggered_in_x, staggered_in_y, mask, field, remapped_field)) signode(subroutine mom_diag_remap/diag_remap_do_remapremap_csGGVhstaggered_in_xstaggered_in_ymaskfieldremapped_field) [fd] run(.. f:subroutine:: subroutine diag_remap_calc_hmask(remap_cs, G, mask)) [fd] sig(subroutine diag_remap_calc_hmask(remap_cs, G, mask)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diag_remap_calc_hmask) arglist(remap_cs, G, mask) [fd] fullname(mom_diag_remap/diag_remap_calc_hmask) ftype(None) [fd] name(('mom_diag_remap/diag_remap_calc_hmask', None)) sig(subroutine diag_remap_calc_hmask(remap_cs, G, mask)) signode(subroutine mom_diag_remap/diag_remap_calc_hmaskremap_csGmask) [fd] run(.. f:subroutine:: subroutine vertically_reintegrate_diag_field(remap_cs, G, h, h_target, staggered_in_x, staggered_in_y, mask, field, reintegrated_field)) [fd] sig(subroutine vertically_reintegrate_diag_field(remap_cs, G, h, h_target, staggered_in_x, staggered_in_y, mask, field, reintegrated_field)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(vertically_reintegrate_diag_field) arglist(remap_cs, G, h, h_target, staggered_in_x, staggered_in_y, mask, field, reintegrated_field) [fd] fullname(mom_diag_remap/vertically_reintegrate_diag_field) ftype(None) [fd] name(('mom_diag_remap/vertically_reintegrate_diag_field', None)) sig(subroutine vertically_reintegrate_diag_field(remap_cs, G, h, h_target, staggered_in_x, staggered_in_y, mask, field, reintegrated_field)) signode(subroutine mom_diag_remap/vertically_reintegrate_diag_fieldremap_csGhh_targetstaggered_in_xstaggered_in_ymaskfieldreintegrated_field) [fd] run(.. f:subroutine:: subroutine vertically_interpolate_diag_field(remap_cs, G, h, staggered_in_x, staggered_in_y, mask, field, interpolated_field)) [fd] sig(subroutine vertically_interpolate_diag_field(remap_cs, G, h, staggered_in_x, staggered_in_y, mask, field, interpolated_field)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(vertically_interpolate_diag_field) arglist(remap_cs, G, h, staggered_in_x, staggered_in_y, mask, field, interpolated_field) [fd] fullname(mom_diag_remap/vertically_interpolate_diag_field) ftype(None) [fd] name(('mom_diag_remap/vertically_interpolate_diag_field', None)) sig(subroutine vertically_interpolate_diag_field(remap_cs, G, h, staggered_in_x, staggered_in_y, mask, field, interpolated_field)) signode(subroutine mom_diag_remap/vertically_interpolate_diag_fieldremap_csGhstaggered_in_xstaggered_in_ymaskfieldinterpolated_field) [fd] run(.. f:subroutine:: subroutine horizontally_average_diag_field(G, GV, h, staggered_in_x, staggered_in_y, is_layer, is_extensive, field, averaged_field, averaged_mask)) [fd] sig(subroutine horizontally_average_diag_field(G, GV, h, staggered_in_x, staggered_in_y, is_layer, is_extensive, field, averaged_field, averaged_mask)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(horizontally_average_diag_field) arglist(G, GV, h, staggered_in_x, staggered_in_y, is_layer, is_extensive, field, averaged_field, averaged_mask) [fd] fullname(mom_diag_remap/horizontally_average_diag_field) ftype(None) [fd] name(('mom_diag_remap/horizontally_average_diag_field', None)) sig(subroutine horizontally_average_diag_field(G, GV, h, staggered_in_x, staggered_in_y, is_layer, is_extensive, field, averaged_field, averaged_mask)) signode(subroutine mom_diag_remap/horizontally_average_diag_fieldGGVhstaggered_in_xstaggered_in_yis_layeris_extensivefieldaveraged_fieldaveraged_mask) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 27%] api/generated/modules/mom_diag_vkernels [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_diag_vke [app] emitting event: 'source-read'('api/generated/modules/mom_diag_vkernels', ['.. autodoxymodule:: mom_diag_vkernels\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_diag_vkernels.rst:1: input: .. autodoxymodule:: mom_diag_vkernels :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_diag_vkernels::interpolate_column ~mom_diag_vkernels::reintegrate_column ~mom_diag_vkernels::diag_vkernels_unit_tests ~mom_diag_vkernels::test_interp ~mom_diag_vkernels::test_reintegrate [debug] xpath(./compounddef/compoundname[text()="mom_diag_vkernels"]/..) match([('id', 'namespacemom__diag__vkernels'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_diag_vkernels module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_vkernels', , {'members': , {'members': , {'members': ), ('reintegrate_column', ), ('diag_vkernels_unit_tests', ), ('test_interp', ), ('test_reintegrate', )]) [autodoc] module analyzer failed: error importing 'mom_diag_vkernels' (exception was: ModuleNotFoundError("No module named 'mom_diag_vkernels'")) [debug] DoxygenMethodDocumenter format_signature called ((nsrc, h_src, u_src, ndest, h_dest, missing_value, u_dest)) [debug] add_directive_header sig((nsrc, h_src, u_src, ndest, h_dest, missing_value, u_dest)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine interpolate_column) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'interpolate_column', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__vkernels_1a4f42f472a725a147f8d97a68b2028c5b'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_vkernels::interpolate_column) node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'test_interp', , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__vkernels_1a89369e4bf4b7795f6e384762d11f0d23'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_vkernels::reintegrate_column) node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'test_reintegrate', , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_diag_vkernels::interpolate_column ~mom_diag_vkernels::reintegrate_column ~mom_diag_vkernels::diag_vkernels_unit_tests ~mom_diag_vkernels::test_interp ~mom_diag_vkernels::test_reintegrate .. _DETAmom_diag_vkernels: -------------------- Detailed Description -------------------- Provides kernels for single-column interpolation, re-integration (re-mapping of integrated quantities) and intensive-variable remapping in the vertical. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine interpolate_column(nsrc, h_src, u_src, ndest, h_dest, missing_value, u_dest) Linearly interpolate interface data, u_src, from grid h_src to a grid h_dest. :param nsrc: [in] Number of source cells :param h_src: [in] Thickness of source cells :param u_src: [in] Values at source cell interfaces :param ndest: [in] Number of destination cells :param h_dest: [in] Thickness of destination cells :param missing_value: [in] Value to assign in vanished cells :param u_dest: [inout] Interpolated value at destination cell interfaces :calledfrom: :f:func:`mom_ale::ale_offline_inputs ` :calledfrom: :f:func:`test_interp ` :calledfrom: :f:func:`mom_diag_remap::vertically_interpolate_diag_field ` .. f:subroutine:: subroutine reintegrate_column(nsrc, h_src, uh_src, ndest, h_dest, missing_value, uh_dest) Conservatively calculate integrated data, uh_dest, on grid h_dest, from layer-integrated data, uh_src, on grid h_src. :param nsrc: [in] Number of source cells :param h_src: [in] Thickness of source cells :param uh_src: [in] Values at source cell interfaces :param ndest: [in] Number of destination cells :param h_dest: [in] Thickness of destination cells :param missing_value: [in] Value to assign in vanished cells :param uh_dest: [inout] Interpolated value at destination cell interfaces :calledfrom: :f:func:`mom_ale::ale_offline_inputs ` :calledfrom: :f:func:`test_reintegrate ` :calledfrom: :f:func:`mom_diag_remap::vertically_reintegrate_diag_field ` .. f:function:: logical function diag_vkernels_unit_tests(verbose) Returns true if any unit tests for module MOM_diag_vkernels fail. :param verbose: [in] If true, write results to stdout :callto: :f:func:`test_interp ` :callto: :f:func:`test_reintegrate ` :calledfrom: :f:func:`mom_unit_tests::unit_tests ` .. f:function:: logical function test_interp(verbose, missing_value, msg, nsrc, h_src, u_src, ndest, h_dest, u_true) Returns true if a test of :f:func:`interpolate_column() ` produces the wrong answer. produces the wrong answer. :param verbose: [in] If true, write results to stdout :param missing_value: [in] Value to indicate missing data :param msg: [in] Message to label test :param nsrc: [in] Number of source cells :param h_src: [in] Thickness of source cells :param u_src: [in] Values at source cell interfaces :param ndest: [in] Number of destination cells :param h_dest: [in] Thickness of destination cells :param u_true: [in] Correct value at destination cell interfaces :callto: :f:func:`interpolate_column ` :calledfrom: :f:func:`diag_vkernels_unit_tests ` .. f:function:: logical function test_reintegrate(verbose, missing_value, msg, nsrc, h_src, uh_src, ndest, h_dest, uh_true) Returns true if a test of :f:func:`reintegrate_column() ` produces the wrong answer. produces the wrong answer. :param verbose: [in] If true, write results to stdout :param missing_value: [in] Value to indicate missing data :param msg: [in] Message to label test :param nsrc: [in] Number of source cells :param h_src: [in] Thickness of source cells :param uh_src: [in] Values of source cell stuff :param ndest: [in] Number of destination cells :param h_dest: [in] Thickness of destination cells :param uh_true: [in] Correct value of destination cell stuff :callto: :f:func:`reintegrate_column ` :calledfrom: :f:func:`diag_vkernels_unit_tests ` [debug] DoxygenMethodDocumenter format_signature called ((nsrc, h_src, u_src, ndest, h_dest, missing_value, u_dest)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_vkernels::interpolate_column', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_vkernels::interpolate_column', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((nsrc, h_src, uh_src, ndest, h_dest, missing_value, uh_dest)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_vkernels::reintegrate_column', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_vkernels::reintegrate_column', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((verbose)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_vkernels::diag_vkernels_unit_tests', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_vkernels::diag_vkernels_unit_tests', , [debug] DoxygenMethodDocumenter format_signature called ((verbose, missing_value, msg, nsrc, h_src, u_src, ndest, h_dest, u_true)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__diag__vkernels_1a4f42f472a725a147f8d97a68b2028c5b) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__vkernels_1a4f42f472a725a147f8d97a68b2028c5b'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_vkernels::interpolate_column) node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_vkernels::test_interp', , {}, ['', 'Re [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_vkernels::test_interp', , {}, ['', 'Re [debug] DoxygenMethodDocumenter format_signature called ((verbose, missing_value, msg, nsrc, h_src, uh_src, ndest, h_dest, uh_true)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__diag__vkernels_1a89369e4bf4b7795f6e384762d11f0d23) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__diag__vkernels_1a89369e4bf4b7795f6e384762d11f0d23'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_diag_vkernels::reintegrate_column) node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_vkernels::test_reintegrate', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diag_vkernels::test_reintegrate', , {}, ['' [fd] run(.. f:subroutine:: subroutine interpolate_column(nsrc, h_src, u_src, ndest, h_dest, missing_value, u_dest)) [fd] sig(subroutine interpolate_column(nsrc, h_src, u_src, ndest, h_dest, missing_value, u_dest)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(interpolate_column) arglist(nsrc, h_src, u_src, ndest, h_dest, missing_value, u_dest) [fd] fullname(mom_diag_vkernels/interpolate_column) ftype(None) [fd] name(('mom_diag_vkernels/interpolate_column', None)) sig(subroutine interpolate_column(nsrc, h_src, u_src, ndest, h_dest, missing_value, u_dest)) signode(subroutine mom_diag_vkernels/interpolate_columnnsrch_srcu_srcndesth_destmissing_valueu_dest) [fd] run(.. f:subroutine:: subroutine reintegrate_column(nsrc, h_src, uh_src, ndest, h_dest, missing_value, uh_dest)) [fd] sig(subroutine reintegrate_column(nsrc, h_src, uh_src, ndest, h_dest, missing_value, uh_dest)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(reintegrate_column) arglist(nsrc, h_src, uh_src, ndest, h_dest, missing_value, uh_dest) [fd] fullname(mom_diag_vkernels/reintegrate_column) ftype(None) [fd] name(('mom_diag_vkernels/reintegrate_column', None)) sig(subroutine reintegrate_column(nsrc, h_src, uh_src, ndest, h_dest, missing_value, uh_dest)) signode(subroutine mom_diag_vkernels/reintegrate_columnnsrch_srcuh_srcndesth_destmissing_valueuh_dest) [fd] run(.. f:function:: logical function diag_vkernels_unit_tests(verbose)) [fd] sig(logical function diag_vkernels_unit_tests(verbose)) [fd] ftype(logical) objtype(function) modname(None) typename() name(diag_vkernels_unit_tests) arglist(verbose) [fd] fullname(mom_diag_vkernels/diag_vkernels_unit_tests) ftype(logical) [fd] name(('mom_diag_vkernels/diag_vkernels_unit_tests', 'logical')) sig(logical function diag_vkernels_unit_tests(verbose)) signode(function mom_diag_vkernels/diag_vkernels_unit_testsverbose [logical]) [fd] run(.. f:function:: logical function test_interp(verbose, missing_value, msg, nsrc, h_src, u_src, ndest, h_dest, u_true)) [fd] sig(logical function test_interp(verbose, missing_value, msg, nsrc, h_src, u_src, ndest, h_dest, u_true)) [fd] ftype(logical) objtype(function) modname(None) typename() name(test_interp) arglist(verbose, missing_value, msg, nsrc, h_src, u_src, ndest, h_dest, u_true) [fd] fullname(mom_diag_vkernels/test_interp) ftype(logical) [fd] name(('mom_diag_vkernels/test_interp', 'logical')) sig(logical function test_interp(verbose, missing_value, msg, nsrc, h_src, u_src, ndest, h_dest, u_true)) signode(function mom_diag_vkernels/test_interpverbosemissing_valuemsgnsrch_srcu_srcndesth_destu_true [logical]) [fd] run(.. f:function:: logical function test_reintegrate(verbose, missing_value, msg, nsrc, h_src, uh_src, ndest, h_dest, uh_true)) [fd] sig(logical function test_reintegrate(verbose, missing_value, msg, nsrc, h_src, uh_src, ndest, h_dest, uh_true)) [fd] ftype(logical) objtype(function) modname(None) typename() name(test_reintegrate) arglist(verbose, missing_value, msg, nsrc, h_src, uh_src, ndest, h_dest, uh_true) [fd] fullname(mom_diag_vkernels/test_reintegrate) ftype(logical) [fd] name(('mom_diag_vkernels/test_reintegrate', 'logical')) sig(logical function test_reintegrate(verbose, missing_value, msg, nsrc, h_src, uh_src, ndest, h_dest, uh_true)) signode(function mom_diag_vkernels/test_reintegrateverbosemissing_valuemsgnsrch_srcuh_srcndesth_destuh_true [logical]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 27%] api/generated/modules/mom_diagnostics [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_diagnost [app] emitting event: 'source-read'('api/generated/modules/mom_diagnostics', ['.. autodoxymodule:: mom_diagnostics\n :members:\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_diagnostics.rst:1: input: .. autodoxymodule:: mom_diagnostics :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_diagnostics::diagnostics_cs ~mom_diagnostics::surface_diag_ids ~mom_diagnostics::transport_diag_ids --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_diagnostics::calculate_diagnostic_fields ~mom_diagnostics::find_weights ~mom_diagnostics::calculate_vertical_integrals ~mom_diagnostics::calculate_energy_diagnostics ~mom_diagnostics::register_time_deriv ~mom_diagnostics::calculate_derivs ~mom_diagnostics::post_surface_dyn_diags ~mom_diagnostics::post_surface_thermo_diags ~mom_diagnostics::post_transport_diagnostics ~mom_diagnostics::mom_diagnostics_init ~mom_diagnostics::register_surface_diags ~mom_diagnostics::register_transport_diags ~mom_diagnostics::write_static_fields ~mom_diagnostics::set_dependent_diagnostics ~mom_diagnostics::mom_diagnostics_end [debug] xpath(./compounddef/compoundname[text()="mom_diagnostics"]/..) match([('id', 'namespacemom__diagnostics'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_diagnostics module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diagnostics', , {'members': , {'members': , {'members': ), ('mom_diagnostics::surface_diag_ids', ), ('mom_diagnostics::transport_diag_ids', )]) [autodoc] module analyzer failed: error importing 'mom_diagnostics' (exception was: ModuleNotFoundError("No module named 'mom_diagnostics'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::diagnostics_cs', , {'members': [autodoc] module analyzer failed: error importing 'mom_diagnostics' (exception was: ModuleNotFoundError("No module named 'mom_diagnostics'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::surface_diag_ids', , {'members [autodoc] module analyzer failed: error importing 'mom_diagnostics' (exception was: ModuleNotFoundError("No module named 'mom_diagnostics'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_diagnostics::transport_diag_ids', , {'membe [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::transport_diag_ids', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::transport_diag_ids', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::transport_diag_ids', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::transport_diag_ids', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::transport_diag_ids', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::transport_diag_ids', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::transport_diag_ids', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::transport_diag_ids', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diagnostics::transport_diag_ids', , {'membe [debug] members([('calculate_diagnostic_fields', ), ('find_weights', ), ('calculate_vertical_integrals', ), ('calculate_energy_diagnostics', ), ('register_time_deriv', ), ('calculate_derivs', ), ('post_surface_dyn_diags', ), ('post_surface_thermo_diags', ), ('post_transport_diagnostics', ), ('mom_diagnostics_init', ), ('register_surface_diags', ), ('register_transport_diags', ), ('write_static_fields', ), ('set_dependent_diagnostics', ), ('mom_diagnostics_end', )]) [autodoc] module analyzer failed: error importing 'mom_diagnostics' (exception was: ModuleNotFoundError("No module named 'mom_diagnostics'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, uh, vh, tv, ADp, CDp, p_surf, dt, diag_pre_sync, G, GV, US, CS, eta_bt)) [debug] add_directive_header sig((u, v, h, uh, vh, tv, ADp, CDp, p_surf, dt, diag_pre_sync, G, GV, US, CS, eta_bt)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_diagnostic_fields) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_diagnostic_fields', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_diagnostics::diagnostics_cs ~mom_diagnostics::surface_diag_ids ~mom_diagnostics::transport_diag_ids --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_diagnostics::calculate_diagnostic_fields ~mom_diagnostics::find_weights ~mom_diagnostics::calculate_vertical_integrals ~mom_diagnostics::calculate_energy_diagnostics ~mom_diagnostics::register_time_deriv ~mom_diagnostics::calculate_derivs ~mom_diagnostics::post_surface_dyn_diags ~mom_diagnostics::post_surface_thermo_diags ~mom_diagnostics::post_transport_diagnostics ~mom_diagnostics::mom_diagnostics_init ~mom_diagnostics::register_surface_diags ~mom_diagnostics::register_transport_diags ~mom_diagnostics::write_static_fields ~mom_diagnostics::set_dependent_diagnostics ~mom_diagnostics::mom_diagnostics_end .. _DETAmom_diagnostics: -------------------- Detailed Description -------------------- Calculates any requested diagnostic quantities that are not calculated in the various subroutines. Diagnostic quantities are requested by allocating them memory. ------------------ Type Documentation ------------------ .. f:type:: diagnostics_cs The control structure for the MOM_diagnostics module. :typefield integer id_u: Diagnostic IDs. :typefield integer id_v: Diagnostic IDs. :typefield integer id_h: Diagnostic IDs. :typefield integer id_e: Diagnostic IDs. :typefield integer id_e_d: Diagnostic IDs. :typefield integer id_du_dt: Diagnostic IDs. :typefield integer id_dv_dt: Diagnostic IDs. :typefield integer id_hf_du_dt_2d: Diagnostic IDs. :typefield integer id_hf_dv_dt_2d: Diagnostic IDs. :typefield integer id_col_ht: Diagnostic IDs. :typefield integer id_dh_dt: Diagnostic IDs. :typefield integer id_ke: Diagnostic IDs. :typefield integer id_dkedt: Diagnostic IDs. :typefield integer id_pe_to_ke: Diagnostic IDs. :typefield integer id_ke_coradv: Diagnostic IDs. :typefield integer id_ke_adv: Diagnostic IDs. :typefield integer id_ke_visc: Diagnostic IDs. :typefield integer id_ke_horvisc: Diagnostic IDs. :typefield integer id_ke_dia: Diagnostic IDs. :typefield integer id_uh_rlay: Diagnostic IDs. :typefield integer id_vh_rlay: Diagnostic IDs. :typefield integer id_uhgm_rlay: Diagnostic IDs. :typefield integer id_vhgm_rlay: Diagnostic IDs. :typefield integer id_h_rlay: Diagnostic IDs. :typefield integer id_rd1: Diagnostic IDs. :typefield integer id_rml: Diagnostic IDs. :typefield integer id_rcv: Diagnostic IDs. :typefield integer id_cg1: Diagnostic IDs. :typefield integer id_cfl_cg1: Diagnostic IDs. :typefield integer id_cfl_cg1_x: Diagnostic IDs. :typefield integer id_cfl_cg1_y: Diagnostic IDs. :typefield integer id_cg_ebt: Diagnostic IDs. :typefield integer id_rd_ebt: Diagnostic IDs. :typefield integer id_p_ebt: Diagnostic IDs. :typefield integer id_temp_int: Diagnostic IDs. :typefield integer id_salt_int: Diagnostic IDs. :typefield integer id_mass_wt: Diagnostic IDs. :typefield integer id_col_mass: Diagnostic IDs. :typefield integer id_masscello: Diagnostic IDs. :typefield integer id_masso: Diagnostic IDs. :typefield integer id_volcello: Diagnostic IDs. :typefield integer id_tpot: Diagnostic IDs. :typefield integer id_sprac: Diagnostic IDs. :typefield integer id_tob: Diagnostic IDs. :typefield integer id_sob: Diagnostic IDs. :typefield integer id_thetaoga: Diagnostic IDs. :typefield integer id_soga: Diagnostic IDs. :typefield integer id_sosga: Diagnostic IDs. :typefield integer id_tosga: Diagnostic IDs. :typefield integer id_temp_layer_ave: Diagnostic IDs. :typefield integer id_salt_layer_ave: Diagnostic IDs. :typefield integer id_pbo: Diagnostic IDs. :typefield integer id_thkcello: Diagnostic IDs. :typefield integer id_rhoinsitu: Diagnostic IDs. :typefield integer id_rhopot0: Diagnostic IDs. :typefield integer id_rhopot2: Diagnostic IDs. :typefield integer id_drho_dt: Diagnostic IDs. :typefield integer id_drho_ds: Diagnostic IDs. :typefield integer id_h_pre_sync: Diagnostic IDs. :typefield real mono_n2_column_fraction: The lower fraction of water column over which N2 is limited as monotonic for the purposes of calculating the equivalent barotropic wave speed. :typefield real mono_n2_depth: The depth below which N2 is limited as monotonic for the purposes of calculating the equivalent barotropic wave speed [Z ~> m]. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield real(\:,\:,\:) e [pointer]: interface height [Z ~> m] :typefield real(\:,\:,\:) e_d [pointer]: interface height above bottom [Z ~> m] :typefield real(\:,\:,\:) du_dt [pointer]: net i-acceleration [L T-2 ~> m s-2] :typefield real(\:,\:,\:) dv_dt [pointer]: net j-acceleration [L T-2 ~> m s-2] :typefield real(\:,\:,\:) dh_dt [pointer]: thickness rate of change [H T-1 ~> m s-1 or kg m-2 s-1] :typefield real(\:,\:,\:) p_ebt [pointer]: Equivalent barotropic modal structure [nondim]. :typefield real(\:,\:,\:) h_rlay [pointer]: Layer thicknesses in potential density coordinates [H ~> m or kg m-2]. :typefield real(\:,\:,\:) uh_rlay [pointer]: Zonal transports in potential density coordinates [H m2 s-1 ~> m3 s-1 or kg s-1]. :typefield real(\:,\:,\:) vh_rlay [pointer]: Meridional transports in potential density coordinates [H m2 s-1 ~> m3 s-1 or kg s-1]. :typefield real(\:,\:,\:) uhgm_rlay [pointer]: Zonal Gent-McWilliams transports in potential density coordinates [H m2 s-1 ~> m3 s-1 or kg s-1]. :typefield real(\:,\:,\:) vhgm_rlay [pointer]: Meridional Gent-McWilliams transports in potential density coordinates [H m2 s-1 ~> m3 s-1 or kg s-1]. :typefield real(\:,\:) cg1 [pointer]: First baroclinic gravity wave speed [L T-1 ~> m s-1]. :typefield real(\:,\:) rd1 [pointer]: First baroclinic deformation radius [L ~> m]. :typefield real(\:,\:) cfl_cg1 [pointer]: CFL for first baroclinic gravity wave speed [nondim]. :typefield real(\:,\:) cfl_cg1_x [pointer]: i-component of CFL for first baroclinic gravity wave speed [nondim] :typefield real(\:,\:) cfl_cg1_y [pointer]: j-component of CFL for first baroclinic gravity wave speed [nondim] :typefield real(\:,\:,\:) ke [pointer]: KE per unit mass [L2 T-2 ~> m2 s-2]. :typefield real(\:,\:,\:) dke_dt [pointer]: time derivative of the layer KE [H L2 T-3 ~> m3 s-3] :typefield real(\:,\:,\:) pe_to_ke [pointer]: potential energy to KE term [m3 s-3] :typefield real(\:,\:,\:) ke_coradv [pointer]: KE source from the combined Coriolis and. :typefield real(\:,\:,\:) ke_adv [pointer]: KE source from along-layer advection [H L2 T-3 ~> m3 s-3]. :typefield real(\:,\:,\:) ke_visc [pointer]: KE source from vertical viscosity [H L2 T-3 ~> m3 s-3]. :typefield real(\:,\:,\:) ke_horvisc [pointer]: KE source from horizontal viscosity [H L2 T-3 ~> m3 s-3]. :typefield real(\:,\:,\:) ke_dia [pointer]: KE source from diapycnal diffusion [H L2 T-3 ~> m3 s-3]. :typefield type(wave_speed_cs) wave_speed_csp [pointer]: The control structure for calculating wave speed. :typefield type(p3d)(50) var_ptr: pointers to variables used in the calculation of time derivatives :typefield type(p3d)(50) deriv: Time derivatives of various fields. :typefield type(p3d)(50) prev_val: Previous values of variables used in the calculation of time derivatives previous values of variables used in calculation of time derivatives. :typefield integer(50) nlay: The number of layers in each diagnostics. :typefield integer num_time_deriv: The number of time derivative diagnostics. :typefield type(group_pass_type) pass_ke_uv: A handle used for group halo passes. .. f:type:: surface_diag_ids A structure with diagnostic IDs of the surface and integrated variables. :typefield integer id_zos: Diagnostic IDs for 2-d surface and bottom flux and state fields. :typefield integer id_zossq: Diagnostic IDs for 2-d surface and bottom flux and state fields. :typefield integer id_volo: Diagnostic IDs for 2-d surface and bottom flux and state fields. :typefield integer id_speed: Diagnostic IDs for 2-d surface and bottom flux and state fields. :typefield integer id_ssh: Diagnostic IDs for 2-d surface and bottom flux and state fields. :typefield integer id_ssh_ga: Diagnostic IDs for 2-d surface and bottom flux and state fields. :typefield integer id_sst: Diagnostic IDs for 2-d surface and bottom flux and state fields. :typefield integer id_sst_sq: Diagnostic IDs for 2-d surface and bottom flux and state fields. :typefield integer id_sstcon: Diagnostic IDs for 2-d surface and bottom flux and state fields. :typefield integer id_sss: Diagnostic IDs for 2-d surface and bottom flux and state fields. :typefield integer id_sss_sq: Diagnostic IDs for 2-d surface and bottom flux and state fields. :typefield integer id_sssabs: Diagnostic IDs for 2-d surface and bottom flux and state fields. :typefield integer id_ssu: Diagnostic IDs for 2-d surface and bottom flux and state fields. :typefield integer id_ssv: Diagnostic IDs for 2-d surface and bottom flux and state fields. :typefield integer id_fraz: Diagnostic IDs for 2-d surface and bottom flux and state fields. :typefield integer id_salt_deficit: Diagnostic IDs for 2-d surface and bottom flux and state fields. :typefield integer id_heat_pme: Diagnostic IDs for 2-d surface and bottom flux and state fields. :typefield integer id_intern_heat: Diagnostic IDs for 2-d surface and bottom flux and state fields. .. f:type:: transport_diag_ids A structure with diagnostic IDs of mass transport related diagnostics. :typefield integer id_uhtr: Diagnostics for tracer horizontal transport. :typefield integer id_umo: Diagnostics for tracer horizontal transport. :typefield integer id_umo_2d: Diagnostics for tracer horizontal transport. :typefield integer id_vhtr: Diagnostics for tracer horizontal transport. :typefield integer id_vmo: Diagnostics for tracer horizontal transport. :typefield integer id_vmo_2d: Diagnostics for tracer horizontal transport. :typefield integer id_dynamics_h: Diagnostics for tracer horizontal transport. :typefield integer id_dynamics_h_tendency: Diagnostics for tracer horizontal transport. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine calculate_diagnostic_fields(u, v, h, uh, vh, tv, ADp, CDp, p_surf, dt, diag_pre_sync, G, GV, US, CS, eta_bt) Diagnostics not more naturally calculated elsewhere are computed here. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param u: [in] The zonal velocity [L T-1 ~> m s-1]. :param v: [in] The meridional velocity [L T-1 ~> m s-1]. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param uh: [in] Transport through zonal faces = u*h*dy, :param vh: [in] Transport through meridional faces = v*h*dx, :param tv: [in] A structure pointing to various thermodynamic variables. :param adp: [in] structure with pointers to accelerations in momentum equation. :param cdp: [in] structure with pointers to terms in continuity equation. :param p_surf: A pointer to the surface pressure [R L2 T-2 ~> Pa]. If p_surf is not associated, it is the same as setting the surface pressure to 0. :param dt: [in] The time difference since the last call to this subroutine [T ~> s]. :param diag_pre_sync: [in] Target grids from previous timestep :param cs: [inout] Control structure returned by a previous call to diagnostics_init. :param eta_bt: [in] An optional barotropic :callto: :f:func:`calculate_derivs ` :callto: :f:func:`calculate_energy_diagnostics ` :callto: :f:func:`calculate_vertical_integrals ` :callto: :f:func:`mom_diag_mediator::diag_copy_storage_to_diag ` :callto: :f:func:`mom_diag_mediator::diag_restore_grids ` :callto: :f:func:`mom_diag_mediator::diag_save_grids ` :callto: :f:func:`find_weights ` :callto: :f:func:`mom_spatial_means::global_volume_mean ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_wave_speed::wave_speed ` .. f:subroutine:: subroutine find_weights(Rlist, R_in, k, nz, wt, wt_p) This subroutine finds the location of R_in in an increasing ordered list, Rlist, returning as k the element such that Rlist(k) <= R_in < Rlist(k+1), and where wt and wt_p are the linear weights that should be assigned to elements k and k+1. :param rlist: [in] The list of target densities [R ~> kg m-3] :param r_in: [in] The density being inserted into Rlist [R ~> kg m-3] :param k: [inout] The value of k such that Rlist(k) <= R_in < Rlist(k+1) The input value is a first guess :param nz: [in] The number of layers in Rlist :param wt: [out] The weight of layer k for interpolation, nondim :param wt_p: [out] The weight of layer k+1 for interpolation, nondim :calledfrom: :f:func:`calculate_diagnostic_fields ` .. f:subroutine:: subroutine calculate_vertical_integrals(h, tv, p_surf, G, GV, US, CS) This subroutine calculates vertical integrals of several tracers, along with the mass-weight of these tracers, the total column mass, and the carefully calculated column height. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param tv: [in] A structure pointing to various thermodynamic variables. :param p_surf: A pointer to the surface pressure [R L2 T-2 ~> Pa]. If p_surf is not associated, it is the same as setting the surface pressure to 0. :param cs: [inout] Control structure returned by a previous call to diagnostics_init. :callto: :f:func:`mom_density_integrals::int_density_dz ` :calledfrom: :f:func:`calculate_diagnostic_fields ` .. f:subroutine:: subroutine calculate_energy_diagnostics(u, v, h, uh, vh, ADp, CDp, G, GV, US, CS) This subroutine calculates terms in the mechanical energy budget. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param u: [in] The zonal velocity [L T-1 ~> m s-1]. :param v: [in] The meridional velocity [L T-1 ~> m s-1]. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param uh: [in] Transport through zonal faces=u*h*dy, :param vh: [in] Transport through merid faces=v*h*dx, :param adp: [in] Structure pointing to accelerations in momentum equation. :param cdp: [in] Structure pointing to terms in continuity equations. :param us: [in] A dimensional unit scaling type :param cs: [inout] Control structure returned by a previous call to diagnostics_init. :calledfrom: :f:func:`calculate_diagnostic_fields ` .. f:subroutine:: subroutine register_time_deriv(lb, f_ptr, deriv_ptr, CS) This subroutine registers fields to calculate a diagnostic time derivative. :param lb: [in] Lower index bound of f_ptr :param f_ptr: Time derivative operand :param deriv_ptr: Time derivative of f_ptr :param cs: Control structure returned by previous call to diagnostics_init. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_diagnostics_init ` :calledfrom: :f:func:`set_dependent_diagnostics ` .. f:subroutine:: subroutine calculate_derivs(dt, G, CS) This subroutine calculates all registered time derivatives. :param dt: [in] The time interval over which differences occur [T ~> s]. :param g: [inout] The ocean's grid structure. :param cs: [inout] Control structure returned by previous call to diagnostics_init. :calledfrom: :f:func:`calculate_diagnostic_fields ` .. f:subroutine:: subroutine post_surface_dyn_diags(IDs, G, diag, sfc_state, ssh) This routine posts diagnostics of various dynamic ocean surface quantities, including velocities, speed and sea surface height, at the time the ocean state is reported back to the caller. :param ids: [in] A structure with the diagnostic IDs. :param g: [in] ocean grid structure :param diag: [in] regulates diagnostic output :param sfc_state: [in] structure describing the ocean surface state :param ssh: [in] Time mean surface height without corrections for ice displacement [m] .. f:subroutine:: subroutine post_surface_thermo_diags(IDs, G, GV, US, diag, dt_int, sfc_state, tv, ssh, ssh_ibc) This routine posts diagnostics of various ocean surface and integrated quantities at the time the ocean state is reported back to the caller. :param ids: [in] A structure with the diagnostic IDs. :param g: [in] ocean grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param diag: [in] regulates diagnostic output :param dt_int: [in] total time step associated with these diagnostics [T ~> s]. :param sfc_state: [in] structure describing the ocean surface state :param tv: [in] A structure pointing to various thermodynamic variables :param ssh: [in] Time mean surface height without corrections for ice displacement [m] :param ssh_ibc: [in] Time mean surface height with corrections for ice displacement and the inverse barometer [m] :callto: :f:func:`mom_spatial_means::global_area_integral ` .. f:subroutine:: subroutine post_transport_diagnostics(G, GV, US, uhtr, vhtr, h, IDs, diag_pre_dyn, diag, dt_trans, Reg) This routine posts diagnostics of the transports, including the subgridscale contributions. :param g: [inout] ocean grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param uhtr: [in] Accumulated zonal thickness fluxes used to advect tracers [H L2 ~> m3 or kg] :param vhtr: [in] Accumulated meridional thickness fluxes used to advect tracers [H L2 ~> m3 or kg] :param h: [in] The updated layer thicknesses [H ~> m or kg m-2] :param ids: [in] A structure with the diagnostic IDs. :param diag_pre_dyn: [inout] Stored grids from before dynamics :param diag: [inout] regulates diagnostic output :param dt_trans: [in] total time step associated with the transports [T ~> s]. :param reg: Pointer to the tracer registry :callto: :f:func:`mom_diag_mediator::diag_copy_storage_to_diag ` :callto: :f:func:`mom_diag_mediator::diag_restore_grids ` :callto: :f:func:`mom_diag_mediator::diag_save_grids ` :callto: :f:func:`mom_tracer_registry::post_tracer_transport_diagnostics ` .. f:subroutine:: subroutine mom_diagnostics_init(MIS, ADp, CDp, Time, G, GV, US, param_file, diag, CS, tv) This subroutine registers various diagnostics and allocates space for fields that other diagnostis depend upon. :param mis: [in] For "MOM Internal State" a set of pointers to the fields and accelerations that make up the ocean's internal physical state. :param adp: [inout] Structure with pointers to momentum equation terms. :param cdp: [inout] Structure with pointers to continuity equation terms. :param time: [in] Current model time. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters. :param diag: [inout] Structure to regulate diagnostic output. :param cs: Pointer set to point to control structure for this module. :param tv: [in] A structure pointing to various thermodynamic variables. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`register_time_deriv ` :callto: :f:func:`set_dependent_diagnostics ` :callto: :f:func:`mom_wave_speed::wave_speed_init ` .. f:subroutine:: subroutine register_surface_diags(Time, G, US, IDs, diag, tv) Register diagnostics of the surface state and integrated quantities. :param time: [in] current model time :param g: [in] ocean grid structure :param us: [in] A dimensional unit scaling type :param ids: [inout] A structure with the diagnostic IDs. :param diag: [inout] regulates diagnostic output :param tv: [in] A structure pointing to various thermodynamic variables .. f:subroutine:: subroutine register_transport_diags(Time, G, GV, US, IDs, diag) Register certain diagnostics related to transports. :param time: [in] current model time :param g: [in] ocean grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param ids: [inout] A structure with the diagnostic IDs. :param diag: [inout] regulates diagnostic output :callto: :f:func:`mom_verticalgrid::get_thickness_units ` .. f:subroutine:: subroutine write_static_fields(G, GV, US, tv, diag) Offers the static fields in the ocean grid type for output via the diag_manager. :param g: [in] ocean grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param tv: [in] A structure pointing to various thermodynamic variables :param diag: [inout] regulates diagnostic output .. f:subroutine:: subroutine set_dependent_diagnostics(MIS, ADp, CDp, G, CS) This subroutine sets up diagnostics upon which other diagnostics depend. :param mis: [in] For "MOM Internal State" a set of pointers to the fields and accelerations making up ocean internal physical state. :param adp: [inout] Structure pointing to accelerations in momentum equation. :param cdp: [inout] Structure pointing to terms in continuity equation. :param g: [in] The ocean's grid structure. :param cs: Pointer to the control structure for this module. :callto: :f:func:`register_time_deriv ` :calledfrom: :f:func:`mom_diagnostics_init ` .. f:subroutine:: subroutine mom_diagnostics_end(CS, ADp) Deallocate memory associated with the diagnostics module. :param cs: Control structure returned by a previous call to diagnostics_init. :param adp: [inout] structure with pointers to accelerations in momentum equation. [debug] xpath(./compounddef/compoundname[text()="mom_diagnostics::diagnostics_cs"]/..) match([('id', 'structmom__diagnostics_1_1diagnostics__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diagnostics::diagnostics_cs', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diagnostics::diagnostics_cs', , {}, ['`Mo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diagnostics::diagnostics_cs', , {}, ['', [debug] xpath(./compounddef/compoundname[text()="mom_diagnostics::surface_diag_ids"]/..) match([('id', 'structmom__diagnostics_1_1surface__diag__ids'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diagnostics::surface_diag_ids', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diagnostics::surface_diag_ids', , {}, ['` [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diagnostics::surface_diag_ids', , {}, ['' [debug] xpath(./compounddef/compoundname[text()="mom_diagnostics::transport_diag_ids"]/..) match([('id', 'structmom__diagnostics_1_1transport__diag__ids'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diagnostics::transport_diag_ids', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diagnostics::transport_diag_ids', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diagnostics::transport_diag_ids', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, uh, vh, tv, ADp, CDp, p_surf, dt, diag_pre_sync, G, GV, US, CS, eta_bt)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::calculate_diagnostic_fields', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::calculate_diagnostic_fields', [debug] DoxygenMethodDocumenter format_signature called ((Rlist, R_in, k, nz, wt, wt_p)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::find_weights', , {}, ['', 'Thi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::find_weights', , {}, ['', 'Thi [debug] DoxygenMethodDocumenter format_signature called ((h, tv, p_surf, G, GV, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::calculate_vertical_integrals', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::register_time_deriv', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((dt, G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::calculate_derivs', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::calculate_derivs', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((IDs, G, diag, sfc_state, ssh)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::post_surface_dyn_diags', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::post_surface_dyn_diags', , {}, [debug] DoxygenMethodDocumenter format_signature called ((IDs, G, GV, US, diag, dt_int, sfc_state, tv, ssh, ssh_ibc)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::post_surface_thermo_diags', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::post_surface_thermo_diags', , [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, uhtr, vhtr, h, IDs, diag_pre_dyn, diag, dt_trans, Reg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::post_transport_diagnostics', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::post_transport_diagnostics', , [debug] DoxygenMethodDocumenter format_signature called ((MIS, ADp, CDp, Time, G, GV, US, param_file, diag, CS, tv)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::mom_diagnostics_init', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::mom_diagnostics_init', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((Time, G, US, IDs, diag, tv)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::register_surface_diags', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::register_surface_diags', , {}, [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, IDs, diag)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::register_transport_diags', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::register_transport_diags', , { [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, tv, diag)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::write_static_fields', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::write_static_fields', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((MIS, ADp, CDp, G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::set_dependent_diagnostics', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::set_dependent_diagnostics', , [debug] DoxygenMethodDocumenter format_signature called ((CS, ADp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::mom_diagnostics_end', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diagnostics::mom_diagnostics_end', , {}, [' [fd] run(.. f:type:: diagnostics_cs) [fd] sig(diagnostics_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(diagnostics_cs) arglist(None) [fd] fullname(mom_diagnostics/diagnostics_cs) ftype(None) [fd] name(('mom_diagnostics/diagnostics_cs', None)) sig(diagnostics_cs) signode(type mom_diagnostics/diagnostics_cs) [fd] run(.. f:type:: surface_diag_ids) [fd] sig(surface_diag_ids) [fd] ftype(None) objtype(None) modname(None) typename() name(surface_diag_ids) arglist(None) [fd] fullname(mom_diagnostics/surface_diag_ids) ftype(None) [fd] name(('mom_diagnostics/surface_diag_ids', None)) sig(surface_diag_ids) signode(type mom_diagnostics/surface_diag_ids) [fd] run(.. f:type:: transport_diag_ids) [fd] sig(transport_diag_ids) [fd] ftype(None) objtype(None) modname(None) typename() name(transport_diag_ids) arglist(None) [fd] fullname(mom_diagnostics/transport_diag_ids) ftype(None) [fd] name(('mom_diagnostics/transport_diag_ids', None)) sig(transport_diag_ids) signode(type mom_diagnostics/transport_diag_ids) [fd] run(.. f:subroutine:: subroutine calculate_diagnostic_fields(u, v, h, uh, vh, tv, ADp, CDp, p_surf, dt, diag_pre_sync, G, GV, US, CS, eta_bt)) [fd] sig(subroutine calculate_diagnostic_fields(u, v, h, uh, vh, tv, ADp, CDp, p_surf, dt, diag_pre_sync, G, GV, US, CS, eta_bt)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_diagnostic_fields) arglist(u, v, h, uh, vh, tv, ADp, CDp, p_surf, dt, diag_pre_sync, G, GV, US, CS, eta_bt) [fd] fullname(mom_diagnostics/calculate_diagnostic_fields) ftype(None) [fd] name(('mom_diagnostics/calculate_diagnostic_fields', None)) sig(subroutine calculate_diagnostic_fields(u, v, h, uh, vh, tv, ADp, CDp, p_surf, dt, diag_pre_sync, G, GV, US, CS, eta_bt)) signode(subroutine mom_diagnostics/calculate_diagnostic_fieldsuvhuhvhtvADpCDpp_surfdtdiag_pre_syncGGVUSCSeta_bt) [fd] run(.. f:subroutine:: subroutine find_weights(Rlist, R_in, k, nz, wt, wt_p)) [fd] sig(subroutine find_weights(Rlist, R_in, k, nz, wt, wt_p)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_weights) arglist(Rlist, R_in, k, nz, wt, wt_p) [fd] fullname(mom_diagnostics/find_weights) ftype(None) [fd] name(('mom_diagnostics/find_weights', None)) sig(subroutine find_weights(Rlist, R_in, k, nz, wt, wt_p)) signode(subroutine mom_diagnostics/find_weightsRlistR_inknzwtwt_p) [fd] run(.. f:subroutine:: subroutine calculate_vertical_integrals(h, tv, p_surf, G, GV, US, CS)) [fd] sig(subroutine calculate_vertical_integrals(h, tv, p_surf, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_vertical_integrals) arglist(h, tv, p_surf, G, GV, US, CS) [fd] fullname(mom_diagnostics/calculate_vertical_integrals) ftype(None) [fd] name(('mom_diagnostics/calculate_vertical_integrals', None)) sig(subroutine calculate_vertical_integrals(h, tv, p_surf, G, GV, US, CS)) signode(subroutine mom_diagnostics/calculate_vertical_integralshtvp_surfGGVUSCS) [fd] run(.. f:subroutine:: subroutine calculate_energy_diagnostics(u, v, h, uh, vh, ADp, CDp, G, GV, US, CS)) [fd] sig(subroutine calculate_energy_diagnostics(u, v, h, uh, vh, ADp, CDp, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_energy_diagnostics) arglist(u, v, h, uh, vh, ADp, CDp, G, GV, US, CS) [fd] fullname(mom_diagnostics/calculate_energy_diagnostics) ftype(None) [fd] name(('mom_diagnostics/calculate_energy_diagnostics', None)) sig(subroutine calculate_energy_diagnostics(u, v, h, uh, vh, ADp, CDp, G, GV, US, CS)) signode(subroutine mom_diagnostics/calculate_energy_diagnosticsuvhuhvhADpCDpGGVUSCS) [fd] run(.. f:subroutine:: subroutine register_time_deriv(lb, f_ptr, deriv_ptr, CS)) [fd] sig(subroutine register_time_deriv(lb, f_ptr, deriv_ptr, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_time_deriv) arglist(lb, f_ptr, deriv_ptr, CS) [fd] fullname(mom_diagnostics/register_time_deriv) ftype(None) [fd] name(('mom_diagnostics/register_time_deriv', None)) sig(subroutine register_time_deriv(lb, f_ptr, deriv_ptr, CS)) signode(subroutine mom_diagnostics/register_time_derivlbf_ptrderiv_ptrCS) [fd] run(.. f:subroutine:: subroutine calculate_derivs(dt, G, CS)) [fd] sig(subroutine calculate_derivs(dt, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_derivs) arglist(dt, G, CS) [fd] fullname(mom_diagnostics/calculate_derivs) ftype(None) [fd] name(('mom_diagnostics/calculate_derivs', None)) sig(subroutine calculate_derivs(dt, G, CS)) signode(subroutine mom_diagnostics/calculate_derivsdtGCS) [fd] run(.. f:subroutine:: subroutine post_surface_dyn_diags(IDs, G, diag, sfc_state, ssh)) [fd] sig(subroutine post_surface_dyn_diags(IDs, G, diag, sfc_state, ssh)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(post_surface_dyn_diags) arglist(IDs, G, diag, sfc_state, ssh) [fd] fullname(mom_diagnostics/post_surface_dyn_diags) ftype(None) [fd] name(('mom_diagnostics/post_surface_dyn_diags', None)) sig(subroutine post_surface_dyn_diags(IDs, G, diag, sfc_state, ssh)) signode(subroutine mom_diagnostics/post_surface_dyn_diagsIDsGdiagsfc_statessh) [fd] run(.. f:subroutine:: subroutine post_surface_thermo_diags(IDs, G, GV, US, diag, dt_int, sfc_state, tv, ssh, ssh_ibc)) [fd] sig(subroutine post_surface_thermo_diags(IDs, G, GV, US, diag, dt_int, sfc_state, tv, ssh, ssh_ibc)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(post_surface_thermo_diags) arglist(IDs, G, GV, US, diag, dt_int, sfc_state, tv, ssh, ssh_ibc) [fd] fullname(mom_diagnostics/post_surface_thermo_diags) ftype(None) [fd] name(('mom_diagnostics/post_surface_thermo_diags', None)) sig(subroutine post_surface_thermo_diags(IDs, G, GV, US, diag, dt_int, sfc_state, tv, ssh, ssh_ibc)) signode(subroutine mom_diagnostics/post_surface_thermo_diagsIDsGGVUSdiagdt_intsfc_statetvsshssh_ibc) [fd] run(.. f:subroutine:: subroutine post_transport_diagnostics(G, GV, US, uhtr, vhtr, h, IDs, diag_pre_dyn, diag, dt_trans, Reg)) [fd] sig(subroutine post_transport_diagnostics(G, GV, US, uhtr, vhtr, h, IDs, diag_pre_dyn, diag, dt_trans, Reg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(post_transport_diagnostics) arglist(G, GV, US, uhtr, vhtr, h, IDs, diag_pre_dyn, diag, dt_trans, Reg) [fd] fullname(mom_diagnostics/post_transport_diagnostics) ftype(None) [fd] name(('mom_diagnostics/post_transport_diagnostics', None)) sig(subroutine post_transport_diagnostics(G, GV, US, uhtr, vhtr, h, IDs, diag_pre_dyn, diag, dt_trans, Reg)) signode(subroutine mom_diagnostics/post_transport_diagnosticsGGVUSuhtrvhtrhIDsdiag_pre_dyndiagdt_transReg) [fd] run(.. f:subroutine:: subroutine mom_diagnostics_init(MIS, ADp, CDp, Time, G, GV, US, param_file, diag, CS, tv)) [fd] sig(subroutine mom_diagnostics_init(MIS, ADp, CDp, Time, G, GV, US, param_file, diag, CS, tv)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_diagnostics_init) arglist(MIS, ADp, CDp, Time, G, GV, US, param_file, diag, CS, tv) [fd] fullname(mom_diagnostics/mom_diagnostics_init) ftype(None) [fd] name(('mom_diagnostics/mom_diagnostics_init', None)) sig(subroutine mom_diagnostics_init(MIS, ADp, CDp, Time, G, GV, US, param_file, diag, CS, tv)) signode(subroutine mom_diagnostics/mom_diagnostics_initMISADpCDpTimeGGVUSparam_filediagCStv) [fd] run(.. f:subroutine:: subroutine register_surface_diags(Time, G, US, IDs, diag, tv)) [fd] sig(subroutine register_surface_diags(Time, G, US, IDs, diag, tv)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_surface_diags) arglist(Time, G, US, IDs, diag, tv) [fd] fullname(mom_diagnostics/register_surface_diags) ftype(None) [fd] name(('mom_diagnostics/register_surface_diags', None)) sig(subroutine register_surface_diags(Time, G, US, IDs, diag, tv)) signode(subroutine mom_diagnostics/register_surface_diagsTimeGUSIDsdiagtv) [fd] run(.. f:subroutine:: subroutine register_transport_diags(Time, G, GV, US, IDs, diag)) [fd] sig(subroutine register_transport_diags(Time, G, GV, US, IDs, diag)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_transport_diags) arglist(Time, G, GV, US, IDs, diag) [fd] fullname(mom_diagnostics/register_transport_diags) ftype(None) [fd] name(('mom_diagnostics/register_transport_diags', None)) sig(subroutine register_transport_diags(Time, G, GV, US, IDs, diag)) signode(subroutine mom_diagnostics/register_transport_diagsTimeGGVUSIDsdiag) [fd] run(.. f:subroutine:: subroutine write_static_fields(G, GV, US, tv, diag)) [fd] sig(subroutine write_static_fields(G, GV, US, tv, diag)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(write_static_fields) arglist(G, GV, US, tv, diag) [fd] fullname(mom_diagnostics/write_static_fields) ftype(None) [fd] name(('mom_diagnostics/write_static_fields', None)) sig(subroutine write_static_fields(G, GV, US, tv, diag)) signode(subroutine mom_diagnostics/write_static_fieldsGGVUStvdiag) [fd] run(.. f:subroutine:: subroutine set_dependent_diagnostics(MIS, ADp, CDp, G, CS)) [fd] sig(subroutine set_dependent_diagnostics(MIS, ADp, CDp, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_dependent_diagnostics) arglist(MIS, ADp, CDp, G, CS) [fd] fullname(mom_diagnostics/set_dependent_diagnostics) ftype(None) [fd] name(('mom_diagnostics/set_dependent_diagnostics', None)) sig(subroutine set_dependent_diagnostics(MIS, ADp, CDp, G, CS)) signode(subroutine mom_diagnostics/set_dependent_diagnosticsMISADpCDpGCS) [fd] run(.. f:subroutine:: subroutine mom_diagnostics_end(CS, ADp)) [fd] sig(subroutine mom_diagnostics_end(CS, ADp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_diagnostics_end) arglist(CS, ADp) [fd] fullname(mom_diagnostics/mom_diagnostics_end) ftype(None) [fd] name(('mom_diagnostics/mom_diagnostics_end', None)) sig(subroutine mom_diagnostics_end(CS, ADp)) signode(subroutine mom_diagnostics/mom_diagnostics_endCSADp) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 27%] api/generated/modules/mom_diapyc_energy_req [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_diapyc_e [app] emitting event: 'source-read'('api/generated/modules/mom_diapyc_energy_req', ['.. autodoxymodule:: mom_diapyc_energy_req\n :mem [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_diapyc_energy_req.rst:1: input: .. autodoxymodule:: mom_diapyc_energy_req :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_diapyc_energy_req::diapyc_energy_req_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_diapyc_energy_req::diapyc_energy_req_test ~mom_diapyc_energy_req::diapyc_energy_req_calc ~mom_diapyc_energy_req::find_pe_chg ~mom_diapyc_energy_req::find_pe_chg_orig ~mom_diapyc_energy_req::diapyc_energy_req_init ~mom_diapyc_energy_req::diapyc_energy_req_end [debug] xpath(./compounddef/compoundname[text()="mom_diapyc_energy_req"]/..) match([('id', 'namespacemom__diapyc__energy__req'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_diapyc_energy_req module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diapyc_energy_req', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_diapyc_energy_req' (exception was: ModuleNotFoundError("No module named 'mom_diapyc_energy_req'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , [debug] members([('diapyc_energy_req_test', ), ('diapyc_energy_req_calc', ), ('find_pe_chg', ), ('find_pe_chg_orig', ), ('diapyc_energy_req_init', ), ('diapyc_energy_req_end', )]) [autodoc] module analyzer failed: error importing 'mom_diapyc_energy_req' (exception was: ModuleNotFoundError("No module named 'mom_diapyc_energy_req'")) [debug] DoxygenMethodDocumenter format_signature called ((h_3d, dt, tv, G, GV, US, CS, Kd_int)) [debug] add_directive_header sig((h_3d, dt, tv, G, GV, US, CS, Kd_int)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine diapyc_energy_req_test) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'diapyc_energy_req_test', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_diapyc_energy_req::diapyc_energy_req_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_diapyc_energy_req::diapyc_energy_req_test ~mom_diapyc_energy_req::diapyc_energy_req_calc ~mom_diapyc_energy_req::find_pe_chg ~mom_diapyc_energy_req::find_pe_chg_orig ~mom_diapyc_energy_req::diapyc_energy_req_init ~mom_diapyc_energy_req::diapyc_energy_req_end .. _DETAmom_diapyc_energy_req: -------------------- Detailed Description -------------------- Calculates the energy requirements of mixing. ------------------ Type Documentation ------------------ .. f:type:: diapyc_energy_req_cs This control structure holds parameters for the MOM_diapyc_energy_req module. :typefield integer id_ert: Diagnostic IDs. :typefield integer id_erb: Diagnostic IDs. :typefield integer id_erc: Diagnostic IDs. :typefield integer id_erh: Diagnostic IDs. :typefield integer id_kddt: Diagnostic IDs. :typefield integer id_kd: Diagnostic IDs. :typefield integer id_chct: Diagnostic IDs. :typefield integer id_chcb: Diagnostic IDs. :typefield integer id_chcc: Diagnostic IDs. :typefield integer id_chch: Diagnostic IDs. :typefield integer id_t0: Diagnostic IDs. :typefield integer id_tf: Diagnostic IDs. :typefield integer id_s0: Diagnostic IDs. :typefield integer id_sf: Diagnostic IDs. :typefield integer id_n2_0: Diagnostic IDs. :typefield integer id_n2_f: Diagnostic IDs. :typefield integer id_h: Diagnostic IDs. :typefield integer id_zint: Diagnostic IDs. :typefield logical initialized: A variable that is here because empty structures are not permitted by some compilers. :typefield real test_kh_scaling: A scaling factor for the diapycnal diffusivity. :typefield real colht_scaling: A scaling factor for the column height change correction term. :typefield logical use_test_kh_profile: If true, use the internal test diffusivity profile in place of any that might be passed in as an argument. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine diapyc_energy_req_test(h_3d, dt, tv, G, GV, US, CS, Kd_int) This subroutine helps test the accuracy of the diapycnal mixing energy requirement code by writing diagnostics, possibly using an intensely mixing test profile of diffusivity. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h_3d: [in] Layer thickness before entrainment [H ~> m or kg m-2]. :param tv: [inout] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. :param dt: [in] The amount of time covered by this call [T ~> s]. :param cs: This module's control structure. :param kd_int: [in] Interface diffusivities [Z2 T-1 ~> m2 s-1]. :callto: :f:func:`diapyc_energy_req_calc ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic ` .. f:subroutine:: subroutine diapyc_energy_req_calc(h_in, T_in, S_in, Kd, energy_Kd, dt, tv, G, GV, US, may_print, CS) This subroutine uses a substantially refactored tridiagonal equation for diapycnal mixing of temperature and salinity to estimate the potential energy change due to diapycnal mixing in a column of water. It does this estimate 4 different ways, all of which should be equivalent, but reports only one. The various estimates are taken because they will later be used as templates for other bits of code. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h_in: [in] Layer thickness before entrainment, [H ~> m or kg m-2]. :param t_in: [in] The layer temperatures [degC]. :param s_in: [in] The layer salinities [ppt]. :param kd: [in] The interfaces diapycnal diffusivities [Z2 T-1 ~> m2 s-1]. :param dt: [in] The amount of time covered by this call [T ~> s]. :param energy_kd: [out] The column-integrated rate of energy consumption by diapycnal diffusion [R Z L2 T-3 ~> W m-2]. :param tv: [inout] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. :param may_print: [in] If present and true, write out diagnostics of energy use. :param cs: This module's control structure. :callto: :f:func:`find_pe_chg ` :callto: :f:func:`find_pe_chg_orig ` :calledfrom: :f:func:`diapyc_energy_req_test ` .. f:subroutine:: subroutine find_pe_chg(Kddt_h0, dKddt_h, hp_a, hp_b, Th_a, Sh_a, Th_b, Sh_b, dT_to_dPE_a, dS_to_dPE_a, dT_to_dPE_b, dS_to_dPE_b, pres_Z, dT_to_dColHt_a, dS_to_dColHt_a, dT_to_dColHt_b, dS_to_dColHt_b, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0, ColHt_cor) This subroutine calculates the change in potential energy and or derivatives for several changes in an interfaces's diapycnal diffusivity times a timestep. :param kddt_h0: [in] The previously used diffusivity at an interface times the time step and divided by the average of the thicknesses around the interface [H ~> m or kg m-2]. :param dkddt_h: [in] The trial change in the diffusivity at an interface times the time step and divided by the average of the thicknesses around the interface [H ~> m or kg m-2]. :param hp_a: [in] The effective pivot thickness of the layer above the interface, given by h_k plus a term that is a fraction (determined from the tridiagonal solver) of Kddt_h for the interface above [H ~> m or kg m-2]. :param hp_b: [in] The effective pivot thickness of the layer below the interface, given by h_k plus a term that is a fraction (determined from the tridiagonal solver) of Kddt_h for the interface above [H ~> m or kg m-2]. :param th_a: [in] An effective temperature times a thickness in the layer above, including implicit mixing effects with other yet higher layers [degC H ~> degC m or degC kg m-2]. :param sh_a: [in] An effective salinity times a thickness in the layer above, including implicit mixing effects with other yet higher layers [ppt H ~> ppt m or ppt kg m-2]. :param th_b: [in] An effective temperature times a thickness in the layer below, including implicit mixing effects with other yet lower layers [degC H ~> degC m or degC kg m-2]. :param sh_b: [in] An effective salinity times a thickness in the layer below, including implicit mixing effects with other yet lower layers [ppt H ~> ppt m or ppt kg m-2]. :param dt_to_dpe_a: [in] A factor (pres_lay*mass_lay*dSpec_vol/dT) relating a layer's temperature change to the change in column potential energy, including all implicit diffusive changes in the temperatures of all the layers above [R Z L2 T-2 degC-1 ~> J m-2 degC-1]. :param ds_to_dpe_a: [in] A factor (pres_lay*mass_lay*dSpec_vol/dS) relating a layer's salinity change to the change in column potential energy, including all implicit diffusive changes in the salinities of all the layers above [R Z L2 T-2 ppt-1 ~> J m-2 ppt-1]. :param dt_to_dpe_b: [in] A factor (pres_lay*mass_lay*dSpec_vol/dT) relating a layer's temperature change to the change in column potential energy, including all implicit diffusive changes in the temperatures of all the layers below [R Z L2 T-2 degC-1 ~> J m-2 degC-1]. :param ds_to_dpe_b: [in] A factor (pres_lay*mass_lay*dSpec_vol/dS) relating a layer's salinity change to the change in column potential energy, including all implicit diffusive changes in the salinities of all the layers below [R Z L2 T-2 ppt-1 ~> J m-2 ppt-1]. :param pres_z: [in] The hydrostatic interface pressure, which is used to relate the changes in column thickness to the energy that is radiated as gravity waves and unavailable to drive mixing [R L2 T-2 m Z-1 ~> J m-3]. :param dt_to_dcolht_a: [in] A factor (mass_lay*dSColHtc_vol/dT) relating a layer's temperature change to the change in column height, including all implicit diffusive changes in the temperatures of all the layers above [Z degC-1 ~> m degC-1]. :param ds_to_dcolht_a: [in] A factor (mass_lay*dSColHtc_vol/dS) relating a layer's salinity change to the change in column height, including all implicit diffusive changes in the salinities of all the layers above [Z ppt-1 ~> m ppt-1]. :param dt_to_dcolht_b: [in] A factor (mass_lay*dSColHtc_vol/dT) relating a layer's temperature change to the change in column height, including all implicit diffusive changes in the temperatures of all the layers below [Z degC-1 ~> m degC-1]. :param ds_to_dcolht_b: [in] A factor (mass_lay*dSColHtc_vol/dS) relating a layer's salinity change to the change in column height, including all implicit diffusive changes in the salinities of all the layers below [Z ppt-1 ~> m ppt-1]. :param pe_chg: [out] The change in column potential energy from applying Kddt_h at the present interface [R Z L2 T-2 ~> J m-2]. :param dpec_dkd: [out] The partial derivative of PE_chg with Kddt_h, [R Z L2 T-2 H-1 ~> J m-3 or J kg-1]. :param dpe_max: [out] The maximum change in column potential energy that could be realizedd by applying a huge value of Kddt_h at the present interface [R Z L2 T-2 ~> J m-2]. :param dpec_dkd_0: [out] The partial derivative of PE_chg with Kddt_h in the limit where Kddt_h = 0 [R Z L2 T-2 H-1 ~> J m-3 or J kg-1]. :param colht_cor: [out] The correction to PE_chg that is made due to a net change in the column height [R Z L2 T-2 ~> J m-2]. :calledfrom: :f:func:`diapyc_energy_req_calc ` .. f:subroutine:: subroutine find_pe_chg_orig(Kddt_h, h_k, b_den_1, dTe_term, dSe_term, dT_km1_t2, dS_km1_t2, dT_to_dPE_k, dS_to_dPE_k, dT_to_dPEa, dS_to_dPEa, pres_Z, dT_to_dColHt_k, dS_to_dColHt_k, dT_to_dColHta, dS_to_dColHta, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0) This subroutine calculates the change in potential energy and or derivatives for several changes in an interfaces's diapycnal diffusivity times a timestep using the original form used in the first version of ePBL. :param kddt_h: [in] The diffusivity at an interface times the time step and divided by the average of the thicknesses around the interface [H ~> m or kg m-2]. :param h_k: [in] The thickness of the layer below the interface [H ~> m or kg m-2]. :param b_den_1: [in] The first term in the denominator of the pivot for the tridiagonal solver, given by h_k plus a term that is a fraction (determined from the tridiagonal solver) of Kddt_h for the interface above [H ~> m or kg m-2]. :param dte_term: [in] A diffusivity-independent term related to the temperature change in the layer below the interface [degC H ~> degC m or degC kg m-2]. :param dse_term: [in] A diffusivity-independent term related to the salinity change in the layer below the interface [ppt H ~> ppt m or ppt kg m-2]. :param dt_km1_t2: [in] A diffusivity-independent term related to the temperature change in the layer above the interface [degC]. :param ds_km1_t2: [in] A diffusivity-independent term related to the salinity change in the layer above the interface [ppt]. :param pres_z: [in] The hydrostatic interface pressure, which is used to relate the changes in column thickness to the energy that is radiated as gravity waves and unavailable to drive mixing [R L2 T-2 ~> J m-3]. :param dt_to_dpe_k: [in] A factor (pres_lay*mass_lay*dSpec_vol/dT) relating a layer's temperature change to the change in column potential energy, including all implicit diffusive changes in the temperatures of all the layers below [R Z L2 T-2 degC-1 ~> J m-2 degC-1]. :param ds_to_dpe_k: [in] A factor (pres_lay*mass_lay*dSpec_vol/dS) relating a layer's salinity change to the change in column potential energy, including all implicit diffusive changes in the salinities of all the layers below [R Z L2 T-2 ppt-1 ~> J m-2 ppt-1]. :param dt_to_dpea: [in] A factor (pres_lay*mass_lay*dSpec_vol/dT) relating a layer's temperature change to the change in column potential energy, including all implicit diffusive changes in the temperatures of all the layers above [R Z L2 T-2 degC-1 ~> J m-2 degC-1]. :param ds_to_dpea: [in] A factor (pres_lay*mass_lay*dSpec_vol/dS) relating a layer's salinity change to the change in column potential energy, including all implicit diffusive changes in the salinities of all the layers above [R Z L2 T-2 ppt-1 ~> J m-2 ppt-1]. :param dt_to_dcolht_k: [in] A factor (mass_lay*dSColHtc_vol/dT) relating a layer's temperature change to the change in column height, including all implicit diffusive changes in the temperatures of all the layers below [Z degC-1 ~> m degC-1]. :param ds_to_dcolht_k: [in] A factor (mass_lay*dSColHtc_vol/dS) relating a layer's salinity change to the change in column height, including all implicit diffusive changes in the salinities of all the layers below [Z ppt-1 ~> m ppt-1]. :param dt_to_dcolhta: [in] A factor (mass_lay*dSColHtc_vol/dT) relating a layer's temperature change to the change in column height, including all implicit diffusive changes in the temperatures of all the layers above [Z degC-1 ~> m degC-1]. :param ds_to_dcolhta: [in] A factor (mass_lay*dSColHtc_vol/dS) relating a layer's salinity change to the change in column height, including all implicit diffusive changes in the salinities of all the layers above [Z ppt-1 ~> m ppt-1]. :param pe_chg: [out] The change in column potential energy from applying Kddt_h at the present interface [R Z L2 T-2 ~> J m-2]. :param dpec_dkd: [out] The partial derivative of PE_chg with Kddt_h, [R Z L2 T-2 H-1 ~> J m-3 or J kg-1]. :param dpe_max: [out] The maximum change in column potential energy that could be realized by applying a huge value of Kddt_h at the present interface [R Z L2 T-2 ~> J m-2]. :param dpec_dkd_0: [out] The partial derivative of PE_chg with Kddt_h in the limit where Kddt_h = 0 [R Z L2 T-2 H-1 ~> J m-3 or J kg-1]. :calledfrom: :f:func:`diapyc_energy_req_calc ` .. f:subroutine:: subroutine diapyc_energy_req_init(Time, G, GV, US, param_file, diag, CS) Initialize parameters and allocate memory associated with the diapycnal energy requirement module. :param time: [in] model time :param g: [in] model grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] file to parse for parameter values :param diag: [inout] structure to regulate diagnostic output :param cs: module control structure :callto: :f:func:`mom_diag_mediator::register_diag_field ` .. f:subroutine:: subroutine diapyc_energy_req_end(CS) Clean up and deallocate memory associated with the diapycnal energy requirement module. :param cs: Diapycnal energy requirement control structure that will be deallocated in this subroutine. [debug] xpath(./compounddef/compoundname[text()="mom_diapyc_energy_req::diapyc_energy_req_cs"]/..) match([('id', 'structmom__diapyc__energy__req_1_1diapyc__energy__req__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diapyc_energy_req::diapyc_energy_req_cs', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diapyc_energy_req::find_pe_chg', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((Kddt_h, h_k, b_den_1, dTe_term, dSe_term, dT_km1_t2, dS_km1_t2, dT_to_dPE_k, dS_to_dPE_k, dT_to_dPEa, dS_to_dPEa, pres_Z, dT_to_dColHt_k, dS_to_dColHt_k, dT_to_dColHta, dS_to_dColHta, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diapyc_energy_req::find_pe_chg_orig', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diapyc_energy_req::find_pe_chg_orig', , {}, [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diapyc_energy_req::diapyc_energy_req_init', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_diapyc_energy_req::diapyc_energy_req_end', [fd] run(.. f:type:: diapyc_energy_req_cs) [fd] sig(diapyc_energy_req_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(diapyc_energy_req_cs) arglist(None) [fd] fullname(mom_diapyc_energy_req/diapyc_energy_req_cs) ftype(None) [fd] name(('mom_diapyc_energy_req/diapyc_energy_req_cs', None)) sig(diapyc_energy_req_cs) signode(type mom_diapyc_energy_req/diapyc_energy_req_cs) [fd] run(.. f:subroutine:: subroutine diapyc_energy_req_test(h_3d, dt, tv, G, GV, US, CS, Kd_int)) [fd] sig(subroutine diapyc_energy_req_test(h_3d, dt, tv, G, GV, US, CS, Kd_int)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diapyc_energy_req_test) arglist(h_3d, dt, tv, G, GV, US, CS, Kd_int) [fd] fullname(mom_diapyc_energy_req/diapyc_energy_req_test) ftype(None) [fd] name(('mom_diapyc_energy_req/diapyc_energy_req_test', None)) sig(subroutine diapyc_energy_req_test(h_3d, dt, tv, G, GV, US, CS, Kd_int)) signode(subroutine mom_diapyc_energy_req/diapyc_energy_req_testh_3ddttvGGVUSCSKd_int) [fd] run(.. f:subroutine:: subroutine diapyc_energy_req_calc(h_in, T_in, S_in, Kd, energy_Kd, dt, tv, G, GV, US, may_print, CS)) [fd] sig(subroutine diapyc_energy_req_calc(h_in, T_in, S_in, Kd, energy_Kd, dt, tv, G, GV, US, may_print, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diapyc_energy_req_calc) arglist(h_in, T_in, S_in, Kd, energy_Kd, dt, tv, G, GV, US, may_print, CS) [fd] fullname(mom_diapyc_energy_req/diapyc_energy_req_calc) ftype(None) [fd] name(('mom_diapyc_energy_req/diapyc_energy_req_calc', None)) sig(subroutine diapyc_energy_req_calc(h_in, T_in, S_in, Kd, energy_Kd, dt, tv, G, GV, US, may_print, CS)) signode(subroutine mom_diapyc_energy_req/diapyc_energy_req_calch_inT_inS_inKdenergy_KddttvGGVUSmay_printCS) [fd] run(.. f:subroutine:: subroutine find_pe_chg(Kddt_h0, dKddt_h, hp_a, hp_b, Th_a, Sh_a, Th_b, Sh_b, dT_to_dPE_a, dS_to_dPE_a, dT_to_dPE_b, dS_to_dPE_b, pres_Z, dT_to_dColHt_a, dS_to_dColHt_a, dT_to_dColHt_b, dS_to_dColHt_b, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0, ColHt_cor)) [fd] sig(subroutine find_pe_chg(Kddt_h0, dKddt_h, hp_a, hp_b, Th_a, Sh_a, Th_b, Sh_b, dT_to_dPE_a, dS_to_dPE_a, dT_to_dPE_b, dS_to_dPE_b, pres_Z, dT_to_dColHt_a, dS_to_dColHt_a, dT_to_dColHt_b, dS_to_dColHt_b, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0, ColHt_cor)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_pe_chg) arglist(Kddt_h0, dKddt_h, hp_a, hp_b, Th_a, Sh_a, Th_b, Sh_b, dT_to_dPE_a, dS_to_dPE_a, dT_to_dPE_b, dS_to_dPE_b, pres_Z, dT_to_dColHt_a, dS_to_dColHt_a, dT_to_dColHt_b, dS_to_dColHt_b, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0, ColHt_cor) [fd] fullname(mom_diapyc_energy_req/find_pe_chg) ftype(None) [fd] name(('mom_diapyc_energy_req/find_pe_chg', None)) sig(subroutine find_pe_chg(Kddt_h0, dKddt_h, hp_a, hp_b, Th_a, Sh_a, Th_b, Sh_b, dT_to_dPE_a, dS_to_dPE_a, dT_to_dPE_b, dS_to_dPE_b, pres_Z, dT_to_dColHt_a, dS_to_dColHt_a, dT_to_dColHt_b, dS_to_dColHt_b, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0, ColHt_cor)) signode(subroutine mom_diapyc_energy_req/find_pe_chgKddt_h0dKddt_hhp_ahp_bTh_aSh_aTh_bSh_bdT_to_dPE_adS_to_dPE_adT_to_dPE_bdS_to_dPE_bpres_ZdT_to_dColHt_adS_to_dColHt_adT_to_dColHt_bdS_to_dColHt_bPE_chgdPEc_dKddPE_maxdPEc_dKd_0ColHt_cor) [fd] run(.. f:subroutine:: subroutine find_pe_chg_orig(Kddt_h, h_k, b_den_1, dTe_term, dSe_term, dT_km1_t2, dS_km1_t2, dT_to_dPE_k, dS_to_dPE_k, dT_to_dPEa, dS_to_dPEa, pres_Z, dT_to_dColHt_k, dS_to_dColHt_k, dT_to_dColHta, dS_to_dColHta, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0)) [fd] sig(subroutine find_pe_chg_orig(Kddt_h, h_k, b_den_1, dTe_term, dSe_term, dT_km1_t2, dS_km1_t2, dT_to_dPE_k, dS_to_dPE_k, dT_to_dPEa, dS_to_dPEa, pres_Z, dT_to_dColHt_k, dS_to_dColHt_k, dT_to_dColHta, dS_to_dColHta, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_pe_chg_orig) arglist(Kddt_h, h_k, b_den_1, dTe_term, dSe_term, dT_km1_t2, dS_km1_t2, dT_to_dPE_k, dS_to_dPE_k, dT_to_dPEa, dS_to_dPEa, pres_Z, dT_to_dColHt_k, dS_to_dColHt_k, dT_to_dColHta, dS_to_dColHta, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0) [fd] fullname(mom_diapyc_energy_req/find_pe_chg_orig) ftype(None) [fd] name(('mom_diapyc_energy_req/find_pe_chg_orig', None)) sig(subroutine find_pe_chg_orig(Kddt_h, h_k, b_den_1, dTe_term, dSe_term, dT_km1_t2, dS_km1_t2, dT_to_dPE_k, dS_to_dPE_k, dT_to_dPEa, dS_to_dPEa, pres_Z, dT_to_dColHt_k, dS_to_dColHt_k, dT_to_dColHta, dS_to_dColHta, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0)) signode(subroutine mom_diapyc_energy_req/find_pe_chg_origKddt_hh_kb_den_1dTe_termdSe_termdT_km1_t2dS_km1_t2dT_to_dPE_kdS_to_dPE_kdT_to_dPEadS_to_dPEapres_ZdT_to_dColHt_kdS_to_dColHt_kdT_to_dColHtadS_to_dColHtaPE_chgdPEc_dKddPE_maxdPEc_dKd_0) [fd] run(.. f:subroutine:: subroutine diapyc_energy_req_init(Time, G, GV, US, param_file, diag, CS)) [fd] sig(subroutine diapyc_energy_req_init(Time, G, GV, US, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diapyc_energy_req_init) arglist(Time, G, GV, US, param_file, diag, CS) [fd] fullname(mom_diapyc_energy_req/diapyc_energy_req_init) ftype(None) [fd] name(('mom_diapyc_energy_req/diapyc_energy_req_init', None)) sig(subroutine diapyc_energy_req_init(Time, G, GV, US, param_file, diag, CS)) signode(subroutine mom_diapyc_energy_req/diapyc_energy_req_initTimeGGVUSparam_filediagCS) [fd] run(.. f:subroutine:: subroutine diapyc_energy_req_end(CS)) [fd] sig(subroutine diapyc_energy_req_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(diapyc_energy_req_end) arglist(CS) [fd] fullname(mom_diapyc_energy_req/diapyc_energy_req_end) ftype(None) [fd] name(('mom_diapyc_energy_req/diapyc_energy_req_end', None)) sig(subroutine diapyc_energy_req_end(CS)) signode(subroutine mom_diapyc_energy_req/diapyc_energy_req_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 28%] api/generated/modules/mom_document [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_document [app] emitting event: 'source-read'('api/generated/modules/mom_document', ['.. autodoxymodule:: mom_document\n :members:\n :methods [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_document.rst:1: input: .. autodoxymodule:: mom_document :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_document::doc_type ~mom_document::link_msg --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_document::doc_param_none ~mom_document::doc_param_logical ~mom_document::doc_param_logical_array ~mom_document::doc_param_int ~mom_document::doc_param_int_array ~mom_document::doc_param_real ~mom_document::doc_param_real_array ~mom_document::doc_param_char ~mom_document::doc_openblock ~mom_document::doc_closeblock ~mom_document::doc_param_time ~mom_document::writemessageanddesc ~mom_document::time_string ~mom_document::real_string ~mom_document::real_array_string ~mom_document::testformattedfloatisreal ~mom_document::int_string ~mom_document::logical_string ~mom_document::define_string ~mom_document::undef_string ~mom_document::doc_module ~mom_document::doc_subroutine ~mom_document::doc_function ~mom_document::doc_init ~mom_document::open_doc_file ~mom_document::find_unused_unit_number ~mom_document::doc_end ~mom_document::mesghasbeendocumented [debug] xpath(./compounddef/compoundname[text()="mom_document"]/..) match([('id', 'namespacemom__document'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_document module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_document', , {'members': , {'members': , {'members': ), ('mom_document::link_msg', )]) [autodoc] module analyzer failed: error importing 'mom_document' (exception was: ModuleNotFoundError("No module named 'mom_document'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_document::doc_type', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('doc_param_logical', ), ('doc_param_logical_array', ), ('doc_param_int', ), ('doc_param_int_array', ), ('doc_param_real', ), ('doc_param_real_array', ), ('doc_param_char', ), ('doc_openblock', ), ('doc_closeblock', ), ('doc_param_time', ), ('writemessageanddesc', ), ('time_string', ), ('real_string', ), ('real_array_string', ), ('testformattedfloatisreal', ), ('int_string', ), ('logical_string', ), ('define_string', ), ('undef_string', ), ('doc_module', ), ('doc_subroutine', ), ('doc_function', ), ('doc_init', ), ('open_doc_file', ), ('find_unused_unit_number', ), ('doc_end', ), ('mesghasbeendocumented', )]) [autodoc] module analyzer failed: error importing 'mom_document' (exception was: ModuleNotFoundError("No module named 'mom_document'")) [debug] DoxygenMethodDocumenter format_signature called ((doc, varname, desc, units)) [debug] add_directive_header sig((doc, varname, desc, units)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine doc_param_none) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'doc_param_none', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_document::doc_type ~mom_document::link_msg --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_document::doc_param_none ~mom_document::doc_param_logical ~mom_document::doc_param_logical_array ~mom_document::doc_param_int ~mom_document::doc_param_int_array ~mom_document::doc_param_real ~mom_document::doc_param_real_array ~mom_document::doc_param_char ~mom_document::doc_openblock ~mom_document::doc_closeblock ~mom_document::doc_param_time ~mom_document::writemessageanddesc ~mom_document::time_string ~mom_document::real_string ~mom_document::real_array_string ~mom_document::testformattedfloatisreal ~mom_document::int_string ~mom_document::logical_string ~mom_document::define_string ~mom_document::undef_string ~mom_document::doc_module ~mom_document::doc_subroutine ~mom_document::doc_function ~mom_document::doc_init ~mom_document::open_doc_file ~mom_document::find_unused_unit_number ~mom_document::doc_end ~mom_document::mesghasbeendocumented .. _DETAmom_document: -------------------- Detailed Description -------------------- The subroutines here provide hooks for document generation functions at various levels of granularity. ------------------ Type Documentation ------------------ .. f:type:: doc_type A structure that controls where the documentation occurs, its veborsity and formatting. :typefield integer unitall: The open unit number for docFileBase + .all. :typefield integer unitshort: The open unit number for docFileBase + .short. :typefield integer unitlayout: The open unit number for docFileBase + .layout. :typefield integer unitdebugging: The open unit number for docFileBase + .debugging. :typefield logical filesareopen: True if any files were successfully opened. :typefield character (len= mlen ) docfilebase: The basename of the files where run-time parameters, settings and defaults are documented. :typefield logical complete: If true, document all parameters. :typefield logical minimal: If true, document non-default parameters. :typefield logical layout: If true, document layout parameters. :typefield logical debugging: If true, document debugging parameters. :typefield logical definesyntax: If true, use '#def' syntax instead of a=b syntax. :typefield logical warnonconflicts: Cause a WARNING error if defaults differ. :typefield integer commentcolumn: Number of spaces before the comment marker. :typefield integer max_line_len: The maximum length of message lines. :typefield type( link_msg ) chain_msg [pointer]: Database of messages. :typefield character (len=240) blockprefix: The full name of the current block. .. f:type:: link_msg A linked list of the parameter documentation messages that have been issued so far. :typefield type( link_msg ) next [pointer, private]: Facilitates linked list. :typefield character (len=80) name [private]: Parameter name. :typefield character (len=620) msg [private]: Parameter value and default. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine doc_param_none(doc, varname, desc, units) This subroutine handles parameter documentation with no value. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param varname: [in] The name of the parameter being documented :param desc: [in] A description of the parameter being documented :param units: [in] The units of the parameter being documented :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mesghasbeendocumented ` :callto: :f:func:`open_doc_file ` :callto: :f:func:`writemessageanddesc ` .. f:subroutine:: subroutine doc_param_logical(doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default) This subroutine handles parameter documentation for logicals. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param varname: [in] The name of the parameter being documented :param desc: [in] A description of the parameter being documented :param units: [in] The units of the parameter being documented :param val: [in] The value of this parameter :param default: [in] The default value of this parameter :param layoutparam: [in] If present and true, this is a layout parameter. :param debuggingparam: [in] If present and true, this is a debugging parameter. :param like_default: [in] If present and true, log this parameter as though it has the default value, even if there is no default. :callto: :f:func:`define_string ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mesghasbeendocumented ` :callto: :f:func:`open_doc_file ` :callto: :f:func:`string_false ` :callto: :f:func:`string_true ` :callto: :f:func:`undef_string ` :callto: :f:func:`writemessageanddesc ` .. f:subroutine:: subroutine doc_param_logical_array(doc, varname, desc, units, vals, default, layoutParam, debuggingParam, like_default) This subroutine handles parameter documentation for arrays of logicals. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param varname: [in] The name of the parameter being documented :param desc: [in] A description of the parameter being documented :param units: [in] The units of the parameter being documented :param vals: [in] The array of values to record :param default: [in] The default value of this parameter :param layoutparam: [in] If present and true, this is a layout parameter. :param debuggingparam: [in] If present and true, this is a debugging parameter. :param like_default: [in] If present and true, log this parameter as though it has the default value, even if there is no default. :callto: :f:func:`define_string ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mesghasbeendocumented ` :callto: :f:func:`open_doc_file ` :callto: :f:func:`string_false ` :callto: :f:func:`string_true ` :callto: :f:func:`writemessageanddesc ` .. f:subroutine:: subroutine doc_param_int(doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default) This subroutine handles parameter documentation for integers. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param varname: [in] The name of the parameter being documented :param desc: [in] A description of the parameter being documented :param units: [in] The units of the parameter being documented :param val: [in] The value of this parameter :param default: [in] The default value of this parameter :param layoutparam: [in] If present and true, this is a layout parameter. :param debuggingparam: [in] If present and true, this is a debugging parameter. :param like_default: [in] If present and true, log this parameter as though it has the default value, even if there is no default. :callto: :f:func:`define_string ` :callto: :f:func:`int_string ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mesghasbeendocumented ` :callto: :f:func:`open_doc_file ` :callto: :f:func:`writemessageanddesc ` .. f:subroutine:: subroutine doc_param_int_array(doc, varname, desc, units, vals, default, layoutParam, debuggingParam, like_default) This subroutine handles parameter documentation for arrays of integers. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param varname: [in] The name of the parameter being documented :param desc: [in] A description of the parameter being documented :param units: [in] The units of the parameter being documented :param vals: [in] The array of values to record :param default: [in] The default value of this parameter :param layoutparam: [in] If present and true, this is a layout parameter. :param debuggingparam: [in] If present and true, this is a debugging parameter. :param like_default: [in] If present and true, log this parameter as though it has the default value, even if there is no default. :callto: :f:func:`define_string ` :callto: :f:func:`int_string ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mesghasbeendocumented ` :callto: :f:func:`open_doc_file ` :callto: :f:func:`writemessageanddesc ` .. f:subroutine:: subroutine doc_param_real(doc, varname, desc, units, val, default, debuggingParam, like_default) This subroutine handles parameter documentation for reals. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param varname: [in] The name of the parameter being documented :param desc: [in] A description of the parameter being documented :param units: [in] The units of the parameter being documented :param val: [in] The value of this parameter :param default: [in] The default value of this parameter :param debuggingparam: [in] If present and true, this is a debugging parameter. :param like_default: [in] If present and true, log this parameter as though it has the default value, even if there is no default. :callto: :f:func:`define_string ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mesghasbeendocumented ` :callto: :f:func:`open_doc_file ` :callto: :f:func:`real_string ` :callto: :f:func:`writemessageanddesc ` .. f:subroutine:: subroutine doc_param_real_array(doc, varname, desc, units, vals, default, debuggingParam, like_default) This subroutine handles parameter documentation for arrays of reals. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param varname: [in] The name of the parameter being documented :param desc: [in] A description of the parameter being documented :param units: [in] The units of the parameter being documented :param vals: [in] The array of values to record :param default: [in] The default value of this parameter :param debuggingparam: [in] If present and true, this is a debugging parameter. :param like_default: [in] If present and true, log this parameter as though it has the default value, even if there is no default. :callto: :f:func:`define_string ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mesghasbeendocumented ` :callto: :f:func:`open_doc_file ` :callto: :f:func:`real_array_string ` :callto: :f:func:`real_string ` :callto: :f:func:`writemessageanddesc ` .. f:subroutine:: subroutine doc_param_char(doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default) This subroutine handles parameter documentation for character strings. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param varname: [in] The name of the parameter being documented :param desc: [in] A description of the parameter being documented :param units: [in] The units of the parameter being documented :param val: [in] The value of the parameter :param default: [in] The default value of this parameter :param layoutparam: [in] If present and true, this is a layout parameter. :param debuggingparam: [in] If present and true, this is a debugging parameter. :param like_default: [in] If present and true, log this parameter as though it has the default value, even if there is no default. :callto: :f:func:`define_string ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mesghasbeendocumented ` :callto: :f:func:`open_doc_file ` :callto: :f:func:`writemessageanddesc ` .. f:subroutine:: subroutine doc_openblock(doc, blockName, desc) This subroutine handles documentation for opening a parameter block. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param blockname: [in] The name of the parameter block being opened :param desc: [in] A description of the parameter block being opened :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`open_doc_file ` :callto: :f:func:`writemessageanddesc ` .. f:subroutine:: subroutine doc_closeblock(doc, blockName) This subroutine handles documentation for closing a parameter block. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param blockname: [in] The name of the parameter block being closed :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`open_doc_file ` :callto: :f:func:`writemessageanddesc ` .. f:subroutine:: subroutine doc_param_time(doc, varname, desc, val, default, units, debuggingParam, like_default) This subroutine handles parameter documentation for time-type variables. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param varname: [in] The name of the parameter being documented :param desc: [in] A description of the parameter being documented :param val: [in] The value of the parameter :param default: [in] The default value of this parameter :param units: [in] The units of the parameter being documented :param debuggingparam: [in] If present and true, this is a debugging parameter. :param like_default: [in] If present and true, log this parameter as though it has the default value, even if there is no default. :callto: :f:func:`define_string ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mesghasbeendocumented ` :callto: :f:func:`open_doc_file ` :callto: :f:func:`time_string ` :callto: :f:func:`writemessageanddesc ` .. f:subroutine:: subroutine writemessageanddesc(doc, vmesg, desc, valueWasDefault, indent, layoutParam, debuggingParam) This subroutine writes out the message and description to the documetation files. :param doc: [in] A pointer to a structure that controls where the documentation occurs and its formatting :param vmesg: [in] A message with the parameter name, units, and default value. :param desc: [in] A description of the parameter being documented :param valuewasdefault: [in] If true, this parameter has its default value :param indent: [in] An amount by which to indent this message :param layoutparam: [in] If present and true, this is a layout parameter. :param debuggingparam: [in] If present and true, this is a debugging parameter. :calledfrom: :f:func:`doc_closeblock ` :calledfrom: :f:func:`doc_module ` :calledfrom: :f:func:`doc_openblock ` :calledfrom: :f:func:`doc_param_char ` :calledfrom: :f:func:`doc_param_int ` :calledfrom: :f:func:`doc_param_int_array ` :calledfrom: :f:func:`doc_param_logical ` :calledfrom: :f:func:`doc_param_logical_array ` :calledfrom: :f:func:`doc_param_none ` :calledfrom: :f:func:`doc_param_real ` :calledfrom: :f:func:`doc_param_real_array ` :calledfrom: :f:func:`doc_param_time ` .. f:function:: character(len=40) function time_string(time) This function returns a string with a time type formatted as seconds (perhaps including a fractional number of seconds) and days. :param time: [in] The time type being translated :callto: :f:func:`int_string ` :calledfrom: :f:func:`doc_param_time ` .. f:function:: character(len=32) function real_string(val) This function returns a string with a real formatted like '(G)'. :param val: [in] The value being written into a string :callto: :f:func:`testformattedfloatisreal ` :calledfrom: :f:func:`doc_param_real ` :calledfrom: :f:func:`doc_param_real_array ` :calledfrom: :f:func:`real_array_string ` .. f:function:: character(len=1320) function real_array_string(vals, sep) Returns a character string of a comma-separated, compact formatted, reals e.g. "1., 2., 5*3., 5.E2", that give the list of values. :returns undefined: The output string listing vals :param vals: [in] The array of values to record :param sep: [in] The separator between successive values, :callto: :f:func:`int_string ` :callto: :f:func:`real_string ` :calledfrom: :f:func:`doc_param_real_array ` .. f:function:: logical function testformattedfloatisreal(str, val) This function tests whether a real value is encoded in a string. :param str: [in] The string that match val :param val: [in] The value being tested :calledfrom: :f:func:`real_string ` .. f:function:: character(len=24) function int_string(val) This function returns a string with an integer formatted like '(I)'. :param val: [in] The value being written into a string :calledfrom: :f:func:`doc_param_int ` :calledfrom: :f:func:`doc_param_int_array ` :calledfrom: :f:func:`real_array_string ` :calledfrom: :f:func:`time_string ` .. f:function:: character(len=24) function logical_string(val) This function returns a string with an logical formatted like '(L)'. :param val: [in] The value being written into a string .. f:function:: character(len=mlen) function define_string(doc, varName, valString, units) This function returns a string for formatted parameter assignment. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param varname: [in] The name of the parameter being documented :param valstring: [in] A string containing the value of the parameter :param units: [in] The units of the parameter being documented :callto: :f:func:`mlen ` :calledfrom: :f:func:`doc_param_char ` :calledfrom: :f:func:`doc_param_int ` :calledfrom: :f:func:`doc_param_int_array ` :calledfrom: :f:func:`doc_param_logical ` :calledfrom: :f:func:`doc_param_logical_array ` :calledfrom: :f:func:`doc_param_real ` :calledfrom: :f:func:`doc_param_real_array ` :calledfrom: :f:func:`doc_param_time ` .. f:function:: character(len=mlen) function undef_string(doc, varName, units) This function returns a string for formatted false logicals. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param varname: [in] The name of the parameter being documented :param units: [in] The units of the parameter being documented :callto: :f:func:`string_false ` :calledfrom: :f:func:`doc_param_logical ` .. f:subroutine:: subroutine doc_module(doc, modname, desc, log_to_all, all_default, layoutMod, debuggingMod) This subroutine handles the module documentation. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param modname: [in] The name of the module being documented :param desc: [in] A description of the module being documented :param log_to_all: [in] If present and true, log this parameter to the ..._doc.all files, even if this module also has layout or debugging parameters. :param all_default: [in] If true, all parameters take their default values. :param layoutmod: [in] If present and true, this module has layout parameters. :param debuggingmod: [in] If present and true, this module has debugging parameters. :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`open_doc_file ` :callto: :f:func:`writemessageanddesc ` .. f:subroutine:: subroutine doc_subroutine(doc, modname, subname, desc) This subroutine handles the subroutine documentation. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param modname: [in] The name of the module being documented :param subname: [in] The name of the subroutine being documented :param desc: [in] A description of the subroutine being documented :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`open_doc_file ` .. f:subroutine:: subroutine doc_function(doc, modname, fnname, desc) This subroutine handles the function documentation. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param modname: [in] The name of the module being documented :param fnname: [in] The name of the function being documented :param desc: [in] A description of the function being documented :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`open_doc_file ` .. f:subroutine:: subroutine doc_init(docFileBase, doc, minimal, complete, layout, debugging) Initialize the parameter documentation. :param docfilebase: [in] The base file name for this set of parameters, for example MOM_parameter_doc :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param minimal: [in] If present and true, write out the files (.short) documenting those parameters that do not take on their default values. :param complete: [in] If present and true, write out the (.all) files documenting all parameters :param layout: [in] If present and true, write out the (.layout) files documenting the layout parameters :param debugging: [in] If present and true, write out the (.debugging) files documenting the debugging parameters .. f:subroutine:: subroutine open_doc_file(doc) This subroutine allocates and populates a structure that controls where the documentation occurs and its formatting, and opens up the files controlled by this structure. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :callto: :f:func:`find_unused_unit_number ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`doc_closeblock ` :calledfrom: :f:func:`doc_function ` :calledfrom: :f:func:`doc_module ` :calledfrom: :f:func:`doc_openblock ` :calledfrom: :f:func:`doc_param_char ` :calledfrom: :f:func:`doc_param_int ` :calledfrom: :f:func:`doc_param_int_array ` :calledfrom: :f:func:`doc_param_logical ` :calledfrom: :f:func:`doc_param_logical_array ` :calledfrom: :f:func:`doc_param_none ` :calledfrom: :f:func:`doc_param_real ` :calledfrom: :f:func:`doc_param_real_array ` :calledfrom: :f:func:`doc_param_time ` :calledfrom: :f:func:`doc_subroutine ` .. f:function:: integer function find_unused_unit_number() Find an unused unit number, returning >0 if found, and triggering a FATAL error if not. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`open_doc_file ` .. f:subroutine:: subroutine doc_end(doc) This subroutine closes the the files controlled by doc, and sets flags in doc to indicate that parameterization is no longer permitted. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting .. f:function:: logical function mesghasbeendocumented(doc, varName, mesg) Returns true if documentation has already been written. :param doc: A pointer to a structure that controls where the documentation occurs and its formatting :param varname: [in] The name of the parameter being documented :param mesg: [in] A message with parameter values, defaults, and descriptions to compare with the message that was written previously :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`doc_param_char ` :calledfrom: :f:func:`doc_param_int ` :calledfrom: :f:func:`doc_param_int_array ` :calledfrom: :f:func:`doc_param_logical ` :calledfrom: :f:func:`doc_param_logical_array ` :calledfrom: :f:func:`doc_param_none ` :calledfrom: :f:func:`doc_param_real ` :calledfrom: :f:func:`doc_param_real_array ` :calledfrom: :f:func:`doc_param_time ` [debug] xpath(./compounddef/compoundname[text()="mom_document::doc_type"]/..) match([('id', 'structmom__document_1_1doc__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_document::doc_type', , {}, ['', 'A struct [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_document::doc_type', , {}, ['`More... , {}, ['', 'A struct [debug] xpath(./compounddef/compoundname[text()="mom_document::link_msg"]/..) match([('id', 'structmom__document_1_1link__msg'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_document::link_msg', , {}, ['', 'A linked [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_document::link_msg', , {}, ['`More... , {}, ['', 'A linked [debug] DoxygenMethodDocumenter format_signature called ((doc, varname, desc, units)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_none', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_none', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_logical', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_logical', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((doc, varname, desc, units, vals, default, layoutParam, debuggingParam, like_default)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_logical_array', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_logical_array', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_int', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_int', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((doc, varname, desc, units, vals, default, layoutParam, debuggingParam, like_default)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_int_array', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_int_array', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((doc, varname, desc, units, val, default, debuggingParam, like_default)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_real', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_real', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((doc, varname, desc, units, vals, default, debuggingParam, like_default)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_real_array', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_real_array', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_char', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_char', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((doc, blockName, desc)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_openblock', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_openblock', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((doc, blockName)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_closeblock', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_closeblock', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((doc, varname, desc, val, default, units, debuggingParam, like_default)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_time', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_param_time', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((doc, vmesg, desc, valueWasDefault, indent, layoutParam, debuggingParam)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::writemessageanddesc', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::writemessageanddesc', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((time)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::time_string', , {}, ['', 'This fu [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::time_string', , {}, ['', 'This fu [debug] DoxygenMethodDocumenter format_signature called ((val)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::real_string', , {}, ['', "This fu [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::real_string', , {}, ['', "This fu [debug] DoxygenMethodDocumenter format_signature called ((vals, sep)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::real_array_string', , {}, ['', 'R [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::real_array_string', , {}, ['', 'R [debug] DoxygenMethodDocumenter format_signature called ((str, val)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::testformattedfloatisreal', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::testformattedfloatisreal', , {}, [debug] DoxygenMethodDocumenter format_signature called ((val)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::int_string', , {}, ['', "This fun [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::int_string', , {}, ['', "This fun [debug] DoxygenMethodDocumenter format_signature called ((val)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::logical_string', , {}, ['', "This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::logical_string', , {}, ['', "This [debug] DoxygenMethodDocumenter format_signature called ((doc, varName, valString, units)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::define_string', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::define_string', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((doc, varName, units)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::undef_string', , {}, ['', 'This f [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::undef_string', , {}, ['', 'This f [debug] DoxygenMethodDocumenter format_signature called ((doc, modname, desc, log_to_all, all_default, layoutMod, debuggingMod)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_module', , {}, ['', 'This sub [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_module', , {}, ['', 'This sub [debug] DoxygenMethodDocumenter format_signature called ((doc, modname, subname, desc)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_subroutine', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_subroutine', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((doc, modname, fnname, desc)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_function', , {}, ['', 'This s [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_function', , {}, ['', 'This s [debug] DoxygenMethodDocumenter format_signature called ((docFileBase, doc, minimal, complete, layout, debugging)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_init', , {}, ['', 'Initialize [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_init', , {}, ['', 'Initialize [debug] DoxygenMethodDocumenter format_signature called ((doc)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::open_doc_file', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::open_doc_file', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called (()) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::find_unused_unit_number', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::find_unused_unit_number', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((doc)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_end', , {}, ['', 'This subrou [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::doc_end', , {}, ['', 'This subrou [debug] DoxygenMethodDocumenter format_signature called ((doc, varName, mesg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::mesghasbeendocumented', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_document::mesghasbeendocumented', , {}, ['' [fd] run(.. f:type:: doc_type) [fd] sig(doc_type) [fd] ftype(None) objtype(None) modname(None) typename() name(doc_type) arglist(None) [fd] fullname(mom_document/doc_type) ftype(None) [fd] name(('mom_document/doc_type', None)) sig(doc_type) signode(type mom_document/doc_type) [fd] run(.. f:type:: link_msg) [fd] sig(link_msg) [fd] ftype(None) objtype(None) modname(None) typename() name(link_msg) arglist(None) [fd] fullname(mom_document/link_msg) ftype(None) [fd] name(('mom_document/link_msg', None)) sig(link_msg) signode(type mom_document/link_msg) [fd] run(.. f:subroutine:: subroutine doc_param_none(doc, varname, desc, units)) [fd] sig(subroutine doc_param_none(doc, varname, desc, units)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(doc_param_none) arglist(doc, varname, desc, units) [fd] fullname(mom_document/doc_param_none) ftype(None) [fd] name(('mom_document/doc_param_none', None)) sig(subroutine doc_param_none(doc, varname, desc, units)) signode(subroutine mom_document/doc_param_nonedocvarnamedescunits) [fd] run(.. f:subroutine:: subroutine doc_param_logical(doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default)) [fd] sig(subroutine doc_param_logical(doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(doc_param_logical) arglist(doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default) [fd] fullname(mom_document/doc_param_logical) ftype(None) [fd] name(('mom_document/doc_param_logical', None)) sig(subroutine doc_param_logical(doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default)) signode(subroutine mom_document/doc_param_logicaldocvarnamedescunitsvaldefaultlayoutParamdebuggingParamlike_default) [fd] run(.. f:subroutine:: subroutine doc_param_logical_array(doc, varname, desc, units, vals, default, layoutParam, debuggingParam, like_default)) [fd] sig(subroutine doc_param_logical_array(doc, varname, desc, units, vals, default, layoutParam, debuggingParam, like_default)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(doc_param_logical_array) arglist(doc, varname, desc, units, vals, default, layoutParam, debuggingParam, like_default) [fd] fullname(mom_document/doc_param_logical_array) ftype(None) [fd] name(('mom_document/doc_param_logical_array', None)) sig(subroutine doc_param_logical_array(doc, varname, desc, units, vals, default, layoutParam, debuggingParam, like_default)) signode(subroutine mom_document/doc_param_logical_arraydocvarnamedescunitsvalsdefaultlayoutParamdebuggingParamlike_default) [fd] run(.. f:subroutine:: subroutine doc_param_int(doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default)) [fd] sig(subroutine doc_param_int(doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(doc_param_int) arglist(doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default) [fd] fullname(mom_document/doc_param_int) ftype(None) [fd] name(('mom_document/doc_param_int', None)) sig(subroutine doc_param_int(doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default)) signode(subroutine mom_document/doc_param_intdocvarnamedescunitsvaldefaultlayoutParamdebuggingParamlike_default) [fd] run(.. f:subroutine:: subroutine doc_param_int_array(doc, varname, desc, units, vals, default, layoutParam, debuggingParam, like_default)) [fd] sig(subroutine doc_param_int_array(doc, varname, desc, units, vals, default, layoutParam, debuggingParam, like_default)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(doc_param_int_array) arglist(doc, varname, desc, units, vals, default, layoutParam, debuggingParam, like_default) [fd] fullname(mom_document/doc_param_int_array) ftype(None) [fd] name(('mom_document/doc_param_int_array', None)) sig(subroutine doc_param_int_array(doc, varname, desc, units, vals, default, layoutParam, debuggingParam, like_default)) signode(subroutine mom_document/doc_param_int_arraydocvarnamedescunitsvalsdefaultlayoutParamdebuggingParamlike_default) [fd] run(.. f:subroutine:: subroutine doc_param_real(doc, varname, desc, units, val, default, debuggingParam, like_default)) [fd] sig(subroutine doc_param_real(doc, varname, desc, units, val, default, debuggingParam, like_default)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(doc_param_real) arglist(doc, varname, desc, units, val, default, debuggingParam, like_default) [fd] fullname(mom_document/doc_param_real) ftype(None) [fd] name(('mom_document/doc_param_real', None)) sig(subroutine doc_param_real(doc, varname, desc, units, val, default, debuggingParam, like_default)) signode(subroutine mom_document/doc_param_realdocvarnamedescunitsvaldefaultdebuggingParamlike_default) [fd] run(.. f:subroutine:: subroutine doc_param_real_array(doc, varname, desc, units, vals, default, debuggingParam, like_default)) [fd] sig(subroutine doc_param_real_array(doc, varname, desc, units, vals, default, debuggingParam, like_default)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(doc_param_real_array) arglist(doc, varname, desc, units, vals, default, debuggingParam, like_default) [fd] fullname(mom_document/doc_param_real_array) ftype(None) [fd] name(('mom_document/doc_param_real_array', None)) sig(subroutine doc_param_real_array(doc, varname, desc, units, vals, default, debuggingParam, like_default)) signode(subroutine mom_document/doc_param_real_arraydocvarnamedescunitsvalsdefaultdebuggingParamlike_default) [fd] run(.. f:subroutine:: subroutine doc_param_char(doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default)) [fd] sig(subroutine doc_param_char(doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(doc_param_char) arglist(doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default) [fd] fullname(mom_document/doc_param_char) ftype(None) [fd] name(('mom_document/doc_param_char', None)) sig(subroutine doc_param_char(doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default)) signode(subroutine mom_document/doc_param_chardocvarnamedescunitsvaldefaultlayoutParamdebuggingParamlike_default) [fd] run(.. f:subroutine:: subroutine doc_openblock(doc, blockName, desc)) [fd] sig(subroutine doc_openblock(doc, blockName, desc)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(doc_openblock) arglist(doc, blockName, desc) [fd] fullname(mom_document/doc_openblock) ftype(None) [fd] name(('mom_document/doc_openblock', None)) sig(subroutine doc_openblock(doc, blockName, desc)) signode(subroutine mom_document/doc_openblockdocblockNamedesc) [fd] run(.. f:subroutine:: subroutine doc_closeblock(doc, blockName)) [fd] sig(subroutine doc_closeblock(doc, blockName)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(doc_closeblock) arglist(doc, blockName) [fd] fullname(mom_document/doc_closeblock) ftype(None) [fd] name(('mom_document/doc_closeblock', None)) sig(subroutine doc_closeblock(doc, blockName)) signode(subroutine mom_document/doc_closeblockdocblockName) [fd] run(.. f:subroutine:: subroutine doc_param_time(doc, varname, desc, val, default, units, debuggingParam, like_default)) [fd] sig(subroutine doc_param_time(doc, varname, desc, val, default, units, debuggingParam, like_default)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(doc_param_time) arglist(doc, varname, desc, val, default, units, debuggingParam, like_default) [fd] fullname(mom_document/doc_param_time) ftype(None) [fd] name(('mom_document/doc_param_time', None)) sig(subroutine doc_param_time(doc, varname, desc, val, default, units, debuggingParam, like_default)) signode(subroutine mom_document/doc_param_timedocvarnamedescvaldefaultunitsdebuggingParamlike_default) [fd] run(.. f:subroutine:: subroutine writemessageanddesc(doc, vmesg, desc, valueWasDefault, indent, layoutParam, debuggingParam)) [fd] sig(subroutine writemessageanddesc(doc, vmesg, desc, valueWasDefault, indent, layoutParam, debuggingParam)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(writemessageanddesc) arglist(doc, vmesg, desc, valueWasDefault, indent, layoutParam, debuggingParam) [fd] fullname(mom_document/writemessageanddesc) ftype(None) [fd] name(('mom_document/writemessageanddesc', None)) sig(subroutine writemessageanddesc(doc, vmesg, desc, valueWasDefault, indent, layoutParam, debuggingParam)) signode(subroutine mom_document/writemessageanddescdocvmesgdescvalueWasDefaultindentlayoutParamdebuggingParam) [fd] run(.. f:function:: character(len=40) function time_string(time)) [fd] sig(character(len=40) function time_string(time)) [fd] ftype(character(len=40)) objtype(function) modname(None) typename() name(time_string) arglist(time) [fd] fullname(mom_document/time_string) ftype(character(len=40)) [fd] name(('mom_document/time_string', 'character(len=40)')) sig(character(len=40) function time_string(time)) signode(function mom_document/time_stringtime [character(len=40)]) [fd] run(.. f:function:: character(len=32) function real_string(val)) [fd] sig(character(len=32) function real_string(val)) [fd] ftype(character(len=32)) objtype(function) modname(None) typename() name(real_string) arglist(val) [fd] fullname(mom_document/real_string) ftype(character(len=32)) [fd] name(('mom_document/real_string', 'character(len=32)')) sig(character(len=32) function real_string(val)) signode(function mom_document/real_stringval [character(len=32)]) [fd] run(.. f:function:: character(len=1320) function real_array_string(vals, sep)) [fd] sig(character(len=1320) function real_array_string(vals, sep)) [fd] ftype(character(len=1320)) objtype(function) modname(None) typename() name(real_array_string) arglist(vals, sep) [fd] fullname(mom_document/real_array_string) ftype(character(len=1320)) [fd] name(('mom_document/real_array_string', 'character(len=1320)')) sig(character(len=1320) function real_array_string(vals, sep)) signode(function mom_document/real_array_stringvalssep [character(len=1320)]) [fd] run(.. f:function:: logical function testformattedfloatisreal(str, val)) [fd] sig(logical function testformattedfloatisreal(str, val)) [fd] ftype(logical) objtype(function) modname(None) typename() name(testformattedfloatisreal) arglist(str, val) [fd] fullname(mom_document/testformattedfloatisreal) ftype(logical) [fd] name(('mom_document/testformattedfloatisreal', 'logical')) sig(logical function testformattedfloatisreal(str, val)) signode(function mom_document/testformattedfloatisrealstrval [logical]) [fd] run(.. f:function:: character(len=24) function int_string(val)) [fd] sig(character(len=24) function int_string(val)) [fd] ftype(character(len=24)) objtype(function) modname(None) typename() name(int_string) arglist(val) [fd] fullname(mom_document/int_string) ftype(character(len=24)) [fd] name(('mom_document/int_string', 'character(len=24)')) sig(character(len=24) function int_string(val)) signode(function mom_document/int_stringval [character(len=24)]) [fd] run(.. f:function:: character(len=24) function logical_string(val)) [fd] sig(character(len=24) function logical_string(val)) [fd] ftype(character(len=24)) objtype(function) modname(None) typename() name(logical_string) arglist(val) [fd] fullname(mom_document/logical_string) ftype(character(len=24)) [fd] name(('mom_document/logical_string', 'character(len=24)')) sig(character(len=24) function logical_string(val)) signode(function mom_document/logical_stringval [character(len=24)]) [fd] run(.. f:function:: character(len=mlen) function define_string(doc, varName, valString, units)) [fd] sig(character(len=mlen) function define_string(doc, varName, valString, units)) [fd] ftype(character(len=mlen)) objtype(function) modname(None) typename() name(define_string) arglist(doc, varName, valString, units) [fd] fullname(mom_document/define_string) ftype(character(len=mlen)) [fd] name(('mom_document/define_string', 'character(len=mlen)')) sig(character(len=mlen) function define_string(doc, varName, valString, units)) signode(function mom_document/define_stringdocvarNamevalStringunits [character(len=mlen)]) [fd] run(.. f:function:: character(len=mlen) function undef_string(doc, varName, units)) [fd] sig(character(len=mlen) function undef_string(doc, varName, units)) [fd] ftype(character(len=mlen)) objtype(function) modname(None) typename() name(undef_string) arglist(doc, varName, units) [fd] fullname(mom_document/undef_string) ftype(character(len=mlen)) [fd] name(('mom_document/undef_string', 'character(len=mlen)')) sig(character(len=mlen) function undef_string(doc, varName, units)) signode(function mom_document/undef_stringdocvarNameunits [character(len=mlen)]) [fd] run(.. f:subroutine:: subroutine doc_module(doc, modname, desc, log_to_all, all_default, layoutMod, debuggingMod)) [fd] sig(subroutine doc_module(doc, modname, desc, log_to_all, all_default, layoutMod, debuggingMod)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(doc_module) arglist(doc, modname, desc, log_to_all, all_default, layoutMod, debuggingMod) [fd] fullname(mom_document/doc_module) ftype(None) [fd] name(('mom_document/doc_module', None)) sig(subroutine doc_module(doc, modname, desc, log_to_all, all_default, layoutMod, debuggingMod)) signode(subroutine mom_document/doc_moduledocmodnamedesclog_to_allall_defaultlayoutModdebuggingMod) [fd] run(.. f:subroutine:: subroutine doc_subroutine(doc, modname, subname, desc)) [fd] sig(subroutine doc_subroutine(doc, modname, subname, desc)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(doc_subroutine) arglist(doc, modname, subname, desc) [fd] fullname(mom_document/doc_subroutine) ftype(None) [fd] name(('mom_document/doc_subroutine', None)) sig(subroutine doc_subroutine(doc, modname, subname, desc)) signode(subroutine mom_document/doc_subroutinedocmodnamesubnamedesc) [fd] run(.. f:subroutine:: subroutine doc_function(doc, modname, fnname, desc)) [fd] sig(subroutine doc_function(doc, modname, fnname, desc)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(doc_function) arglist(doc, modname, fnname, desc) [fd] fullname(mom_document/doc_function) ftype(None) [fd] name(('mom_document/doc_function', None)) sig(subroutine doc_function(doc, modname, fnname, desc)) signode(subroutine mom_document/doc_functiondocmodnamefnnamedesc) [fd] run(.. f:subroutine:: subroutine doc_init(docFileBase, doc, minimal, complete, layout, debugging)) [fd] sig(subroutine doc_init(docFileBase, doc, minimal, complete, layout, debugging)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(doc_init) arglist(docFileBase, doc, minimal, complete, layout, debugging) [fd] fullname(mom_document/doc_init) ftype(None) [fd] name(('mom_document/doc_init', None)) sig(subroutine doc_init(docFileBase, doc, minimal, complete, layout, debugging)) signode(subroutine mom_document/doc_initdocFileBasedocminimalcompletelayoutdebugging) [fd] run(.. f:subroutine:: subroutine open_doc_file(doc)) [fd] sig(subroutine open_doc_file(doc)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(open_doc_file) arglist(doc) [fd] fullname(mom_document/open_doc_file) ftype(None) [fd] name(('mom_document/open_doc_file', None)) sig(subroutine open_doc_file(doc)) signode(subroutine mom_document/open_doc_filedoc) [fd] run(.. f:function:: integer function find_unused_unit_number()) [fd] sig(integer function find_unused_unit_number()) [fd] ftype(integer) objtype(function) modname(None) typename() name(find_unused_unit_number) arglist() [fd] fullname(mom_document/find_unused_unit_number) ftype(integer) [fd] name(('mom_document/find_unused_unit_number', 'integer')) sig(integer function find_unused_unit_number()) signode(function mom_document/find_unused_unit_number [integer]) [fd] run(.. f:subroutine:: subroutine doc_end(doc)) [fd] sig(subroutine doc_end(doc)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(doc_end) arglist(doc) [fd] fullname(mom_document/doc_end) ftype(None) [fd] name(('mom_document/doc_end', None)) sig(subroutine doc_end(doc)) signode(subroutine mom_document/doc_enddoc) [fd] run(.. f:function:: logical function mesghasbeendocumented(doc, varName, mesg)) [fd] sig(logical function mesghasbeendocumented(doc, varName, mesg)) [fd] ftype(logical) objtype(function) modname(None) typename() name(mesghasbeendocumented) arglist(doc, varName, mesg) [fd] fullname(mom_document/mesghasbeendocumented) ftype(logical) [fd] name(('mom_document/mesghasbeendocumented', 'logical')) sig(logical function mesghasbeendocumented(doc, varName, mesg)) signode(function mom_document/mesghasbeendocumenteddocvarNamemesg [logical]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 28%] api/generated/modules/mom_domains [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_domains' [app] emitting event: 'source-read'('api/generated/modules/mom_domains', ['.. autodoxymodule:: mom_domains\n :members:\n :methods:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_domains.rst:1: input: .. autodoxymodule:: mom_domains :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_domains::mom_domain_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_domains::pass_var_3d ~mom_domains::pass_var_2d ~mom_domains::pass_var_start_2d ~mom_domains::pass_var_start_3d ~mom_domains::pass_var_complete_2d ~mom_domains::pass_var_complete_3d ~mom_domains::pass_vector_2d ~mom_domains::fill_vector_symmetric_edges_2d ~mom_domains::pass_vector_3d ~mom_domains::pass_vector_start_2d ~mom_domains::pass_vector_start_3d ~mom_domains::pass_vector_complete_2d ~mom_domains::pass_vector_complete_3d ~mom_domains::create_var_group_pass_2d ~mom_domains::create_var_group_pass_3d ~mom_domains::create_vector_group_pass_2d ~mom_domains::create_vector_group_pass_3d ~mom_domains::do_group_pass ~mom_domains::start_group_pass ~mom_domains::complete_group_pass ~mom_domains::mom_domains_init ~mom_domains::clone_md_to_md ~mom_domains::clone_md_to_d2d ~mom_domains::get_domain_extent ~mom_domains::get_domain_extent_dsamp2 ~mom_domains::get_simple_array_i_ind ~mom_domains::get_simple_array_j_ind ~mom_domains::get_global_shape [debug] xpath(./compounddef/compoundname[text()="mom_domains"]/..) match([('id', 'namespacemom__domains'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_domains module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_domains', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_domains' (exception was: ModuleNotFoundError("No module named 'mom_domains'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_domains::mom_domain_type', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('pass_var_2d', ), ('pass_var_start_2d', ), ('pass_var_start_3d', ), ('pass_var_complete_2d', ), ('pass_var_complete_3d', ), ('pass_vector_2d', ), ('fill_vector_symmetric_edges_2d', ), ('pass_vector_3d', ), ('pass_vector_start_2d', ), ('pass_vector_start_3d', ), ('pass_vector_complete_2d', ), ('pass_vector_complete_3d', ), ('create_var_group_pass_2d', ), ('create_var_group_pass_3d', ), ('create_vector_group_pass_2d', ), ('create_vector_group_pass_3d', ), ('do_group_pass', ), ('start_group_pass', ), ('complete_group_pass', ), ('mom_domains_init', ), ('clone_md_to_md', ), ('clone_md_to_d2d', ), ('get_domain_extent', ), ('get_domain_extent_dsamp2', ), ('get_simple_array_i_ind', ), ('get_simple_array_j_ind', ), ('get_global_shape', )]) [autodoc] module analyzer failed: error importing 'mom_domains' (exception was: ModuleNotFoundError("No module named 'mom_domains'")) [debug] DoxygenMethodDocumenter format_signature called ((array, MOM_dom, sideflag, complete, position, halo, clock)) [debug] add_directive_header sig((array, MOM_dom, sideflag, complete, position, halo, clock)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine pass_var_3d) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pass_var_3d', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'fill_vector_symmetric_edges_2d', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'fill_vector_symmetric_edges_2d', , {'members': [autodoc] module analyzer failed: error importing 'mom_domains' (exception was: ModuleNotFoundError("No module named 'mom_domains'")) [debug] DoxygenMethodDocumenter format_signature called ((u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) [debug] add_directive_header sig((u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine pass_vector_3d) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pass_vector_3d', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_domains::mom_domain_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_domains::pass_var_3d ~mom_domains::pass_var_2d ~mom_domains::pass_var_start_2d ~mom_domains::pass_var_start_3d ~mom_domains::pass_var_complete_2d ~mom_domains::pass_var_complete_3d ~mom_domains::pass_vector_2d ~mom_domains::fill_vector_symmetric_edges_2d ~mom_domains::pass_vector_3d ~mom_domains::pass_vector_start_2d ~mom_domains::pass_vector_start_3d ~mom_domains::pass_vector_complete_2d ~mom_domains::pass_vector_complete_3d ~mom_domains::create_var_group_pass_2d ~mom_domains::create_var_group_pass_3d ~mom_domains::create_vector_group_pass_2d ~mom_domains::create_vector_group_pass_3d ~mom_domains::do_group_pass ~mom_domains::start_group_pass ~mom_domains::complete_group_pass ~mom_domains::mom_domains_init ~mom_domains::clone_md_to_md ~mom_domains::clone_md_to_d2d ~mom_domains::get_domain_extent ~mom_domains::get_domain_extent_dsamp2 ~mom_domains::get_simple_array_i_ind ~mom_domains::get_simple_array_j_ind ~mom_domains::get_global_shape .. _DETAmom_domains: -------------------- Detailed Description -------------------- Describes the decomposed MOM domain and has routines for communications across PEs. ------------------ Type Documentation ------------------ .. f:type:: mom_domain_type The MOM_domain_type contains information about the domain decompositoin. :typefield type(domain2d) mpp_domain [pointer]: The FMS domain with halos on this processor, centered at h points. :typefield type(domain2d) mpp_domain_d2 [pointer]: A coarse FMS domain with halos on this processor, centered at h points. :typefield integer niglobal: The total horizontal i-domain size. :typefield integer njglobal: The total horizontal j-domain size. :typefield integer nihalo: The i-halo size in memory. :typefield integer njhalo: The j-halo size in memory. :typefield logical symmetric: True if symmetric memory is used with this domain. :typefield logical nonblocking_updates: If true, non-blocking halo updates are allowed. The default is .false. (for now). :typefield logical thin_halo_updates: If true, optional arguments may be used to specify the width of the halos that are updated with each call. :typefield integer(2) layout: This domain's processor layout. This is saved to enable the construction of related new domains with different resolutions or other properties. :typefield integer(2) io_layout: The IO-layout used with this domain. :typefield integer x_flags: Flag that specifies the properties of the domain in the i-direction in a define_domain call. :typefield integer y_flags: Flag that specifies the properties of the domain in the j-direction in a define_domain call. :typefield logical(\:,\:) maskmap [pointer]: A pointer to an array indicating which logical processors are actually used for the ocean code. The other logical processors would be contain only land points and are not assigned to actual processors. This need not be assigned if all logical processors are used. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine pass_var_3d(array, MOM_dom, sideflag, complete, position, halo, clock) pass_var_3d does a halo update for a three-dimensional array. :param array: [inout] The array which is having its halos points exchanged. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param sideflag: [in] An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH. For example, TO_EAST sends the data to the processor to the east, sothe halos on the western side are filled. TO_ALL is the default if sideflag is omitted. :param complete: [in] An optional argument indicating whether the halo updates should be completed before progress resumes. Omitting complete is the same as setting complete to .true. :param position: [in] An optional argument indicating the position. This is CENTER by default and is often CORNER, but could also be EAST_FACE or NORTH_FACE. :param halo: [in] The size of the halo to update - the full halo by default. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :callto: :f:func:`to_all ` .. f:subroutine:: subroutine pass_var_2d(array, MOM_dom, sideflag, complete, position, halo, inner_halo, clock) pass_var_2d does a halo update for a two-dimensional array. :param array: [inout] The array which is having its halos points exchanged. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param sideflag: [in] An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if sideflag is omitted. :param complete: [in] An optional argument indicating whether the halo updates should be completed before progress resumes. Omitting complete is the same as setting complete to .true. :param position: [in] An optional argument indicating the position. This is CENTER by default and is often CORNER, but could also be EAST_FACE or NORTH_FACE. :param halo: [in] The size of the halo to update - the full halo by default. :param inner_halo: [in] The size of an inner halo to avoid updating, or 0 to avoid updating symmetric memory computational domain points. Setting this >=0 also enforces that complete=.true. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`to_all ` .. f:function:: integer function pass_var_start_2d(array, MOM_dom, sideflag, position, complete, halo, clock) pass_var_start_2d starts a halo update for a two-dimensional array. :param array: [inout] The array which is having its halos points exchanged. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param sideflag: [in] An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if sideflag is omitted. :param position: [in] An optional argument indicating the position. This is CENTER by default and is often CORNER, but could also be EAST_FACE or NORTH_FACE. :param complete: [in] An optional argument indicating whether the halo updates should be completed before progress resumes. Omitting complete is the same as setting complete to .true. :param halo: [in] The size of the halo to update - the full halo by default. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :returns undefined: The integer index for this update. :callto: :f:func:`to_all ` .. f:function:: integer function pass_var_start_3d(array, MOM_dom, sideflag, position, complete, halo, clock) pass_var_start_3d starts a halo update for a three-dimensional array. :param array: [inout] The array which is having its halos points exchanged. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param sideflag: [in] An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if sideflag is omitted. :param position: [in] An optional argument indicating the position. This is CENTER by default and is often CORNER, but could also be EAST_FACE or NORTH_FACE. :param complete: [in] An optional argument indicating whether the halo updates should be completed before progress resumes. Omitting complete is the same as setting complete to .true. :param halo: [in] The size of the halo to update - the full halo by default. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :returns undefined: The integer index for this update. :callto: :f:func:`to_all ` .. f:subroutine:: subroutine pass_var_complete_2d(id_update, array, MOM_dom, sideflag, position, halo, clock) pass_var_complete_2d completes a halo update for a two-dimensional array. :param id_update: [in] The integer id of this update which has been returned from a previous call to :f:func:`pass_var_start`. . :param array: [inout] The array which is having its halos points exchanged. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param sideflag: [in] An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if sideflag is omitted. :param position: [in] An optional argument indicating the position. This is CENTER by default and is often CORNER, but could also be EAST_FACE or NORTH_FACE. :param halo: [in] The size of the halo to update - the full halo by default. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :callto: :f:func:`to_all ` .. f:subroutine:: subroutine pass_var_complete_3d(id_update, array, MOM_dom, sideflag, position, halo, clock) pass_var_complete_3d completes a halo update for a three-dimensional array. :param id_update: [in] The integer id of this update which has been returned from a previous call to :f:func:`pass_var_start`. . :param array: [inout] The array which is having its halos points exchanged. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param sideflag: [in] An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if sideflag is omitted. :param position: [in] An optional argument indicating the position. This is CENTER by default and is often CORNER, but could also be EAST_FACE or NORTH_FACE. :param halo: [in] The size of the halo to update - the full halo by default. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :callto: :f:func:`to_all ` .. f:subroutine:: subroutine pass_vector_2d(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock) pass_vector_2d does a halo update for a pair of two-dimensional arrays representing the compontents of a two-dimensional horizontal vector. :param u_cmpt: [inout] The nominal zonal (u) component of the vector pair which is having its halos points exchanged. :param v_cmpt: [inout] The nominal meridional (v) component of the vector pair which is having its halos points exchanged. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param direction: [in] An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH, possibly plus SCALAR_PAIR if these are paired non-directional scalars discretized at the typical vector component locations. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if omitted. :param stagger: [in] An optional flag, which may be one of A_GRID, BGRID_NE, or CGRID_NE, indicating where the two components of the vector are discretized. Omitting stagger is the same as setting it to CGRID_NE. :param complete: [in] An optional argument indicating whether the halo updates should be completed before progress resumes. Omitting complete is the same as setting complete to .true. :param halo: [in] The size of the halo to update - the full halo by default. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :callto: :f:func:`to_all ` .. f:subroutine:: subroutine fill_vector_symmetric_edges_2d(u_cmpt, v_cmpt, MOM_dom, stagger, scalar, clock) fill_vector_symmetric_edges_2d does an usual set of halo updates that only fill in the values at the edge of a pair of symmetric memory two-dimensional arrays representing the compontents of a two-dimensional horizontal vector. If symmetric memory is not being used, this subroutine does nothing except to possibly turn optional cpu clocks on or off. :param u_cmpt: [inout] The nominal zonal (u) component of the vector pair which is having its halos points exchanged. :param v_cmpt: [inout] The nominal meridional (v) component of the vector pair which is having its halos points exchanged. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param stagger: [in] An optional flag, which may be one of A_GRID, BGRID_NE, or CGRID_NE, indicating where the two components of the vector are discretized. Omitting stagger is the same as setting it to CGRID_NE. :param scalar: [in] An optional argument indicating whether. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :callto: :f:func:`to_all ` .. f:subroutine:: subroutine pass_vector_3d(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock) pass_vector_3d does a halo update for a pair of three-dimensional arrays representing the compontents of a three-dimensional horizontal vector. :param u_cmpt: [inout] The nominal zonal (u) component of the vector pair which is having its halos points exchanged. :param v_cmpt: [inout] The nominal meridional (v) component of the vector pair which is having its halos points exchanged. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param direction: [in] An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH, possibly plus SCALAR_PAIR if these are paired non-directional scalars discretized at the typical vector component locations. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if omitted. :param stagger: [in] An optional flag, which may be one of A_GRID, BGRID_NE, or CGRID_NE, indicating where the two components of the vector are discretized. Omitting stagger is the same as setting it to CGRID_NE. :param complete: [in] An optional argument indicating whether the halo updates should be completed before progress resumes. Omitting complete is the same as setting complete to .true. :param halo: [in] The size of the halo to update - the full halo by default. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :callto: :f:func:`to_all ` .. f:function:: integer function pass_vector_start_2d(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock) pass_vector_start_2d starts a halo update for a pair of two-dimensional arrays representing the compontents of a two-dimensional horizontal vector. :param u_cmpt: [inout] The nominal zonal (u) component of the vector pair which is having its halos points exchanged. :param v_cmpt: [inout] The nominal meridional (v) component of the vector pair which is having its halos points exchanged. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param direction: [in] An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH, possibly plus SCALAR_PAIR if these are paired non-directional scalars discretized at the typical vector component locations. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if omitted. :param stagger: [in] An optional flag, which may be one of A_GRID, BGRID_NE, or CGRID_NE, indicating where the two components of the vector are discretized. Omitting stagger is the same as setting it to CGRID_NE. :param complete: [in] An optional argument indicating whether the halo updates should be completed before progress resumes. Omitting complete is the same as setting complete to .true. :param halo: [in] The size of the halo to update - the full halo by default. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :returns undefined: The integer index for this update. :callto: :f:func:`to_all ` .. f:function:: integer function pass_vector_start_3d(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock) pass_vector_start_3d starts a halo update for a pair of three-dimensional arrays representing the compontents of a three-dimensional horizontal vector. :param u_cmpt: [inout] The nominal zonal (u) component of the vector pair which is having its halos points exchanged. :param v_cmpt: [inout] The nominal meridional (v) component of the vector pair which is having its halos points exchanged. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param direction: [in] An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH, possibly plus SCALAR_PAIR if these are paired non-directional scalars discretized at the typical vector component locations. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if omitted. :param stagger: [in] An optional flag, which may be one of A_GRID, BGRID_NE, or CGRID_NE, indicating where the two components of the vector are discretized. Omitting stagger is the same as setting it to CGRID_NE. :param complete: [in] An optional argument indicating whether the halo updates should be completed before progress resumes. Omitting complete is the same as setting complete to .true. :param halo: [in] The size of the halo to update - the full halo by default. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :returns undefined: The integer index for this update. :callto: :f:func:`to_all ` .. f:subroutine:: subroutine pass_vector_complete_2d(id_update, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock) pass_vector_complete_2d completes a halo update for a pair of two-dimensional arrays representing the compontents of a two-dimensional horizontal vector. :param id_update: [in] The integer id of this update which has been returned from a previous call to :f:func:`pass_var_start`. . :param u_cmpt: [inout] The nominal zonal (u) component of the vector pair which is having its halos points exchanged. :param v_cmpt: [inout] The nominal meridional (v) component of the vector pair which is having its halos points exchanged. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param direction: [in] An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH, possibly plus SCALAR_PAIR if these are paired non-directional scalars discretized at the typical vector component locations. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if omitted. :param stagger: [in] An optional flag, which may be one of A_GRID, BGRID_NE, or CGRID_NE, indicating where the two components of the vector are discretized. Omitting stagger is the same as setting it to CGRID_NE. :param halo: [in] The size of the halo to update - the full halo by default. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :callto: :f:func:`to_all ` .. f:subroutine:: subroutine pass_vector_complete_3d(id_update, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock) pass_vector_complete_3d completes a halo update for a pair of three-dimensional arrays representing the compontents of a three-dimensional horizontal vector. :param id_update: [in] The integer id of this update which has been returned from a previous call to :f:func:`pass_var_start`. . :param u_cmpt: [inout] The nominal zonal (u) component of the vector pair which is having its halos points exchanged. :param v_cmpt: [inout] The nominal meridional (v) component of the vector pair which is having its halos points exchanged. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param direction: [in] An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH, possibly plus SCALAR_PAIR if these are paired non-directional scalars discretized at the typical vector component locations. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if omitted. :param stagger: [in] An optional flag, which may be one of A_GRID, BGRID_NE, or CGRID_NE, indicating where the two components of the vector are discretized. Omitting stagger is the same as setting it to CGRID_NE. :param halo: [in] The size of the halo to update - the full halo by default. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :callto: :f:func:`to_all ` .. f:subroutine:: subroutine create_var_group_pass_2d(group, array, MOM_dom, sideflag, position, halo, clock) create_var_group_pass_2d sets up a group of two-dimensional array halo updates. :param group: [inout] The data type that store information for group update. This data will be used in do_group_pass. :param array: [inout] The array which is having its halos points exchanged. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param sideflag: [in] An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if sideflag is omitted. :param position: [in] An optional argument indicating the position. This is CENTER by default and is often CORNER, but could also be EAST_FACE or NORTH_FACE. :param halo: [in] The size of the halo to update - the full halo by default. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :callto: :f:func:`to_all ` .. f:subroutine:: subroutine create_var_group_pass_3d(group, array, MOM_dom, sideflag, position, halo, clock) create_var_group_pass_3d sets up a group of three-dimensional array halo updates. :param group: [inout] The data type that store information for group update. This data will be used in do_group_pass. :param array: [inout] The array which is having its halos points exchanged. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param sideflag: [in] An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if sideflag is omitted. :param position: [in] An optional argument indicating the position. This is CENTER by default and is often CORNER, but could also be EAST_FACE or NORTH_FACE. :param halo: [in] The size of the halo to update - the full halo by default. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :callto: :f:func:`to_all ` .. f:subroutine:: subroutine create_vector_group_pass_2d(group, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock) create_vector_group_pass_2d sets up a group of two-dimensional vector halo updates. :param group: [inout] The data type that store information for group update. This data will be used in do_group_pass. :param u_cmpt: [inout] The nominal zonal (u) component of the vector pair which is having its halos points exchanged. :param v_cmpt: [inout] The nominal meridional (v) component of the vector pair which is having its halos points exchanged. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent :param direction: [in] An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH, possibly plus SCALAR_PAIR if these are paired non-directional scalars discretized at the typical vector component locations. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if omitted. :param stagger: [in] An optional flag, which may be one of A_GRID, BGRID_NE, or CGRID_NE, indicating where the two components of the vector are discretized. Omitting stagger is the same as setting it to CGRID_NE. :param halo: [in] The size of the halo to update - the full halo by default. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :callto: :f:func:`to_all ` .. f:subroutine:: subroutine create_vector_group_pass_3d(group, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock) create_vector_group_pass_3d sets up a group of three-dimensional vector halo updates. :param group: [inout] The data type that store information for group update. This data will be used in do_group_pass. :param u_cmpt: [inout] The nominal zonal (u) component of the vector pair which is having its halos points exchanged. :param v_cmpt: [inout] The nominal meridional (v) component of the vector pair which is having its halos points exchanged. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param direction: [in] An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH, possibly plus SCALAR_PAIR if these are paired non-directional scalars discretized at the typical vector component locations. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if omitted. :param stagger: [in] An optional flag, which may be one of A_GRID, BGRID_NE, or CGRID_NE, indicating where the two components of the vector are discretized. Omitting stagger is the same as setting it to CGRID_NE. :param halo: [in] The size of the halo to update - the full halo by default. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :callto: :f:func:`to_all ` .. f:subroutine:: subroutine do_group_pass(group, MOM_dom, clock) do_group_pass carries out a group halo update. :param group: [inout] The data type that store information for group update. This data will be used in do_group_pass. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :calledfrom: :f:func:`mom_tracer_advect::advect_tracer ` :calledfrom: :f:func:`mom_ale::ale_regrid_accelerated ` :calledfrom: :f:func:`mom_bulk_mixed_layer::bulkmixedlayer ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale ` :calledfrom: :f:func:`mom_diabatic_driver::layered_diabatic ` :calledfrom: :f:func:`mom_meke::meke_init ` :calledfrom: :f:func:`mom_meke::step_forward_meke ` .. f:subroutine:: subroutine start_group_pass(group, MOM_dom, clock) start_group_pass starts out a group halo update. :param group: [inout] The data type that store information for group update. This data will be used in do_group_pass. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :calledfrom: :f:func:`mom_barotropic::btstep ` :calledfrom: :f:func:`mom_internal_tides::propagate_int_tide ` :calledfrom: :f:func:`mom::step_mom ` :calledfrom: :f:func:`mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ` .. f:subroutine:: subroutine complete_group_pass(group, MOM_dom, clock) complete_group_pass completes a group halo update. :param group: [inout] The data type that store information for group update. This data will be used in do_group_pass. :param mom_dom: [inout] The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. :param clock: [in] The handle for a cpu time clock that should be started then stopped to time this routine. :calledfrom: :f:func:`mom_barotropic::btstep ` :calledfrom: :f:func:`mom_internal_tides::propagate_int_tide ` :calledfrom: :f:func:`mom::step_mom ` :calledfrom: :f:func:`mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ` .. f:subroutine:: subroutine mom_domains_init(MOM_dom, param_file, symmetric, static_memory, NIHALO, NJHALO, NIGLOBAL, NJGLOBAL, NIPROC, NJPROC, min_halo, domain_name, include_name, param_suffix) MOM_domains_init initalizes a MOM_domain_type variable, based on the information read in from a param_file_type, and optionally returns data describing various' properties of the domain type. :param mom_dom: A pointer to the MOM_domain_type being defined here. :param param_file: [in] A structure to parse for run-time parameters :param symmetric: [in] If present, this specifies whether this domain is symmetric, regardless of whether the macro SYMMETRIC_MEMORY_ is defined. :param static_memory: [in] If present and true, this domain type is set up for static memory and error checking of various input values is performed against those in the input file. :param nihalo: [in] Default halo sizes, required with static memory. :param njhalo: [in] Default halo sizes, required with static memory. :param niglobal: [in] Total domain sizes, required with static memory. :param njglobal: [in] Total domain sizes, required with static memory. :param niproc: [in] Processor counts, required with static memory. :param njproc: [in] Processor counts, required with static memory. :param min_halo: [inout] If present, this sets the minimum halo size for this domain in the i- and j- directions, and returns the actual halo size used. :param domain_name: [in] A name for this domain, "MOM" if missing. :param include_name: [in] A name for model's include file, "MOM_memory.h" if missing. :param param_suffix: [in] A suffix to apply to layout-specific parameters. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`mom_string_functions::slasher ` :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` .. f:subroutine:: subroutine clone_md_to_md(MD_in, MOM_dom, min_halo, halo_size, symmetric, domain_name, turns) clone_MD_to_MD copies one MOM_domain_type into another, while allowing some properties of the new type to differ from the original one. :param md_in: [in] An existing MOM_domain :param mom_dom: A pointer to a MOM_domain that will be allocated if it is unassociated, and will have data copied from MD_in :param min_halo: [inout] If present, this sets the :param halo_size: [in] If present, this sets the halo size for the domain in the i- and j-directions. min_halo and halo_size can not both be present. :param symmetric: [in] If present, this specifies whether the new domain is symmetric, regardless of whether the macro SYMMETRIC_MEMORY_ is defined. :param domain_name: [in] A name for the new domain, "MOM" :param turns: [in] Number of quarter turns :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine clone_md_to_d2d(MD_in, mpp_domain, min_halo, halo_size, symmetric, domain_name, turns) clone_MD_to_d2D uses information from a MOM_domain_type to create a new domain2d type, while allowing some properties of the new type to differ from the original one. :param md_in: [in] An existing MOM_domain to be cloned :param mpp_domain: [inout] The new mpp_domain to be set up :param min_halo: [inout] If present, this sets the :param halo_size: [in] If present, this sets the halo size for the domain in the i- and j-directions. min_halo and halo_size can not both be present. :param symmetric: [in] If present, this specifies whether the new domain is symmetric, regardless of whether the macro SYMMETRIC_MEMORY_ is defined. :param domain_name: [in] A name for the new domain, "MOM" :param turns: [in] If true, swap X and Y axes :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine get_domain_extent(Domain, isc, iec, jsc, jec, isd, ied, jsd, jed, isg, ieg, jsg, jeg, idg_offset, jdg_offset, symmetric, local_indexing, index_offset) Returns various data that has been stored in a MOM_domain_type. :param domain: [in] The MOM domain from which to extract information :param isc: [out] The start i-index of the computational domain :param iec: [out] The end i-index of the computational domain :param jsc: [out] The start j-index of the computational domain :param jec: [out] The end j-index of the computational domain :param isd: [out] The start i-index of the data domain :param ied: [out] The end i-index of the data domain :param jsd: [out] The start j-index of the data domain :param jed: [out] The end j-index of the data domain :param isg: [out] The start i-index of the global domain :param ieg: [out] The end i-index of the global domain :param jsg: [out] The start j-index of the global domain :param jeg: [out] The end j-index of the global domain :param idg_offset: [out] The offset between the corresponding global and data i-index spaces. :param jdg_offset: [out] The offset between the corresponding global and data j-index spaces. :param symmetric: [out] True if symmetric memory is used. :param local_indexing: [in] If true, local tracer array indices start at 1, as in most MOM6 code. :param index_offset: [in] A fixed additional offset to all indices. This can be useful for some types of debugging with dynamic memory allocation. :calledfrom: :f:func:`mom_hor_index::hor_index_init ` .. f:subroutine:: subroutine get_domain_extent_dsamp2(Domain, isc_d2, iec_d2, jsc_d2, jec_d2, isd_d2, ied_d2, jsd_d2, jed_d2, isg_d2, ieg_d2, jsg_d2, jeg_d2) :param domain: [in] The MOM domain from which to extract information :param isc_d2: [out] The start i-index of the computational domain :param iec_d2: [out] The end i-index of the computational domain :param jsc_d2: [out] The start j-index of the computational domain :param jec_d2: [out] The end j-index of the computational domain :param isd_d2: [out] The start i-index of the data domain :param ied_d2: [out] The end i-index of the data domain :param jsd_d2: [out] The start j-index of the data domain :param jed_d2: [out] The end j-index of the data domain :param isg_d2: [out] The start i-index of the global domain :param ieg_d2: [out] The end i-index of the global domain :param jsg_d2: [out] The start j-index of the global domain :param jeg_d2: [out] The end j-index of the global domain :calledfrom: :f:func:`mom_grid::mom_grid_init ` .. f:subroutine:: subroutine get_simple_array_i_ind(domain, size, is, ie, symmetric) Return the (potentially symmetric) computational domain i-bounds for an array passed without index specifications (i.e. indices start at 1) based on an array size. :param domain: [in] MOM domain from which to extract information :param size: [in] The i-array size :param is: [out] The computational domain starting i-index. :param ie: [out] The computational domain ending i-index. :param symmetric: [in] If present, indicates whether symmetric sizes can be considered. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_io::mom_read_data_2d ` :calledfrom: :f:func:`mom_io::mom_read_data_3d ` :calledfrom: :f:func:`mom_io::mom_read_data_4d ` :calledfrom: :f:func:`mom_io::mom_read_vector_2d ` :calledfrom: :f:func:`mom_io::mom_read_vector_3d ` .. f:subroutine:: subroutine get_simple_array_j_ind(domain, size, js, je, symmetric) Return the (potentially symmetric) computational domain j-bounds for an array passed without index specifications (i.e. indices start at 1) based on an array size. :param domain: [in] MOM domain from which to extract information :param size: [in] The j-array size :param js: [out] The computational domain starting j-index. :param je: [out] The computational domain ending j-index. :param symmetric: [in] If present, indicates whether symmetric sizes can be considered. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_io::mom_read_data_2d ` :calledfrom: :f:func:`mom_io::mom_read_data_3d ` :calledfrom: :f:func:`mom_io::mom_read_data_4d ` :calledfrom: :f:func:`mom_io::mom_read_vector_2d ` :calledfrom: :f:func:`mom_io::mom_read_vector_3d ` .. f:subroutine:: subroutine get_global_shape(domain, niglobal, njglobal) Returns the global shape of h-point arrays. :param domain: [in] MOM domain :param niglobal: [out] i-index global size of h-point arrays :param njglobal: [out] j-index global size of h-point arrays :calledfrom: :f:func:`mom_grid::get_global_grid_size ` :calledfrom: :f:func:`mom_hor_index::hor_index_init ` [debug] xpath(./compounddef/compoundname[text()="mom_domains::mom_domain_type"]/..) match([('id', 'structmom__domains_1_1mom__domain__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_domains::mom_domain_type', , {}, ['', 'Th [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_domains::mom_domain_type', , {}, ['`More. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_domains::mom_domain_type', , {}, ['', 'Th [debug] DoxygenMethodDocumenter format_signature called ((array, MOM_dom, sideflag, complete, position, halo, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_var_3d', , {}, ['', 'pass_var [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_var_3d', , {}, ['', 'pass_var [debug] DoxygenMethodDocumenter format_signature called ((array, MOM_dom, sideflag, complete, position, halo, inner_halo, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_var_2d', , {}, ['', 'pass_var [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_var_2d', , {}, ['', 'pass_var [debug] DoxygenMethodDocumenter format_signature called ((array, MOM_dom, sideflag, position, complete, halo, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_var_start_2d', , {}, ['', 'pa [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_var_start_2d', , {}, ['', 'pa [debug] DoxygenMethodDocumenter format_signature called ((array, MOM_dom, sideflag, position, complete, halo, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_var_start_3d', , {}, ['', 'pa [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_var_start_3d', , {}, ['', 'pa [debug] DoxygenMethodDocumenter format_signature called ((id_update, array, MOM_dom, sideflag, position, halo, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_var_complete_2d', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_var_complete_2d', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((id_update, array, MOM_dom, sideflag, position, halo, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_var_complete_3d', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_var_complete_3d', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_vector_2d', , {}, ['', 'pass_ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_vector_2d', , {}, ['', 'pass_ [debug] DoxygenMethodDocumenter format_signature called ((u_cmpt, v_cmpt, MOM_dom, stagger, scalar, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::fill_vector_symmetric_edges_2d', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::fill_vector_symmetric_edges_2d', , [debug] DoxygenMethodDocumenter format_signature called ((u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_vector_3d', , {}, ['', 'pass_ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_vector_3d', , {}, ['', 'pass_ [debug] DoxygenMethodDocumenter format_signature called ((u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_vector_start_2d', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_vector_start_2d', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_vector_start_3d', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_vector_start_3d', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((id_update, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_vector_complete_2d', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_vector_complete_2d', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((id_update, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_vector_complete_3d', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::pass_vector_complete_3d', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((group, array, MOM_dom, sideflag, position, halo, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::create_var_group_pass_2d', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::create_var_group_pass_2d', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((group, array, MOM_dom, sideflag, position, halo, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::create_var_group_pass_3d', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::create_var_group_pass_3d', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((group, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::create_vector_group_pass_2d', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::create_vector_group_pass_2d', , {} [debug] DoxygenMethodDocumenter format_signature called ((group, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::create_vector_group_pass_3d', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::create_vector_group_pass_3d', , {} [debug] DoxygenMethodDocumenter format_signature called ((group, MOM_dom, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::do_group_pass', , {}, ['', 'do_gro [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::do_group_pass', , {}, ['', 'do_gro [debug] DoxygenMethodDocumenter format_signature called ((group, MOM_dom, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::start_group_pass', , {}, ['', 'sta [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::start_group_pass', , {}, ['', 'sta [debug] DoxygenMethodDocumenter format_signature called ((group, MOM_dom, clock)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::complete_group_pass', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::complete_group_pass', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((MOM_dom, param_file, symmetric, static_memory, NIHALO, NJHALO, NIGLOBAL, NJGLOBAL, NIPROC, NJPROC, min_halo, domain_name, include_name, param_suffix)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::mom_domains_init', , {}, ['', "MOM [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::mom_domains_init', , {}, ['', "MOM [debug] DoxygenMethodDocumenter format_signature called ((MD_in, MOM_dom, min_halo, halo_size, symmetric, domain_name, turns)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::clone_md_to_md', , {}, ['', 'clone [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::clone_md_to_md', , {}, ['', 'clone [debug] DoxygenMethodDocumenter format_signature called ((MD_in, mpp_domain, min_halo, halo_size, symmetric, domain_name, turns)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::clone_md_to_d2d', , {}, ['', 'clon [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::clone_md_to_d2d', , {}, ['', 'clon [debug] DoxygenMethodDocumenter format_signature called ((Domain, isc, iec, jsc, jec, isd, ied, jsd, jed, isg, ieg, jsg, jeg, idg_offset, jdg_offset, symmetric, local_indexing, index_offset)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::get_domain_extent', , {}, ['', 'Re [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::get_domain_extent', , {}, ['', 'Re [debug] DoxygenMethodDocumenter format_signature called ((Domain, isc_d2, iec_d2, jsc_d2, jec_d2, isd_d2, ied_d2, jsd_d2, jed_d2, isg_d2, ieg_d2, jsg_d2, jeg_d2)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::get_domain_extent_dsamp2', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::get_domain_extent_dsamp2', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((domain, size, is, ie, symmetric)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::get_simple_array_i_ind', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::get_simple_array_i_ind', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((domain, size, js, je, symmetric)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::get_simple_array_j_ind', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::get_simple_array_j_ind', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((domain, niglobal, njglobal)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::get_global_shape', , {}, ['', 'Ret [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_domains::get_global_shape', , {}, ['', 'Ret [fd] run(.. f:type:: mom_domain_type) [fd] sig(mom_domain_type) [fd] ftype(None) objtype(None) modname(None) typename() name(mom_domain_type) arglist(None) [fd] fullname(mom_domains/mom_domain_type) ftype(None) [fd] name(('mom_domains/mom_domain_type', None)) sig(mom_domain_type) signode(type mom_domains/mom_domain_type) [fd] run(.. f:subroutine:: subroutine pass_var_3d(array, MOM_dom, sideflag, complete, position, halo, clock)) [fd] sig(subroutine pass_var_3d(array, MOM_dom, sideflag, complete, position, halo, clock)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pass_var_3d) arglist(array, MOM_dom, sideflag, complete, position, halo, clock) [fd] fullname(mom_domains/pass_var_3d) ftype(None) [fd] name(('mom_domains/pass_var_3d', None)) sig(subroutine pass_var_3d(array, MOM_dom, sideflag, complete, position, halo, clock)) signode(subroutine mom_domains/pass_var_3darrayMOM_domsideflagcompletepositionhaloclock) [fd] run(.. f:subroutine:: subroutine pass_var_2d(array, MOM_dom, sideflag, complete, position, halo, inner_halo, clock)) [fd] sig(subroutine pass_var_2d(array, MOM_dom, sideflag, complete, position, halo, inner_halo, clock)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pass_var_2d) arglist(array, MOM_dom, sideflag, complete, position, halo, inner_halo, clock) [fd] fullname(mom_domains/pass_var_2d) ftype(None) [fd] name(('mom_domains/pass_var_2d', None)) sig(subroutine pass_var_2d(array, MOM_dom, sideflag, complete, position, halo, inner_halo, clock)) signode(subroutine mom_domains/pass_var_2darrayMOM_domsideflagcompletepositionhaloinner_haloclock) [fd] run(.. f:function:: integer function pass_var_start_2d(array, MOM_dom, sideflag, position, complete, halo, clock)) [fd] sig(integer function pass_var_start_2d(array, MOM_dom, sideflag, position, complete, halo, clock)) [fd] ftype(integer) objtype(function) modname(None) typename() name(pass_var_start_2d) arglist(array, MOM_dom, sideflag, position, complete, halo, clock) [fd] fullname(mom_domains/pass_var_start_2d) ftype(integer) [fd] name(('mom_domains/pass_var_start_2d', 'integer')) sig(integer function pass_var_start_2d(array, MOM_dom, sideflag, position, complete, halo, clock)) signode(function mom_domains/pass_var_start_2darrayMOM_domsideflagpositioncompletehaloclock [integer]) [fd] run(.. f:function:: integer function pass_var_start_3d(array, MOM_dom, sideflag, position, complete, halo, clock)) [fd] sig(integer function pass_var_start_3d(array, MOM_dom, sideflag, position, complete, halo, clock)) [fd] ftype(integer) objtype(function) modname(None) typename() name(pass_var_start_3d) arglist(array, MOM_dom, sideflag, position, complete, halo, clock) [fd] fullname(mom_domains/pass_var_start_3d) ftype(integer) [fd] name(('mom_domains/pass_var_start_3d', 'integer')) sig(integer function pass_var_start_3d(array, MOM_dom, sideflag, position, complete, halo, clock)) signode(function mom_domains/pass_var_start_3darrayMOM_domsideflagpositioncompletehaloclock [integer]) [fd] run(.. f:subroutine:: subroutine pass_var_complete_2d(id_update, array, MOM_dom, sideflag, position, halo, clock)) [fd] sig(subroutine pass_var_complete_2d(id_update, array, MOM_dom, sideflag, position, halo, clock)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pass_var_complete_2d) arglist(id_update, array, MOM_dom, sideflag, position, halo, clock) [fd] fullname(mom_domains/pass_var_complete_2d) ftype(None) [fd] name(('mom_domains/pass_var_complete_2d', None)) sig(subroutine pass_var_complete_2d(id_update, array, MOM_dom, sideflag, position, halo, clock)) signode(subroutine mom_domains/pass_var_complete_2did_updatearrayMOM_domsideflagpositionhaloclock) [fd] run(.. f:subroutine:: subroutine pass_var_complete_3d(id_update, array, MOM_dom, sideflag, position, halo, clock)) [fd] sig(subroutine pass_var_complete_3d(id_update, array, MOM_dom, sideflag, position, halo, clock)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pass_var_complete_3d) arglist(id_update, array, MOM_dom, sideflag, position, halo, clock) [fd] fullname(mom_domains/pass_var_complete_3d) ftype(None) [fd] name(('mom_domains/pass_var_complete_3d', None)) sig(subroutine pass_var_complete_3d(id_update, array, MOM_dom, sideflag, position, halo, clock)) signode(subroutine mom_domains/pass_var_complete_3did_updatearrayMOM_domsideflagpositionhaloclock) [fd] run(.. f:subroutine:: subroutine pass_vector_2d(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) [fd] sig(subroutine pass_vector_2d(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pass_vector_2d) arglist(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock) [fd] fullname(mom_domains/pass_vector_2d) ftype(None) [fd] name(('mom_domains/pass_vector_2d', None)) sig(subroutine pass_vector_2d(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) signode(subroutine mom_domains/pass_vector_2du_cmptv_cmptMOM_domdirectionstaggercompletehaloclock) [fd] run(.. f:subroutine:: subroutine fill_vector_symmetric_edges_2d(u_cmpt, v_cmpt, MOM_dom, stagger, scalar, clock)) [fd] sig(subroutine fill_vector_symmetric_edges_2d(u_cmpt, v_cmpt, MOM_dom, stagger, scalar, clock)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(fill_vector_symmetric_edges_2d) arglist(u_cmpt, v_cmpt, MOM_dom, stagger, scalar, clock) [fd] fullname(mom_domains/fill_vector_symmetric_edges_2d) ftype(None) [fd] name(('mom_domains/fill_vector_symmetric_edges_2d', None)) sig(subroutine fill_vector_symmetric_edges_2d(u_cmpt, v_cmpt, MOM_dom, stagger, scalar, clock)) signode(subroutine mom_domains/fill_vector_symmetric_edges_2du_cmptv_cmptMOM_domstaggerscalarclock) [fd] run(.. f:subroutine:: subroutine pass_vector_3d(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) [fd] sig(subroutine pass_vector_3d(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pass_vector_3d) arglist(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock) [fd] fullname(mom_domains/pass_vector_3d) ftype(None) [fd] name(('mom_domains/pass_vector_3d', None)) sig(subroutine pass_vector_3d(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) signode(subroutine mom_domains/pass_vector_3du_cmptv_cmptMOM_domdirectionstaggercompletehaloclock) [fd] run(.. f:function:: integer function pass_vector_start_2d(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) [fd] sig(integer function pass_vector_start_2d(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) [fd] ftype(integer) objtype(function) modname(None) typename() name(pass_vector_start_2d) arglist(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock) [fd] fullname(mom_domains/pass_vector_start_2d) ftype(integer) [fd] name(('mom_domains/pass_vector_start_2d', 'integer')) sig(integer function pass_vector_start_2d(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) signode(function mom_domains/pass_vector_start_2du_cmptv_cmptMOM_domdirectionstaggercompletehaloclock [integer]) [fd] run(.. f:function:: integer function pass_vector_start_3d(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) [fd] sig(integer function pass_vector_start_3d(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) [fd] ftype(integer) objtype(function) modname(None) typename() name(pass_vector_start_3d) arglist(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock) [fd] fullname(mom_domains/pass_vector_start_3d) ftype(integer) [fd] name(('mom_domains/pass_vector_start_3d', 'integer')) sig(integer function pass_vector_start_3d(u_cmpt, v_cmpt, MOM_dom, direction, stagger, complete, halo, clock)) signode(function mom_domains/pass_vector_start_3du_cmptv_cmptMOM_domdirectionstaggercompletehaloclock [integer]) [fd] run(.. f:subroutine:: subroutine pass_vector_complete_2d(id_update, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)) [fd] sig(subroutine pass_vector_complete_2d(id_update, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pass_vector_complete_2d) arglist(id_update, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock) [fd] fullname(mom_domains/pass_vector_complete_2d) ftype(None) [fd] name(('mom_domains/pass_vector_complete_2d', None)) sig(subroutine pass_vector_complete_2d(id_update, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)) signode(subroutine mom_domains/pass_vector_complete_2did_updateu_cmptv_cmptMOM_domdirectionstaggerhaloclock) [fd] run(.. f:subroutine:: subroutine pass_vector_complete_3d(id_update, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)) [fd] sig(subroutine pass_vector_complete_3d(id_update, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pass_vector_complete_3d) arglist(id_update, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock) [fd] fullname(mom_domains/pass_vector_complete_3d) ftype(None) [fd] name(('mom_domains/pass_vector_complete_3d', None)) sig(subroutine pass_vector_complete_3d(id_update, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)) signode(subroutine mom_domains/pass_vector_complete_3did_updateu_cmptv_cmptMOM_domdirectionstaggerhaloclock) [fd] run(.. f:subroutine:: subroutine create_var_group_pass_2d(group, array, MOM_dom, sideflag, position, halo, clock)) [fd] sig(subroutine create_var_group_pass_2d(group, array, MOM_dom, sideflag, position, halo, clock)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(create_var_group_pass_2d) arglist(group, array, MOM_dom, sideflag, position, halo, clock) [fd] fullname(mom_domains/create_var_group_pass_2d) ftype(None) [fd] name(('mom_domains/create_var_group_pass_2d', None)) sig(subroutine create_var_group_pass_2d(group, array, MOM_dom, sideflag, position, halo, clock)) signode(subroutine mom_domains/create_var_group_pass_2dgrouparrayMOM_domsideflagpositionhaloclock) [fd] run(.. f:subroutine:: subroutine create_var_group_pass_3d(group, array, MOM_dom, sideflag, position, halo, clock)) [fd] sig(subroutine create_var_group_pass_3d(group, array, MOM_dom, sideflag, position, halo, clock)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(create_var_group_pass_3d) arglist(group, array, MOM_dom, sideflag, position, halo, clock) [fd] fullname(mom_domains/create_var_group_pass_3d) ftype(None) [fd] name(('mom_domains/create_var_group_pass_3d', None)) sig(subroutine create_var_group_pass_3d(group, array, MOM_dom, sideflag, position, halo, clock)) signode(subroutine mom_domains/create_var_group_pass_3dgrouparrayMOM_domsideflagpositionhaloclock) [fd] run(.. f:subroutine:: subroutine create_vector_group_pass_2d(group, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)) [fd] sig(subroutine create_vector_group_pass_2d(group, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(create_vector_group_pass_2d) arglist(group, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock) [fd] fullname(mom_domains/create_vector_group_pass_2d) ftype(None) [fd] name(('mom_domains/create_vector_group_pass_2d', None)) sig(subroutine create_vector_group_pass_2d(group, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)) signode(subroutine mom_domains/create_vector_group_pass_2dgroupu_cmptv_cmptMOM_domdirectionstaggerhaloclock) [fd] run(.. f:subroutine:: subroutine create_vector_group_pass_3d(group, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)) [fd] sig(subroutine create_vector_group_pass_3d(group, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(create_vector_group_pass_3d) arglist(group, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock) [fd] fullname(mom_domains/create_vector_group_pass_3d) ftype(None) [fd] name(('mom_domains/create_vector_group_pass_3d', None)) sig(subroutine create_vector_group_pass_3d(group, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)) signode(subroutine mom_domains/create_vector_group_pass_3dgroupu_cmptv_cmptMOM_domdirectionstaggerhaloclock) [fd] run(.. f:subroutine:: subroutine do_group_pass(group, MOM_dom, clock)) [fd] sig(subroutine do_group_pass(group, MOM_dom, clock)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(do_group_pass) arglist(group, MOM_dom, clock) [fd] fullname(mom_domains/do_group_pass) ftype(None) [fd] name(('mom_domains/do_group_pass', None)) sig(subroutine do_group_pass(group, MOM_dom, clock)) signode(subroutine mom_domains/do_group_passgroupMOM_domclock) [fd] run(.. f:subroutine:: subroutine start_group_pass(group, MOM_dom, clock)) [fd] sig(subroutine start_group_pass(group, MOM_dom, clock)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(start_group_pass) arglist(group, MOM_dom, clock) [fd] fullname(mom_domains/start_group_pass) ftype(None) [fd] name(('mom_domains/start_group_pass', None)) sig(subroutine start_group_pass(group, MOM_dom, clock)) signode(subroutine mom_domains/start_group_passgroupMOM_domclock) [fd] run(.. f:subroutine:: subroutine complete_group_pass(group, MOM_dom, clock)) [fd] sig(subroutine complete_group_pass(group, MOM_dom, clock)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(complete_group_pass) arglist(group, MOM_dom, clock) [fd] fullname(mom_domains/complete_group_pass) ftype(None) [fd] name(('mom_domains/complete_group_pass', None)) sig(subroutine complete_group_pass(group, MOM_dom, clock)) signode(subroutine mom_domains/complete_group_passgroupMOM_domclock) [fd] run(.. f:subroutine:: subroutine mom_domains_init(MOM_dom, param_file, symmetric, static_memory, NIHALO, NJHALO, NIGLOBAL, NJGLOBAL, NIPROC, NJPROC, min_halo, domain_name, include_name, param_suffix)) [fd] sig(subroutine mom_domains_init(MOM_dom, param_file, symmetric, static_memory, NIHALO, NJHALO, NIGLOBAL, NJGLOBAL, NIPROC, NJPROC, min_halo, domain_name, include_name, param_suffix)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_domains_init) arglist(MOM_dom, param_file, symmetric, static_memory, NIHALO, NJHALO, NIGLOBAL, NJGLOBAL, NIPROC, NJPROC, min_halo, domain_name, include_name, param_suffix) [fd] fullname(mom_domains/mom_domains_init) ftype(None) [fd] name(('mom_domains/mom_domains_init', None)) sig(subroutine mom_domains_init(MOM_dom, param_file, symmetric, static_memory, NIHALO, NJHALO, NIGLOBAL, NJGLOBAL, NIPROC, NJPROC, min_halo, domain_name, include_name, param_suffix)) signode(subroutine mom_domains/mom_domains_initMOM_domparam_filesymmetricstatic_memoryNIHALONJHALONIGLOBALNJGLOBALNIPROCNJPROCmin_halodomain_nameinclude_nameparam_suffix) [fd] run(.. f:subroutine:: subroutine clone_md_to_md(MD_in, MOM_dom, min_halo, halo_size, symmetric, domain_name, turns)) [fd] sig(subroutine clone_md_to_md(MD_in, MOM_dom, min_halo, halo_size, symmetric, domain_name, turns)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(clone_md_to_md) arglist(MD_in, MOM_dom, min_halo, halo_size, symmetric, domain_name, turns) [fd] fullname(mom_domains/clone_md_to_md) ftype(None) [fd] name(('mom_domains/clone_md_to_md', None)) sig(subroutine clone_md_to_md(MD_in, MOM_dom, min_halo, halo_size, symmetric, domain_name, turns)) signode(subroutine mom_domains/clone_md_to_mdMD_inMOM_dommin_halohalo_sizesymmetricdomain_nameturns) [fd] run(.. f:subroutine:: subroutine clone_md_to_d2d(MD_in, mpp_domain, min_halo, halo_size, symmetric, domain_name, turns)) [fd] sig(subroutine clone_md_to_d2d(MD_in, mpp_domain, min_halo, halo_size, symmetric, domain_name, turns)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(clone_md_to_d2d) arglist(MD_in, mpp_domain, min_halo, halo_size, symmetric, domain_name, turns) [fd] fullname(mom_domains/clone_md_to_d2d) ftype(None) [fd] name(('mom_domains/clone_md_to_d2d', None)) sig(subroutine clone_md_to_d2d(MD_in, mpp_domain, min_halo, halo_size, symmetric, domain_name, turns)) signode(subroutine mom_domains/clone_md_to_d2dMD_inmpp_domainmin_halohalo_sizesymmetricdomain_nameturns) [fd] run(.. f:subroutine:: subroutine get_domain_extent(Domain, isc, iec, jsc, jec, isd, ied, jsd, jed, isg, ieg, jsg, jeg, idg_offset, jdg_offset, symmetric, local_indexing, index_offset)) [fd] sig(subroutine get_domain_extent(Domain, isc, iec, jsc, jec, isd, ied, jsd, jed, isg, ieg, jsg, jeg, idg_offset, jdg_offset, symmetric, local_indexing, index_offset)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_domain_extent) arglist(Domain, isc, iec, jsc, jec, isd, ied, jsd, jed, isg, ieg, jsg, jeg, idg_offset, jdg_offset, symmetric, local_indexing, index_offset) [fd] fullname(mom_domains/get_domain_extent) ftype(None) [fd] name(('mom_domains/get_domain_extent', None)) sig(subroutine get_domain_extent(Domain, isc, iec, jsc, jec, isd, ied, jsd, jed, isg, ieg, jsg, jeg, idg_offset, jdg_offset, symmetric, local_indexing, index_offset)) signode(subroutine mom_domains/get_domain_extentDomainisciecjscjecisdiedjsdjedisgiegjsgjegidg_offsetjdg_offsetsymmetriclocal_indexingindex_offset) [fd] run(.. f:subroutine:: subroutine get_domain_extent_dsamp2(Domain, isc_d2, iec_d2, jsc_d2, jec_d2, isd_d2, ied_d2, jsd_d2, jed_d2, isg_d2, ieg_d2, jsg_d2, jeg_d2)) [fd] sig(subroutine get_domain_extent_dsamp2(Domain, isc_d2, iec_d2, jsc_d2, jec_d2, isd_d2, ied_d2, jsd_d2, jed_d2, isg_d2, ieg_d2, jsg_d2, jeg_d2)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_domain_extent_dsamp2) arglist(Domain, isc_d2, iec_d2, jsc_d2, jec_d2, isd_d2, ied_d2, jsd_d2, jed_d2, isg_d2, ieg_d2, jsg_d2, jeg_d2) [fd] fullname(mom_domains/get_domain_extent_dsamp2) ftype(None) [fd] name(('mom_domains/get_domain_extent_dsamp2', None)) sig(subroutine get_domain_extent_dsamp2(Domain, isc_d2, iec_d2, jsc_d2, jec_d2, isd_d2, ied_d2, jsd_d2, jed_d2, isg_d2, ieg_d2, jsg_d2, jeg_d2)) signode(subroutine mom_domains/get_domain_extent_dsamp2Domainisc_d2iec_d2jsc_d2jec_d2isd_d2ied_d2jsd_d2jed_d2isg_d2ieg_d2jsg_d2jeg_d2) [fd] run(.. f:subroutine:: subroutine get_simple_array_i_ind(domain, size, is, ie, symmetric)) [fd] sig(subroutine get_simple_array_i_ind(domain, size, is, ie, symmetric)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_simple_array_i_ind) arglist(domain, size, is, ie, symmetric) [fd] fullname(mom_domains/get_simple_array_i_ind) ftype(None) [fd] name(('mom_domains/get_simple_array_i_ind', None)) sig(subroutine get_simple_array_i_ind(domain, size, is, ie, symmetric)) signode(subroutine mom_domains/get_simple_array_i_inddomainsizeisiesymmetric) [fd] run(.. f:subroutine:: subroutine get_simple_array_j_ind(domain, size, js, je, symmetric)) [fd] sig(subroutine get_simple_array_j_ind(domain, size, js, je, symmetric)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_simple_array_j_ind) arglist(domain, size, js, je, symmetric) [fd] fullname(mom_domains/get_simple_array_j_ind) ftype(None) [fd] name(('mom_domains/get_simple_array_j_ind', None)) sig(subroutine get_simple_array_j_ind(domain, size, js, je, symmetric)) signode(subroutine mom_domains/get_simple_array_j_inddomainsizejsjesymmetric) [fd] run(.. f:subroutine:: subroutine get_global_shape(domain, niglobal, njglobal)) [fd] sig(subroutine get_global_shape(domain, niglobal, njglobal)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_global_shape) arglist(domain, niglobal, njglobal) [fd] fullname(mom_domains/get_global_shape) ftype(None) [fd] name(('mom_domains/get_global_shape', None)) sig(subroutine get_global_shape(domain, niglobal, njglobal)) signode(subroutine mom_domains/get_global_shapedomainniglobalnjglobal) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 29%] api/generated/modules/mom_dyn_horgrid [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_dyn_horg [app] emitting event: 'source-read'('api/generated/modules/mom_dyn_horgrid', ['.. autodoxymodule:: mom_dyn_horgrid\n :members:\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_dyn_horgrid.rst:1: input: .. autodoxymodule:: mom_dyn_horgrid :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_dyn_horgrid::dyn_horgrid_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_dyn_horgrid::create_dyn_horgrid ~mom_dyn_horgrid::rescale_dyn_horgrid_bathymetry ~mom_dyn_horgrid::set_derived_dyn_horgrid ~mom_dyn_horgrid::adcroft_reciprocal ~mom_dyn_horgrid::destroy_dyn_horgrid [debug] xpath(./compounddef/compoundname[text()="mom_dyn_horgrid"]/..) match([('id', 'namespacemom__dyn__horgrid'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_dyn_horgrid module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dyn_horgrid', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_dyn_horgrid' (exception was: ModuleNotFoundError("No module named 'mom_dyn_horgrid'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dyn_horgrid::dyn_horgrid_type', , {'members [debug] members([('create_dyn_horgrid', ), ('rescale_dyn_horgrid_bathymetry', ), ('set_derived_dyn_horgrid', ), ('adcroft_reciprocal', ), ('destroy_dyn_horgrid', )]) [autodoc] module analyzer failed: error importing 'mom_dyn_horgrid' (exception was: ModuleNotFoundError("No module named 'mom_dyn_horgrid'")) [debug] DoxygenMethodDocumenter format_signature called ((G, HI, bathymetry_at_vel)) [debug] add_directive_header sig((G, HI, bathymetry_at_vel)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine create_dyn_horgrid) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__dyn__horgrid_1_1dyn__horgrid__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__dyn__horgrid_1_1dyn__horgrid__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'create_dyn_horgrid', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rescale_dyn_horgrid_bathymetry', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rescale_dyn_horgrid_bathymetry', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rescale_dyn_horgrid_bathymetry', , {'members': [autodoc] module analyzer failed: error importing 'mom_dyn_horgrid' (exception was: ModuleNotFoundError("No module named 'mom_dyn_horgrid'")) [debug] DoxygenMethodDocumenter format_signature called ((G, US)) [debug] add_directive_header sig((G, US)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine set_derived_dyn_horgrid) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_derived_dyn_horgrid', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__dyn__horgrid_1_1dyn__horgrid__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'destroy_dyn_horgrid', , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_dyn_horgrid::dyn_horgrid_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_dyn_horgrid::create_dyn_horgrid ~mom_dyn_horgrid::rescale_dyn_horgrid_bathymetry ~mom_dyn_horgrid::set_derived_dyn_horgrid ~mom_dyn_horgrid::adcroft_reciprocal ~mom_dyn_horgrid::destroy_dyn_horgrid .. _DETAmom_dyn_horgrid: -------------------- Detailed Description -------------------- Contains a shareable dynamic type for describing horizontal grids and metric data and utilty routines that work on this type. ------------------ Type Documentation ------------------ .. f:type:: dyn_horgrid_type Describes the horizontal ocean grid with only dynamic memory arrays. :typefield type(mom_domain_type) domain [pointer]: Ocean model domain. :typefield type(mom_domain_type) domain_aux [pointer]: A non-symmetric auxiliary domain type. :typefield type(hor_index_type) hi: Horizontal index ranges. :typefield integer isc: The start i-index of cell centers within the computational domain. :typefield integer iec: The end i-index of cell centers within the computational domain. :typefield integer jsc: The start j-index of cell centers within the computational domain. :typefield integer jec: The end j-index of cell centers within the computational domain. :typefield integer isd: The start i-index of cell centers within the data domain. :typefield integer ied: The end i-index of cell centers within the data domain. :typefield integer jsd: The start j-index of cell centers within the data domain. :typefield integer jed: The end j-index of cell centers within the data domain. :typefield integer isg: The start i-index of cell centers within the global domain. :typefield integer ieg: The end i-index of cell centers within the global domain. :typefield integer jsg: The start j-index of cell centers within the global domain. :typefield integer jeg: The end j-index of cell centers within the global domain. :typefield integer iscb: The start i-index of cell vertices within the computational domain. :typefield integer iecb: The end i-index of cell vertices within the computational domain. :typefield integer jscb: The start j-index of cell vertices within the computational domain. :typefield integer jecb: The end j-index of cell vertices within the computational domain. :typefield integer isdb: The start i-index of cell vertices within the data domain. :typefield integer iedb: The end i-index of cell vertices within the data domain. :typefield integer jsdb: The start j-index of cell vertices within the data domain. :typefield integer jedb: The end j-index of cell vertices within the data domain. :typefield integer isgb: The start i-index of cell vertices within the global domain. :typefield integer iegb: The end i-index of cell vertices within the global domain. :typefield integer jsgb: The start j-index of cell vertices within the global domain. :typefield integer jegb: The end j-index of cell vertices within the global domain. :typefield integer isd_global: The value of isd in the global index space (decompoistion invariant). :typefield integer jsd_global: The value of isd in the global index space (decompoistion invariant). :typefield integer idg_offset: The offset between the corresponding global and local i-indices. :typefield integer jdg_offset: The offset between the corresponding global and local j-indices. :typefield logical symmetric: True if symmetric memory is used. :typefield logical nonblocking_updates: If true, non-blocking halo updates are allowed. The default is .false. (for now). :typefield integer first_direction: An integer that indicates which direction is to be updated first in directionally split parts of the calculation. This can be altered during the course of the run via calls to set_first_direction. :typefield real(\:,\:) mask2dt [allocatable]: 0 for land points and 1 for ocean points on the h-grid [nondim]. :typefield real(\:,\:) geolatt [allocatable]: The geographic latitude at q points [degrees of latitude] or [m]. :typefield real(\:,\:) geolont [allocatable]: The geographic longitude at q points [degrees of longitude] or [m]. :typefield real(\:,\:) dxt [allocatable]: dxT is delta x at h points [L ~> m]. :typefield real(\:,\:) idxt [allocatable]: 1/dxT [L-1 ~> m-1]. :typefield real(\:,\:) dyt [allocatable]: dyT is delta y at h points [L ~> m]. :typefield real(\:,\:) idyt [allocatable]: IdyT is 1/dyT [L-1 ~> m-1]. :typefield real(\:,\:) areat [allocatable]: The area of an h-cell [L2 ~> m2]. :typefield real(\:,\:) iareat [allocatable]: 1/areaT [L-2 ~> m-2]. :typefield real(\:,\:) sin_rot [allocatable]: The sine of the angular rotation between the local model grid's northward and the true northward directions [nondim]. :typefield real(\:,\:) cos_rot [allocatable]: The cosine of the angular rotation between the local model grid's northward and the true northward directions [nondim]. :typefield real(\:,\:) mask2dcu [allocatable]: 0 for boundary points and 1 for ocean points on the u grid [nondim]. :typefield real(\:,\:) geolatcu [allocatable]: The geographic latitude at u points [degrees of latitude] or [m]. :typefield real(\:,\:) geoloncu [allocatable]: The geographic longitude at u points [degrees of longitude] or [m]. :typefield real(\:,\:) dxcu [allocatable]: dxCu is delta x at u points [L ~> m]. :typefield real(\:,\:) idxcu [allocatable]: 1/dxCu [L-1 ~> m-1]. :typefield real(\:,\:) dycu [allocatable]: dyCu is delta y at u points [L ~> m]. :typefield real(\:,\:) idycu [allocatable]: 1/dyCu [L-1 ~> m-1]. :typefield real(\:,\:) dy_cu [allocatable]: The unblocked lengths of the u-faces of the h-cell [L ~> m]. :typefield real(\:,\:) iareacu [allocatable]: The masked inverse areas of u-grid cells [L-2 ~> m-2]. :typefield real(\:,\:) areacu [allocatable]: The areas of the u-grid cells [L2 ~> m2]. :typefield real(\:,\:) mask2dcv [allocatable]: 0 for boundary points and 1 for ocean points on the v grid [nondim]. :typefield real(\:,\:) geolatcv [allocatable]: The geographic latitude at v points [degrees of latitude] or [m]. :typefield real(\:,\:) geoloncv [allocatable]: The geographic longitude at v points [degrees of longitude] or [m]. :typefield real(\:,\:) dxcv [allocatable]: dxCv is delta x at v points [L ~> m]. :typefield real(\:,\:) idxcv [allocatable]: 1/dxCv [L-1 ~> m-1]. :typefield real(\:,\:) dycv [allocatable]: dyCv is delta y at v points [L ~> m]. :typefield real(\:,\:) idycv [allocatable]: 1/dyCv [L-1 ~> m-1]. :typefield real(\:,\:) dx_cv [allocatable]: The unblocked lengths of the v-faces of the h-cell [L ~> m]. :typefield real(\:,\:) iareacv [allocatable]: The masked inverse areas of v-grid cells [L-2 ~> m-2]. :typefield real(\:,\:) areacv [allocatable]: The areas of the v-grid cells [L2 ~> m2]. :typefield real(\:,\:) mask2dbu [allocatable]: 0 for boundary points and 1 for ocean points on the q grid [nondim]. :typefield real(\:,\:) geolatbu [allocatable]: The geographic latitude at q points [degrees of latitude] or [m]. :typefield real(\:,\:) geolonbu [allocatable]: The geographic longitude at q points [degrees of longitude] or [m]. :typefield real(\:,\:) dxbu [allocatable]: dxBu is delta x at q points [L ~> m]. :typefield real(\:,\:) idxbu [allocatable]: 1/dxBu [L-1 ~> m-1]. :typefield real(\:,\:) dybu [allocatable]: dyBu is delta y at q points [L ~> m]. :typefield real(\:,\:) idybu [allocatable]: 1/dyBu [L-1 ~> m-1]. :typefield real(\:,\:) areabu [allocatable]: areaBu is the area of a q-cell [L ~> m] :typefield real(\:,\:) iareabu [allocatable]: IareaBu = 1/areaBu [L-2 ~> m-2]. :typefield real(\:) gridlatt [pointer]: The latitude of T points for the purpose of labeling the output axes. On many grids this is the same as geoLatT. :typefield real(\:) gridlatb [pointer]: The latitude of B points for the purpose of labeling the output axes. On many grids this is the same as geoLatBu. :typefield real(\:) gridlont [pointer]: The longitude of T points for the purpose of labeling the output axes. On many grids this is the same as geoLonT. :typefield real(\:) gridlonb [pointer]: The longitude of B points for the purpose of labeling the output axes. On many grids this is the same as geoLonBu. :typefield character (len=40) x_axis_units: The units that are used in labeling the x coordinate axes. :typefield character (len=40) y_axis_units: The units that are used in labeling the y coordinate axes. :typefield real(\:,\:) bathyt [allocatable]: Ocean bottom depth at tracer points, in depth units [Z ~> m]. :typefield logical bathymetry_at_vel: If true, there are separate values for the basin depths at velocity points. Otherwise the effects of of topography are entirely determined from thickness points. :typefield real(\:,\:) dblock_u [allocatable]: Topographic depths at u-points at which the flow is blocked [Z ~> m]. :typefield real(\:,\:) dopen_u [allocatable]: Topographic depths at u-points at which the flow is open at width dy_Cu [Z ~> m]. :typefield real(\:,\:) dblock_v [allocatable]: Topographic depths at v-points at which the flow is blocked [Z ~> m]. :typefield real(\:,\:) dopen_v [allocatable]: Topographic depths at v-points at which the flow is open at width dx_Cv [Z ~> m]. :typefield real(\:,\:) coriolisbu [allocatable]: The Coriolis parameter at corner points [T-1 ~> s-1]. :typefield real(\:,\:) df_dx [allocatable]: Derivative d/dx f (Coriolis parameter) at h-points [T-1 L-1 ~> s-1 m-1]. :typefield real(\:,\:) df_dy [allocatable]: Derivative d/dy f (Coriolis parameter) at h-points [T-1 L-1 ~> s-1 m-1]. :typefield real areat_global: Global sum of h-cell area [m2]. :typefield real iareat_global: Global sum of inverse h-cell area (1/areaT_global) [m-2]. :typefield real south_lat: The latitude (or y-coordinate) of the first v-line. :typefield real west_lon: The longitude (or x-coordinate) of the first u-line. :typefield real len_lat: The latitudinal (or y-coord) extent of physical domain. :typefield real len_lon: The longitudinal (or x-coord) extent of physical domain. :typefield real rad_earth: The radius of the planet [m]. :typefield real max_depth: The maximum depth of the ocean [Z ~> m]. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine create_dyn_horgrid(G, HI, bathymetry_at_vel) Allocate memory used by the :f:func:`dyn_horgrid_type` and related structures. and related structures. :param g: [inout] A pointer to the dynamic horizontal grid type :param hi: [in] A hor_index_type for array extents :param bathymetry_at_vel: [in] If true, there are separate values for the basin depths at velocity points. Otherwise the effects of topography are entirely determined from thickness points. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine rescale_dyn_horgrid_bathymetry(G, m_in_new_units) rescale_dyn_horgrid_bathymetry permits a change in the internal units for the bathymetry on the grid, both rescaling the depths and recording the new internal depth units. :param g: [inout] The dynamic horizontal grid type :param m_in_new_units: [in] The new internal representation of 1 m depth. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_ice_shelf::initialize_ice_shelf ` .. f:subroutine:: subroutine set_derived_dyn_horgrid(G, US) set_derived_dyn_horgrid calculates metric terms that are derived from other metrics. :param g: [inout] The dynamic horizontal grid type :param us: [in] A dimensional unit scaling type :callto: :f:func:`adcroft_reciprocal ` :calledfrom: :f:func:`mom_transcribe_grid::copy_mom_grid_to_dyngrid ` :calledfrom: :f:func:`mom_transcribe_grid::rotate_dyngrid ` :calledfrom: :f:func:`mom_grid_initialize::set_grid_metrics ` .. f:function:: real function adcroft_reciprocal(val) Adcroft_reciprocal(x) = 1/x for |x|>0 or 0 for x=0. :param val: [in] The value being inverted. :returns undefined: The Adcroft reciprocal of val. :calledfrom: :f:func:`set_derived_dyn_horgrid ` .. f:subroutine:: subroutine destroy_dyn_horgrid(G) Release memory used by the :f:func:`dyn_horgrid_type` and related structures. and related structures. :param g: The dynamic horizontal grid type :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom::initialize_mom ` [debug] xpath(./compounddef/compoundname[text()="mom_dyn_horgrid::dyn_horgrid_type"]/..) match([('id', 'structmom__dyn__horgrid_1_1dyn__horgrid__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dyn_horgrid::dyn_horgrid_type', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dyn_horgrid::dyn_horgrid_type', , {}, ['` [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dyn_horgrid::dyn_horgrid_type', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((G, HI, bathymetry_at_vel)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__dyn__horgrid_1_1dyn__horgrid__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__dyn__horgrid_1_1dyn__horgrid__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_dyn_horgrid::create_dyn_horgrid', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_dyn_horgrid::create_dyn_horgrid', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((G, m_in_new_units)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_dyn_horgrid::rescale_dyn_horgrid_bathymetry', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_dyn_horgrid::set_derived_dyn_horgrid', , {} [debug] DoxygenMethodDocumenter format_signature called ((val)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_dyn_horgrid::adcroft_reciprocal', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_dyn_horgrid::adcroft_reciprocal', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((G)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__dyn__horgrid_1_1dyn__horgrid__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__dyn__horgrid_1_1dyn__horgrid__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_dyn_horgrid::destroy_dyn_horgrid', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_dyn_horgrid::destroy_dyn_horgrid', , {}, [' [fd] run(.. f:type:: dyn_horgrid_type) [fd] sig(dyn_horgrid_type) [fd] ftype(None) objtype(None) modname(None) typename() name(dyn_horgrid_type) arglist(None) [fd] fullname(mom_dyn_horgrid/dyn_horgrid_type) ftype(None) [fd] name(('mom_dyn_horgrid/dyn_horgrid_type', None)) sig(dyn_horgrid_type) signode(type mom_dyn_horgrid/dyn_horgrid_type) [fd] run(.. f:subroutine:: subroutine create_dyn_horgrid(G, HI, bathymetry_at_vel)) [fd] sig(subroutine create_dyn_horgrid(G, HI, bathymetry_at_vel)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(create_dyn_horgrid) arglist(G, HI, bathymetry_at_vel) [fd] fullname(mom_dyn_horgrid/create_dyn_horgrid) ftype(None) [fd] name(('mom_dyn_horgrid/create_dyn_horgrid', None)) sig(subroutine create_dyn_horgrid(G, HI, bathymetry_at_vel)) signode(subroutine mom_dyn_horgrid/create_dyn_horgridGHIbathymetry_at_vel) [fd] run(.. f:subroutine:: subroutine rescale_dyn_horgrid_bathymetry(G, m_in_new_units)) [fd] sig(subroutine rescale_dyn_horgrid_bathymetry(G, m_in_new_units)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rescale_dyn_horgrid_bathymetry) arglist(G, m_in_new_units) [fd] fullname(mom_dyn_horgrid/rescale_dyn_horgrid_bathymetry) ftype(None) [fd] name(('mom_dyn_horgrid/rescale_dyn_horgrid_bathymetry', None)) sig(subroutine rescale_dyn_horgrid_bathymetry(G, m_in_new_units)) signode(subroutine mom_dyn_horgrid/rescale_dyn_horgrid_bathymetryGm_in_new_units) [fd] run(.. f:subroutine:: subroutine set_derived_dyn_horgrid(G, US)) [fd] sig(subroutine set_derived_dyn_horgrid(G, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_derived_dyn_horgrid) arglist(G, US) [fd] fullname(mom_dyn_horgrid/set_derived_dyn_horgrid) ftype(None) [fd] name(('mom_dyn_horgrid/set_derived_dyn_horgrid', None)) sig(subroutine set_derived_dyn_horgrid(G, US)) signode(subroutine mom_dyn_horgrid/set_derived_dyn_horgridGUS) [fd] run(.. f:function:: real function adcroft_reciprocal(val)) [fd] sig(real function adcroft_reciprocal(val)) [fd] ftype(real) objtype(function) modname(None) typename() name(adcroft_reciprocal) arglist(val) [fd] fullname(mom_dyn_horgrid/adcroft_reciprocal) ftype(real) [fd] name(('mom_dyn_horgrid/adcroft_reciprocal', 'real')) sig(real function adcroft_reciprocal(val)) signode(function mom_dyn_horgrid/adcroft_reciprocalval [real]) [fd] run(.. f:subroutine:: subroutine destroy_dyn_horgrid(G)) [fd] sig(subroutine destroy_dyn_horgrid(G)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(destroy_dyn_horgrid) arglist(G) [fd] fullname(mom_dyn_horgrid/destroy_dyn_horgrid) ftype(None) [fd] name(('mom_dyn_horgrid/destroy_dyn_horgrid', None)) sig(subroutine destroy_dyn_horgrid(G)) signode(subroutine mom_dyn_horgrid/destroy_dyn_horgridG) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 29%] api/generated/modules/mom_dynamics_split_rk2 [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_dynamics [app] emitting event: 'source-read'('api/generated/modules/mom_dynamics_split_rk2', ['.. autodoxymodule:: mom_dynamics_split_rk2\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_dynamics_split_rk2.rst:1: input: .. autodoxymodule:: mom_dynamics_split_rk2 :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_dynamics_split_rk2::mom_dyn_split_rk2_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ~mom_dynamics_split_rk2::register_restarts_dyn_split_rk2 ~mom_dynamics_split_rk2::initialize_dyn_split_rk2 ~mom_dynamics_split_rk2::end_dyn_split_rk2 [debug] xpath(./compounddef/compoundname[text()="mom_dynamics_split_rk2"]/..) match([('id', 'namespacemom__dynamics__split__rk2'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_dynamics_split_rk2 module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dynamics_split_rk2', , {'members': , {'members': ]) [debug] ref([('id', 'MOM_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dynamics_split_rk2', , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_dynamics_split_rk2' (exception was: ModuleNotFoundError("No module named 'mom_dynamics_split_rk2'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', [debug] members([('step_mom_dyn_split_rk2', ), ('register_restarts_dyn_split_rk2', ), ('initialize_dyn_split_rk2', ), ('end_dyn_split_rk2', )]) [autodoc] module analyzer failed: error importing 'mom_dynamics_split_rk2' (exception was: ModuleNotFoundError("No module named 'mom_dynamics_split_rk2'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, calc_dtbt, VarMix, MEKE, thickness_diffuse_CSp, Waves)) [debug] add_directive_header sig((u, v, h, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, calc_dtbt, VarMix, MEKE, thickness_diffuse_CSp, Waves)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine step_mom_dyn_split_rk2) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'step_mom_dyn_split_rk2', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_restarts_dyn_split_rk2', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_restarts_dyn_split_rk2', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_restarts_dyn_split_rk2', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_restarts_dyn_split_rk2', , {'members': [autodoc] module analyzer failed: error importing 'mom_dynamics_split_rk2' (exception was: ModuleNotFoundError("No module named 'mom_dynamics_split_rk2'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, uh, vh, eta, Time, G, GV, US, param_file, diag, CS, restart_CS, dt, Accel_diag, Cont_diag, MIS, VarMix, MEKE, thickness_diffuse_CSp, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, calc_dtbt, cont_stencil)) [debug] add_directive_header sig((u, v, h, uh, vh, eta, Time, G, GV, US, param_file, diag, CS, restart_CS, dt, Accel_diag, Cont_diag, MIS, VarMix, MEKE, thickness_diffuse_CSp, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, calc_dtbt, cont_stencil)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine initialize_dyn_split_rk2) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_dyn_split_rk2', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_dynamics_split_rk2::mom_dyn_split_rk2_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ~mom_dynamics_split_rk2::register_restarts_dyn_split_rk2 ~mom_dynamics_split_rk2::initialize_dyn_split_rk2 ~mom_dynamics_split_rk2::end_dyn_split_rk2 .. _DETAmom_dynamics_split_rk2: -------------------- Detailed Description -------------------- This file time steps the adiabatic dynamic core by splitting between baroclinic and barotropic modes. It uses a pseudo-second order Runge-Kutta time stepping scheme for the baroclinic momentum equation and a forward-backward coupling between the baroclinic momentum and continuity equations. This split time-stepping scheme is described in detail in Hallberg (JCP, 1997). Additional issues related to exact tracer conservation and how to ensure consistency between the barotropic and layered estimates of the free surface height are described in Hallberg and Adcroft (Ocean Modelling, 2009). This was the time stepping code that is used for most GOLD applications, including GFDL's ESM2G Earth system model, and all of the examples provided with the MOM code (although several of these solutions are routinely verified by comparison with the slower unsplit schemes). The subroutine step_MOM_dyn_split_RK2 actually does the time stepping, while register_restarts_dyn_split_RK2 sets the fields that are found in a full restart file with this scheme, and initialize_dyn_split_RK2 initializes the cpu clocks that are used in this module. For largely historical reasons, this module does not have its own control structure, but shares the same control structure with ``MOM.F90`` and the other MOM_dynamics_... modules. ------------------ Type Documentation ------------------ .. f:type:: mom_dyn_split_rk2_cs MOM_dynamics_split_RK2 module control structure. :typefield integer id_uh: Diagnostic IDs. :typefield integer id_vh: Diagnostic IDs. :typefield integer id_umo: Diagnostic IDs. :typefield integer id_vmo: Diagnostic IDs. :typefield integer id_umo_2d: Diagnostic IDs. :typefield integer id_vmo_2d: Diagnostic IDs. :typefield integer id_pfu: Diagnostic IDs. :typefield integer id_pfv: Diagnostic IDs. :typefield integer id_cau: Diagnostic IDs. :typefield integer id_cav: Diagnostic IDs. :typefield integer id_hf_pfu_2d: Diagnostic IDs. :typefield integer id_hf_pfv_2d: Diagnostic IDs. :typefield integer id_hf_cau_2d: Diagnostic IDs. :typefield integer id_hf_cav_2d: Diagnostic IDs. :typefield integer id_uav: Diagnostic IDs. :typefield integer id_vav: Diagnostic IDs. :typefield integer id_u_bt_accel: Diagnostic IDs. :typefield integer id_v_bt_accel: Diagnostic IDs. :typefield integer id_hf_u_bt_accel_2d: Diagnostic IDs. :typefield integer id_hf_v_bt_accel_2d: Diagnostic IDs. :typefield real(\: cau [:, :), allocatable]: CAu = f*v - u.grad(u) [L T-2 ~> m s-2]. :typefield real(\: pfu [:, :), allocatable]: PFu = -dM/dx [L T-2 ~> m s-2]. :typefield real(\: diffu [:, :), allocatable]: Zonal acceleration due to convergence of the along-isopycnal stress tensor [L T-2 ~> m s-2]. :typefield real(\: cav [:, :), allocatable]: CAv = -f*u - u.grad(v) [L T-2 ~> m s-2]. :typefield real(\: pfv [:, :), allocatable]: PFv = -dM/dy [L T-2 ~> m s-2]. :typefield real(\: diffv [:, :), allocatable]: Meridional acceleration due to convergence of the along-isopycnal stress tensor [L T-2 ~> m s-2]. :typefield real(\: visc_rem_u [:, :), allocatable]: Both the fraction of the zonal momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step worth of a barotropic acceleration that a layer experiences after viscosity is applied. Nondimensional between 0 (at the bottom) and 1 (far above). :typefield real(\: u_accel_bt [:, :), allocatable]: The zonal layer accelerations due to the difference between the barotropic accelerations and the baroclinic accelerations that were fed into the barotopic calculation [L T-2 ~> m s-2]. :typefield real(\: visc_rem_v [:, :), allocatable]: Both the fraction of the meridional momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step worth of a barotropic acceleration that a layer experiences after viscosity is applied. Nondimensional between 0 (at the bottom) and 1 (far above). :typefield real(\: v_accel_bt [:, :), allocatable]: The meridional layer accelerations due to the difference between the barotropic accelerations and the baroclinic accelerations that were fed into the barotopic calculation [L T-2 ~> m s-2]. :typefield real(\: eta [:), allocatable]: Instantaneous free surface height (in Boussinesq mode) or column mass anomaly (in non-Boussinesq mode) [H ~> m or kg m-2]. :typefield real(\: u_av [:, :), allocatable]: layer x-velocity with vertical mean replaced by time-mean barotropic velocity over a baroclinic timestep [L T-1 ~> m s-1] :typefield real(\: v_av [:, :), allocatable]: layer y-velocity with vertical mean replaced by time-mean barotropic velocity over a baroclinic timestep [L T-1 ~> m s-1] :typefield real(\: h_av [:, :), allocatable]: arithmetic mean of two successive layer thicknesses [H ~> m or kg m-2] :typefield real(\: eta_pf [:), allocatable]: instantaneous SSH used in calculating PFu and PFv [H ~> m or kg m-2] :typefield real(\: uhbt [:), allocatable]: average x-volume or mass flux determined by the barotropic solver [H L2 T-1 ~> m3 s-1 or kg s-1]. uhbt is roughly equal to the vertical sum of uh. :typefield real(\: vhbt [:), allocatable]: average y-volume or mass flux determined by the barotropic solver [H L2 T-1 ~> m3 s-1 or kg s-1]. vhbt is roughly equal to vertical sum of vh. :typefield real(\: pbce [:, :), allocatable]: pbce times eta gives the baroclinic pressure anomaly in each layer due to free surface height anomalies [L2 H-1 T-2 ~> m s-2 or m4 kg-1 s-2]. :typefield real(\:,\:) taux_bot [pointer]: frictional x-bottom stress from the ocean to the seafloor [R L Z T-2 ~> Pa] :typefield real(\:,\:) tauy_bot [pointer]: frictional y-bottom stress from the ocean to the seafloor [R L Z T-2 ~> Pa] :typefield type(bt_cont_type) bt_cont [pointer]: A structure with elements that describe the effective summed open face areas as a function of barotropic flow. :typefield logical bt_use_layer_fluxes: If true, use the summed layered fluxes plus an adjustment due to a changed barotropic velocity in the barotropic continuity equation. :typefield logical split_bottom_stress: If true, provide the bottom stress calculated by the vertical viscosity to the barotropic solver. :typefield logical calc_dtbt: If true, calculate the barotropic time-step dynamically. :typefield real be: A nondimensional number from 0.5 to 1 that controls the backward weighting of the time stepping scheme. :typefield real begw: A nondimensional number from 0 to 1 that controls the extent to which the treatment of gravity waves is forward-backward (0) or simulated backward Euler (1). 0 is almost always used. :typefield logical debug: If true, write verbose checksums for debugging purposes. :typefield logical debug_obc: If true, do debugging calls for open boundary conditions. :typefield logical module_is_initialized: Record whether this mouled has been initialzed. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(accel_diag_ptrs) adp [pointer]: A structure pointing to the various accelerations in the momentum equations, which can later be used to calculate derived diagnostics like energy budgets. :typefield type(cont_diag_ptrs) cdp [pointer]: A structure with pointers to various terms in the continuity equations, which can later be used to calculate derived diagnostics like energy budgets. :typefield type(hor_visc_cs) hor_visc_csp [pointer]: A pointer to the horizontal viscosity control structure. :typefield type(continuity_cs) continuity_csp [pointer]: A pointer to the continuity control structure. :typefield type(coriolisadv_cs) coriolisadv_csp [pointer]: A pointer to the CoriolisAdv control structure. :typefield type(pressureforce_cs) pressureforce_csp [pointer]: A pointer to the PressureForce control structure. :typefield type(barotropic_cs) barotropic_csp [pointer]: A pointer to the barotropic stepping control structure. :typefield type(thickness_diffuse_cs) thickness_diffuse_csp [pointer]: A pointer to a structure containing interface height diffusivities. :typefield type(vertvisc_cs) vertvisc_csp [pointer]: A pointer to the vertical viscosity control structure. :typefield type(set_visc_cs) set_visc_csp [pointer]: A pointer to the set_visc control structure. :typefield type(tidal_forcing_cs) tides_csp [pointer]: A pointer to the tidal forcing control structure. :typefield type(ale_cs) ale_csp [pointer]: A pointer to the ALE control structure. :typefield type(ocean_obc_type) obc [pointer]: A pointer to an open boundary condition type that specifies whether, where, and what open boundary conditions are used. If no open BCs are used, this pointer stays nullified. Flather OBCs use open boundary_CS as well. :typefield type(update_obc_cs) update_obc_csp [pointer]: A pointer to the update_OBC control structure. :typefield type(group_pass_type) pass_eta: Structure for group halo pass. :typefield type(group_pass_type) pass_visc_rem: Structure for group halo pass. :typefield type(group_pass_type) pass_uvp: Structure for group halo pass. :typefield type(group_pass_type) pass_hp_uv: Structure for group halo pass. :typefield type(group_pass_type) pass_uv: Structure for group halo pass. :typefield type(group_pass_type) pass_h: Structure for group halo pass. :typefield type(group_pass_type) pass_av_uvh: Structure for group halo pass. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine step_mom_dyn_split_rk2(u, v, h, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, calc_dtbt, VarMix, MEKE, thickness_diffuse_CSp, Waves) RK2 splitting for time stepping MOM adiabatic dynamics. :param g: [inout] ocean grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param u: [inout] zonal velocity [L T-1 ~> m s-1] :param v: [inout] merid velocity [L T-1 ~> m s-1] :param h: [inout] layer thickness [H ~> m or kg m-2] :param tv: [in] thermodynamic type :param visc: [inout] vertical visc, bottom drag, and related :param time_local: [in] model time at end of time step :param dt: [in] time step [T ~> s] :param forces: [in] A structure with the driving mechanical forces :param p_surf_begin: surf pressure at the start of this dynamic time step [R L2 T-2 ~> Pa] :param p_surf_end: surf pressure at the end of this dynamic time step [R L2 T-2 ~> Pa] :param uh: [inout] zonal volume/mass transport :param vh: [inout] merid volume/mass transport :param uhtr: [inout] accumulatated zonal volume/mass transport :param vhtr: [inout] accumulatated merid volume/mass transport :param eta_av: [out] free surface height or column mass time averaged over time step [H ~> m or kg m-2] :param cs: module control structure :param calc_dtbt: [in] if true, recalculate barotropic time step :param varmix: specify the spatially varying viscosities :param meke: related to mesoscale eddy kinetic energy param :param thickness_diffuse_csp: Pointer to a structure containing interface height diffusivities :param waves: A pointer to a structure containing fields related to the surface wave conditions :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_error_handler::calltree_waypoint ` :callto: :f:func:`mom_domains::complete_group_pass ` :callto: :f:func:`mom_continuity::continuity_stencil ` :callto: :f:func:`mom_coriolisadv::coradcalc ` :callto: :f:func:`mom_diag_mediator::diag_update_remap_grids ` :callto: :f:func:`mom_hor_visc::horizontal_viscosity ` :callto: :f:func:`id_clock_btcalc ` :callto: :f:func:`id_clock_btforce ` :callto: :f:func:`id_clock_btstep ` :callto: :f:func:`id_clock_continuity ` :callto: :f:func:`id_clock_cor ` :callto: :f:func:`id_clock_horvisc ` :callto: :f:func:`id_clock_mom_update ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_pres ` :callto: :f:func:`id_clock_vertvisc ` :callto: :f:func:`mom_checksum_packages::mom_accel_chksum ` :callto: :f:func:`mom_open_boundary::open_boundary_test_extern_h ` :callto: :f:func:`mom_pressureforce::pressureforce ` :callto: :f:func:`mom_barotropic::set_dtbt ` :callto: :f:func:`mom_set_visc::set_viscous_ml ` :callto: :f:func:`mom_domains::start_group_pass ` :callto: :f:func:`mom_boundary_update::update_obc_data ` :callto: :f:func:`mom_open_boundary::update_obc_ramp ` :callto: :f:func:`mom_vert_friction::updatecfltruncationvalue ` .. f:subroutine:: subroutine register_restarts_dyn_split_rk2(HI, GV, param_file, CS, restart_CS, uh, vh) This subroutine sets up any auxiliary restart variables that are specific to the unsplit time stepping scheme. All variables registered here should have the ability to be recreated if they are not present in a restart file. :param hi: [in] Horizontal index structure :param gv: [in] ocean vertical grid structure :param param_file: [in] parameter file :param cs: module control structure :param restart_cs: restart control structure :param uh: [inout] zonal volume/mass transport [H L2 T-1 ~> m3 s-1 or kg s-1] :param vh: [inout] merid volume/mass transport [H L2 T-1 ~> m3 s-1 or kg s-1] :callto: :f:func:`mom_verticalgrid::get_flux_units ` :callto: :f:func:`mom_barotropic::register_barotropic_restarts ` :callto: :f:func:`mom_io::var_desc ` .. f:subroutine:: subroutine initialize_dyn_split_rk2(u, v, h, uh, vh, eta, Time, G, GV, US, param_file, diag, CS, restart_CS, dt, Accel_diag, Cont_diag, MIS, VarMix, MEKE, thickness_diffuse_CSp, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, calc_dtbt, cont_stencil) This subroutine initializes all of the variables that are used by this dynamic core, including diagnostics and the cpu clocks. :param g: [inout] ocean grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param u: [inout] zonal velocity [L T-1 ~> m s-1] :param v: [inout] merid velocity [L T-1 ~> m s-1] :param h: [inout] layer thickness [H ~> m or kg m-2] :param uh: [inout] zonal volume/mass transport [H L2 T-1 ~> m3 s-1 or kg s-1] :param vh: [inout] merid volume/mass transport [H L2 T-1 ~> m3 s-1 or kg s-1] :param eta: [inout] free surface height or column mass [H ~> m or kg m-2] :param time: [in] current model time :param param_file: [in] parameter file for parsing :param diag: [inout] to control diagnostics :param cs: module control structure :param restart_cs: restart control structure :param dt: [in] time step [T ~> s] :param accel_diag: [inout] points to momentum equation terms for budget analysis :param cont_diag: [inout] points to terms in continuity equation :param mis: [inout] "MOM6 internal state" used to pass diagnostic pointers :param varmix: points to spatially variable viscosities :param meke: points to mesoscale eddy kinetic energy fields :param thickness_diffuse_csp: Pointer to the control structure used for the isopycnal height diffusive transport. :param obc: points to OBC related fields :param update_obc_csp: points to OBC update related fields :param ale_csp: points to ALE control structure :param setvisc_csp: points to the set_visc control structure. :param visc: [inout] vertical viscosities, bottom drag, and related :param dirs: [in] contains directory paths :param ntrunc: [inout] A target for the variable that records the number of times the velocity is truncated (this should be 0). :param calc_dtbt: [out] If true, recalculate the barotropic time step :param cont_stencil: [out] The stencil for thickness from the continuity solver. :callto: :f:func:`mom_continuity::continuity_stencil ` :callto: :f:func:`mom_coriolisadv::coriolisadv_init ` :callto: :f:func:`mom_verticalgrid::get_flux_units ` :callto: :f:func:`mom_hor_visc::hor_visc_init ` :callto: :f:func:`mom_hor_visc::horizontal_viscosity ` :callto: :f:func:`id_clock_btcalc ` :callto: :f:func:`id_clock_btforce ` :callto: :f:func:`id_clock_btstep ` :callto: :f:func:`id_clock_continuity ` :callto: :f:func:`id_clock_cor ` :callto: :f:func:`id_clock_horvisc ` :callto: :f:func:`id_clock_mom_update ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_pass_init ` :callto: :f:func:`id_clock_pres ` :callto: :f:func:`id_clock_vertvisc ` :callto: :f:func:`mom_restart::is_new_run ` :callto: :f:func:`mom_pressureforce::pressureforce_init ` :callto: :f:func:`mom_tidal_forcing::tidal_forcing_init ` :callto: :f:func:`mom_open_boundary::update_obc_ramp ` :callto: :f:func:`mom_vert_friction::updatecfltruncationvalue ` .. f:subroutine:: subroutine end_dyn_split_rk2(CS) Close the dyn_split_RK2 module. :param cs: module control structure [debug] xpath(./compounddef/compoundname[text()="mom_dynamics_split_rk2::mom_dyn_split_rk2_cs"]/..) match([('id', 'structmom__dynamics__split__rk2_1_1mom__dyn__split__rk2__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dynamics_split_rk2::mom_dyn_split_rk2_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_dynamics_split_rk2::end_dyn_split_rk2', , { [fd] run(.. f:type:: mom_dyn_split_rk2_cs) [fd] sig(mom_dyn_split_rk2_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(mom_dyn_split_rk2_cs) arglist(None) [fd] fullname(mom_dynamics_split_rk2/mom_dyn_split_rk2_cs) ftype(None) [fd] name(('mom_dynamics_split_rk2/mom_dyn_split_rk2_cs', None)) sig(mom_dyn_split_rk2_cs) signode(type mom_dynamics_split_rk2/mom_dyn_split_rk2_cs) [fd] run(.. f:subroutine:: subroutine step_mom_dyn_split_rk2(u, v, h, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, calc_dtbt, VarMix, MEKE, thickness_diffuse_CSp, Waves)) [fd] sig(subroutine step_mom_dyn_split_rk2(u, v, h, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, calc_dtbt, VarMix, MEKE, thickness_diffuse_CSp, Waves)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(step_mom_dyn_split_rk2) arglist(u, v, h, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, calc_dtbt, VarMix, MEKE, thickness_diffuse_CSp, Waves) [fd] fullname(mom_dynamics_split_rk2/step_mom_dyn_split_rk2) ftype(None) [fd] name(('mom_dynamics_split_rk2/step_mom_dyn_split_rk2', None)) sig(subroutine step_mom_dyn_split_rk2(u, v, h, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, calc_dtbt, VarMix, MEKE, thickness_diffuse_CSp, Waves)) signode(subroutine mom_dynamics_split_rk2/step_mom_dyn_split_rk2uvhtvviscTime_localdtforcesp_surf_beginp_surf_enduhvhuhtrvhtreta_avGGVUSCScalc_dtbtVarMixMEKEthickness_diffuse_CSpWaves) [fd] run(.. f:subroutine:: subroutine register_restarts_dyn_split_rk2(HI, GV, param_file, CS, restart_CS, uh, vh)) [fd] sig(subroutine register_restarts_dyn_split_rk2(HI, GV, param_file, CS, restart_CS, uh, vh)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_restarts_dyn_split_rk2) arglist(HI, GV, param_file, CS, restart_CS, uh, vh) [fd] fullname(mom_dynamics_split_rk2/register_restarts_dyn_split_rk2) ftype(None) [fd] name(('mom_dynamics_split_rk2/register_restarts_dyn_split_rk2', None)) sig(subroutine register_restarts_dyn_split_rk2(HI, GV, param_file, CS, restart_CS, uh, vh)) signode(subroutine mom_dynamics_split_rk2/register_restarts_dyn_split_rk2HIGVparam_fileCSrestart_CSuhvh) [fd] run(.. f:subroutine:: subroutine initialize_dyn_split_rk2(u, v, h, uh, vh, eta, Time, G, GV, US, param_file, diag, CS, restart_CS, dt, Accel_diag, Cont_diag, MIS, VarMix, MEKE, thickness_diffuse_CSp, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, calc_dtbt, cont_stencil)) [fd] sig(subroutine initialize_dyn_split_rk2(u, v, h, uh, vh, eta, Time, G, GV, US, param_file, diag, CS, restart_CS, dt, Accel_diag, Cont_diag, MIS, VarMix, MEKE, thickness_diffuse_CSp, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, calc_dtbt, cont_stencil)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_dyn_split_rk2) arglist(u, v, h, uh, vh, eta, Time, G, GV, US, param_file, diag, CS, restart_CS, dt, Accel_diag, Cont_diag, MIS, VarMix, MEKE, thickness_diffuse_CSp, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, calc_dtbt, cont_stencil) [fd] fullname(mom_dynamics_split_rk2/initialize_dyn_split_rk2) ftype(None) [fd] name(('mom_dynamics_split_rk2/initialize_dyn_split_rk2', None)) sig(subroutine initialize_dyn_split_rk2(u, v, h, uh, vh, eta, Time, G, GV, US, param_file, diag, CS, restart_CS, dt, Accel_diag, Cont_diag, MIS, VarMix, MEKE, thickness_diffuse_CSp, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, calc_dtbt, cont_stencil)) signode(subroutine mom_dynamics_split_rk2/initialize_dyn_split_rk2uvhuhvhetaTimeGGVUSparam_filediagCSrestart_CSdtAccel_diagCont_diagMISVarMixMEKEthickness_diffuse_CSpOBCupdate_OBC_CSpALE_CSpsetVisc_CSpviscdirsntrunccalc_dtbtcont_stencil) [fd] run(.. f:subroutine:: subroutine end_dyn_split_rk2(CS)) [fd] sig(subroutine end_dyn_split_rk2(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(end_dyn_split_rk2) arglist(CS) [fd] fullname(mom_dynamics_split_rk2/end_dyn_split_rk2) ftype(None) [fd] name(('mom_dynamics_split_rk2/end_dyn_split_rk2', None)) sig(subroutine end_dyn_split_rk2(CS)) signode(subroutine mom_dynamics_split_rk2/end_dyn_split_rk2CS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 29%] api/generated/modules/mom_dynamics_unsplit [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_dynamics [app] emitting event: 'source-read'('api/generated/modules/mom_dynamics_unsplit', ['.. autodoxymodule:: mom_dynamics_unsplit\n :membe [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_dynamics_unsplit.rst:1: input: .. autodoxymodule:: mom_dynamics_unsplit :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_dynamics_unsplit::mom_dyn_unsplit_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_dynamics_unsplit::step_mom_dyn_unsplit ~mom_dynamics_unsplit::register_restarts_dyn_unsplit ~mom_dynamics_unsplit::initialize_dyn_unsplit ~mom_dynamics_unsplit::end_dyn_unsplit [debug] xpath(./compounddef/compoundname[text()="mom_dynamics_unsplit"]/..) match([('id', 'namespacemom__dynamics__unsplit'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_dynamics_unsplit module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dynamics_unsplit', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_dynamics_unsplit' (exception was: ModuleNotFoundError("No module named 'mom_dynamics_unsplit'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , {' [debug] members([('step_mom_dyn_unsplit', ), ('register_restarts_dyn_unsplit', ), ('initialize_dyn_unsplit', ), ('end_dyn_unsplit', )]) [autodoc] module analyzer failed: error importing 'mom_dynamics_unsplit' (exception was: ModuleNotFoundError("No module named 'mom_dynamics_unsplit'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, VarMix, MEKE, Waves)) [debug] add_directive_header sig((u, v, h, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, VarMix, MEKE, Waves)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine step_mom_dyn_unsplit) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'step_mom_dyn_unsplit', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_restarts_dyn_unsplit', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_restarts_dyn_unsplit', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_restarts_dyn_unsplit', , {'members': < [autodoc] module analyzer failed: error importing 'mom_dynamics_unsplit' (exception was: ModuleNotFoundError("No module named 'mom_dynamics_unsplit'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, Time, G, GV, US, param_file, diag, CS, restart_CS, Accel_diag, Cont_diag, MIS, MEKE, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, cont_stencil)) [debug] add_directive_header sig((u, v, h, Time, G, GV, US, param_file, diag, CS, restart_CS, Accel_diag, Cont_diag, MIS, MEKE, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, cont_stencil)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine initialize_dyn_unsplit) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_dyn_unsplit', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_dynamics_unsplit::mom_dyn_unsplit_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_dynamics_unsplit::step_mom_dyn_unsplit ~mom_dynamics_unsplit::register_restarts_dyn_unsplit ~mom_dynamics_unsplit::initialize_dyn_unsplit ~mom_dynamics_unsplit::end_dyn_unsplit .. _DETAmom_dynamics_unsplit: -------------------- Detailed Description -------------------- Time steps the ocean dynamics with an unsplit quasi 3rd order scheme. ------------------ Type Documentation ------------------ .. f:type:: mom_dyn_unsplit_cs MOM_dynamics_unsplit module control structure. :typefield integer id_uh: Diagnostic IDs. :typefield integer id_vh: Diagnostic IDs. :typefield integer id_pfu: Diagnostic IDs. :typefield integer id_pfv: Diagnostic IDs. :typefield integer id_cau: Diagnostic IDs. :typefield integer id_cav: Diagnostic IDs. :typefield real(\: cau [:, :), allocatable]: CAu = f*v - u.grad(u) [L T-2 ~> m s-2]. :typefield real(\: pfu [:, :), allocatable]: PFu = -dM/dx [L T-2 ~> m s-2]. :typefield real(\: diffu [:, :), allocatable]: Zonal acceleration due to convergence of the along-isopycnal stress tensor [L T-2 ~> m s-2]. :typefield real(\: cav [:, :), allocatable]: CAv = -f*u - u.grad(v) [L T-2 ~> m s-2]. :typefield real(\: pfv [:, :), allocatable]: PFv = -dM/dy [L T-2 ~> m s-2]. :typefield real(\: diffv [:, :), allocatable]: Meridional acceleration due to convergence of the along-isopycnal stress tensor [L T-2 ~> m s-2]. :typefield real(\:,\:) taux_bot [pointer]: frictional x-bottom stress from the ocean to the seafloor [R L Z T-2 ~> Pa] :typefield real(\:,\:) tauy_bot [pointer]: frictional y-bottom stress from the ocean to the seafloor [R L Z T-2 ~> Pa] :typefield logical use_correct_dt_visc: If true, use the correct timestep in the viscous terms applied in the first predictor step with the unsplit time stepping scheme, and in the calculation of the turbulent mixed layer properties for viscosity. The default should be true, but it is false. :typefield logical debug: If true, write verbose checksums for debugging purposes. :typefield logical module_is_initialized: Record whether this mouled has been initialzed. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(accel_diag_ptrs) adp [pointer]: A structure pointing to the accelerations in the momentum equations, which can later be used to calculate derived diagnostics like energy budgets. :typefield type(cont_diag_ptrs) cdp [pointer]: A structure with pointers to various terms in the continuity equations, which can later be used to calculate derived diagnostics like energy budgets. :typefield type(hor_visc_cs) hor_visc_csp [pointer]: A pointer to the horizontal viscosity control structure. :typefield type(continuity_cs) continuity_csp [pointer]: A pointer to the continuity control structure. :typefield type(coriolisadv_cs) coriolisadv_csp [pointer]: A pointer to the CoriolisAdv control structure. :typefield type(pressureforce_cs) pressureforce_csp [pointer]: A pointer to the PressureForce control structure. :typefield type(vertvisc_cs) vertvisc_csp [pointer]: A pointer to the vertvisc control structure. :typefield type(set_visc_cs) set_visc_csp [pointer]: A pointer to the set_visc control structure. :typefield type(tidal_forcing_cs) tides_csp [pointer]: A pointer to the tidal forcing control structure. :typefield type(ale_cs) ale_csp [pointer]: A pointer to the ALE control structure. :typefield type(ocean_obc_type) obc [pointer]: A pointer to an open boundary. :typefield type(update_obc_cs) update_obc_csp [pointer]: A pointer to the update_OBC control structure. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine step_mom_dyn_unsplit(u, v, h, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, VarMix, MEKE, Waves) Step the MOM6 dynamics using an unsplit mixed 2nd order (for continuity) and 3rd order (for the inviscid momentum equations) order scheme. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param u: [inout] The zonal velocity [L T-1 ~> m s-1]. :param v: [inout] The meridional velocity [L T-1 ~> m s-1]. :param h: [inout] Layer thicknesses [H ~> m or kg m-2]. :param tv: [in] A structure pointing to various thermodynamic variables. :param visc: [inout] A structure containing vertical viscosities, bottom drag viscosities, and related fields. :param time_local: [in] The model time at the end of the time step. :param dt: [in] The dynamics time step [T ~> s]. :param forces: [in] A structure with the driving mechanical forces :param p_surf_begin: A pointer (perhaps NULL) to the surface pressure at the start of this dynamic step [R L2 T-2 ~> Pa]. :param p_surf_end: A pointer (perhaps NULL) to the surface pressure at the end of this dynamic step [R L2 T-2 ~> Pa]. :param uh: [inout] The zonal volume or mass transport [H L2 T-1 ~> m3 s-1 or kg s-1]. :param vh: [inout] The meridional volume or mass transport [H L2 T-1 ~> m3 s-1 or kg s-1]. :param uhtr: [inout] The accumulated zonal volume or mass transport since the last tracer advection [H L2 ~> m3 or kg]. :param vhtr: [inout] The accumulated meridional volume or mass transport since the last tracer advection [H L2 ~> m3 or kg]. :param eta_av: [out] The time-mean free surface height or column mass [H ~> m or kg m-2]. :param cs: The control structure set up by initialize_dyn_unsplit. :param varmix: A pointer to a structure with fields that specify the spatially variable viscosities. :param meke: A pointer to a structure containing fields related to the Mesoscale Eddy Kinetic Energy. :param waves: A pointer to a structure containing fields related to the surface wave conditions :callto: :f:func:`mom_continuity::continuity ` :callto: :f:func:`mom_coriolisadv::coradcalc ` :callto: :f:func:`mom_diag_mediator::diag_update_remap_grids ` :callto: :f:func:`mom_hor_visc::horizontal_viscosity ` :callto: :f:func:`id_clock_continuity ` :callto: :f:func:`id_clock_cor ` :callto: :f:func:`id_clock_horvisc ` :callto: :f:func:`id_clock_mom_update ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_pres ` :callto: :f:func:`id_clock_vertvisc ` :callto: :f:func:`mom_checksum_packages::mom_accel_chksum ` :callto: :f:func:`mom_open_boundary::open_boundary_zero_normal_flow ` :callto: :f:func:`mom_pressureforce::pressureforce ` :callto: :f:func:`mom_time_manager::real_to_time ` :callto: :f:func:`mom_set_visc::set_viscous_ml ` :callto: :f:func:`mom_boundary_update::update_obc_data ` :callto: :f:func:`mom_vert_friction::vertvisc ` :callto: :f:func:`mom_vert_friction::vertvisc_coef ` .. f:subroutine:: subroutine register_restarts_dyn_unsplit(HI, GV, param_file, CS, restart_CS) Allocate the control structure for this module, allocates memory in it, and registers any auxiliary restart variables that are specific to the unsplit time stepping scheme. All variables registered here should have the ability to be recreated if they are not present in a restart file. :param hi: [in] A horizontal index type structure. :param gv: [in] The ocean's vertical grid structure. :param param_file: [in] A structure to parse for run-time parameters. :param cs: The control structure set up by initialize_dyn_unsplit. :param restart_cs: A pointer to the restart control structure. :callto: :f:func:`mom_verticalgrid::get_flux_units ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine initialize_dyn_unsplit(u, v, h, Time, G, GV, US, param_file, diag, CS, restart_CS, Accel_diag, Cont_diag, MIS, MEKE, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, cont_stencil) Initialize parameters and allocate memory associated with the unsplit dynamics module. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param u: [inout] The zonal velocity [L T-1 ~> m s-1]. :param v: [inout] The meridional velocity [L T-1 ~> m s-1]. :param h: [inout] Layer thicknesses [H ~> m or kg m-2] :param time: [in] The current model time. :param param_file: [in] A structure to parse for run-time parameters. :param diag: [inout] A structure that is used to regulate diagnostic output. :param cs: The control structure set up by initialize_dyn_unsplit. :param restart_cs: A pointer to the restart control structure. :param accel_diag: [inout] A set of pointers to the various accelerations in the momentum equations, which can be used for later derived diagnostics, like energy budgets. :param cont_diag: [inout] A structure with pointers to various terms in the continuity equations. :param mis: [inout] The "MOM6 Internal State" structure, used to pass around pointers to various arrays for diagnostic purposes. :param meke: MEKE data :param obc: If open boundary conditions are used, this points to the ocean_OBC_type that was set up in MOM_initialization. :param update_obc_csp: If open boundary condition updates are used, this points to the appropriate control structure. :param ale_csp: This points to the ALE control structure. :param setvisc_csp: This points to the set_visc control structure. :param visc: [inout] A structure containing vertical viscosities, bottom drag viscosities, and related fields. :param dirs: [in] A structure containing several relevant directory paths. :param ntrunc: [inout] A target for the variable that records the number of times the velocity is truncated (this should be 0). :param cont_stencil: [out] The stencil for thickness from the continuity solver. :callto: :f:func:`mom_continuity::continuity_init ` :callto: :f:func:`mom_continuity::continuity_stencil ` :callto: :f:func:`mom_coriolisadv::coriolisadv_init ` :callto: :f:func:`mom_verticalgrid::get_flux_units ` :callto: :f:func:`mom_hor_visc::hor_visc_init ` :callto: :f:func:`id_clock_continuity ` :callto: :f:func:`id_clock_cor ` :callto: :f:func:`id_clock_horvisc ` :callto: :f:func:`id_clock_mom_update ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_pass_init ` :callto: :f:func:`id_clock_pres ` :callto: :f:func:`id_clock_vertvisc ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_pressureforce::pressureforce_init ` :callto: :f:func:`mom_tidal_forcing::tidal_forcing_init ` :callto: :f:func:`mom_vert_friction::vertvisc_init ` .. f:subroutine:: subroutine end_dyn_unsplit(CS) Clean up and deallocate memory associated with the unsplit dynamics module. :param cs: unsplit dynamics control structure that will be deallocated in this subroutine. [debug] xpath(./compounddef/compoundname[text()="mom_dynamics_unsplit::mom_dyn_unsplit_cs"]/..) match([('id', 'structmom__dynamics__unsplit_1_1mom__dyn__unsplit__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dynamics_unsplit::mom_dyn_unsplit_cs', , [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, VarMix, MEKE, Waves)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_dynamics_unsplit::step_mom_dyn_unsplit', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_dynamics_unsplit::step_mom_dyn_unsplit', , [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, restart_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_dynamics_unsplit::register_restarts_dyn_unsplit', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_dynamics_unsplit::initialize_dyn_unsplit', [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_dynamics_unsplit::end_dyn_unsplit', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_dynamics_unsplit::end_dyn_unsplit', , {}, [ [fd] run(.. f:type:: mom_dyn_unsplit_cs) [fd] sig(mom_dyn_unsplit_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(mom_dyn_unsplit_cs) arglist(None) [fd] fullname(mom_dynamics_unsplit/mom_dyn_unsplit_cs) ftype(None) [fd] name(('mom_dynamics_unsplit/mom_dyn_unsplit_cs', None)) sig(mom_dyn_unsplit_cs) signode(type mom_dynamics_unsplit/mom_dyn_unsplit_cs) [fd] run(.. f:subroutine:: subroutine step_mom_dyn_unsplit(u, v, h, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, VarMix, MEKE, Waves)) [fd] sig(subroutine step_mom_dyn_unsplit(u, v, h, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, VarMix, MEKE, Waves)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(step_mom_dyn_unsplit) arglist(u, v, h, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, VarMix, MEKE, Waves) [fd] fullname(mom_dynamics_unsplit/step_mom_dyn_unsplit) ftype(None) [fd] name(('mom_dynamics_unsplit/step_mom_dyn_unsplit', None)) sig(subroutine step_mom_dyn_unsplit(u, v, h, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, VarMix, MEKE, Waves)) signode(subroutine mom_dynamics_unsplit/step_mom_dyn_unsplituvhtvviscTime_localdtforcesp_surf_beginp_surf_enduhvhuhtrvhtreta_avGGVUSCSVarMixMEKEWaves) [fd] run(.. f:subroutine:: subroutine register_restarts_dyn_unsplit(HI, GV, param_file, CS, restart_CS)) [fd] sig(subroutine register_restarts_dyn_unsplit(HI, GV, param_file, CS, restart_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_restarts_dyn_unsplit) arglist(HI, GV, param_file, CS, restart_CS) [fd] fullname(mom_dynamics_unsplit/register_restarts_dyn_unsplit) ftype(None) [fd] name(('mom_dynamics_unsplit/register_restarts_dyn_unsplit', None)) sig(subroutine register_restarts_dyn_unsplit(HI, GV, param_file, CS, restart_CS)) signode(subroutine mom_dynamics_unsplit/register_restarts_dyn_unsplitHIGVparam_fileCSrestart_CS) [fd] run(.. f:subroutine:: subroutine initialize_dyn_unsplit(u, v, h, Time, G, GV, US, param_file, diag, CS, restart_CS, Accel_diag, Cont_diag, MIS, MEKE, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, cont_stencil)) [fd] sig(subroutine initialize_dyn_unsplit(u, v, h, Time, G, GV, US, param_file, diag, CS, restart_CS, Accel_diag, Cont_diag, MIS, MEKE, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, cont_stencil)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_dyn_unsplit) arglist(u, v, h, Time, G, GV, US, param_file, diag, CS, restart_CS, Accel_diag, Cont_diag, MIS, MEKE, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, cont_stencil) [fd] fullname(mom_dynamics_unsplit/initialize_dyn_unsplit) ftype(None) [fd] name(('mom_dynamics_unsplit/initialize_dyn_unsplit', None)) sig(subroutine initialize_dyn_unsplit(u, v, h, Time, G, GV, US, param_file, diag, CS, restart_CS, Accel_diag, Cont_diag, MIS, MEKE, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, cont_stencil)) signode(subroutine mom_dynamics_unsplit/initialize_dyn_unsplituvhTimeGGVUSparam_filediagCSrestart_CSAccel_diagCont_diagMISMEKEOBCupdate_OBC_CSpALE_CSpsetVisc_CSpviscdirsntrunccont_stencil) [fd] run(.. f:subroutine:: subroutine end_dyn_unsplit(CS)) [fd] sig(subroutine end_dyn_unsplit(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(end_dyn_unsplit) arglist(CS) [fd] fullname(mom_dynamics_unsplit/end_dyn_unsplit) ftype(None) [fd] name(('mom_dynamics_unsplit/end_dyn_unsplit', None)) sig(subroutine end_dyn_unsplit(CS)) signode(subroutine mom_dynamics_unsplit/end_dyn_unsplitCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 30%] api/generated/modules/mom_dynamics_unsplit_rk2 [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_dynamics [app] emitting event: 'source-read'('api/generated/modules/mom_dynamics_unsplit_rk2', ['.. autodoxymodule:: mom_dynamics_unsplit_rk2\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_dynamics_unsplit_rk2.rst:1: input: .. autodoxymodule:: mom_dynamics_unsplit_rk2 :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_dynamics_unsplit_rk2::mom_dyn_unsplit_rk2_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2 ~mom_dynamics_unsplit_rk2::register_restarts_dyn_unsplit_rk2 ~mom_dynamics_unsplit_rk2::initialize_dyn_unsplit_rk2 ~mom_dynamics_unsplit_rk2::end_dyn_unsplit_rk2 [debug] xpath(./compounddef/compoundname[text()="mom_dynamics_unsplit_rk2"]/..) match([('id', 'namespacemom__dynamics__unsplit__rk2'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_dynamics_unsplit_rk2 module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dynamics_unsplit_rk2', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_dynamics_unsplit_rk2' (exception was: ModuleNotFoundError("No module named 'mom_dynamics_unsplit_rk2'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_dynamics_unsplit_rk2::mom_dyn_unsplit_rk2_cs', ), ('register_restarts_dyn_unsplit_rk2', ), ('initialize_dyn_unsplit_rk2', ), ('end_dyn_unsplit_rk2', )]) [autodoc] module analyzer failed: error importing 'mom_dynamics_unsplit_rk2' (exception was: ModuleNotFoundError("No module named 'mom_dynamics_unsplit_rk2'")) [debug] DoxygenMethodDocumenter format_signature called ((u_in, v_in, h_in, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, VarMix, MEKE)) [debug] add_directive_header sig((u_in, v_in, h_in, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, VarMix, MEKE)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine step_mom_dyn_unsplit_rk2) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'step_mom_dyn_unsplit_rk2', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_restarts_dyn_unsplit_rk2', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_restarts_dyn_unsplit_rk2', , {'members [autodoc] module analyzer failed: error importing 'mom_dynamics_unsplit_rk2' (exception was: ModuleNotFoundError("No module named 'mom_dynamics_unsplit_rk2'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, Time, G, GV, US, param_file, diag, CS, restart_CS, Accel_diag, Cont_diag, MIS, MEKE, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, cont_stencil)) [debug] add_directive_header sig((u, v, h, Time, G, GV, US, param_file, diag, CS, restart_CS, Accel_diag, Cont_diag, MIS, MEKE, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, cont_stencil)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine initialize_dyn_unsplit_rk2) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_dyn_unsplit_rk2', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_dynamics_unsplit_rk2::mom_dyn_unsplit_rk2_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2 ~mom_dynamics_unsplit_rk2::register_restarts_dyn_unsplit_rk2 ~mom_dynamics_unsplit_rk2::initialize_dyn_unsplit_rk2 ~mom_dynamics_unsplit_rk2::end_dyn_unsplit_rk2 .. _DETAmom_dynamics_unsplit_rk2: -------------------- Detailed Description -------------------- Time steps the ocean dynamics with an unsplit quasi 2nd order Runge-Kutta scheme. ------------------ Type Documentation ------------------ .. f:type:: mom_dyn_unsplit_rk2_cs MOM_dynamics_unsplit_RK2 module control structure. :typefield integer id_uh: Diagnostic IDs. :typefield integer id_vh: Diagnostic IDs. :typefield integer id_pfu: Diagnostic IDs. :typefield integer id_pfv: Diagnostic IDs. :typefield integer id_cau: Diagnostic IDs. :typefield integer id_cav: Diagnostic IDs. :typefield real(\: cau [:, :), allocatable]: CAu = f*v - u.grad(u) [L T-2 ~> m s-2]. :typefield real(\: pfu [:, :), allocatable]: PFu = -dM/dx [L T-2 ~> m s-2]. :typefield real(\: diffu [:, :), allocatable]: Zonal acceleration due to convergence of the along-isopycnal stress tensor [L T-2 ~> m s-2]. :typefield real(\: cav [:, :), allocatable]: CAv = -f*u - u.grad(v) [L T-2 ~> m s-2]. :typefield real(\: pfv [:, :), allocatable]: PFv = -dM/dy [L T-2 ~> m s-2]. :typefield real(\: diffv [:, :), allocatable]: Meridional acceleration due to convergence of the along-isopycnal stress tensor [L T-2 ~> m s-2]. :typefield real(\:,\:) taux_bot [pointer]: frictional x-bottom stress from the ocean to the seafloor [R L Z T-2 ~> Pa] :typefield real(\:,\:) tauy_bot [pointer]: frictional y-bottom stress from the ocean to the seafloor [R L Z T-2 ~> Pa] :typefield real be: A nondimensional number from 0.5 to 1 that controls the backward weighting of the time stepping scheme. :typefield real begw: A nondimensional number from 0 to 1 that controls the extent to which the treatment of gravity waves is forward-backward (0) or simulated backward Euler (1). 0 is almost always used. :typefield logical use_correct_dt_visc: If true, use the correct timestep in the calculation of the turbulent mixed layer properties for viscosity. The default should be true, but it is false. :typefield logical debug: If true, write verbose checksums for debugging purposes. :typefield logical module_is_initialized: Record whether this mouled has been initialzed. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(accel_diag_ptrs) adp [pointer]: A structure pointing to the accelerations in the momentum equations, which can later be used to calculate derived diagnostics like energy budgets. :typefield type(cont_diag_ptrs) cdp [pointer]: A structure with pointers to various terms in the continuity equations, which can later be used to calculate derived diagnostics like energy budgets. :typefield type(hor_visc_cs) hor_visc_csp [pointer]: A pointer to the horizontal viscosity control structure. :typefield type(continuity_cs) continuity_csp [pointer]: A pointer to the continuity control structure. :typefield type(coriolisadv_cs) coriolisadv_csp [pointer]: A pointer to the CoriolisAdv control structure. :typefield type(pressureforce_cs) pressureforce_csp [pointer]: A pointer to the PressureForce control structure. :typefield type(vertvisc_cs) vertvisc_csp [pointer]: A pointer to the vertvisc control structure. :typefield type(set_visc_cs) set_visc_csp [pointer]: A pointer to the set_visc control structure. :typefield type(tidal_forcing_cs) tides_csp [pointer]: A pointer to the tidal forcing control structure. :typefield type(ale_cs) ale_csp [pointer]: A pointer to the ALE control structure. :typefield type(ocean_obc_type) obc [pointer]: A pointer to an open boundary condition type that specifies whether, where, and what open boundary conditions are used. If no open BCs are used, this pointer stays nullified. Flather OBCs use open boundary_CS as well. :typefield type(update_obc_cs) update_obc_csp [pointer]: A pointer to the update_OBC control structure. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine step_mom_dyn_unsplit_rk2(u_in, v_in, h_in, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, VarMix, MEKE) Step the MOM6 dynamics using an unsplit quasi-2nd order Runge-Kutta scheme. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param u_in: [inout] The input and output zonal velocity [L T-1 ~> m s-1]. :param v_in: [inout] The input and output meridional velocity [L T-1 ~> m s-1]. :param h_in: [inout] The input and output layer thicknesses, [H ~> m or kg m-2], depending on whether the Boussinesq approximation is made. :param tv: [in] A structure pointing to various thermodynamic variables. :param visc: [inout] A structure containing vertical viscosities, bottom drag viscosities, and related fields. :param time_local: [in] The model time at the end of the time step. :param dt: [in] The baroclinic dynamics time step [T ~> s]. :param forces: [in] A structure with the driving mechanical forces :param p_surf_begin: A pointer (perhaps NULL) to the surface pressure at the beginning of this dynamic step [R L2 T-2 ~> Pa]. :param p_surf_end: A pointer (perhaps NULL) to the surface pressure at the end of this dynamic step [R L2 T-2 ~> Pa]. :param uh: [inout] The zonal volume or mass transport [H L2 T-1 ~> m3 s-1 or kg s-1]. :param vh: [inout] The meridional volume or mass transport [H L2 T-1 ~> m3 s-1 or kg s-1]. :param uhtr: [inout] The accumulated zonal volume or mass transport since the last tracer advection [H L2 ~> m3 or kg]. :param vhtr: [inout] The accumulated meridional volume or mass transport since the last tracer advection [H L2 ~> m3 or kg]. :param eta_av: [out] The time-mean free surface height or column mass [H ~> m or kg m-2]. :param cs: The control structure set up by initialize_dyn_unsplit_RK2. :param varmix: A pointer to a structure with fields that specify the spatially variable viscosities. :param meke: A pointer to a structure containing fields related to the Mesoscale Eddy Kinetic Energy. :callto: :f:func:`mom_continuity::continuity ` :callto: :f:func:`mom_coriolisadv::coradcalc ` :callto: :f:func:`mom_hor_visc::horizontal_viscosity ` :callto: :f:func:`id_clock_continuity ` :callto: :f:func:`id_clock_cor ` :callto: :f:func:`id_clock_horvisc ` :callto: :f:func:`id_clock_mom_update ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_pres ` :callto: :f:func:`id_clock_vertvisc ` :callto: :f:func:`mom_checksum_packages::mom_accel_chksum ` :callto: :f:func:`mom_open_boundary::open_boundary_zero_normal_flow ` :callto: :f:func:`mom_pressureforce::pressureforce ` :callto: :f:func:`mom_set_visc::set_viscous_ml ` :callto: :f:func:`mom_boundary_update::update_obc_data ` :callto: :f:func:`mom_vert_friction::vertvisc ` :callto: :f:func:`mom_vert_friction::vertvisc_coef ` .. f:subroutine:: subroutine register_restarts_dyn_unsplit_rk2(HI, GV, param_file, CS, restart_CS) Allocate the control structure for this module, allocates memory in it, and registers any auxiliary restart variables that are specific to the unsplit RK2 time stepping scheme. All variables registered here should have the ability to be recreated if they are not present in a restart file. :param hi: [in] A horizontal index type structure. :param gv: [in] The ocean's vertical grid structure. :param param_file: [in] A structure to parse for run-time parameters. :param cs: The control structure set up by initialize_dyn_unsplit_RK2. :param restart_cs: A pointer to the restart control structure. :callto: :f:func:`mom_verticalgrid::get_flux_units ` .. f:subroutine:: subroutine initialize_dyn_unsplit_rk2(u, v, h, Time, G, GV, US, param_file, diag, CS, restart_CS, Accel_diag, Cont_diag, MIS, MEKE, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, cont_stencil) Initialize parameters and allocate memory associated with the unsplit RK2 dynamics module. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param u: [inout] The zonal velocity [L T-1 ~> m s-1]. :param v: [inout] The meridional velocity [L T-1 ~> m s-1]. :param h: [inout] Layer thicknesses [H ~> m or kg m-2] :param time: [in] The current model time. :param param_file: [in] A structure to parse for run-time parameters. :param diag: [inout] A structure that is used to regulate diagnostic output. :param cs: The control structure set up by initialize_dyn_unsplit_RK2. :param restart_cs: A pointer to the restart control structure. :param accel_diag: [inout] A set of pointers to the various accelerations in the momentum equations, which can be used for later derived diagnostics, like energy budgets. :param cont_diag: [inout] A structure with pointers to various terms in the continuity equations. :param mis: [inout] The "MOM6 Internal State" structure, used to pass around pointers to various arrays for diagnostic purposes. :param meke: MEKE data :param obc: If open boundary conditions are used, this points to the ocean_OBC_type that was set up in MOM_initialization. :param update_obc_csp: If open boundary condition updates are used, this points to the appropriate control structure. :param ale_csp: This points to the ALE control structure. :param setvisc_csp: This points to the set_visc control structure. :param visc: [inout] A structure containing vertical viscosities, bottom drag viscosities, and related fields. :param dirs: [in] A structure containing several relevant directory paths. :param ntrunc: [inout] A target for the variable that records the number of times the velocity is truncated (this should be 0). :param cont_stencil: [out] The stencil for thickness from the continuity solver. :callto: :f:func:`mom_continuity::continuity_init ` :callto: :f:func:`mom_continuity::continuity_stencil ` :callto: :f:func:`mom_coriolisadv::coriolisadv_init ` :callto: :f:func:`mom_verticalgrid::get_flux_units ` :callto: :f:func:`mom_hor_visc::hor_visc_init ` :callto: :f:func:`id_clock_continuity ` :callto: :f:func:`id_clock_cor ` :callto: :f:func:`id_clock_horvisc ` :callto: :f:func:`id_clock_mom_update ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_pass_init ` :callto: :f:func:`id_clock_pres ` :callto: :f:func:`id_clock_vertvisc ` :callto: :f:func:`mom_pressureforce::pressureforce_init ` :callto: :f:func:`mom_tidal_forcing::tidal_forcing_init ` :callto: :f:func:`mom_vert_friction::vertvisc_init ` .. f:subroutine:: subroutine end_dyn_unsplit_rk2(CS) Clean up and deallocate memory associated with the dyn_unsplit_RK2 module. :param cs: dyn_unsplit_RK2 control structure that will be deallocated in this subroutine. [debug] xpath(./compounddef/compoundname[text()="mom_dynamics_unsplit_rk2::mom_dyn_unsplit_rk2_cs"]/..) match([('id', 'structmom__dynamics__unsplit__rk2_1_1mom__dyn__unsplit__rk2__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dynamics_unsplit_rk2::mom_dyn_unsplit_rk2_cs', type mom_dynamics_unsplit_rk2/mom_dyn_unsplit_rk2_cs) [fd] run(.. f:subroutine:: subroutine step_mom_dyn_unsplit_rk2(u_in, v_in, h_in, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, VarMix, MEKE)) [fd] sig(subroutine step_mom_dyn_unsplit_rk2(u_in, v_in, h_in, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, VarMix, MEKE)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(step_mom_dyn_unsplit_rk2) arglist(u_in, v_in, h_in, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, VarMix, MEKE) [fd] fullname(mom_dynamics_unsplit_rk2/step_mom_dyn_unsplit_rk2) ftype(None) [fd] name(('mom_dynamics_unsplit_rk2/step_mom_dyn_unsplit_rk2', None)) sig(subroutine step_mom_dyn_unsplit_rk2(u_in, v_in, h_in, tv, visc, Time_local, dt, forces, p_surf_begin, p_surf_end, uh, vh, uhtr, vhtr, eta_av, G, GV, US, CS, VarMix, MEKE)) signode(subroutine mom_dynamics_unsplit_rk2/step_mom_dyn_unsplit_rk2u_inv_inh_intvviscTime_localdtforcesp_surf_beginp_surf_enduhvhuhtrvhtreta_avGGVUSCSVarMixMEKE) [fd] run(.. f:subroutine:: subroutine register_restarts_dyn_unsplit_rk2(HI, GV, param_file, CS, restart_CS)) [fd] sig(subroutine register_restarts_dyn_unsplit_rk2(HI, GV, param_file, CS, restart_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_restarts_dyn_unsplit_rk2) arglist(HI, GV, param_file, CS, restart_CS) [fd] fullname(mom_dynamics_unsplit_rk2/register_restarts_dyn_unsplit_rk2) ftype(None) [fd] name(('mom_dynamics_unsplit_rk2/register_restarts_dyn_unsplit_rk2', None)) sig(subroutine register_restarts_dyn_unsplit_rk2(HI, GV, param_file, CS, restart_CS)) signode(subroutine mom_dynamics_unsplit_rk2/register_restarts_dyn_unsplit_rk2HIGVparam_fileCSrestart_CS) [fd] run(.. f:subroutine:: subroutine initialize_dyn_unsplit_rk2(u, v, h, Time, G, GV, US, param_file, diag, CS, restart_CS, Accel_diag, Cont_diag, MIS, MEKE, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, cont_stencil)) [fd] sig(subroutine initialize_dyn_unsplit_rk2(u, v, h, Time, G, GV, US, param_file, diag, CS, restart_CS, Accel_diag, Cont_diag, MIS, MEKE, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, cont_stencil)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_dyn_unsplit_rk2) arglist(u, v, h, Time, G, GV, US, param_file, diag, CS, restart_CS, Accel_diag, Cont_diag, MIS, MEKE, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, cont_stencil) [fd] fullname(mom_dynamics_unsplit_rk2/initialize_dyn_unsplit_rk2) ftype(None) [fd] name(('mom_dynamics_unsplit_rk2/initialize_dyn_unsplit_rk2', None)) sig(subroutine initialize_dyn_unsplit_rk2(u, v, h, Time, G, GV, US, param_file, diag, CS, restart_CS, Accel_diag, Cont_diag, MIS, MEKE, OBC, update_OBC_CSp, ALE_CSp, setVisc_CSp, visc, dirs, ntrunc, cont_stencil)) signode(subroutine mom_dynamics_unsplit_rk2/initialize_dyn_unsplit_rk2uvhTimeGGVUSparam_filediagCSrestart_CSAccel_diagCont_diagMISMEKEOBCupdate_OBC_CSpALE_CSpsetVisc_CSpviscdirsntrunccont_stencil) [fd] run(.. f:subroutine:: subroutine end_dyn_unsplit_rk2(CS)) [fd] sig(subroutine end_dyn_unsplit_rk2(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(end_dyn_unsplit_rk2) arglist(CS) [fd] fullname(mom_dynamics_unsplit_rk2/end_dyn_unsplit_rk2) ftype(None) [fd] name(('mom_dynamics_unsplit_rk2/end_dyn_unsplit_rk2', None)) sig(subroutine end_dyn_unsplit_rk2(CS)) signode(subroutine mom_dynamics_unsplit_rk2/end_dyn_unsplit_rk2CS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 30%] api/generated/modules/mom_energetic_pbl [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_energeti [app] emitting event: 'source-read'('api/generated/modules/mom_energetic_pbl', ['.. autodoxymodule:: mom_energetic_pbl\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_energetic_pbl.rst:1: input: .. autodoxymodule:: mom_energetic_pbl :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_energetic_pbl::energetic_pbl_cs ~mom_energetic_pbl::epbl_column_diags --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_energetic_pbl::energetic_pbl ~mom_energetic_pbl::epbl_column ~mom_energetic_pbl::find_pe_chg ~mom_energetic_pbl::find_pe_chg_orig ~mom_energetic_pbl::find_mstar ~mom_energetic_pbl::mstar_langmuir ~mom_energetic_pbl::energetic_pbl_get_mld ~mom_energetic_pbl::energetic_pbl_init ~mom_energetic_pbl::energetic_pbl_end [debug] xpath(./compounddef/compoundname[text()="mom_energetic_pbl"]/..) match([('id', 'namespacemom__energetic__pbl'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_energetic_pbl module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_energetic_pbl', , {'members': , {'members': , {'members': ), ('mom_energetic_pbl::epbl_column_diags', )]) [autodoc] module analyzer failed: error importing 'mom_energetic_pbl' (exception was: ModuleNotFoundError("No module named 'mom_energetic_pbl'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespaceMOM__energetic__PBL) kindref(compound) ref([]) [debug] ref([('id', 'namespaceMOM__energetic__PBL'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::energetic_pbl_cs', , {'membe [autodoc] module analyzer failed: error importing 'mom_energetic_pbl' (exception was: ModuleNotFoundError("No module named 'mom_energetic_pbl'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_energetic_pbl::epbl_column_diags', , {'memb [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::epbl_column_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::epbl_column_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::epbl_column_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::epbl_column_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::epbl_column_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::epbl_column_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::epbl_column_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::epbl_column_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::epbl_column_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::epbl_column_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::epbl_column_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::epbl_column_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::epbl_column_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_energetic_pbl::epbl_column_diags', , {'memb [debug] members([('energetic_pbl', ), ('epbl_column', ), ('find_pe_chg', ), ('find_pe_chg_orig', ), ('find_mstar', ), ('mstar_langmuir', ), ('energetic_pbl_get_mld', ), ('energetic_pbl_init', ), ('energetic_pbl_end', )]) [autodoc] module analyzer failed: error importing 'mom_energetic_pbl' (exception was: ModuleNotFoundError("No module named 'mom_energetic_pbl'")) [debug] DoxygenMethodDocumenter format_signature called ((h_3d, u_3d, v_3d, tv, fluxes, dt, Kd_int, G, GV, US, CS, dSV_dT, dSV_dS, TKE_forced, buoy_flux, dt_diag, last_call, dT_expected, dS_expected, Waves)) [debug] add_directive_header sig((h_3d, u_3d, v_3d, tv, fluxes, dt, Kd_int, G, GV, US, CS, dSV_dT, dSV_dS, TKE_forced, buoy_flux, dt_diag, last_call, dT_expected, dS_expected, Waves)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine energetic_pbl) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'energetic_pbl', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_energetic_pbl::energetic_pbl_cs ~mom_energetic_pbl::epbl_column_diags --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_energetic_pbl::energetic_pbl ~mom_energetic_pbl::epbl_column ~mom_energetic_pbl::find_pe_chg ~mom_energetic_pbl::find_pe_chg_orig ~mom_energetic_pbl::find_mstar ~mom_energetic_pbl::mstar_langmuir ~mom_energetic_pbl::energetic_pbl_get_mld ~mom_energetic_pbl::energetic_pbl_init ~mom_energetic_pbl::energetic_pbl_end .. _DETAmom_energetic_pbl: -------------------- Detailed Description -------------------- Energetically consistent planetary boundary layer parameterization. ------------------ Type Documentation ------------------ .. f:type:: energetic_pbl_cs This control structure holds parameters for the :f:func:`MOM_energetic_PBL` module. module. :typefield integer id_ml_depth: Diagnostic IDs. :typefield integer id_hml_depth: Diagnostic IDs. :typefield integer id_tke_wind: Diagnostic IDs. :typefield integer id_tke_mixing: Diagnostic IDs. :typefield integer id_tke_mke: Diagnostic IDs. :typefield integer id_tke_conv: Diagnostic IDs. :typefield integer id_tke_forcing: Diagnostic IDs. :typefield integer id_tke_mech_decay: Diagnostic IDs. :typefield integer id_tke_conv_decay: Diagnostic IDs. :typefield integer id_mixing_length: Diagnostic IDs. :typefield integer id_velocity_scale: Diagnostic IDs. :typefield integer id_mstar_mix: Diagnostic IDs. :typefield integer id_la_mod: Diagnostic IDs. :typefield integer id_la: Diagnostic IDs. :typefield integer id_mstar_lt: Diagnostic IDs. :typefield real vonkar: The von Karman coefficient. This should be a runtime parameter, but because it is set to 0.4 at runtime in KPP it might change answers. :typefield real omega: The Earth's rotation rate [T-1 ~> s-1]. :typefield real omega_frac: When setting the decay scale for turbulence, use this fraction of the absolute rotation rate blended with the local value of f, as sqrt((1-omega_frac)*f^2 + omega_frac*4*omega^2) [nondim]. :typefield real nstar: The fraction of the TKE input to the mixed layer available to drive entrainment [nondim]. This quantity is the vertically integrated buoyancy production minus the vertically integrated dissipation of TKE produced by buoyancy. :typefield logical use_mld_iteration: If true, use the proximity to the bottom of the actively turbulent surface boundary layer to constrain the mixing lengths. :typefield logical mld_iteration_guess: False to default to guessing half the ocean depth for the first iteration. :typefield logical mld_bisection: If true, use bisection with the iterative determination of the self-consistent mixed layer depth. Otherwise use the false position after a maximum and minimum bound have been evaluated and the returned value from the previous guess or bisection before this. :typefield integer max_mld_its: The maximum number of iterations that can be used to find a self-consistent mixed layer depth with Use_MLD_iteration. :typefield real mixlenexponent: Exponent in the mixing length shape-function. 1 is law-of-the-wall at top and bottom, 2 is more KPP like. :typefield real mke_to_tke_effic: The efficiency with which mean kinetic energy released by mechanically forced entrainment of the mixed layer is converted to TKE [nondim]. :typefield real ustar_min: A minimum value of ustar to avoid numerical problems [Z T-1 ~> m s-1]. If the value is small enough, this should not affect the solution. :typefield real ekman_scale_coef: A nondimensional scaling factor controlling the inhibition of the diffusive length scale by rotation. Making this larger decreases the diffusivity in the planetary boundary layer. :typefield real translay_scale: A scale for the mixing length in the transition layer at the edge of the boundary layer as a fraction of the boundary layer thickness. The default is 0, but a value of 0.1 might be better justified by observations. :typefield real mld_tol: A tolerance for determining the boundary layer thickness when Use_MLD_iteration is true [Z ~> m]. :typefield real min_mix_len: The minimum mixing length scale that will be used by ePBL [Z ~> m]. The default (0) does not set a minimum. :typefield integer wt_scheme: An enumerated value indicating the method for finding the turbulent velocity scale. There are currently two options: wT_mwT_from_cRoot_TKE is the original (TKE_remaining)^1/3 wT_from_RH18 is the version described by Reichl and Hallberg, 2018. :typefield real wstar_ustar_coef: A ratio relating the efficiency with which convectively released energy is converted to a turbulent velocity, relative to mechanically forced turbulent kinetic energy [nondim]. Making this larger increases the diffusivity. :typefield real vstar_surf_fac: If (wT_scheme == wT_from_RH18) this is the proportionality coefficient between ustar and the surface mechanical contribution to vstar [nondim]. :typefield real vstar_scale_fac: An overall nondimensional scaling factor for vstar times a unit conversion factor [Z s T-1 m-1 ~> nondim]. Making this larger increases the diffusivity. :typefield integer mstar_scheme: An encoded integer to determine which formula is used to set mstar. :typefield logical mstar_flatcap: Set false to use asymptotic mstar cap. :typefield real mstar_cap: Since MSTAR is restoring undissipated energy to mixing, there must be a cap on how large it can be. This is definitely a function of latitude (Ekman limit), but will be taken as constant for now. :typefield real tke_decay: The ratio of the natural Ekman depth to the TKE decay scale [nondim]. :typefield real fixed_mstar: Mstar is the ratio of the friction velocity cubed to the TKE available to drive entrainment, nondimensional. This quantity is the vertically integrated shear production minus the vertically integrated dissipation of TKE produced by shear. This value is used if the option for using a fixed mstar is used. :typefield real c_ek: MSTAR Coefficient in rotation limit for mstar_scheme=OM4. :typefield real mstar_coef: MSTAR coefficient in rotation/stabilizing balance for mstar_scheme=OM4. :typefield real rh18_mstar_cn1: MSTAR_N coefficient 1 (outter-most coefficient for fit). Value of 0.275 in RH18. Increasing this coefficient increases mechanical mixing for all values of Hf/ust, but is most effective at low values (weakly developed OSBLs). :typefield real rh18_mstar_cn2: MSTAR_N coefficient 2 (coefficient outside of exponential decay). Value of 8.0 in RH18. Increasing this coefficient increases MSTAR for all values of HF/ust, with a consistent affect across a wide range of Hf/ust. :typefield real rh18_mstar_cn3: MSTAR_N coefficient 3 (exponential decay coefficient). Value of -5.0 in RH18. Increasing this increases how quickly the value of MSTAR decreases as Hf/ust increases. :typefield real rh18_mstar_cs1: MSTAR_S coefficient for RH18 in stabilizing limit. Value of 0.2 in RH18. :typefield real rh18_mstar_cs2: MSTAR_S exponent for RH18 in stabilizing limit. Value of 0.4 in RH18. :typefield real mstar_convect_coef: Factor to reduce mstar when statically unstable. :typefield logical use_lt: Flag for using LT in Energy calculation. :typefield integer lt_enhance_form: Integer for Enhancement functional form (various options) :typefield real lt_enhance_coef: Coefficient in fit for Langmuir Enhancment. :typefield real lt_enhance_exp: Exponent in fit for Langmuir Enhancement. :typefield real lac_mldoek: Coefficient for Langmuir number modification based on the ratio of the mixed layer depth over the Ekman depth. :typefield real lac_mldoob_stab: Coefficient for Langmuir number modification based on the ratio of the mixed layer depth over the Obukov depth with stablizing forcing. :typefield real lac_ekoob_stab: Coefficient for Langmuir number modification based on the ratio of the Ekman depth over the Obukov depth with stablizing forcing. :typefield real lac_mldoob_un: Coefficient for Langmuir number modification based on the ratio of the mixed layer depth over the Obukov depth with destablizing forcing. :typefield real lac_ekoob_un: Coefficient for Langmuir number modification based on the ratio of the Ekman depth over the Obukov depth with destablizing forcing. :typefield real max_enhance_m: The maximum allowed LT enhancement to the mixing. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield logical tke_diagnostics: If true, diagnostics of the TKE budget are being calculated. :typefield logical answers_2018: If true, use the order of arithmetic and expressions that recover the answers from the end of 2018. Otherwise, use updated and more robust forms of the same expressions. :typefield logical orig_pe_calc: If true, the ePBL code uses the original form of the potential energy change code. Otherwise, it uses a newer version that can work with successive increments to the diffusivity in upward or downward passes. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield real(\:,\:) ml_depth [allocatable]: The mixed layer depth determined by active mixing in ePBL [Z ~> m]. :typefield real(\:,\:) diag_tke_wind [allocatable]: The wind source of TKE [R Z3 T-3 ~> W m-2]. :typefield real(\:,\:) diag_tke_mke [allocatable]: The resolved KE source of TKE [R Z3 T-3 ~> W m-2]. :typefield real(\:,\:) diag_tke_conv [allocatable]: The convective source of TKE [R Z3 T-3 ~> W m-2]. :typefield real(\:,\:) diag_tke_forcing [allocatable]: The TKE sink required to mix surface penetrating shortwave heating. :typefield real(\:,\:) diag_tke_mech_decay [allocatable]: The decay of mechanical TKE [R Z3 T-3 ~> W m-2]. :typefield real(\:,\:) diag_tke_conv_decay [allocatable]: The decay of convective TKE [R Z3 T-3 ~> W m-2]. :typefield real(\:,\:) diag_tke_mixing [allocatable]: The work done by TKE to deepen the mixed layer [R Z3 T-3 ~> W m-2]. :typefield real(\:,\:) mstar_mix [allocatable]: Mstar used in EPBL [nondim]. :typefield real(\:,\:) mstar_lt [allocatable]: Mstar due to Langmuir turbulence [nondim]. :typefield real(\:,\:) la [allocatable]: Langmuir number [nondim]. :typefield real(\:,\:) la_mod [allocatable]: Modified Langmuir number [nondim]. :typefield type(efp_type)(2) sum_its: The total number of iterations and columns worked on. :typefield real(\:,\:,\:) velocity_scale [allocatable]: The velocity scale used in getting Kd [Z T-1 ~> m s-1]. :typefield real(\:,\:,\:) mixing_length [allocatable]: The length scale used in getting Kd [Z ~> m]. .. f:type:: epbl_column_diags A type for conveniently passing around ePBL diagnostics for a column. :typefield real dtke_conv: Local column copies of energy change diagnostics, all in [R Z3 T-3 ~> W m-2]. :typefield real dtke_forcing: Local column copies of energy change diagnostics, all in [R Z3 T-3 ~> W m-2]. :typefield real dtke_wind: Local column copies of energy change diagnostics, all in [R Z3 T-3 ~> W m-2]. :typefield real dtke_mixing: Local column copies of energy change diagnostics, all in [R Z3 T-3 ~> W m-2]. :typefield real dtke_mke: Local column copies of energy change diagnostics, all in [R Z3 T-3 ~> W m-2]. :typefield real dtke_mech_decay: Local column copies of energy change diagnostics, all in [R Z3 T-3 ~> W m-2]. :typefield real dtke_conv_decay: Local column copies of energy change diagnostics, all in [R Z3 T-3 ~> W m-2]. :typefield real la: The value of the Langmuir number [nondim]. :typefield real lamod: The modified Langmuir number by convection [nondim]. :typefield real mstar: The value of mstar used in ePBL [nondim]. :typefield real mstar_lt: The portion of mstar due to Langmuir turbulence [nondim]. :typefield real(\:) dt_expect [allocatable]: Expected temperature changes [degC]. :typefield real(\:) ds_expect [allocatable]: Expected salinity changes [ppt]. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine energetic_pbl(h_3d, u_3d, v_3d, tv, fluxes, dt, Kd_int, G, GV, US, CS, dSV_dT, dSV_dS, TKE_forced, buoy_flux, dt_diag, last_call, dT_expected, dS_expected, Waves) This subroutine determines the diffusivities from the integrated energetics mixed layer model. It assumes that heating, cooling and freshwater fluxes have already been applied. All calculations are done implicitly, and there is no stability limit on the time step. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h_3d: [inout] Layer thicknesses [H ~> m or kg m-2]. :param u_3d: [in] Zonal velocities interpolated to h points :param v_3d: [in] Zonal velocities interpolated to h points :param dsv_dt: [in] The partial derivative of in-situ specific :param dsv_ds: [in] The partial derivative of in-situ specific :param tke_forced: [in] The forcing requirements to homogenize the :param tv: [inout] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. :param fluxes: [inout] A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs. :param dt: [in] Time increment [T ~> s]. :param kd_int: [out] The diagnosed diffusivities at interfaces :param cs: The control structure returned by a previous call to mixedlayer_init. :param buoy_flux: [in] The surface buoyancy flux [Z2 T-3 ~> m2 s-3]. :param dt_diag: [in] The diagnostic time step, which may be less than dt if there are two calls to mixedlayer [T ~> s]. :param last_call: [in] If true, this is the last call to mixedlayer in the current time step, so diagnostics will be written. The default is .true. :param dt_expected: [out] The values of temperature change that :param ds_expected: [out] The values of salinity change that :param waves: Wave CS :callto: :f:func:`epbl_column ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine epbl_column(h, u, v, T0, S0, dSV_dT, dSV_dS, TKE_forcing, B_flux, absf, u_star, u_star_mean, dt, MLD_io, Kd, mixvel, mixlen, GV, US, CS, eCD, dt_diag, Waves, G, i, j) This subroutine determines the diffusivities from the integrated energetics mixed layer model for a single column of water. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param u: [in] Zonal velocities interpolated to h points [L T-1 ~> m s-1]. :param v: [in] Zonal velocities interpolated to h points [L T-1 ~> m s-1]. :param t0: [in] The initial layer temperatures [degC]. :param s0: [in] The initial layer salinities [ppt]. :param dsv_dt: [in] The partial derivative of in-situ specific volume with potential temperature [R-1 degC-1 ~> m3 kg-1 degC-1]. :param dsv_ds: [in] The partial derivative of in-situ specific volume with salinity [R-1 ppt-1 ~> m3 kg-1 ppt-1]. :param tke_forcing: [in] The forcing requirements to homogenize the forcing that has been applied to each layer [R Z3 T-2 ~> J m-2]. :param b_flux: [in] The surface buoyancy flux [Z2 T-3 ~> m2 s-3] :param absf: [in] The absolute value of the Coriolis parameter [T-1 ~> s-1]. :param u_star: [in] The surface friction velocity [Z T-1 ~> m s-1]. :param u_star_mean: [in] The surface friction velocity without any contribution from unresolved gustiness [Z T-1 ~> m s-1]. :param mld_io: [inout] A first guess at the mixed layer depth on input, and the calculated mixed layer depth on output [Z ~> m]. :param dt: [in] Time increment [T ~> s]. :param kd: [out] The diagnosed diffusivities at interfaces :param mixvel: [out] The mixing velocity scale used in Kd :param mixlen: [out] The mixing length scale used in Kd [Z ~> m]. :param cs: The control structure returned by a previous call to mixedlayer_init. :param ecd: [inout] A container for passing around diagnostics. :param dt_diag: [in] The diagnostic time step, which may be less than dt if there are two calls to mixedlayer [T ~> s]. :param waves: Wave CS for Langmuir turbulence :param g: [inout] The ocean's grid structure. :param i: [in] The i-index to work on (used for Waves) :param j: [in] The i-index to work on (used for Waves) :callto: :f:func:`find_mstar ` :callto: :f:func:`find_pe_chg ` :callto: :f:func:`find_pe_chg_orig ` :callto: :f:func:`mom_wave_interface::get_langmuir_number ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_coms::real_to_efp ` :callto: :f:func:`report_avg_its ` :callto: :f:func:`use_fixed_mstar ` :callto: :f:func:`wt_from_croot_tke ` :callto: :f:func:`wt_from_rh18 ` :calledfrom: :f:func:`energetic_pbl ` .. f:subroutine:: subroutine find_pe_chg(Kddt_h0, dKddt_h, hp_a, hp_b, Th_a, Sh_a, Th_b, Sh_b, dT_to_dPE_a, dS_to_dPE_a, dT_to_dPE_b, dS_to_dPE_b, pres_Z, dT_to_dColHt_a, dS_to_dColHt_a, dT_to_dColHt_b, dS_to_dColHt_b, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0, PE_ColHt_cor) This subroutine calculates the change in potential energy and or derivatives for several changes in an interfaces's diapycnal diffusivity times a timestep. :param kddt_h0: [in] The previously used diffusivity at an interface times the time step and divided by the average of the thicknesses around the interface [H ~> m or kg m-2]. :param dkddt_h: [in] The trial change in the diffusivity at an interface times the time step and divided by the average of the thicknesses around the interface [H ~> m or kg m-2]. :param hp_a: [in] The effective pivot thickness of the layer above the interface, given by h_k plus a term that is a fraction (determined from the tridiagonal solver) of Kddt_h for the interface above [H ~> m or kg m-2]. :param hp_b: [in] The effective pivot thickness of the layer below the interface, given by h_k plus a term that is a fraction (determined from the tridiagonal solver) of Kddt_h for the interface above [H ~> m or kg m-2]. :param th_a: [in] An effective temperature times a thickness in the layer above, including implicit mixing effects with other yet higher layers [degC H ~> degC m or degC kg m-2]. :param sh_a: [in] An effective salinity times a thickness in the layer above, including implicit mixing effects with other yet higher layers [degC H ~> degC m or degC kg m-2]. :param th_b: [in] An effective temperature times a thickness in the layer below, including implicit mixfing effects with other yet lower layers [degC H ~> degC m or degC kg m-2]. :param sh_b: [in] An effective salinity times a thickness in the layer below, including implicit mixing effects with other yet lower layers [degC H ~> degC m or degC kg m-2]. :param dt_to_dpe_a: [in] A factor (pres_lay*mass_lay*dSpec_vol/dT) relating a layer's temperature change to the change in column potential energy, including all implicit diffusive changes in the temperatures of all the layers above [R Z3 T-2 degC-1 ~> J m-2 degC-1]. :param ds_to_dpe_a: [in] A factor (pres_lay*mass_lay*dSpec_vol/dS) relating a layer's salinity change to the change in column potential energy, including all implicit diffusive changes in the salinities of all the layers above [R Z3 T-2 ppt-1 ~> J m-2 ppt-1]. :param dt_to_dpe_b: [in] A factor (pres_lay*mass_lay*dSpec_vol/dT) relating a layer's temperature change to the change in column potential energy, including all implicit diffusive changes in the temperatures of all the layers below [R Z3 T-2 degC-1 ~> J m-2 degC-1]. :param ds_to_dpe_b: [in] A factor (pres_lay*mass_lay*dSpec_vol/dS) relating a layer's salinity change to the change in column potential energy, including all implicit diffusive changes in the salinities of all the layers below [R Z3 T-2 ppt-1 ~> J m-2 ppt-1]. :param pres_z: [in] The rescaled hydrostatic interface pressure, which relates the changes in column thickness to the energy that is radiated as gravity waves and unavailable to drive mixing [R Z2 T-2 ~> J m-3]. :param dt_to_dcolht_a: [in] A factor (mass_lay*dSColHtc_vol/dT) relating a layer's temperature change to the change in column height, including all implicit diffusive changes in the temperatures of all the layers above [Z degC-1 ~> m degC-1]. :param ds_to_dcolht_a: [in] A factor (mass_lay*dSColHtc_vol/dS) relating a layer's salinity change to the change in column height, including all implicit diffusive changes in the salinities of all the layers above [Z ppt-1 ~> m ppt-1]. :param dt_to_dcolht_b: [in] A factor (mass_lay*dSColHtc_vol/dT) relating a layer's temperature change to the change in column height, including all implicit diffusive changes in the temperatures of all the layers below [Z degC-1 ~> m degC-1]. :param ds_to_dcolht_b: [in] A factor (mass_lay*dSColHtc_vol/dS) relating a layer's salinity change to the change in column height, including all implicit diffusive changes in the salinities of all the layers below [Z ppt-1 ~> m ppt-1]. :param pe_chg: [out] The change in column potential energy from applying Kddt_h at the present interface [R Z3 T-2 ~> J m-2]. :param dpec_dkd: [out] The partial derivative of PE_chg with Kddt_h [R Z3 T-2 H-1 ~> J m-3 or J kg-1]. :param dpe_max: [out] The maximum change in column potential energy that could be realizedd by applying a huge value of Kddt_h at the present interface [R Z3 T-2 ~> J m-2]. :param dpec_dkd_0: [out] The partial derivative of PE_chg with Kddt_h in the limit where Kddt_h = 0 [R Z3 T-2 H-1 ~> J m-3 or J kg-1]. :param pe_colht_cor: [out] The correction to PE_chg that is made due to a net change in the column height [R Z3 T-2 ~> J m-2]. :calledfrom: :f:func:`epbl_column ` .. f:subroutine:: subroutine find_pe_chg_orig(Kddt_h, h_k, b_den_1, dTe_term, dSe_term, dT_km1_t2, dS_km1_t2, dT_to_dPE_k, dS_to_dPE_k, dT_to_dPEa, dS_to_dPEa, pres_Z, dT_to_dColHt_k, dS_to_dColHt_k, dT_to_dColHta, dS_to_dColHta, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0) This subroutine calculates the change in potential energy and or derivatives for several changes in an interfaces's diapycnal diffusivity times a timestep using the original form used in the first version of ePBL. :param kddt_h: [in] The diffusivity at an interface times the time step and divided by the average of the thicknesses around the interface [H ~> m or kg m-2]. :param h_k: [in] The thickness of the layer below the interface [H ~> m or kg m-2]. :param b_den_1: [in] The first term in the denominator of the pivot for the tridiagonal solver, given by h_k plus a term that is a fraction (determined from the tridiagonal solver) of Kddt_h for the interface above [H ~> m or kg m-2]. :param dte_term: [in] A diffusivity-independent term related to the temperature change in the layer below the interface [degC H ~> degC m or degC kg m-2]. :param dse_term: [in] A diffusivity-independent term related to the salinity change in the layer below the interface [ppt H ~> ppt m or ppt kg m-2]. :param dt_km1_t2: [in] A diffusivity-independent term related to the temperature change in the layer above the interface [degC]. :param ds_km1_t2: [in] A diffusivity-independent term related to the salinity change in the layer above the interface [ppt]. :param pres_z: [in] The rescaled hydrostatic interface pressure, which relates the changes in column thickness to the energy that is radiated as gravity waves and unavailable to drive mixing [R Z2 T-2 ~> J m-3]. :param dt_to_dpe_k: [in] A factor (pres_lay*mass_lay*dSpec_vol/dT) relating a layer's temperature change to the change in column potential energy, including all implicit diffusive changes in the temperatures of all the layers below [R Z3 T-2 degC-1 ~> J m-2 degC-1]. :param ds_to_dpe_k: [in] A factor (pres_lay*mass_lay*dSpec_vol/dS) relating a layer's salinity change to the change in column potential energy, including all implicit diffusive changes in the in the salinities of all the layers below [R Z3 T-2 ppt-1 ~> J m-2 ppt-1]. :param dt_to_dpea: [in] A factor (pres_lay*mass_lay*dSpec_vol/dT) relating a layer's temperature change to the change in column potential energy, including all implicit diffusive changes in the temperatures of all the layers above [R Z3 T-2 degC-1 ~> J m-2 degC-1]. :param ds_to_dpea: [in] A factor (pres_lay*mass_lay*dSpec_vol/dS) relating a layer's salinity change to the change in column potential energy, including all implicit diffusive changes in the salinities of all the layers above [R Z3 T-2 ppt-1 ~> J m-2 ppt-1]. :param dt_to_dcolht_k: [in] A factor (mass_lay*dSColHtc_vol/dT) relating a layer's temperature change to the change in column height, including all implicit diffusive changes in the temperatures of all the layers below [Z degC-1 ~> m degC-1]. :param ds_to_dcolht_k: [in] A factor (mass_lay*dSColHtc_vol/dS) relating a layer's salinity change to the change in column height, including all implicit diffusive changes in the salinities of all the layers below [Z ppt-1 ~> m ppt-1]. :param dt_to_dcolhta: [in] A factor (mass_lay*dSColHtc_vol/dT) relating a layer's temperature change to the change in column height, including all implicit diffusive changes in the temperatures of all the layers above [Z degC-1 ~> m degC-1]. :param ds_to_dcolhta: [in] A factor (mass_lay*dSColHtc_vol/dS) relating a layer's salinity change to the change in column height, including all implicit diffusive changes in the salinities of all the layers above [Z ppt-1 ~> m ppt-1]. :param pe_chg: [out] The change in column potential energy from applying Kddt_h at the present interface [R Z3 T-2 ~> J m-2]. :param dpec_dkd: [out] The partial derivative of PE_chg with Kddt_h [R Z3 T-2 H-1 ~> J m-3 or J kg-1]. :param dpe_max: [out] The maximum change in column potential energy that could be realizedd by applying a huge value of Kddt_h at the present interface [R Z3 T-2 ~> J m-2]. :param dpec_dkd_0: [out] The partial derivative of PE_chg with Kddt_h in the limit where Kddt_h = 0 [R Z3 T-2 H-1 ~> J m-3 or J kg-1]. :calledfrom: :f:func:`epbl_column ` .. f:subroutine:: subroutine find_mstar(CS, US, Buoyancy_Flux, UStar, UStar_Mean, BLD, Abs_Coriolis, MStar, Langmuir_Number, MStar_LT, Convect_Langmuir_Number) This subroutine finds the Mstar value for ePBL. :param cs: Energetic_PBL control structure. :param us: [in] A dimensional unit scaling type :param ustar: [in] ustar w/ gustiness [Z T-1 ~> m s-1] :param ustar_mean: [in] ustar w/o gustiness [Z T-1 ~> m s-1] :param abs_coriolis: [in] abolute value of the Coriolis parameter [T-1 ~> s-1] :param buoyancy_flux: [in] Buoyancy flux [Z2 T-3 ~> m2 s-3] :param bld: [in] boundary layer depth [Z ~> m] :param mstar: [out] Ouput mstar (Mixing/ustar**3) [nondim] :param langmuir_number: [in] Langmuir number [nondim] :param mstar_lt: [out] Mstar increase due to Langmuir turbulence [nondim] :param convect_langmuir_number: [out] Langmuir number including buoyancy flux [nondim] :callto: :f:func:`mstar_from_ekman ` :callto: :f:func:`mstar_from_rh18 ` :callto: :f:func:`mstar_langmuir ` :callto: :f:func:`use_fixed_mstar ` :calledfrom: :f:func:`epbl_column ` .. f:subroutine:: subroutine mstar_langmuir(CS, US, Abs_Coriolis, Buoyancy_Flux, UStar, BLD, Langmuir_Number, Mstar, MStar_LT, Convect_Langmuir_Number) This subroutine modifies the Mstar value if the Langmuir number is present. :param cs: Energetic_PBL control structure. :param us: [in] A dimensional unit scaling type :param abs_coriolis: [in] Absolute value of the Coriolis parameter [T-1 ~> s-1] :param buoyancy_flux: [in] Buoyancy flux [Z2 T-3 ~> m2 s-3] :param ustar: [in] Surface friction velocity with? gustiness [Z T-1 ~> m s-1] :param bld: [in] boundary layer depth [Z ~> m] :param mstar: [inout] Input/output mstar (Mixing/ustar**3) [nondim] :param langmuir_number: [in] Langmuir number [nondim] :param mstar_lt: [out] Mstar increase due to Langmuir turbulence [nondim] :param convect_langmuir_number: [out] Langmuir number including buoyancy flux [nondim] :callto: :f:func:`langmuir_add ` :callto: :f:func:`langmuir_rescale ` :callto: :f:func:`no_langmuir ` :calledfrom: :f:func:`find_mstar ` .. f:subroutine:: subroutine energetic_pbl_get_mld(CS, MLD, G, US, m_to_MLD_units) Copies the ePBL active mixed layer depth into MLD, in units of [Z ~> m] unless other units are specified. :param cs: Control structure for ePBL :param g: [in] Grid structure :param us: [in] A dimensional unit scaling type :param mld: [out] Depth of ePBL active mixing layer [Z ~> m] or other units :param m_to_mld_units: [in] A conversion factor from meters to the desired units for MLD :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale_legacy ` :calledfrom: :f:func:`mom_lateral_boundary_diffusion::lateral_boundary_diffusion ` :calledfrom: :f:func:`mom_neutral_diffusion::neutral_diffusion_calc_coeffs ` .. f:subroutine:: subroutine energetic_pbl_init(Time, G, GV, US, param_file, diag, CS) This subroutine initializes the energetic_PBL module. :param time: [in] The current model time :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :param diag: [inout] A structure that is used to regulate diagnostic output :param cs: A pointer that is set to point to the control structure for this module :callto: :f:func:`additive_string ` :callto: :f:func:`constant_string ` :callto: :f:func:`langmuir_add ` :callto: :f:func:`langmuir_rescale ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`mstar_from_ekman ` :callto: :f:func:`mstar_from_rh18 ` :callto: :f:func:`no_langmuir ` :callto: :f:func:`none_string ` :callto: :f:func:`om4_string ` :callto: :f:func:`mom_coms::real_to_efp ` :callto: :f:func:`report_avg_its ` :callto: :f:func:`rescaled_string ` :callto: :f:func:`rh18_string ` :callto: :f:func:`root_tke_string ` :callto: :f:func:`mom_string_functions::uppercase ` :callto: :f:func:`use_fixed_mstar ` :callto: :f:func:`wt_from_croot_tke ` :callto: :f:func:`wt_from_rh18 ` .. f:subroutine:: subroutine energetic_pbl_end(CS) Clean up and deallocate memory associated with the energetic_PBL module. :param cs: Energetic_PBL control structure that will be deallocated in this subroutine. [debug] xpath(./compounddef/compoundname[text()="mom_energetic_pbl::energetic_pbl_cs"]/..) match([('id', 'structmom__energetic__pbl_1_1energetic__pbl__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespaceMOM__energetic__PBL) kindref(compound) ref([]) [debug] ref([('id', 'namespaceMOM__energetic__PBL'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_energetic_pbl::energetic_pbl_cs', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_energetic_pbl::energetic_pbl_cs', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_energetic_pbl::energetic_pbl_cs', , {}, [ [debug] xpath(./compounddef/compoundname[text()="mom_energetic_pbl::epbl_column_diags"]/..) match([('id', 'structmom__energetic__pbl_1_1epbl__column__diags'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_energetic_pbl::epbl_column_diags', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_energetic_pbl::epbl_column_diags', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_energetic_pbl::epbl_column_diags', , {}, [debug] DoxygenMethodDocumenter format_signature called ((h_3d, u_3d, v_3d, tv, fluxes, dt, Kd_int, G, GV, US, CS, dSV_dT, dSV_dS, TKE_forced, buoy_flux, dt_diag, last_call, dT_expected, dS_expected, Waves)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::energetic_pbl', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::energetic_pbl', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((h, u, v, T0, S0, dSV_dT, dSV_dS, TKE_forcing, B_flux, absf, u_star, u_star_mean, dt, MLD_io, Kd, mixvel, mixlen, GV, US, CS, eCD, dt_diag, Waves, G, i, j)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::epbl_column', , {}, ['', 'Th [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::epbl_column', , {}, ['', 'Th [debug] DoxygenMethodDocumenter format_signature called ((Kddt_h0, dKddt_h, hp_a, hp_b, Th_a, Sh_a, Th_b, Sh_b, dT_to_dPE_a, dS_to_dPE_a, dT_to_dPE_b, dS_to_dPE_b, pres_Z, dT_to_dColHt_a, dS_to_dColHt_a, dT_to_dColHt_b, dS_to_dColHt_b, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0, PE_ColHt_cor)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::find_pe_chg', , {}, ['', "Th [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::find_pe_chg', , {}, ['', "Th [debug] DoxygenMethodDocumenter format_signature called ((Kddt_h, h_k, b_den_1, dTe_term, dSe_term, dT_km1_t2, dS_km1_t2, dT_to_dPE_k, dS_to_dPE_k, dT_to_dPEa, dS_to_dPEa, pres_Z, dT_to_dColHt_k, dS_to_dColHt_k, dT_to_dColHta, dS_to_dColHta, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::find_pe_chg_orig', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::find_pe_chg_orig', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((CS, US, Buoyancy_Flux, UStar, UStar_Mean, BLD, Abs_Coriolis, MStar, Langmuir_Number, MStar_LT, Convect_Langmuir_Number)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::find_mstar', , {}, ['', 'Thi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::find_mstar', , {}, ['', 'Thi [debug] DoxygenMethodDocumenter format_signature called ((CS, US, Abs_Coriolis, Buoyancy_Flux, UStar, BLD, Langmuir_Number, Mstar, MStar_LT, Convect_Langmuir_Number)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::mstar_langmuir', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::mstar_langmuir', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((CS, MLD, G, US, m_to_MLD_units)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::energetic_pbl_get_mld', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::energetic_pbl_get_mld', , {} [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::energetic_pbl_init', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::energetic_pbl_init', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::energetic_pbl_end', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_energetic_pbl::energetic_pbl_end', , {}, [' [fd] run(.. f:type:: energetic_pbl_cs) [fd] sig(energetic_pbl_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(energetic_pbl_cs) arglist(None) [fd] fullname(mom_energetic_pbl/energetic_pbl_cs) ftype(None) [fd] name(('mom_energetic_pbl/energetic_pbl_cs', None)) sig(energetic_pbl_cs) signode(type mom_energetic_pbl/energetic_pbl_cs) [fd] run(.. f:type:: epbl_column_diags) [fd] sig(epbl_column_diags) [fd] ftype(None) objtype(None) modname(None) typename() name(epbl_column_diags) arglist(None) [fd] fullname(mom_energetic_pbl/epbl_column_diags) ftype(None) [fd] name(('mom_energetic_pbl/epbl_column_diags', None)) sig(epbl_column_diags) signode(type mom_energetic_pbl/epbl_column_diags) [fd] run(.. f:subroutine:: subroutine energetic_pbl(h_3d, u_3d, v_3d, tv, fluxes, dt, Kd_int, G, GV, US, CS, dSV_dT, dSV_dS, TKE_forced, buoy_flux, dt_diag, last_call, dT_expected, dS_expected, Waves)) [fd] sig(subroutine energetic_pbl(h_3d, u_3d, v_3d, tv, fluxes, dt, Kd_int, G, GV, US, CS, dSV_dT, dSV_dS, TKE_forced, buoy_flux, dt_diag, last_call, dT_expected, dS_expected, Waves)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(energetic_pbl) arglist(h_3d, u_3d, v_3d, tv, fluxes, dt, Kd_int, G, GV, US, CS, dSV_dT, dSV_dS, TKE_forced, buoy_flux, dt_diag, last_call, dT_expected, dS_expected, Waves) [fd] fullname(mom_energetic_pbl/energetic_pbl) ftype(None) [fd] name(('mom_energetic_pbl/energetic_pbl', None)) sig(subroutine energetic_pbl(h_3d, u_3d, v_3d, tv, fluxes, dt, Kd_int, G, GV, US, CS, dSV_dT, dSV_dS, TKE_forced, buoy_flux, dt_diag, last_call, dT_expected, dS_expected, Waves)) signode(subroutine mom_energetic_pbl/energetic_pblh_3du_3dv_3dtvfluxesdtKd_intGGVUSCSdSV_dTdSV_dSTKE_forcedbuoy_fluxdt_diaglast_calldT_expecteddS_expectedWaves) [fd] run(.. f:subroutine:: subroutine epbl_column(h, u, v, T0, S0, dSV_dT, dSV_dS, TKE_forcing, B_flux, absf, u_star, u_star_mean, dt, MLD_io, Kd, mixvel, mixlen, GV, US, CS, eCD, dt_diag, Waves, G, i, j)) [fd] sig(subroutine epbl_column(h, u, v, T0, S0, dSV_dT, dSV_dS, TKE_forcing, B_flux, absf, u_star, u_star_mean, dt, MLD_io, Kd, mixvel, mixlen, GV, US, CS, eCD, dt_diag, Waves, G, i, j)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(epbl_column) arglist(h, u, v, T0, S0, dSV_dT, dSV_dS, TKE_forcing, B_flux, absf, u_star, u_star_mean, dt, MLD_io, Kd, mixvel, mixlen, GV, US, CS, eCD, dt_diag, Waves, G, i, j) [fd] fullname(mom_energetic_pbl/epbl_column) ftype(None) [fd] name(('mom_energetic_pbl/epbl_column', None)) sig(subroutine epbl_column(h, u, v, T0, S0, dSV_dT, dSV_dS, TKE_forcing, B_flux, absf, u_star, u_star_mean, dt, MLD_io, Kd, mixvel, mixlen, GV, US, CS, eCD, dt_diag, Waves, G, i, j)) signode(subroutine mom_energetic_pbl/epbl_columnhuvT0S0dSV_dTdSV_dSTKE_forcingB_fluxabsfu_staru_star_meandtMLD_ioKdmixvelmixlenGVUSCSeCDdt_diagWavesGij) [fd] run(.. f:subroutine:: subroutine find_pe_chg(Kddt_h0, dKddt_h, hp_a, hp_b, Th_a, Sh_a, Th_b, Sh_b, dT_to_dPE_a, dS_to_dPE_a, dT_to_dPE_b, dS_to_dPE_b, pres_Z, dT_to_dColHt_a, dS_to_dColHt_a, dT_to_dColHt_b, dS_to_dColHt_b, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0, PE_ColHt_cor)) [fd] sig(subroutine find_pe_chg(Kddt_h0, dKddt_h, hp_a, hp_b, Th_a, Sh_a, Th_b, Sh_b, dT_to_dPE_a, dS_to_dPE_a, dT_to_dPE_b, dS_to_dPE_b, pres_Z, dT_to_dColHt_a, dS_to_dColHt_a, dT_to_dColHt_b, dS_to_dColHt_b, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0, PE_ColHt_cor)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_pe_chg) arglist(Kddt_h0, dKddt_h, hp_a, hp_b, Th_a, Sh_a, Th_b, Sh_b, dT_to_dPE_a, dS_to_dPE_a, dT_to_dPE_b, dS_to_dPE_b, pres_Z, dT_to_dColHt_a, dS_to_dColHt_a, dT_to_dColHt_b, dS_to_dColHt_b, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0, PE_ColHt_cor) [fd] fullname(mom_energetic_pbl/find_pe_chg) ftype(None) [fd] name(('mom_energetic_pbl/find_pe_chg', None)) sig(subroutine find_pe_chg(Kddt_h0, dKddt_h, hp_a, hp_b, Th_a, Sh_a, Th_b, Sh_b, dT_to_dPE_a, dS_to_dPE_a, dT_to_dPE_b, dS_to_dPE_b, pres_Z, dT_to_dColHt_a, dS_to_dColHt_a, dT_to_dColHt_b, dS_to_dColHt_b, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0, PE_ColHt_cor)) signode(subroutine mom_energetic_pbl/find_pe_chgKddt_h0dKddt_hhp_ahp_bTh_aSh_aTh_bSh_bdT_to_dPE_adS_to_dPE_adT_to_dPE_bdS_to_dPE_bpres_ZdT_to_dColHt_adS_to_dColHt_adT_to_dColHt_bdS_to_dColHt_bPE_chgdPEc_dKddPE_maxdPEc_dKd_0PE_ColHt_cor) [fd] run(.. f:subroutine:: subroutine find_pe_chg_orig(Kddt_h, h_k, b_den_1, dTe_term, dSe_term, dT_km1_t2, dS_km1_t2, dT_to_dPE_k, dS_to_dPE_k, dT_to_dPEa, dS_to_dPEa, pres_Z, dT_to_dColHt_k, dS_to_dColHt_k, dT_to_dColHta, dS_to_dColHta, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0)) [fd] sig(subroutine find_pe_chg_orig(Kddt_h, h_k, b_den_1, dTe_term, dSe_term, dT_km1_t2, dS_km1_t2, dT_to_dPE_k, dS_to_dPE_k, dT_to_dPEa, dS_to_dPEa, pres_Z, dT_to_dColHt_k, dS_to_dColHt_k, dT_to_dColHta, dS_to_dColHta, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_pe_chg_orig) arglist(Kddt_h, h_k, b_den_1, dTe_term, dSe_term, dT_km1_t2, dS_km1_t2, dT_to_dPE_k, dS_to_dPE_k, dT_to_dPEa, dS_to_dPEa, pres_Z, dT_to_dColHt_k, dS_to_dColHt_k, dT_to_dColHta, dS_to_dColHta, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0) [fd] fullname(mom_energetic_pbl/find_pe_chg_orig) ftype(None) [fd] name(('mom_energetic_pbl/find_pe_chg_orig', None)) sig(subroutine find_pe_chg_orig(Kddt_h, h_k, b_den_1, dTe_term, dSe_term, dT_km1_t2, dS_km1_t2, dT_to_dPE_k, dS_to_dPE_k, dT_to_dPEa, dS_to_dPEa, pres_Z, dT_to_dColHt_k, dS_to_dColHt_k, dT_to_dColHta, dS_to_dColHta, PE_chg, dPEc_dKd, dPE_max, dPEc_dKd_0)) signode(subroutine mom_energetic_pbl/find_pe_chg_origKddt_hh_kb_den_1dTe_termdSe_termdT_km1_t2dS_km1_t2dT_to_dPE_kdS_to_dPE_kdT_to_dPEadS_to_dPEapres_ZdT_to_dColHt_kdS_to_dColHt_kdT_to_dColHtadS_to_dColHtaPE_chgdPEc_dKddPE_maxdPEc_dKd_0) [fd] run(.. f:subroutine:: subroutine find_mstar(CS, US, Buoyancy_Flux, UStar, UStar_Mean, BLD, Abs_Coriolis, MStar, Langmuir_Number, MStar_LT, Convect_Langmuir_Number)) [fd] sig(subroutine find_mstar(CS, US, Buoyancy_Flux, UStar, UStar_Mean, BLD, Abs_Coriolis, MStar, Langmuir_Number, MStar_LT, Convect_Langmuir_Number)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_mstar) arglist(CS, US, Buoyancy_Flux, UStar, UStar_Mean, BLD, Abs_Coriolis, MStar, Langmuir_Number, MStar_LT, Convect_Langmuir_Number) [fd] fullname(mom_energetic_pbl/find_mstar) ftype(None) [fd] name(('mom_energetic_pbl/find_mstar', None)) sig(subroutine find_mstar(CS, US, Buoyancy_Flux, UStar, UStar_Mean, BLD, Abs_Coriolis, MStar, Langmuir_Number, MStar_LT, Convect_Langmuir_Number)) signode(subroutine mom_energetic_pbl/find_mstarCSUSBuoyancy_FluxUStarUStar_MeanBLDAbs_CoriolisMStarLangmuir_NumberMStar_LTConvect_Langmuir_Number) [fd] run(.. f:subroutine:: subroutine mstar_langmuir(CS, US, Abs_Coriolis, Buoyancy_Flux, UStar, BLD, Langmuir_Number, Mstar, MStar_LT, Convect_Langmuir_Number)) [fd] sig(subroutine mstar_langmuir(CS, US, Abs_Coriolis, Buoyancy_Flux, UStar, BLD, Langmuir_Number, Mstar, MStar_LT, Convect_Langmuir_Number)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mstar_langmuir) arglist(CS, US, Abs_Coriolis, Buoyancy_Flux, UStar, BLD, Langmuir_Number, Mstar, MStar_LT, Convect_Langmuir_Number) [fd] fullname(mom_energetic_pbl/mstar_langmuir) ftype(None) [fd] name(('mom_energetic_pbl/mstar_langmuir', None)) sig(subroutine mstar_langmuir(CS, US, Abs_Coriolis, Buoyancy_Flux, UStar, BLD, Langmuir_Number, Mstar, MStar_LT, Convect_Langmuir_Number)) signode(subroutine mom_energetic_pbl/mstar_langmuirCSUSAbs_CoriolisBuoyancy_FluxUStarBLDLangmuir_NumberMstarMStar_LTConvect_Langmuir_Number) [fd] run(.. f:subroutine:: subroutine energetic_pbl_get_mld(CS, MLD, G, US, m_to_MLD_units)) [fd] sig(subroutine energetic_pbl_get_mld(CS, MLD, G, US, m_to_MLD_units)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(energetic_pbl_get_mld) arglist(CS, MLD, G, US, m_to_MLD_units) [fd] fullname(mom_energetic_pbl/energetic_pbl_get_mld) ftype(None) [fd] name(('mom_energetic_pbl/energetic_pbl_get_mld', None)) sig(subroutine energetic_pbl_get_mld(CS, MLD, G, US, m_to_MLD_units)) signode(subroutine mom_energetic_pbl/energetic_pbl_get_mldCSMLDGUSm_to_MLD_units) [fd] run(.. f:subroutine:: subroutine energetic_pbl_init(Time, G, GV, US, param_file, diag, CS)) [fd] sig(subroutine energetic_pbl_init(Time, G, GV, US, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(energetic_pbl_init) arglist(Time, G, GV, US, param_file, diag, CS) [fd] fullname(mom_energetic_pbl/energetic_pbl_init) ftype(None) [fd] name(('mom_energetic_pbl/energetic_pbl_init', None)) sig(subroutine energetic_pbl_init(Time, G, GV, US, param_file, diag, CS)) signode(subroutine mom_energetic_pbl/energetic_pbl_initTimeGGVUSparam_filediagCS) [fd] run(.. f:subroutine:: subroutine energetic_pbl_end(CS)) [fd] sig(subroutine energetic_pbl_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(energetic_pbl_end) arglist(CS) [fd] fullname(mom_energetic_pbl/energetic_pbl_end) ftype(None) [fd] name(('mom_energetic_pbl/energetic_pbl_end', None)) sig(subroutine energetic_pbl_end(CS)) signode(subroutine mom_energetic_pbl/energetic_pbl_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 30%] api/generated/modules/mom_entrain_diffusive [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_entrain_ [app] emitting event: 'source-read'('api/generated/modules/mom_entrain_diffusive', ['.. autodoxymodule:: mom_entrain_diffusive\n :mem [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_entrain_diffusive.rst:1: input: .. autodoxymodule:: mom_entrain_diffusive :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_entrain_diffusive::entrain_diffusive_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_entrain_diffusive::entrainment_diffusive ~mom_entrain_diffusive::f_to_ent ~mom_entrain_diffusive::set_ent_bl ~mom_entrain_diffusive::determine_dskb ~mom_entrain_diffusive::f_kb_to_ea_kb ~mom_entrain_diffusive::determine_ea_kb ~mom_entrain_diffusive::find_maxf_kb ~mom_entrain_diffusive::entrain_diffusive_init ~mom_entrain_diffusive::entrain_diffusive_end [debug] xpath(./compounddef/compoundname[text()="mom_entrain_diffusive"]/..) match([('id', 'namespacemom__entrain__diffusive'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_entrain_diffusive module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_entrain_diffusive', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_entrain_diffusive' (exception was: ModuleNotFoundError("No module named 'mom_entrain_diffusive'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_entrain_diffusive::entrain_diffusive_cs', , [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_entrain_diffusive::entrain_diffusive_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_entrain_diffusive::entrain_diffusive_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_entrain_diffusive::entrain_diffusive_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_entrain_diffusive::entrain_diffusive_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_entrain_diffusive::entrain_diffusive_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_entrain_diffusive::entrain_diffusive_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_entrain_diffusive::entrain_diffusive_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_entrain_diffusive::entrain_diffusive_cs', , [debug] members([('entrainment_diffusive', ), ('f_to_ent', ), ('set_ent_bl', ), ('determine_dskb', ), ('f_kb_to_ea_kb', ), ('determine_ea_kb', ), ('find_maxf_kb', ), ('entrain_diffusive_init', ), ('entrain_diffusive_end', )]) [autodoc] module analyzer failed: error importing 'mom_entrain_diffusive' (exception was: ModuleNotFoundError("No module named 'mom_entrain_diffusive'")) [debug] DoxygenMethodDocumenter format_signature called ((h, tv, fluxes, dt, G, GV, US, CS, ea, eb, kb_out, Kd_Lay, Kd_int)) [debug] add_directive_header sig((h, tv, fluxes, dt, G, GV, US, CS, ea, eb, kb_out, Kd_Lay, Kd_int)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine entrainment_diffusive) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'entrainment_diffusive', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_entrain_diffusive::entrain_diffusive_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_entrain_diffusive::entrainment_diffusive ~mom_entrain_diffusive::f_to_ent ~mom_entrain_diffusive::set_ent_bl ~mom_entrain_diffusive::determine_dskb ~mom_entrain_diffusive::f_kb_to_ea_kb ~mom_entrain_diffusive::determine_ea_kb ~mom_entrain_diffusive::find_maxf_kb ~mom_entrain_diffusive::entrain_diffusive_init ~mom_entrain_diffusive::entrain_diffusive_end .. _DETAmom_entrain_diffusive: -------------------- Detailed Description -------------------- By Robert Hallberg, September 1997 - July 2000 This file contains the subroutines that implement diapycnal mixing and advection in isopycnal layers. The main subroutine, calculate_entrainment, returns the entrainment by each layer across the interfaces above and below it. These are calculated subject to the constraints that no layers can be driven to neg- ative thickness and that the each layer maintains its target density, using the scheme described in Hallberg (MWR 2000). There may or may not be a bulk mixed layer above the isopycnal layers. The solution is iterated until the change in the entrainment between successive iterations is less than some small tolerance. The dual-stream entrainment scheme of MacDougall and Dewar (JPO 1997) is used for combined diapycnal advection and diffusion, modified as described in Hallberg (MWR 2000) to be solved implicitly in time. Any profile of diffusivities may be used. Diapycnal advection is fundamentally the residual of diapycnal diffusion, so the fully implicit upwind differencing scheme that is used is entirely appropriate. The downward buoyancy flux in each layer is determined from an implicit calculation based on the previously calculated flux of the layer above and an estim- ated flux in the layer below. This flux is subject to the foll- owing conditions: (1) the flux in the top and bottom layers are set by the boundary conditions, and (2) no layer may be driven below an Angstrom thickness. If there is a bulk mixed layer, the mixed and buffer layers are treated as Eulerian layers, whose thicknesses only change due to entrainment by the interior layers. ------------------ Type Documentation ------------------ .. f:type:: entrain_diffusive_cs The control structure holding parametes for the MOM_entrain_diffusive module. :typefield logical bulkmixedlayer: If true, a refined bulk mixed layer is used with GVnk_rho_varies variable density mixed & buffer layers. :typefield integer max_ent_it: The maximum number of iterations that may be used to calculate the diapycnal entrainment. :typefield real tolerance_ent: The tolerance with which to solve for entrainment values [H ~> m or kg m-2]. :typefield real rho_sig_off: The offset between potential density and a sigma value [R ~> kg m-3]. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield integer id_kd: Diagnostic ID for diffusivity. :typefield integer id_diff_work: Diagnostic ID for mixing work. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine entrainment_diffusive(h, tv, fluxes, dt, G, GV, US, CS, ea, eb, kb_out, Kd_Lay, Kd_int) This subroutine calculates ea and eb, the rates at which a layer entrains from the layers above and below. The entrainment rates are proportional to the buoyancy flux in a layer and inversely proportional to the density differences between layers. The scheme that is used here is described in detail in Hallberg, Mon. Wea. Rev. 2000. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param tv: [in] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. :param fluxes: [in] A structure of surface fluxes that may be used. :param dt: [in] The time increment [T ~> s]. :param cs: The control structure returned by a previous call to entrain_diffusive_init. :param ea: [out] The amount of fluid entrained from the layer :param eb: [out] The amount of fluid entrained from the layer :param kb_out: [inout] The index of the lightest layer denser than :param kd_lay: [in] The diapycnal diffusivity of layers :param kd_int: [in] The diapycnal diffusivity of interfaces :callto: :f:func:`determine_dskb ` :callto: :f:func:`determine_ea_kb ` :callto: :f:func:`mom_eos::eos_domain ` :callto: :f:func:`f_kb_to_ea_kb ` :callto: :f:func:`f_to_ent ` :callto: :f:func:`find_maxf_kb ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`set_ent_bl ` .. f:subroutine:: subroutine f_to_ent(F, h, kb, kmb, j, G, GV, CS, dsp1_ds, eakb, Ent_bl, ea, eb, do_i_in) This subroutine calculates the actual entrainments (ea and eb) and the amount of surface forcing that is applied to each layer if there is no bulk mixed layer. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param f: [in] The density flux through a layer within a time step divided by the density difference across the interface below the layer [H ~> m or kg m-2]. :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param kb: [in] The index of the lightest layer denser than the deepest buffer layer. :param kmb: [in] The number of mixed and buffer layers. :param j: [in] The meridional index upon which to work. :param cs: [in] This module's control structure. :param dsp1_ds: [in] The ratio of coordinate variable differences across the interfaces below a layer over the difference across the interface above the layer. :param eakb: [in] The entrainment from above by the layer below the buffer layer [H ~> m or kg m-2]. :param ent_bl: [in] The average entrainment upward and downward across each interface around the buffer layers [H ~> m or kg m-2]. :param ea: [inout] The amount of fluid entrained from the layer :param eb: [inout] The amount of fluid entrained from the layer :param do_i_in: [in] Indicates which i-points to work on. :calledfrom: :f:func:`entrainment_diffusive ` .. f:subroutine:: subroutine set_ent_bl(h, dtKd_int, tv, kb, kmb, do_i, G, GV, US, CS, j, Ent_bl, Sref, h_bl) This subroutine sets the average entrainment across each of the interfaces between buffer layers within a timestep. It also causes thin and relatively light interior layers to be entrained by the deepest buffer layer. Also find the initial coordinate potential densities (Sref) of each layer. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param dtkd_int: [in] The diapycnal diffusivity across :param tv: [in] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. :param kb: [inout] The index of the lightest layer denser than the buffer layer or 1 if there is no buffer layer. :param kmb: [in] The number of mixed and buffer layers. :param do_i: [in] A logical variable indicating which i-points to work on. :param us: [in] A dimensional unit scaling type :param cs: This module's control structure. :param j: [in] The meridional index upon which to work. :param ent_bl: [out] The average entrainment upward and :param sref: [out] The coordinate potential density minus 1000 for each layer [R ~> kg m-3]. :param h_bl: [out] The thickness of each layer [H ~> m or kg m-2]. :callto: :f:func:`mom_eos::eos_domain ` :calledfrom: :f:func:`entrainment_diffusive ` .. f:subroutine:: subroutine determine_dskb(h_bl, Sref, Ent_bl, E_kb, is, ie, kmb, G, GV, limit, dSkb, ddSkb_dE, dSlay, ddSlay_dE, dS_anom_lim, do_i_in) This subroutine determines the reference density difference between the bottommost buffer layer and the first interior after the mixing between mixed and buffer layers and mixing with the layer below. Within the mixed and buffer layers, entrainment from the layer above is increased when it is necessary to keep the layers from developing a negative thickness; otherwise it equals Ent_bl. At each interface, the upward and downward fluxes average out to Ent_bl, unless entrainment by the layer below is larger than twice Ent_bl. The density difference across the first interior layer may also be returned. It could also be limited to avoid negative values or values that greatly exceed the density differences across an interface. Additionally, the partial derivatives of dSkb and dSlay with E_kb could also be returned. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h_bl: [in] Layer thickness [H ~> m or kg m-2] :param sref: [in] Reference potential density [R ~> kg m-3] :param ent_bl: [in] The average entrainment upward and downward across each interface around the buffer layers [H ~> m or kg m-2]. :param e_kb: [in] The entrainment by the top interior layer [H ~> m or kg m-2]. :param is: [in] The start of the i-index range to work on. :param ie: [in] The end of the i-index range to work on. :param kmb: [in] The number of mixed and buffer layers. :param limit: [in] If true, limit dSkb and dSlay to avoid negative values. :param dskb: [inout] The limited potential density difference across the interface between the bottommost buffer layer and the topmost interior layer. [R ~> kg m-3] dSkb > 0. :param ddskb_de: [inout] The partial derivative of dSkb with E [R H-1 ~> kg m-4 or m-1]. :param dslay: [inout] The limited potential density difference across the topmost interior layer. 0 < dSkb [R ~> kg m-3] :param ddslay_de: [inout] The partial derivative of dSlay with E [R H-1 ~> kg m-4 or m-1]. :param ds_anom_lim: [inout] A limiting value to use for the density anomalies below the buffer layer [R ~> kg m-3]. :param do_i_in: [in] If present, determines which columns are worked on. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`determine_ea_kb ` :calledfrom: :f:func:`entrainment_diffusive ` :calledfrom: :f:func:`f_kb_to_ea_kb ` :calledfrom: :f:func:`find_maxf_kb ` .. f:subroutine:: subroutine f_kb_to_ea_kb(h_bl, Sref, Ent_bl, I_dSkbp1, F_kb, kmb, i, G, GV, CS, ea_kb, tol_in) Given an entrainment from below for layer kb, determine a consistent entrainment from above, such that dSkb * ea_kb = dSkbp1 * F_kb. The input value of ea_kb is both the maximum value that can be obtained and the first guess of the iterations. Ideally ea_kb should be an under-estimate. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h_bl: [in] Layer thickness, with the top interior :param sref: [in] The coordinate reference potential density, :param ent_bl: [in] The average entrainment upward and downward :param i_dskbp1: [in] The inverse of the difference in reference potential density across the base of the uppermost interior layer [R-1 ~> m3 kg-1]. :param f_kb: [in] The entrainment from below by the uppermost interior layer [H ~> m or kg m-2] :param kmb: [in] The number of mixed and buffer layers. :param i: [in] The i-index to work on :param cs: This module's control structure. :param ea_kb: [inout] The entrainment from above by the layer below the buffer layer (i.e. layer kb) [H ~> m or kg m-2]. :param tol_in: [in] A tolerance for the iterative determination of the entrainment [H ~> m or kg m-2]. :callto: :f:func:`determine_dskb ` :callto: :f:func:`find_maxf_kb ` :calledfrom: :f:func:`entrainment_diffusive ` .. f:subroutine:: subroutine determine_ea_kb(h_bl, dtKd_kb, Sref, I_dSkbp1, Ent_bl, ea_kbp1, min_eakb, max_eakb, kmb, is, ie, do_i, G, GV, CS, Ent, error, err_min_eakb0, err_max_eakb0, F_kb, dFdfm_kb) This subroutine determines the entrainment from above by the top interior layer (labeled kb elsewhere) given an entrainment by the layer below it, constrained to be within the provided bounds. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h_bl: [in] Layer thickness, with the top interior layer at k-index kmb+1 [H ~> m or kg m-2]. :param sref: [in] The coordinate reference potential density, with the value of the topmost interior layer at layer kmb+1 [R ~> kg m-3]. :param ent_bl: [in] The average entrainment upward and downward across each interface around the buffer layers [H ~> m or kg m-2]. :param i_dskbp1: [in] The inverse of the difference in reference potential density across the base of the uppermost interior layer [R-1 ~> m3 kg-1]. :param dtkd_kb: [in] The diapycnal diffusivity in the top interior layer times the time step [H2 ~> m2 or kg2 m-4]. :param ea_kbp1: [in] The entrainment from above by layer kb+1 [H ~> m or kg m-2]. :param min_eakb: [in] The minimum permissible rate of entrainment [H ~> m or kg m-2]. :param max_eakb: [in] The maximum permissible rate of entrainment [H ~> m or kg m-2]. :param kmb: [in] The number of mixed and buffer layers. :param is: [in] The start of the i-index range to work on. :param ie: [in] The end of the i-index range to work on. :param do_i: [in] A logical variable indicating which i-points to work on. :param cs: This module's control structure. :param ent: [inout] The entrainment rate of the uppermost interior layer [H ~> m or kg m-2]. The input value is the first guess. :param error: [out] The error (locally defined in this routine) associated with the returned solution. :param err_min_eakb0: [in] The errors (locally defined) associated with min_eakb when ea_kbp1 = 0, returned from a previous call to this fn. :param err_max_eakb0: [in] The errors (locally defined) associated with min_eakb when ea_kbp1 = 0, returned from a previous call to this fn. :param f_kb: [out] The entrainment from below by the uppermost interior layer corresponding to the returned value of Ent [H ~> m or kg m-2]. :param dfdfm_kb: [out] The partial derivative of F_kb with ea_kbp1 [nondim]. :callto: :f:func:`determine_dskb ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`entrainment_diffusive ` .. f:subroutine:: subroutine find_maxf_kb(h_bl, Sref, Ent_bl, I_dSkbp1, min_ent_in, max_ent_in, kmb, is, ie, G, GV, CS, maxF, ent_maxF, do_i_in, F_lim_maxent, F_thresh) Maximize F = ent*ds_kb*I_dSkbp1 in the range min_ent < ent < max_ent. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h_bl: [in] Layer thickness [H ~> m or kg m-2] :param sref: [in] Reference potential density [R ~> kg m-3]. :param ent_bl: [in] The average entrainment upward and :param i_dskbp1: [in] The inverse of the difference in reference potential density across the base of the uppermost interior layer [R-1 ~> m3 kg-1]. :param min_ent_in: [in] The minimum value of ent to search, [H ~> m or kg m-2]. :param max_ent_in: [in] The maximum value of ent to search, [H ~> m or kg m-2]. :param kmb: [in] The number of mixed and buffer layers. :param is: [in] The start of the i-index range to work on. :param ie: [in] The end of the i-index range to work on. :param cs: This module's control structure. :param maxf: [out] The maximum value of F = ent*ds_kb*I_dSkbp1 found in the range min_ent < ent < max_ent [H ~> m or kg m-2]. :param ent_maxf: [out] The value of ent at that maximum [H ~> m or kg m-2]. :param do_i_in: [in] A logical array indicating which columns :param f_lim_maxent: [out] If present, do not apply the limit in :param f_thresh: [in] If F_thresh is present, return the first :callto: :f:func:`determine_dskb ` :calledfrom: :f:func:`entrainment_diffusive ` :calledfrom: :f:func:`f_kb_to_ea_kb ` .. f:subroutine:: subroutine entrain_diffusive_init(Time, G, GV, US, param_file, diag, CS, just_read_params) This subroutine initializes the parameters and memory associated with the entrain_diffusive module. :param time: [in] The current model time. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters. :param diag: [inout] A structure that is used to regulate diagnostic output. :param cs: A pointer that is set to point to the control structure. :param just_read_params: [in] If present and true, this call will only read parameters logging them or registering any diagnostics :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine entrain_diffusive_end(CS) This subroutine cleans up and deallocates any memory associated with the entrain_diffusive module. :param cs: A pointer to the control structure for this module that will be deallocated. :calledfrom: :f:func:`mom_diabatic_driver::diabatic_driver_end ` [debug] xpath(./compounddef/compoundname[text()="mom_entrain_diffusive::entrain_diffusive_cs"]/..) match([('id', 'structmom__entrain__diffusive_1_1entrain__diffusive__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_entrain_diffusive::entrain_diffusive_cs', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_entrain_diffusive::entrainment_diffusive', [debug] DoxygenMethodDocumenter format_signature called ((F, h, kb, kmb, j, G, GV, CS, dsp1_ds, eakb, Ent_bl, ea, eb, do_i_in)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_entrain_diffusive::f_to_ent', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_entrain_diffusive::f_to_ent', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((h, dtKd_int, tv, kb, kmb, do_i, G, GV, US, CS, j, Ent_bl, Sref, h_bl)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_entrain_diffusive::set_ent_bl', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_entrain_diffusive::set_ent_bl', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((h_bl, Sref, Ent_bl, E_kb, is, ie, kmb, G, GV, limit, dSkb, ddSkb_dE, dSlay, ddSlay_dE, dS_anom_lim, do_i_in)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_entrain_diffusive::determine_dskb', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_entrain_diffusive::determine_dskb', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((h_bl, Sref, Ent_bl, I_dSkbp1, F_kb, kmb, i, G, GV, CS, ea_kb, tol_in)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_entrain_diffusive::f_kb_to_ea_kb', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_entrain_diffusive::f_kb_to_ea_kb', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((h_bl, dtKd_kb, Sref, I_dSkbp1, Ent_bl, ea_kbp1, min_eakb, max_eakb, kmb, is, ie, do_i, G, GV, CS, Ent, error, err_min_eakb0, err_max_eakb0, F_kb, dFdfm_kb)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_entrain_diffusive::determine_ea_kb', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_entrain_diffusive::determine_ea_kb', , {}, [debug] DoxygenMethodDocumenter format_signature called ((h_bl, Sref, Ent_bl, I_dSkbp1, min_ent_in, max_ent_in, kmb, is, ie, G, GV, CS, maxF, ent_maxF, do_i_in, F_lim_maxent, F_thresh)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_entrain_diffusive::find_maxf_kb', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_entrain_diffusive::find_maxf_kb', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS, just_read_params)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_entrain_diffusive::entrain_diffusive_init', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_entrain_diffusive::entrain_diffusive_end', [fd] run(.. f:type:: entrain_diffusive_cs) [fd] sig(entrain_diffusive_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(entrain_diffusive_cs) arglist(None) [fd] fullname(mom_entrain_diffusive/entrain_diffusive_cs) ftype(None) [fd] name(('mom_entrain_diffusive/entrain_diffusive_cs', None)) sig(entrain_diffusive_cs) signode(type mom_entrain_diffusive/entrain_diffusive_cs) [fd] run(.. f:subroutine:: subroutine entrainment_diffusive(h, tv, fluxes, dt, G, GV, US, CS, ea, eb, kb_out, Kd_Lay, Kd_int)) [fd] sig(subroutine entrainment_diffusive(h, tv, fluxes, dt, G, GV, US, CS, ea, eb, kb_out, Kd_Lay, Kd_int)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(entrainment_diffusive) arglist(h, tv, fluxes, dt, G, GV, US, CS, ea, eb, kb_out, Kd_Lay, Kd_int) [fd] fullname(mom_entrain_diffusive/entrainment_diffusive) ftype(None) [fd] name(('mom_entrain_diffusive/entrainment_diffusive', None)) sig(subroutine entrainment_diffusive(h, tv, fluxes, dt, G, GV, US, CS, ea, eb, kb_out, Kd_Lay, Kd_int)) signode(subroutine mom_entrain_diffusive/entrainment_diffusivehtvfluxesdtGGVUSCSeaebkb_outKd_LayKd_int) [fd] run(.. f:subroutine:: subroutine f_to_ent(F, h, kb, kmb, j, G, GV, CS, dsp1_ds, eakb, Ent_bl, ea, eb, do_i_in)) [fd] sig(subroutine f_to_ent(F, h, kb, kmb, j, G, GV, CS, dsp1_ds, eakb, Ent_bl, ea, eb, do_i_in)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(f_to_ent) arglist(F, h, kb, kmb, j, G, GV, CS, dsp1_ds, eakb, Ent_bl, ea, eb, do_i_in) [fd] fullname(mom_entrain_diffusive/f_to_ent) ftype(None) [fd] name(('mom_entrain_diffusive/f_to_ent', None)) sig(subroutine f_to_ent(F, h, kb, kmb, j, G, GV, CS, dsp1_ds, eakb, Ent_bl, ea, eb, do_i_in)) signode(subroutine mom_entrain_diffusive/f_to_entFhkbkmbjGGVCSdsp1_dseakbEnt_bleaebdo_i_in) [fd] run(.. f:subroutine:: subroutine set_ent_bl(h, dtKd_int, tv, kb, kmb, do_i, G, GV, US, CS, j, Ent_bl, Sref, h_bl)) [fd] sig(subroutine set_ent_bl(h, dtKd_int, tv, kb, kmb, do_i, G, GV, US, CS, j, Ent_bl, Sref, h_bl)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_ent_bl) arglist(h, dtKd_int, tv, kb, kmb, do_i, G, GV, US, CS, j, Ent_bl, Sref, h_bl) [fd] fullname(mom_entrain_diffusive/set_ent_bl) ftype(None) [fd] name(('mom_entrain_diffusive/set_ent_bl', None)) sig(subroutine set_ent_bl(h, dtKd_int, tv, kb, kmb, do_i, G, GV, US, CS, j, Ent_bl, Sref, h_bl)) signode(subroutine mom_entrain_diffusive/set_ent_blhdtKd_inttvkbkmbdo_iGGVUSCSjEnt_blSrefh_bl) [fd] run(.. f:subroutine:: subroutine determine_dskb(h_bl, Sref, Ent_bl, E_kb, is, ie, kmb, G, GV, limit, dSkb, ddSkb_dE, dSlay, ddSlay_dE, dS_anom_lim, do_i_in)) [fd] sig(subroutine determine_dskb(h_bl, Sref, Ent_bl, E_kb, is, ie, kmb, G, GV, limit, dSkb, ddSkb_dE, dSlay, ddSlay_dE, dS_anom_lim, do_i_in)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(determine_dskb) arglist(h_bl, Sref, Ent_bl, E_kb, is, ie, kmb, G, GV, limit, dSkb, ddSkb_dE, dSlay, ddSlay_dE, dS_anom_lim, do_i_in) [fd] fullname(mom_entrain_diffusive/determine_dskb) ftype(None) [fd] name(('mom_entrain_diffusive/determine_dskb', None)) sig(subroutine determine_dskb(h_bl, Sref, Ent_bl, E_kb, is, ie, kmb, G, GV, limit, dSkb, ddSkb_dE, dSlay, ddSlay_dE, dS_anom_lim, do_i_in)) signode(subroutine mom_entrain_diffusive/determine_dskbh_blSrefEnt_blE_kbisiekmbGGVlimitdSkbddSkb_dEdSlayddSlay_dEdS_anom_limdo_i_in) [fd] run(.. f:subroutine:: subroutine f_kb_to_ea_kb(h_bl, Sref, Ent_bl, I_dSkbp1, F_kb, kmb, i, G, GV, CS, ea_kb, tol_in)) [fd] sig(subroutine f_kb_to_ea_kb(h_bl, Sref, Ent_bl, I_dSkbp1, F_kb, kmb, i, G, GV, CS, ea_kb, tol_in)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(f_kb_to_ea_kb) arglist(h_bl, Sref, Ent_bl, I_dSkbp1, F_kb, kmb, i, G, GV, CS, ea_kb, tol_in) [fd] fullname(mom_entrain_diffusive/f_kb_to_ea_kb) ftype(None) [fd] name(('mom_entrain_diffusive/f_kb_to_ea_kb', None)) sig(subroutine f_kb_to_ea_kb(h_bl, Sref, Ent_bl, I_dSkbp1, F_kb, kmb, i, G, GV, CS, ea_kb, tol_in)) signode(subroutine mom_entrain_diffusive/f_kb_to_ea_kbh_blSrefEnt_blI_dSkbp1F_kbkmbiGGVCSea_kbtol_in) [fd] run(.. f:subroutine:: subroutine determine_ea_kb(h_bl, dtKd_kb, Sref, I_dSkbp1, Ent_bl, ea_kbp1, min_eakb, max_eakb, kmb, is, ie, do_i, G, GV, CS, Ent, error, err_min_eakb0, err_max_eakb0, F_kb, dFdfm_kb)) [fd] sig(subroutine determine_ea_kb(h_bl, dtKd_kb, Sref, I_dSkbp1, Ent_bl, ea_kbp1, min_eakb, max_eakb, kmb, is, ie, do_i, G, GV, CS, Ent, error, err_min_eakb0, err_max_eakb0, F_kb, dFdfm_kb)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(determine_ea_kb) arglist(h_bl, dtKd_kb, Sref, I_dSkbp1, Ent_bl, ea_kbp1, min_eakb, max_eakb, kmb, is, ie, do_i, G, GV, CS, Ent, error, err_min_eakb0, err_max_eakb0, F_kb, dFdfm_kb) [fd] fullname(mom_entrain_diffusive/determine_ea_kb) ftype(None) [fd] name(('mom_entrain_diffusive/determine_ea_kb', None)) sig(subroutine determine_ea_kb(h_bl, dtKd_kb, Sref, I_dSkbp1, Ent_bl, ea_kbp1, min_eakb, max_eakb, kmb, is, ie, do_i, G, GV, CS, Ent, error, err_min_eakb0, err_max_eakb0, F_kb, dFdfm_kb)) signode(subroutine mom_entrain_diffusive/determine_ea_kbh_bldtKd_kbSrefI_dSkbp1Ent_blea_kbp1min_eakbmax_eakbkmbisiedo_iGGVCSEnterrorerr_min_eakb0err_max_eakb0F_kbdFdfm_kb) [fd] run(.. f:subroutine:: subroutine find_maxf_kb(h_bl, Sref, Ent_bl, I_dSkbp1, min_ent_in, max_ent_in, kmb, is, ie, G, GV, CS, maxF, ent_maxF, do_i_in, F_lim_maxent, F_thresh)) [fd] sig(subroutine find_maxf_kb(h_bl, Sref, Ent_bl, I_dSkbp1, min_ent_in, max_ent_in, kmb, is, ie, G, GV, CS, maxF, ent_maxF, do_i_in, F_lim_maxent, F_thresh)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_maxf_kb) arglist(h_bl, Sref, Ent_bl, I_dSkbp1, min_ent_in, max_ent_in, kmb, is, ie, G, GV, CS, maxF, ent_maxF, do_i_in, F_lim_maxent, F_thresh) [fd] fullname(mom_entrain_diffusive/find_maxf_kb) ftype(None) [fd] name(('mom_entrain_diffusive/find_maxf_kb', None)) sig(subroutine find_maxf_kb(h_bl, Sref, Ent_bl, I_dSkbp1, min_ent_in, max_ent_in, kmb, is, ie, G, GV, CS, maxF, ent_maxF, do_i_in, F_lim_maxent, F_thresh)) signode(subroutine mom_entrain_diffusive/find_maxf_kbh_blSrefEnt_blI_dSkbp1min_ent_inmax_ent_inkmbisieGGVCSmaxFent_maxFdo_i_inF_lim_maxentF_thresh) [fd] run(.. f:subroutine:: subroutine entrain_diffusive_init(Time, G, GV, US, param_file, diag, CS, just_read_params)) [fd] sig(subroutine entrain_diffusive_init(Time, G, GV, US, param_file, diag, CS, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(entrain_diffusive_init) arglist(Time, G, GV, US, param_file, diag, CS, just_read_params) [fd] fullname(mom_entrain_diffusive/entrain_diffusive_init) ftype(None) [fd] name(('mom_entrain_diffusive/entrain_diffusive_init', None)) sig(subroutine entrain_diffusive_init(Time, G, GV, US, param_file, diag, CS, just_read_params)) signode(subroutine mom_entrain_diffusive/entrain_diffusive_initTimeGGVUSparam_filediagCSjust_read_params) [fd] run(.. f:subroutine:: subroutine entrain_diffusive_end(CS)) [fd] sig(subroutine entrain_diffusive_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(entrain_diffusive_end) arglist(CS) [fd] fullname(mom_entrain_diffusive/entrain_diffusive_end) ftype(None) [fd] name(('mom_entrain_diffusive/entrain_diffusive_end', None)) sig(subroutine entrain_diffusive_end(CS)) signode(subroutine mom_entrain_diffusive/entrain_diffusive_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 31%] api/generated/modules/mom_eos [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_eos') [app] emitting event: 'source-read'('api/generated/modules/mom_eos', ['.. autodoxymodule:: mom_eos\n :members:\n :methods:\n :typ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_eos.rst:1: input: .. autodoxymodule:: mom_eos :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_eos::eos_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_eos::calculate_density_scalar ~mom_eos::calculate_stanley_density_scalar ~mom_eos::calculate_density_array ~mom_eos::calculate_stanley_density_array ~mom_eos::calculate_density_1d ~mom_eos::calculate_stanley_density_1d ~mom_eos::calculate_spec_vol_array ~mom_eos::calc_spec_vol_scalar ~mom_eos::calc_spec_vol_1d ~mom_eos::calculate_tfreeze_scalar ~mom_eos::calculate_tfreeze_array ~mom_eos::calculate_density_derivs_array ~mom_eos::calculate_density_derivs_1d ~mom_eos::calculate_density_derivs_scalar ~mom_eos::calculate_density_second_derivs_array ~mom_eos::calculate_density_second_derivs_scalar ~mom_eos::calculate_spec_vol_derivs_array ~mom_eos::calc_spec_vol_derivs_1d ~mom_eos::calculate_compress_array ~mom_eos::calculate_compress_scalar ~mom_eos::eos_domain ~mom_eos::analytic_int_specific_vol_dp ~mom_eos::analytic_int_density_dz ~mom_eos::query_compressible ~mom_eos::eos_init ~mom_eos::eos_manual_init ~mom_eos::eos_allocate ~mom_eos::eos_end ~mom_eos::eos_use_linear ~mom_eos::convert_temp_salt_for_teos10 ~mom_eos::eos_quadrature ~mom_eos::extract_member_eos [debug] xpath(./compounddef/compoundname[text()="mom_eos"]/..) match([('id', 'namespacemom__eos'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_eos module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_eos' (exception was: ModuleNotFoundError("No module named 'mom_eos'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_eos::eos_type', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('calculate_stanley_density_scalar', ), ('calculate_density_array', ), ('calculate_stanley_density_array', ), ('calculate_density_1d', ), ('calculate_stanley_density_1d', ), ('calculate_spec_vol_array', ), ('calc_spec_vol_scalar', ), ('calc_spec_vol_1d', ), ('calculate_tfreeze_scalar', ), ('calculate_tfreeze_array', ), ('calculate_density_derivs_array', ), ('calculate_density_derivs_1d', ), ('calculate_density_derivs_scalar', ), ('calculate_density_second_derivs_array', ), ('calculate_density_second_derivs_scalar', ), ('calculate_spec_vol_derivs_array', ), ('calc_spec_vol_derivs_1d', ), ('calculate_compress_array', ), ('calculate_compress_scalar', ), ('eos_domain', ), ('analytic_int_specific_vol_dp', ), ('analytic_int_density_dz', ), ('query_compressible', ), ('eos_init', ), ('eos_manual_init', ), ('eos_allocate', ), ('eos_end', ), ('eos_use_linear', ), ('convert_temp_salt_for_teos10', ), ('eos_quadrature', ), ('extract_member_eos', )]) [autodoc] module analyzer failed: error importing 'mom_eos' (exception was: ModuleNotFoundError("No module named 'mom_eos'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, EOS, rho_ref, scale)) [debug] add_directive_header sig((T, S, pressure, rho, EOS, rho_ref, scale)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_scalar) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_scalar', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_stanley_density_scalar', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_stanley_density_scalar', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_stanley_density_scalar', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_stanley_density_scalar', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_stanley_density_scalar', , {'members' [autodoc] module analyzer failed: error importing 'mom_eos' (exception was: ModuleNotFoundError("No module named 'mom_eos'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, start, npts, EOS, rho_ref, scale)) [debug] add_directive_header sig((T, S, pressure, rho, start, npts, EOS, rho_ref, scale)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_array) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_stanley_density_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_stanley_density_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_stanley_density_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_stanley_density_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_stanley_density_array', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos' (exception was: ModuleNotFoundError("No module named 'mom_eos'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, EOS, dom, rho_ref, scale)) [debug] add_directive_header sig((T, S, pressure, rho, EOS, dom, rho_ref, scale)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_1d) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_1d', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos' (exception was: ModuleNotFoundError("No module named 'mom_eos'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dT, drho_dS, EOS, dom, scale)) [debug] add_directive_header sig((T, S, pressure, drho_dT, drho_dS, EOS, dom, scale)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_derivs_1d) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_1d', , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_scalar', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_scalar', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_scalar', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_scalar', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_scalar', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos' (exception was: ModuleNotFoundError("No module named 'mom_eos'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts, EOS, scale)) [debug] add_directive_header sig((T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts, EOS, scale)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_second_derivs_array) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array', , {'mem [autodoc] module analyzer failed: error importing 'mom_eos' (exception was: ModuleNotFoundError("No module named 'mom_eos'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, EOS, scale)) [debug] add_directive_header sig((T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, EOS, scale)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_second_derivs_scalar) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_scalar', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_scalar', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_scalar', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_scalar', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_scalar', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_scalar', , {'me [autodoc] module analyzer failed: error importing 'mom_eos' (exception was: ModuleNotFoundError("No module named 'mom_eos'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, dSV_dT, dSV_dS, start, npts, EOS)) [debug] add_directive_header sig((T, S, pressure, dSV_dT, dSV_dS, start, npts, EOS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_spec_vol_derivs_array) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_derivs_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_derivs_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_derivs_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_derivs_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_derivs_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_derivs_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_derivs_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_derivs_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_derivs_array', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos' (exception was: ModuleNotFoundError("No module named 'mom_eos'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, dSV_dT, dSV_dS, EOS, dom, scale)) [debug] add_directive_header sig((T, S, pressure, dSV_dT, dSV_dS, EOS, dom, scale)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calc_spec_vol_derivs_1d) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calc_spec_vol_derivs_1d', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_eos::eos_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_eos::calculate_density_scalar ~mom_eos::calculate_stanley_density_scalar ~mom_eos::calculate_density_array ~mom_eos::calculate_stanley_density_array ~mom_eos::calculate_density_1d ~mom_eos::calculate_stanley_density_1d ~mom_eos::calculate_spec_vol_array ~mom_eos::calc_spec_vol_scalar ~mom_eos::calc_spec_vol_1d ~mom_eos::calculate_tfreeze_scalar ~mom_eos::calculate_tfreeze_array ~mom_eos::calculate_density_derivs_array ~mom_eos::calculate_density_derivs_1d ~mom_eos::calculate_density_derivs_scalar ~mom_eos::calculate_density_second_derivs_array ~mom_eos::calculate_density_second_derivs_scalar ~mom_eos::calculate_spec_vol_derivs_array ~mom_eos::calc_spec_vol_derivs_1d ~mom_eos::calculate_compress_array ~mom_eos::calculate_compress_scalar ~mom_eos::eos_domain ~mom_eos::analytic_int_specific_vol_dp ~mom_eos::analytic_int_density_dz ~mom_eos::query_compressible ~mom_eos::eos_init ~mom_eos::eos_manual_init ~mom_eos::eos_allocate ~mom_eos::eos_end ~mom_eos::eos_use_linear ~mom_eos::convert_temp_salt_for_teos10 ~mom_eos::eos_quadrature ~mom_eos::extract_member_eos .. _DETAmom_eos: -------------------- Detailed Description -------------------- The MOM_EOS module is a wrapper for various equations of state (e.g. Linear, Wright, UNESCO) and provides a uniform interface to the rest of the model independent of which equation of state is being used. ------------------ Type Documentation ------------------ .. f:type:: eos_type A control structure for the equation of state. :typefield integer form_of_eos: The equation of state to use. :typefield integer form_of_tfreeze: The expression for the potential temperature of the freezing point. :typefield logical eos_quadrature: If true, always use the generic (quadrature) code for the integrals of density. :typefield logical compressible: If true, in situ density is a function of pressure. :typefield real rho_t0_s0: The density at T=0, S=0 [kg m-3]. :typefield real drho_dt: The partial derivative of density with temperature [kg m-3 degC-1]. :typefield real drho_ds: The partial derivative of density with salinity [kg m-3 ppt-1]. :typefield real tfr_s0_p0: The freezing potential temperature at S=0, P=0 [degC]. :typefield real dtfr_ds: The derivative of freezing point with salinity [degC ppt-1]. :typefield real dtfr_dp: The derivative of freezing point with pressure [degC Pa-1]. :typefield real m_to_z: A constant that translates distances in meters to the units of depth. :typefield real kg_m3_to_r: A constant that translates kilograms per meter cubed to the units of density. :typefield real r_to_kg_m3: A constant that translates the units of density to kilograms per meter cubed. :typefield real rl2_t2_to_pa: Convert pressures from R L2 T-2 to Pa. :typefield real l_t_to_m_s: Convert lateral velocities from L T-1 to m s-1. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine calculate_density_scalar(T, S, pressure, rho, EOS, rho_ref, scale) Calls the appropriate subroutine to calculate density of sea water for scalar inputs. If rho_ref is present, the anomaly with respect to rho_ref is returned. The pressure and density can be rescaled with the US. If both the US and scale arguments are present the density scaling uses the product of the two scaling factors. :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param pressure: [in] Pressure [Pa] or [R L2 T-2 ~> Pa] :param rho: [out] Density (in-situ if pressure is local) [kg m-3] or [R ~> kg m-3] :param eos: Equation of state structure :param rho_ref: [in] A reference density [kg m-3] :param scale: [in] A multiplicative factor by which to scale density in combination with scaling given by US [various] :callto: :f:func:`eos_linear ` :callto: :f:func:`eos_nemo ` :callto: :f:func:`eos_teos10 ` :callto: :f:func:`eos_unesco ` :callto: :f:func:`eos_wright ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine calculate_stanley_density_scalar(T, S, pressure, Tvar, TScov, Svar, rho, EOS, rho_ref, scale) Calls the appropriate subroutine to calculate density of sea water for scalar inputs including the variance of T, S and covariance of T-S. The calculation uses only the second order correction in a series as discussed in Stanley et al., 2020. If rho_ref is present, the anomaly with respect to rho_ref is returned. The density can be rescaled using rho_ref. :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param tvar: [in] Variance of potential temperature referenced to the surface [degC2] :param tscov: [in] Covariance of potential temperature and salinity [degC ppt] :param svar: [in] Variance of salinity [ppt2] :param pressure: [in] Pressure [Pa] :param rho: [out] Density (in-situ if pressure is local) [kg m-3] or [R ~> kg m-3] :param eos: Equation of state structure :param rho_ref: [in] A reference density [kg m-3]. :param scale: [in] A multiplicative factor by which to scale density from kg m-3 to the desired units [R m3 kg-1] :callto: :f:func:`eos_linear ` :callto: :f:func:`eos_teos10 ` :callto: :f:func:`eos_wright ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine calculate_density_array(T, S, pressure, rho, start, npts, EOS, rho_ref, scale) Calls the appropriate subroutine to calculate the density of sea water for 1-D array inputs. If rho_ref is present, the anomaly with respect to rho_ref is returned. :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param pressure: [in] Pressure [Pa] or [R L2 T-2 ~> Pa] :param rho: [inout] Density (in-situ if pressure is local) [kg m-3] or [R ~> kg m-3] :param start: [in] Start index for computation :param npts: [in] Number of point to compute :param eos: Equation of state structure :param rho_ref: [in] A reference density [kg m-3] :param scale: [in] A multiplicative factor by which to scale density in combination with scaling given by US [various] :callto: :f:func:`eos_linear ` :callto: :f:func:`eos_nemo ` :callto: :f:func:`eos_teos10 ` :callto: :f:func:`eos_unesco ` :callto: :f:func:`eos_wright ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`calculate_density_1d ` .. f:subroutine:: subroutine calculate_stanley_density_array(T, S, pressure, Tvar, TScov, Svar, rho, start, npts, EOS, rho_ref, scale) Calls the appropriate subroutine to calculate the density of sea water for 1-D array inputs including the variance of T, S and covariance of T-S. The calculation uses only the second order correction in a series as discussed in Stanley et al., 2020. If rho_ref is present, the anomaly with respect to rho_ref is returned. :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param pressure: [in] Pressure [Pa] :param tvar: [in] Variance of potential temperature referenced to the surface [degC2] :param tscov: [in] Covariance of potential temperature and salinity [degC ppt] :param svar: [in] Variance of salinity [ppt2] :param rho: [inout] Density (in-situ if pressure is local) [kg m-3] :param start: [in] Start index for computation :param npts: [in] Number of point to compute :param eos: Equation of state structure :param rho_ref: [in] A reference density [kg m-3]. :param scale: [in] A multiplicative factor by which to scale density from kg m-3 to the desired units [R m3 kg-1] :callto: :f:func:`eos_linear ` :callto: :f:func:`eos_teos10 ` :callto: :f:func:`eos_wright ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine calculate_density_1d(T, S, pressure, rho, EOS, dom, rho_ref, scale) Calls the appropriate subroutine to calculate the density of sea water for 1-D array inputs, potentially limiting the domain of indices that are worked on. If rho_ref is present, the anomaly with respect to rho_ref is returned. :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param pressure: [in] Pressure [R L2 T-2 ~> Pa] :param rho: [inout] Density (in-situ if pressure is local) [R ~> kg m-3] :param eos: Equation of state structure :param dom: [in] The domain of indices to work on, taking into account that arrays start at 1. :param rho_ref: [in] A reference density [kg m-3] :param scale: [in] A multiplicative factor by which to scale density in combination with scaling given by US [various] :callto: :f:func:`calculate_density_array ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine calculate_stanley_density_1d(T, S, pressure, Tvar, TScov, Svar, rho, EOS, dom, rho_ref, scale) Calls the appropriate subroutine to calculate the density of sea water for 1-D array inputs including the variance of T, S and covariance of T-S, potentially limiting the domain of indices that are worked on. The calculation uses only the second order correction in a series as discussed in Stanley et al., 2020. If rho_ref is present, the anomaly with respect to rho_ref is returned. :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param pressure: [in] Pressure [R L2 T-2 ~> Pa] :param tvar: [in] Variance of potential temperature [degC2] :param tscov: [in] Covariance of potential temperature and salinity [degC ppt] :param svar: [in] Variance of salinity [ppt2] :param rho: [inout] Density (in-situ if pressure is local) [R ~> kg m-3] :param eos: Equation of state structure :param dom: [in] The domain of indices to work on, taking into account that arrays start at 1. :param rho_ref: [in] A reference density [kg m-3] :param scale: [in] A multiplicative factor by which to scale density in combination with scaling given by US [various] :callto: :f:func:`eos_linear ` :callto: :f:func:`eos_teos10 ` :callto: :f:func:`eos_wright ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine calculate_spec_vol_array(T, S, pressure, specvol, start, npts, EOS, spv_ref, scale) Calls the appropriate subroutine to calculate the specific volume of sea water for 1-D array inputs. :param t: [in] potential temperature relative to the surface [degC] :param s: [in] salinity [ppt] :param pressure: [in] pressure [Pa] :param specvol: [inout] in situ specific volume [kg m-3] :param start: [in] the starting point in the arrays. :param npts: [in] the number of values to calculate. :param eos: Equation of state structure :param spv_ref: [in] A reference specific volume [m3 kg-1] :param scale: [in] A multiplicative factor by which to scale specific volume in combination with scaling given by US [various] :callto: :f:func:`eos_linear ` :callto: :f:func:`eos_nemo ` :callto: :f:func:`eos_teos10 ` :callto: :f:func:`eos_unesco ` :callto: :f:func:`eos_wright ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`calc_spec_vol_1d ` :calledfrom: :f:func:`calc_spec_vol_scalar ` .. f:subroutine:: subroutine calc_spec_vol_scalar(T, S, pressure, specvol, EOS, spv_ref, scale) Calls the appropriate subroutine to calculate specific volume of sea water for scalar inputs. :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param pressure: [in] Pressure [Pa] or [R L2 T-2 ~> Pa] :param specvol: [out] In situ? specific volume [m3 kg-1] or [R-1 ~> m3 kg-1] :param eos: Equation of state structure :param spv_ref: [in] A reference specific volume [m3 kg-1] or [R-1 m3 kg-1] :param scale: [in] A multiplicative factor by which to scale specific volume in combination with scaling given by US [various] :callto: :f:func:`calculate_spec_vol_array ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine calc_spec_vol_1d(T, S, pressure, specvol, EOS, dom, spv_ref, scale) Calls the appropriate subroutine to calculate the specific volume of sea water for 1-D array inputs, potentially limiting the domain of indices that are worked on. :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param pressure: [in] Pressure [R L2 T-2 ~> Pa] :param specvol: [inout] In situ specific volume [R-1 ~> m3 kg-1] :param eos: Equation of state structure :param dom: [in] The domain of indices to work on, taking into account that arrays start at 1. :param spv_ref: [in] A reference specific volume [R-1 ~> m3 kg-1] :param scale: [in] A multiplicative factor by which to scale output specific volume in combination with scaling given by US [various] :callto: :f:func:`calculate_spec_vol_array ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine calculate_tfreeze_scalar(S, pressure, T_fr, EOS, pres_scale) Calls the appropriate subroutine to calculate the freezing point for scalar inputs. :param s: [in] Salinity [ppt] :param pressure: [in] Pressure [Pa] or [other] :param t_fr: [out] Freezing point potential temperature referenced to the surface [degC] :param eos: Equation of state structure :param pres_scale: [in] A multiplicative factor to convert pressure into Pa :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`tfreeze_linear ` :callto: :f:func:`tfreeze_millero ` :callto: :f:func:`tfreeze_teos10 ` .. f:subroutine:: subroutine calculate_tfreeze_array(S, pressure, T_fr, start, npts, EOS, pres_scale) Calls the appropriate subroutine to calculate the freezing point for a 1-D array. :param s: [in] Salinity [ppt] :param pressure: [in] Pressure [Pa] or [other] :param t_fr: [inout] Freezing point potential temperature referenced to the surface [degC] :param start: [in] Starting index within the array :param npts: [in] The number of values to calculate :param eos: Equation of state structure :param pres_scale: [in] A multiplicative factor to convert pressure into Pa. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`tfreeze_linear ` :callto: :f:func:`tfreeze_millero ` :callto: :f:func:`tfreeze_teos10 ` .. f:subroutine:: subroutine calculate_density_derivs_array(T, S, pressure, drho_dT, drho_dS, start, npts, EOS, scale) Calls the appropriate subroutine to calculate density derivatives for 1-D array inputs. :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param pressure: [in] Pressure [Pa] or [R L2 T-2 ~> Pa] :param drho_dt: [inout] The partial derivative of density with potential temperature [kg m-3 degC-1] or [R degC-1 ~> kg m-3 degC-1] :param drho_ds: [inout] The partial derivative of density with salinity, in [kg m-3 ppt-1] or [R degC-1 ~> kg m-3 ppt-1] :param start: [in] Starting index within the array :param npts: [in] The number of values to calculate :param eos: Equation of state structure :param scale: [in] A multiplicative factor by which to scale density in combination with scaling given by US [various] :callto: :f:func:`eos_linear ` :callto: :f:func:`eos_nemo ` :callto: :f:func:`eos_teos10 ` :callto: :f:func:`eos_unesco ` :callto: :f:func:`eos_wright ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`calculate_density_derivs_1d ` .. f:subroutine:: subroutine calculate_density_derivs_1d(T, S, pressure, drho_dT, drho_dS, EOS, dom, scale) Calls the appropriate subroutine to calculate density derivatives for 1-D array inputs. :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param pressure: [in] Pressure [R L2 T-2 ~> Pa] :param drho_dt: [inout] The partial derivative of density with potential temperature [R degC-1 ~> kg m-3 degC-1] :param drho_ds: [inout] The partial derivative of density with salinity [R degC-1 ~> kg m-3 ppt-1] :param eos: Equation of state structure :param dom: [in] The domain of indices to work on, taking into account that arrays start at 1. :param scale: [in] A multiplicative factor by which to scale density in combination with scaling given by US [various] :callto: :f:func:`calculate_density_derivs_array ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine calculate_density_derivs_scalar(T, S, pressure, drho_dT, drho_dS, EOS, scale) Calls the appropriate subroutines to calculate density derivatives by promoting a scalar to a one-element array. :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param pressure: [in] Pressure [Pa] or [R L2 T-2 ~> Pa] :param drho_dt: [out] The partial derivative of density with potential temperature [kg m-3 degC-1] or [R degC-1 ~> kg m-3 degC-1] :param drho_ds: [out] The partial derivative of density with salinity, in [kg m-3 ppt-1] or [R ppt-1 ~> kg m-3 ppt-1] :param eos: Equation of state structure :param scale: [in] A multiplicative factor by which to scale density in combination with scaling given by US [various] :callto: :f:func:`eos_linear ` :callto: :f:func:`eos_teos10 ` :callto: :f:func:`eos_wright ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine calculate_density_second_derivs_array(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts, EOS, scale) Calls the appropriate subroutine to calculate density second derivatives for 1-D array inputs. :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param pressure: [in] Pressure [Pa] or [R L2 T-2 ~> Pa] :param drho_ds_ds: [inout] Partial derivative of beta with respect to S [kg m-3 ppt-2] or [R ppt-2 ~> kg m-3 ppt-2] :param drho_ds_dt: [inout] Partial derivative of beta with respect to T [kg m-3 ppt-1 degC-1] or [R ppt-1 degC-1 ~> kg m-3 ppt-1 degC-1] :param drho_dt_dt: [inout] Partial derivative of alpha with respect to T [kg m-3 degC-2] or [R degC-2 ~> kg m-3 degC-2] :param drho_ds_dp: [inout] Partial derivative of beta with respect to pressure [kg m-3 ppt-1 Pa-1] or [R ppt-1 Pa-1 ~> kg m-3 ppt-1 Pa-1] :param drho_dt_dp: [inout] Partial derivative of alpha with respect to pressure [kg m-3 degC-1 Pa-1] or [R degC-1 Pa-1 ~> kg m-3 degC-1 Pa-1] :param start: [in] Starting index within the array :param npts: [in] The number of values to calculate :param eos: Equation of state structure :param scale: [in] A multiplicative factor by which to scale density in combination with scaling given by US [various] :callto: :f:func:`eos_linear ` :callto: :f:func:`eos_teos10 ` :callto: :f:func:`eos_wright ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine calculate_density_second_derivs_scalar(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, EOS, scale) Calls the appropriate subroutine to calculate density second derivatives for scalar nputs. :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param pressure: [in] Pressure [Pa] or [R L2 T-2 ~> Pa] :param drho_ds_ds: [out] Partial derivative of beta with respect to S [kg m-3 ppt-2] or [R ppt-2 ~> kg m-3 ppt-2] :param drho_ds_dt: [out] Partial derivative of beta with respect to T [kg m-3 ppt-1 degC-1] or [R ppt-1 degC-1 ~> kg m-3 ppt-1 degC-1] :param drho_dt_dt: [out] Partial derivative of alpha with respect to T [kg m-3 degC-2] or [R degC-2 ~> kg m-3 degC-2] :param drho_ds_dp: [out] Partial derivative of beta with respect to pressure [kg m-3 ppt-1 Pa-1] or [R ppt-1 Pa-1 ~> kg m-3 ppt-1 Pa-1] :param drho_dt_dp: [out] Partial derivative of alpha with respect to pressure [kg m-3 degC-1 Pa-1] or [R degC-1 Pa-1 ~> kg m-3 degC-1 Pa-1] :param eos: Equation of state structure :param scale: [in] A multiplicative factor by which to scale density in combination with scaling given by US [various] :callto: :f:func:`eos_linear ` :callto: :f:func:`eos_teos10 ` :callto: :f:func:`eos_wright ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine calculate_spec_vol_derivs_array(T, S, pressure, dSV_dT, dSV_dS, start, npts, EOS) Calls the appropriate subroutine to calculate specific volume derivatives for an array. :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param pressure: [in] Pressure [Pa] :param dsv_dt: [inout] The partial derivative of specific volume with potential temperature [m3 kg-1 degC-1] :param dsv_ds: [inout] The partial derivative of specific volume with salinity [m3 kg-1 ppt-1] :param start: [in] Starting index within the array :param npts: [in] The number of values to calculate :param eos: Equation of state structure :callto: :f:func:`eos_linear ` :callto: :f:func:`eos_nemo ` :callto: :f:func:`eos_teos10 ` :callto: :f:func:`eos_unesco ` :callto: :f:func:`eos_wright ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`calc_spec_vol_derivs_1d ` .. f:subroutine:: subroutine calc_spec_vol_derivs_1d(T, S, pressure, dSV_dT, dSV_dS, EOS, dom, scale) Calls the appropriate subroutine to calculate specific volume derivatives for 1-d array inputs, potentially limiting the domain of indices that are worked on. :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param pressure: [in] Pressure [R L2 T-2 ~> Pa] :param dsv_dt: [inout] The partial derivative of specific volume with potential temperature [R-1 degC-1 ~> m3 kg-1 degC-1] :param dsv_ds: [inout] The partial derivative of specific volume with salinity [R-1 ppt-1 ~> m3 kg-1 ppt-1] :param eos: Equation of state structure :param dom: [in] The domain of indices to work on, taking into account that arrays start at 1. :param scale: [in] A multiplicative factor by which to scale specific volume in combination with scaling given by US [various] :callto: :f:func:`calculate_spec_vol_derivs_array ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine calculate_compress_array(T, S, press, rho, drho_dp, start, npts, EOS) Calls the appropriate subroutine to calculate the density and compressibility for 1-D array inputs. If US is present, the units of the inputs and outputs are rescaled. :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [PSU] :param press: [in] Pressure [Pa] or [R L2 T-2 ~> Pa] :param rho: [inout] In situ density [kg m-3] or [R ~> kg m-3] :param drho_dp: [inout] The partial derivative of density with pressure (also the inverse of the square of sound speed) [s2 m-2] or [T2 L-2] :param start: [in] Starting index within the array :param npts: [in] The number of values to calculate :param eos: Equation of state structure :callto: :f:func:`mom_eos_linear::calculate_compress_linear ` :callto: :f:func:`mom_eos_nemo::calculate_compress_nemo ` :callto: :f:func:`mom_eos_unesco::calculate_compress_unesco ` :callto: :f:func:`eos_linear ` :callto: :f:func:`eos_nemo ` :callto: :f:func:`eos_teos10 ` :callto: :f:func:`eos_unesco ` :callto: :f:func:`eos_wright ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`calculate_compress_scalar ` .. f:subroutine:: subroutine calculate_compress_scalar(T, S, pressure, rho, drho_dp, EOS) Calculate density and compressibility for a scalar. This just promotes the scalar to an array with a singleton dimension and calls calculate_compress_array. If US is present, the units of the inputs and outputs are rescaled. :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param pressure: [in] Pressure [Pa] or [R L2 T-2 ~> Pa] :param rho: [out] In situ density [kg m-3] or [R ~> kg m-3] :param drho_dp: [out] The partial derivative of density with pressure (also the inverse of the square of sound speed) [s2 m-2] or [T2 L-2] :param eos: Equation of state structure :callto: :f:func:`calculate_compress_array ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:function:: integer function eos_domain(HI, halo) This subroutine returns a two point integer array indicating the domain of i-indices to work on in EOS calls based on information from a hor_index type. :param hi: [in] The horizontal index structure :param halo: [in] The halo size to work on; missing is equivalent to 0. :returns undefined: The index domain that the EOS will work on, taking into account that the arrays inside the EOS routines will start at 1. :calledfrom: :f:func:`mom::adjust_ssh_for_p_atm ` :calledfrom: :f:func:`mom_bulk_mixed_layer::bulkmixedlayer ` :calledfrom: :f:func:`mom_forcing_type::calculatebuoyancyflux1d ` :calledfrom: :f:func:`mom_tracer_z_init::determine_temperature ` :calledfrom: :f:func:`mom_set_diffusivity::double_diffusion ` :calledfrom: :f:func:`mom_entrain_diffusive::entrainment_diffusive ` :calledfrom: :f:func:`mom_set_diffusivity::find_n2 ` :calledfrom: :f:func:`mom_int_tide_input::find_n2_bottom ` :calledfrom: :f:func:`mom_set_diffusivity::find_tke_to_kd ` :calledfrom: :f:func:`mom_diabatic_driver::layered_diabatic ` :calledfrom: :f:func:`mom_mixed_layer_restrat::mixedlayer_restrat_bml ` :calledfrom: :f:func:`mom_mixed_layer_restrat::mixedlayer_restrat_general ` :calledfrom: :f:func:`mom_regularize_layers::regularize_surface ` :calledfrom: :f:func:`rgc_initialization::rgc_initialize_sponges ` :calledfrom: :f:func:`mom_set_diffusivity::set_density_ratios ` :calledfrom: :f:func:`mom_entrain_diffusive::set_ent_bl ` :calledfrom: :f:func:`mom_full_convection::smoothed_drdt_drds ` :calledfrom: :f:func:`mom_tracer_hor_diff::tracer_epipycnal_ml_diff ` :calledfrom: :f:func:`user_change_diffusivity::user_change_diff ` .. f:subroutine:: subroutine analytic_int_specific_vol_dp(T, S, p_t, p_b, alpha_ref, HI, EOS, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_tiny, useMassWghtInterp) Calls the appropriate subroutine to calculate analytical and nearly-analytical integrals in pressure across layers of geopotential anomalies, which are required for calculating the finite-volume form pressure accelerations in a non-Boussinesq model. There are essentially no free assumptions, apart from the use of Boole's rule to do the horizontal integrals, and from a truncation in the series for log(1-eps/1+eps) that assumes that |eps| < 0.34. :param hi: [in] The horizontal index structure :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param p_t: [in] Pressure at the top of the layer [R L2 T-2 ~> Pa] or [Pa] :param p_b: [in] Pressure at the bottom of the layer [R L2 T-2 ~> Pa] or [Pa] :param alpha_ref: [in] A mean specific volume that is subtracted out to reduce the magnitude of each of the integrals [R-1 ~> m3 kg-1] The calculation is mathematically identical with different values of alpha_ref, but this reduces the effects of roundoff. :param eos: Equation of state structure :param dza: [inout] The change in the geopotential anomaly across :param intp_dza: [inout] The integral in pressure through the layer of the :param intx_dza: [inout] The integral in x of the difference between the :param inty_dza: [inout] The integral in y of the difference between the :param halo_size: [in] The width of halo points on which to calculate dza. :param bathyp: [in] The pressure at the bathymetry [R L2 T-2 ~> Pa] or [Pa] :param dp_tiny: [in] A miniscule pressure change with the same units as p_t [R L2 T-2 ~> Pa] or [Pa] :param usemasswghtinterp: [in] If true, uses mass weighting to interpolate T/S for top and bottom integrals. :callto: :f:func:`eos_linear ` :callto: :f:func:`eos_wright ` :callto: :f:func:`mom_eos_linear::int_spec_vol_dp_linear ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine analytic_int_density_dz(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp) This subroutine calculates analytical and nearly-analytical integrals of pressure anomalies across layers, which are required for calculating the finite-volume form pressure accelerations in a Boussinesq model. :param hi: [in] Ocean horizontal index structure :param t: [in] Potential temperature referenced to the surface [degC] :param s: [in] Salinity [ppt] :param z_t: [in] Height at the top of the layer in depth units [Z ~> m] :param z_b: [in] Height at the bottom of the layer [Z ~> m] :param rho_ref: [in] A mean density [R ~> kg m-3] or [kg m-3], that is subtracted out to reduce the magnitude of each of the integrals. :param rho_0: [in] A density [R ~> kg m-3] or [kg m-3], that is used to calculate the pressure (as p~=-z*rho_0*G_e) used in the equation of state. :param g_e: [in] The Earth's gravitational acceleration [L2 Z-1 T-2 ~> m s-2] or [m2 Z-1 s-2 ~> m s-2] :param eos: Equation of state structure :param dpa: [inout] The change in the pressure anomaly :param intz_dpa: [inout] The integral through the thickness of the :param intx_dpa: [inout] The integral in x of the difference between :param inty_dpa: [inout] The integral in y of the difference between :param bathyt: [in] The depth of the bathymetry [Z ~> m] :param dz_neglect: [in] A miniscule thickness change [Z ~> m] :param usemasswghtinterp: [in] If true, uses mass weighting to interpolate T/S for top and bottom integrals. :callto: :f:func:`eos_linear ` :callto: :f:func:`eos_wright ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:function:: logical function query_compressible(EOS) Returns true if the equation of state is compressible (i.e. has pressure dependence) :param eos: Equation of state structure :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_pressureforce_mont::pressureforce_mont_bouss ` :calledfrom: :f:func:`mom_pressureforce_mont::pressureforce_mont_nonbouss ` .. f:subroutine:: subroutine eos_init(param_file, EOS, US) Initializes EOS_type by allocating and reading parameters. :param param_file: [in] Parameter file structure :param eos: Equation of state structure :param us: [in] A dimensional unit scaling type :callto: :f:func:`eos_allocate ` :callto: :f:func:`eos_default ` :callto: :f:func:`eos_linear ` :callto: :f:func:`eos_linear_string ` :callto: :f:func:`eos_nemo ` :callto: :f:func:`eos_nemo_string ` :callto: :f:func:`eos_teos10 ` :callto: :f:func:`eos_teos10_string ` :callto: :f:func:`eos_unesco ` :callto: :f:func:`eos_unesco_string ` :callto: :f:func:`eos_wright ` :callto: :f:func:`eos_wright_string ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`tfreeze_default ` :callto: :f:func:`tfreeze_linear ` :callto: :f:func:`tfreeze_linear_string ` :callto: :f:func:`tfreeze_millero ` :callto: :f:func:`tfreeze_millero_string ` :callto: :f:func:`tfreeze_teos10 ` :callto: :f:func:`tfreeze_teos10_string ` :callto: :f:func:`mom_string_functions::uppercase ` :calledfrom: :f:func:`mom_ice_shelf::initialize_ice_shelf ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine eos_manual_init(EOS, form_of_EOS, form_of_TFreeze, EOS_quadrature, Compressible, Rho_T0_S0, drho_dT, dRho_dS, TFr_S0_P0, dTFr_dS, dTFr_dp) Manually initialized an EOS type (intended for unit testing of routines which need a specific EOS) :param eos: Equation of state structure :param form_of_eos: [in] A coded integer indicating the equation of state to use. :param form_of_tfreeze: [in] A coded integer indicating the expression for the potential temperature of the freezing point. :param eos_quadrature: [in] If true, always use the generic (quadrature) code for the integrals of density. :param compressible: [in] If true, in situ density is a function of pressure. :param rho_t0_s0: [in] Density at T=0 degC and S=0 ppt [kg m-3] :param drho_dt: [in] Partial derivative of density with temperature in [kg m-3 degC-1] :param drho_ds: [in] Partial derivative of density with salinity in [kg m-3 ppt-1] :param tfr_s0_p0: [in] The freezing potential temperature at S=0, P=0 [degC] :param dtfr_ds: [in] The derivative of freezing point with salinity in [degC ppt-1] :param dtfr_dp: [in] The derivative of freezing point with pressure in [degC Pa-1] :callto: :f:func:`eos_quadrature ` .. f:subroutine:: subroutine eos_allocate(EOS) Allocates EOS_type. :param eos: Equation of state structure :calledfrom: :f:func:`eos_init ` .. f:subroutine:: subroutine eos_end(EOS) Deallocates EOS_type. :param eos: Equation of state structure .. f:subroutine:: subroutine eos_use_linear(Rho_T0_S0, dRho_dT, dRho_dS, EOS, use_quadrature) Set equation of state structure (EOS) to linear with given coefficients. :param rho_t0_s0: [in] Density at T=0 degC and S=0 ppt [kg m-3] :param drho_dt: [in] Partial derivative of density with temperature [kg m-3 degC-1] :param drho_ds: [in] Partial derivative of density with salinity [kg m-3 ppt-1] :param use_quadrature: [in] If true, always use the generic (quadrature) code for the integrals of density. :param eos: Equation of state structure :callto: :f:func:`eos_linear ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine convert_temp_salt_for_teos10(T, S, HI, kd, mask_z, EOS) Convert T&S to Absolute Salinity and Conservative Temperature if using TEOS10. :param kd: [in] The number of layers to work on :param hi: [in] The horizontal index structure :param t: [inout] Potential temperature referenced to the surface [degC] :param s: [inout] Salinity [ppt] :param mask_z: [in] 3d mask regulating which points to convert. :param eos: Equation of state structure :callto: :f:func:`eos_nemo ` :callto: :f:func:`eos_teos10 ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:function:: logical function eos_quadrature(EOS) Return value of EOS_quadrature. :param eos: Equation of state structure :calledfrom: :f:func:`eos_manual_init ` :calledfrom: :f:func:`extract_member_eos ` .. f:subroutine:: subroutine extract_member_eos(EOS, form_of_EOS, form_of_TFreeze, EOS_quadrature, Compressible, Rho_T0_S0, drho_dT, dRho_dS, TFr_S0_P0, dTFr_dS, dTFr_dp) Extractor routine for the EOS type if the members need to be accessed outside this module. :param eos: Equation of state structure :param form_of_eos: [out] A coded integer indicating the equation of state to use. :param form_of_tfreeze: [out] A coded integer indicating the expression for the potential temperature of the freezing point. :param eos_quadrature: [out] If true, always use the generic (quadrature) code for the integrals of density. :param compressible: [out] If true, in situ density is a function of pressure. :param rho_t0_s0: [out] Density at T=0 degC and S=0 ppt [kg m-3] :param drho_dt: [out] Partial derivative of density with temperature in [kg m-3 degC-1] :param drho_ds: [out] Partial derivative of density with salinity in [kg m-3 ppt-1] :param tfr_s0_p0: [out] The freezing potential temperature at S=0, P=0 [degC] :param dtfr_ds: [out] The derivative of freezing point with salinity [degC PSU-1] :param dtfr_dp: [out] The derivative of freezing point with pressure [degC Pa-1] :callto: :f:func:`eos_quadrature ` [debug] xpath(./compounddef/compoundname[text()="mom_eos::eos_type"]/..) match([('id', 'structmom__eos_1_1eos__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos::eos_type', , {}, ['', 'A control str [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos::eos_type', , {}, ['`More... , {}, ['', 'A control str [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, EOS, rho_ref, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_density_scalar', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_density_scalar', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, Tvar, TScov, Svar, rho, EOS, rho_ref, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_stanley_density_scalar', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_stanley_density_scalar', , { [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, start, npts, EOS, rho_ref, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_density_array', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_density_array', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, Tvar, TScov, Svar, rho, start, npts, EOS, rho_ref, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_stanley_density_array', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_stanley_density_array', , {} [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, EOS, dom, rho_ref, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_density_1d', , {}, ['', 'Cal [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_density_1d', , {}, ['', 'Cal [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, Tvar, TScov, Svar, rho, EOS, dom, rho_ref, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_stanley_density_1d', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_stanley_density_1d', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, specvol, start, npts, EOS, spv_ref, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_spec_vol_array', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_spec_vol_array', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, specvol, EOS, spv_ref, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calc_spec_vol_scalar', , {}, ['', 'Cal [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calc_spec_vol_scalar', , {}, ['', 'Cal [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, specvol, EOS, dom, spv_ref, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calc_spec_vol_1d', , {}, ['', 'Calls t [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calc_spec_vol_1d', , {}, ['', 'Calls t [debug] DoxygenMethodDocumenter format_signature called ((S, pressure, T_fr, EOS, pres_scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_tfreeze_scalar', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_tfreeze_scalar', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((S, pressure, T_fr, start, npts, EOS, pres_scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_tfreeze_array', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_tfreeze_array', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dT, drho_dS, start, npts, EOS, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_density_derivs_array', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_density_derivs_array', , {}, [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dT, drho_dS, EOS, dom, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_density_derivs_1d', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_density_derivs_1d', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dT, drho_dS, EOS, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_density_derivs_scalar', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_density_derivs_scalar', , {} [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts, EOS, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_density_second_derivs_array', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_spec_vol_derivs_array', , {} [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, dSV_dT, dSV_dS, EOS, dom, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calc_spec_vol_derivs_1d', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calc_spec_vol_derivs_1d', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((T, S, press, rho, drho_dp, start, npts, EOS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_compress_array', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_compress_array', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, drho_dp, EOS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_compress_scalar', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::calculate_compress_scalar', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((HI, halo)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::eos_domain', , {}, ['', 'This subrouti [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::eos_domain', , {}, ['', 'This subrouti [debug] DoxygenMethodDocumenter format_signature called ((T, S, p_t, p_b, alpha_ref, HI, EOS, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_tiny, useMassWghtInterp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::analytic_int_specific_vol_dp', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::analytic_int_specific_vol_dp', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::analytic_int_density_dz', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::analytic_int_density_dz', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((EOS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::query_compressible', , {}, ['', 'Retur [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::query_compressible', , {}, ['', 'Retur [debug] DoxygenMethodDocumenter format_signature called ((param_file, EOS, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::eos_init', , {}, ['', 'Initializes EOS [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::eos_init', , {}, ['', 'Initializes EOS [debug] DoxygenMethodDocumenter format_signature called ((EOS, form_of_EOS, form_of_TFreeze, EOS_quadrature, Compressible, Rho_T0_S0, drho_dT, dRho_dS, TFr_S0_P0, dTFr_dS, dTFr_dp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::eos_manual_init', , {}, ['', 'Manually [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::eos_manual_init', , {}, ['', 'Manually [debug] DoxygenMethodDocumenter format_signature called ((EOS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::eos_allocate', , {}, ['', 'Allocates E [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::eos_allocate', , {}, ['', 'Allocates E [debug] DoxygenMethodDocumenter format_signature called ((EOS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::eos_end', , {}, ['', 'Deallocates EOS_ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::eos_end', , {}, ['', 'Deallocates EOS_ [debug] DoxygenMethodDocumenter format_signature called ((Rho_T0_S0, dRho_dT, dRho_dS, EOS, use_quadrature)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::eos_use_linear', , {}, ['', 'Set equat [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::eos_use_linear', , {}, ['', 'Set equat [debug] DoxygenMethodDocumenter format_signature called ((T, S, HI, kd, mask_z, EOS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::convert_temp_salt_for_teos10', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::convert_temp_salt_for_teos10', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((EOS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::eos_quadrature', , {}, ['', 'Return va [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::eos_quadrature', , {}, ['', 'Return va [debug] DoxygenMethodDocumenter format_signature called ((EOS, form_of_EOS, form_of_TFreeze, EOS_quadrature, Compressible, Rho_T0_S0, drho_dT, dRho_dS, TFr_S0_P0, dTFr_dS, dTFr_dp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::extract_member_eos', , {}, ['', 'Extra [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos::extract_member_eos', , {}, ['', 'Extra [fd] run(.. f:type:: eos_type) [fd] sig(eos_type) [fd] ftype(None) objtype(None) modname(None) typename() name(eos_type) arglist(None) [fd] fullname(mom_eos/eos_type) ftype(None) [fd] name(('mom_eos/eos_type', None)) sig(eos_type) signode(type mom_eos/eos_type) [fd] run(.. f:subroutine:: subroutine calculate_density_scalar(T, S, pressure, rho, EOS, rho_ref, scale)) [fd] sig(subroutine calculate_density_scalar(T, S, pressure, rho, EOS, rho_ref, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_scalar) arglist(T, S, pressure, rho, EOS, rho_ref, scale) [fd] fullname(mom_eos/calculate_density_scalar) ftype(None) [fd] name(('mom_eos/calculate_density_scalar', None)) sig(subroutine calculate_density_scalar(T, S, pressure, rho, EOS, rho_ref, scale)) signode(subroutine mom_eos/calculate_density_scalarTSpressurerhoEOSrho_refscale) [fd] run(.. f:subroutine:: subroutine calculate_stanley_density_scalar(T, S, pressure, Tvar, TScov, Svar, rho, EOS, rho_ref, scale)) [fd] sig(subroutine calculate_stanley_density_scalar(T, S, pressure, Tvar, TScov, Svar, rho, EOS, rho_ref, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_stanley_density_scalar) arglist(T, S, pressure, Tvar, TScov, Svar, rho, EOS, rho_ref, scale) [fd] fullname(mom_eos/calculate_stanley_density_scalar) ftype(None) [fd] name(('mom_eos/calculate_stanley_density_scalar', None)) sig(subroutine calculate_stanley_density_scalar(T, S, pressure, Tvar, TScov, Svar, rho, EOS, rho_ref, scale)) signode(subroutine mom_eos/calculate_stanley_density_scalarTSpressureTvarTScovSvarrhoEOSrho_refscale) [fd] run(.. f:subroutine:: subroutine calculate_density_array(T, S, pressure, rho, start, npts, EOS, rho_ref, scale)) [fd] sig(subroutine calculate_density_array(T, S, pressure, rho, start, npts, EOS, rho_ref, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_array) arglist(T, S, pressure, rho, start, npts, EOS, rho_ref, scale) [fd] fullname(mom_eos/calculate_density_array) ftype(None) [fd] name(('mom_eos/calculate_density_array', None)) sig(subroutine calculate_density_array(T, S, pressure, rho, start, npts, EOS, rho_ref, scale)) signode(subroutine mom_eos/calculate_density_arrayTSpressurerhostartnptsEOSrho_refscale) [fd] run(.. f:subroutine:: subroutine calculate_stanley_density_array(T, S, pressure, Tvar, TScov, Svar, rho, start, npts, EOS, rho_ref, scale)) [fd] sig(subroutine calculate_stanley_density_array(T, S, pressure, Tvar, TScov, Svar, rho, start, npts, EOS, rho_ref, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_stanley_density_array) arglist(T, S, pressure, Tvar, TScov, Svar, rho, start, npts, EOS, rho_ref, scale) [fd] fullname(mom_eos/calculate_stanley_density_array) ftype(None) [fd] name(('mom_eos/calculate_stanley_density_array', None)) sig(subroutine calculate_stanley_density_array(T, S, pressure, Tvar, TScov, Svar, rho, start, npts, EOS, rho_ref, scale)) signode(subroutine mom_eos/calculate_stanley_density_arrayTSpressureTvarTScovSvarrhostartnptsEOSrho_refscale) [fd] run(.. f:subroutine:: subroutine calculate_density_1d(T, S, pressure, rho, EOS, dom, rho_ref, scale)) [fd] sig(subroutine calculate_density_1d(T, S, pressure, rho, EOS, dom, rho_ref, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_1d) arglist(T, S, pressure, rho, EOS, dom, rho_ref, scale) [fd] fullname(mom_eos/calculate_density_1d) ftype(None) [fd] name(('mom_eos/calculate_density_1d', None)) sig(subroutine calculate_density_1d(T, S, pressure, rho, EOS, dom, rho_ref, scale)) signode(subroutine mom_eos/calculate_density_1dTSpressurerhoEOSdomrho_refscale) [fd] run(.. f:subroutine:: subroutine calculate_stanley_density_1d(T, S, pressure, Tvar, TScov, Svar, rho, EOS, dom, rho_ref, scale)) [fd] sig(subroutine calculate_stanley_density_1d(T, S, pressure, Tvar, TScov, Svar, rho, EOS, dom, rho_ref, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_stanley_density_1d) arglist(T, S, pressure, Tvar, TScov, Svar, rho, EOS, dom, rho_ref, scale) [fd] fullname(mom_eos/calculate_stanley_density_1d) ftype(None) [fd] name(('mom_eos/calculate_stanley_density_1d', None)) sig(subroutine calculate_stanley_density_1d(T, S, pressure, Tvar, TScov, Svar, rho, EOS, dom, rho_ref, scale)) signode(subroutine mom_eos/calculate_stanley_density_1dTSpressureTvarTScovSvarrhoEOSdomrho_refscale) [fd] run(.. f:subroutine:: subroutine calculate_spec_vol_array(T, S, pressure, specvol, start, npts, EOS, spv_ref, scale)) [fd] sig(subroutine calculate_spec_vol_array(T, S, pressure, specvol, start, npts, EOS, spv_ref, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_spec_vol_array) arglist(T, S, pressure, specvol, start, npts, EOS, spv_ref, scale) [fd] fullname(mom_eos/calculate_spec_vol_array) ftype(None) [fd] name(('mom_eos/calculate_spec_vol_array', None)) sig(subroutine calculate_spec_vol_array(T, S, pressure, specvol, start, npts, EOS, spv_ref, scale)) signode(subroutine mom_eos/calculate_spec_vol_arrayTSpressurespecvolstartnptsEOSspv_refscale) [fd] run(.. f:subroutine:: subroutine calc_spec_vol_scalar(T, S, pressure, specvol, EOS, spv_ref, scale)) [fd] sig(subroutine calc_spec_vol_scalar(T, S, pressure, specvol, EOS, spv_ref, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calc_spec_vol_scalar) arglist(T, S, pressure, specvol, EOS, spv_ref, scale) [fd] fullname(mom_eos/calc_spec_vol_scalar) ftype(None) [fd] name(('mom_eos/calc_spec_vol_scalar', None)) sig(subroutine calc_spec_vol_scalar(T, S, pressure, specvol, EOS, spv_ref, scale)) signode(subroutine mom_eos/calc_spec_vol_scalarTSpressurespecvolEOSspv_refscale) [fd] run(.. f:subroutine:: subroutine calc_spec_vol_1d(T, S, pressure, specvol, EOS, dom, spv_ref, scale)) [fd] sig(subroutine calc_spec_vol_1d(T, S, pressure, specvol, EOS, dom, spv_ref, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calc_spec_vol_1d) arglist(T, S, pressure, specvol, EOS, dom, spv_ref, scale) [fd] fullname(mom_eos/calc_spec_vol_1d) ftype(None) [fd] name(('mom_eos/calc_spec_vol_1d', None)) sig(subroutine calc_spec_vol_1d(T, S, pressure, specvol, EOS, dom, spv_ref, scale)) signode(subroutine mom_eos/calc_spec_vol_1dTSpressurespecvolEOSdomspv_refscale) [fd] run(.. f:subroutine:: subroutine calculate_tfreeze_scalar(S, pressure, T_fr, EOS, pres_scale)) [fd] sig(subroutine calculate_tfreeze_scalar(S, pressure, T_fr, EOS, pres_scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_tfreeze_scalar) arglist(S, pressure, T_fr, EOS, pres_scale) [fd] fullname(mom_eos/calculate_tfreeze_scalar) ftype(None) [fd] name(('mom_eos/calculate_tfreeze_scalar', None)) sig(subroutine calculate_tfreeze_scalar(S, pressure, T_fr, EOS, pres_scale)) signode(subroutine mom_eos/calculate_tfreeze_scalarSpressureT_frEOSpres_scale) [fd] run(.. f:subroutine:: subroutine calculate_tfreeze_array(S, pressure, T_fr, start, npts, EOS, pres_scale)) [fd] sig(subroutine calculate_tfreeze_array(S, pressure, T_fr, start, npts, EOS, pres_scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_tfreeze_array) arglist(S, pressure, T_fr, start, npts, EOS, pres_scale) [fd] fullname(mom_eos/calculate_tfreeze_array) ftype(None) [fd] name(('mom_eos/calculate_tfreeze_array', None)) sig(subroutine calculate_tfreeze_array(S, pressure, T_fr, start, npts, EOS, pres_scale)) signode(subroutine mom_eos/calculate_tfreeze_arraySpressureT_frstartnptsEOSpres_scale) [fd] run(.. f:subroutine:: subroutine calculate_density_derivs_array(T, S, pressure, drho_dT, drho_dS, start, npts, EOS, scale)) [fd] sig(subroutine calculate_density_derivs_array(T, S, pressure, drho_dT, drho_dS, start, npts, EOS, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_derivs_array) arglist(T, S, pressure, drho_dT, drho_dS, start, npts, EOS, scale) [fd] fullname(mom_eos/calculate_density_derivs_array) ftype(None) [fd] name(('mom_eos/calculate_density_derivs_array', None)) sig(subroutine calculate_density_derivs_array(T, S, pressure, drho_dT, drho_dS, start, npts, EOS, scale)) signode(subroutine mom_eos/calculate_density_derivs_arrayTSpressuredrho_dTdrho_dSstartnptsEOSscale) [fd] run(.. f:subroutine:: subroutine calculate_density_derivs_1d(T, S, pressure, drho_dT, drho_dS, EOS, dom, scale)) [fd] sig(subroutine calculate_density_derivs_1d(T, S, pressure, drho_dT, drho_dS, EOS, dom, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_derivs_1d) arglist(T, S, pressure, drho_dT, drho_dS, EOS, dom, scale) [fd] fullname(mom_eos/calculate_density_derivs_1d) ftype(None) [fd] name(('mom_eos/calculate_density_derivs_1d', None)) sig(subroutine calculate_density_derivs_1d(T, S, pressure, drho_dT, drho_dS, EOS, dom, scale)) signode(subroutine mom_eos/calculate_density_derivs_1dTSpressuredrho_dTdrho_dSEOSdomscale) [fd] run(.. f:subroutine:: subroutine calculate_density_derivs_scalar(T, S, pressure, drho_dT, drho_dS, EOS, scale)) [fd] sig(subroutine calculate_density_derivs_scalar(T, S, pressure, drho_dT, drho_dS, EOS, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_derivs_scalar) arglist(T, S, pressure, drho_dT, drho_dS, EOS, scale) [fd] fullname(mom_eos/calculate_density_derivs_scalar) ftype(None) [fd] name(('mom_eos/calculate_density_derivs_scalar', None)) sig(subroutine calculate_density_derivs_scalar(T, S, pressure, drho_dT, drho_dS, EOS, scale)) signode(subroutine mom_eos/calculate_density_derivs_scalarTSpressuredrho_dTdrho_dSEOSscale) [fd] run(.. f:subroutine:: subroutine calculate_density_second_derivs_array(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts, EOS, scale)) [fd] sig(subroutine calculate_density_second_derivs_array(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts, EOS, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_second_derivs_array) arglist(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts, EOS, scale) [fd] fullname(mom_eos/calculate_density_second_derivs_array) ftype(None) [fd] name(('mom_eos/calculate_density_second_derivs_array', None)) sig(subroutine calculate_density_second_derivs_array(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts, EOS, scale)) signode(subroutine mom_eos/calculate_density_second_derivs_arrayTSpressuredrho_dS_dSdrho_dS_dTdrho_dT_dTdrho_dS_dPdrho_dT_dPstartnptsEOSscale) [fd] run(.. f:subroutine:: subroutine calculate_density_second_derivs_scalar(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, EOS, scale)) [fd] sig(subroutine calculate_density_second_derivs_scalar(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, EOS, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_second_derivs_scalar) arglist(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, EOS, scale) [fd] fullname(mom_eos/calculate_density_second_derivs_scalar) ftype(None) [fd] name(('mom_eos/calculate_density_second_derivs_scalar', None)) sig(subroutine calculate_density_second_derivs_scalar(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, EOS, scale)) signode(subroutine mom_eos/calculate_density_second_derivs_scalarTSpressuredrho_dS_dSdrho_dS_dTdrho_dT_dTdrho_dS_dPdrho_dT_dPEOSscale) [fd] run(.. f:subroutine:: subroutine calculate_spec_vol_derivs_array(T, S, pressure, dSV_dT, dSV_dS, start, npts, EOS)) [fd] sig(subroutine calculate_spec_vol_derivs_array(T, S, pressure, dSV_dT, dSV_dS, start, npts, EOS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_spec_vol_derivs_array) arglist(T, S, pressure, dSV_dT, dSV_dS, start, npts, EOS) [fd] fullname(mom_eos/calculate_spec_vol_derivs_array) ftype(None) [fd] name(('mom_eos/calculate_spec_vol_derivs_array', None)) sig(subroutine calculate_spec_vol_derivs_array(T, S, pressure, dSV_dT, dSV_dS, start, npts, EOS)) signode(subroutine mom_eos/calculate_spec_vol_derivs_arrayTSpressuredSV_dTdSV_dSstartnptsEOS) [fd] run(.. f:subroutine:: subroutine calc_spec_vol_derivs_1d(T, S, pressure, dSV_dT, dSV_dS, EOS, dom, scale)) [fd] sig(subroutine calc_spec_vol_derivs_1d(T, S, pressure, dSV_dT, dSV_dS, EOS, dom, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calc_spec_vol_derivs_1d) arglist(T, S, pressure, dSV_dT, dSV_dS, EOS, dom, scale) [fd] fullname(mom_eos/calc_spec_vol_derivs_1d) ftype(None) [fd] name(('mom_eos/calc_spec_vol_derivs_1d', None)) sig(subroutine calc_spec_vol_derivs_1d(T, S, pressure, dSV_dT, dSV_dS, EOS, dom, scale)) signode(subroutine mom_eos/calc_spec_vol_derivs_1dTSpressuredSV_dTdSV_dSEOSdomscale) [fd] run(.. f:subroutine:: subroutine calculate_compress_array(T, S, press, rho, drho_dp, start, npts, EOS)) [fd] sig(subroutine calculate_compress_array(T, S, press, rho, drho_dp, start, npts, EOS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_compress_array) arglist(T, S, press, rho, drho_dp, start, npts, EOS) [fd] fullname(mom_eos/calculate_compress_array) ftype(None) [fd] name(('mom_eos/calculate_compress_array', None)) sig(subroutine calculate_compress_array(T, S, press, rho, drho_dp, start, npts, EOS)) signode(subroutine mom_eos/calculate_compress_arrayTSpressrhodrho_dpstartnptsEOS) [fd] run(.. f:subroutine:: subroutine calculate_compress_scalar(T, S, pressure, rho, drho_dp, EOS)) [fd] sig(subroutine calculate_compress_scalar(T, S, pressure, rho, drho_dp, EOS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_compress_scalar) arglist(T, S, pressure, rho, drho_dp, EOS) [fd] fullname(mom_eos/calculate_compress_scalar) ftype(None) [fd] name(('mom_eos/calculate_compress_scalar', None)) sig(subroutine calculate_compress_scalar(T, S, pressure, rho, drho_dp, EOS)) signode(subroutine mom_eos/calculate_compress_scalarTSpressurerhodrho_dpEOS) [fd] run(.. f:function:: integer function eos_domain(HI, halo)) [fd] sig(integer function eos_domain(HI, halo)) [fd] ftype(integer) objtype(function) modname(None) typename() name(eos_domain) arglist(HI, halo) [fd] fullname(mom_eos/eos_domain) ftype(integer) [fd] name(('mom_eos/eos_domain', 'integer')) sig(integer function eos_domain(HI, halo)) signode(function mom_eos/eos_domainHIhalo [integer]) [fd] run(.. f:subroutine:: subroutine analytic_int_specific_vol_dp(T, S, p_t, p_b, alpha_ref, HI, EOS, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_tiny, useMassWghtInterp)) [fd] sig(subroutine analytic_int_specific_vol_dp(T, S, p_t, p_b, alpha_ref, HI, EOS, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_tiny, useMassWghtInterp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(analytic_int_specific_vol_dp) arglist(T, S, p_t, p_b, alpha_ref, HI, EOS, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_tiny, useMassWghtInterp) [fd] fullname(mom_eos/analytic_int_specific_vol_dp) ftype(None) [fd] name(('mom_eos/analytic_int_specific_vol_dp', None)) sig(subroutine analytic_int_specific_vol_dp(T, S, p_t, p_b, alpha_ref, HI, EOS, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_tiny, useMassWghtInterp)) signode(subroutine mom_eos/analytic_int_specific_vol_dpTSp_tp_balpha_refHIEOSdzaintp_dzaintx_dzainty_dzahalo_sizebathyPdP_tinyuseMassWghtInterp) [fd] run(.. f:subroutine:: subroutine analytic_int_density_dz(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) [fd] sig(subroutine analytic_int_density_dz(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(analytic_int_density_dz) arglist(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp) [fd] fullname(mom_eos/analytic_int_density_dz) ftype(None) [fd] name(('mom_eos/analytic_int_density_dz', None)) sig(subroutine analytic_int_density_dz(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, EOS, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) signode(subroutine mom_eos/analytic_int_density_dzTSz_tz_brho_refrho_0G_eHIEOSdpaintz_dpaintx_dpainty_dpabathyTdz_neglectuseMassWghtInterp) [fd] run(.. f:function:: logical function query_compressible(EOS)) [fd] sig(logical function query_compressible(EOS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(query_compressible) arglist(EOS) [fd] fullname(mom_eos/query_compressible) ftype(logical) [fd] name(('mom_eos/query_compressible', 'logical')) sig(logical function query_compressible(EOS)) signode(function mom_eos/query_compressibleEOS [logical]) [fd] run(.. f:subroutine:: subroutine eos_init(param_file, EOS, US)) [fd] sig(subroutine eos_init(param_file, EOS, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(eos_init) arglist(param_file, EOS, US) [fd] fullname(mom_eos/eos_init) ftype(None) [fd] name(('mom_eos/eos_init', None)) sig(subroutine eos_init(param_file, EOS, US)) signode(subroutine mom_eos/eos_initparam_fileEOSUS) [fd] run(.. f:subroutine:: subroutine eos_manual_init(EOS, form_of_EOS, form_of_TFreeze, EOS_quadrature, Compressible, Rho_T0_S0, drho_dT, dRho_dS, TFr_S0_P0, dTFr_dS, dTFr_dp)) [fd] sig(subroutine eos_manual_init(EOS, form_of_EOS, form_of_TFreeze, EOS_quadrature, Compressible, Rho_T0_S0, drho_dT, dRho_dS, TFr_S0_P0, dTFr_dS, dTFr_dp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(eos_manual_init) arglist(EOS, form_of_EOS, form_of_TFreeze, EOS_quadrature, Compressible, Rho_T0_S0, drho_dT, dRho_dS, TFr_S0_P0, dTFr_dS, dTFr_dp) [fd] fullname(mom_eos/eos_manual_init) ftype(None) [fd] name(('mom_eos/eos_manual_init', None)) sig(subroutine eos_manual_init(EOS, form_of_EOS, form_of_TFreeze, EOS_quadrature, Compressible, Rho_T0_S0, drho_dT, dRho_dS, TFr_S0_P0, dTFr_dS, dTFr_dp)) signode(subroutine mom_eos/eos_manual_initEOSform_of_EOSform_of_TFreezeEOS_quadratureCompressibleRho_T0_S0drho_dTdRho_dSTFr_S0_P0dTFr_dSdTFr_dp) [fd] run(.. f:subroutine:: subroutine eos_allocate(EOS)) [fd] sig(subroutine eos_allocate(EOS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(eos_allocate) arglist(EOS) [fd] fullname(mom_eos/eos_allocate) ftype(None) [fd] name(('mom_eos/eos_allocate', None)) sig(subroutine eos_allocate(EOS)) signode(subroutine mom_eos/eos_allocateEOS) [fd] run(.. f:subroutine:: subroutine eos_end(EOS)) [fd] sig(subroutine eos_end(EOS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(eos_end) arglist(EOS) [fd] fullname(mom_eos/eos_end) ftype(None) [fd] name(('mom_eos/eos_end', None)) sig(subroutine eos_end(EOS)) signode(subroutine mom_eos/eos_endEOS) [fd] run(.. f:subroutine:: subroutine eos_use_linear(Rho_T0_S0, dRho_dT, dRho_dS, EOS, use_quadrature)) [fd] sig(subroutine eos_use_linear(Rho_T0_S0, dRho_dT, dRho_dS, EOS, use_quadrature)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(eos_use_linear) arglist(Rho_T0_S0, dRho_dT, dRho_dS, EOS, use_quadrature) [fd] fullname(mom_eos/eos_use_linear) ftype(None) [fd] name(('mom_eos/eos_use_linear', None)) sig(subroutine eos_use_linear(Rho_T0_S0, dRho_dT, dRho_dS, EOS, use_quadrature)) signode(subroutine mom_eos/eos_use_linearRho_T0_S0dRho_dTdRho_dSEOSuse_quadrature) [fd] run(.. f:subroutine:: subroutine convert_temp_salt_for_teos10(T, S, HI, kd, mask_z, EOS)) [fd] sig(subroutine convert_temp_salt_for_teos10(T, S, HI, kd, mask_z, EOS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(convert_temp_salt_for_teos10) arglist(T, S, HI, kd, mask_z, EOS) [fd] fullname(mom_eos/convert_temp_salt_for_teos10) ftype(None) [fd] name(('mom_eos/convert_temp_salt_for_teos10', None)) sig(subroutine convert_temp_salt_for_teos10(T, S, HI, kd, mask_z, EOS)) signode(subroutine mom_eos/convert_temp_salt_for_teos10TSHIkdmask_zEOS) [fd] run(.. f:function:: logical function eos_quadrature(EOS)) [fd] sig(logical function eos_quadrature(EOS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(eos_quadrature) arglist(EOS) [fd] fullname(mom_eos/eos_quadrature) ftype(logical) [fd] name(('mom_eos/eos_quadrature', 'logical')) sig(logical function eos_quadrature(EOS)) signode(function mom_eos/eos_quadratureEOS [logical]) [fd] run(.. f:subroutine:: subroutine extract_member_eos(EOS, form_of_EOS, form_of_TFreeze, EOS_quadrature, Compressible, Rho_T0_S0, drho_dT, dRho_dS, TFr_S0_P0, dTFr_dS, dTFr_dp)) [fd] sig(subroutine extract_member_eos(EOS, form_of_EOS, form_of_TFreeze, EOS_quadrature, Compressible, Rho_T0_S0, drho_dT, dRho_dS, TFr_S0_P0, dTFr_dS, dTFr_dp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(extract_member_eos) arglist(EOS, form_of_EOS, form_of_TFreeze, EOS_quadrature, Compressible, Rho_T0_S0, drho_dT, dRho_dS, TFr_S0_P0, dTFr_dS, dTFr_dp) [fd] fullname(mom_eos/extract_member_eos) ftype(None) [fd] name(('mom_eos/extract_member_eos', None)) sig(subroutine extract_member_eos(EOS, form_of_EOS, form_of_TFreeze, EOS_quadrature, Compressible, Rho_T0_S0, drho_dT, dRho_dS, TFr_S0_P0, dTFr_dS, dTFr_dp)) signode(subroutine mom_eos/extract_member_eosEOSform_of_EOSform_of_TFreezeEOS_quadratureCompressibleRho_T0_S0drho_dTdRho_dSTFr_S0_P0dTFr_dSdTFr_dp) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 31%] api/generated/modules/mom_eos_linear [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_eos_line [app] emitting event: 'source-read'('api/generated/modules/mom_eos_linear', ['.. autodoxymodule:: mom_eos_linear\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_eos_linear.rst:1: input: .. autodoxymodule:: mom_eos_linear :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_eos_linear::calculate_density_scalar_linear ~mom_eos_linear::calculate_density_array_linear ~mom_eos_linear::calculate_spec_vol_scalar_linear ~mom_eos_linear::calculate_spec_vol_array_linear ~mom_eos_linear::calculate_density_derivs_array_linear ~mom_eos_linear::calculate_density_derivs_scalar_linear ~mom_eos_linear::calculate_density_second_derivs_scalar_linear ~mom_eos_linear::calculate_density_second_derivs_array_linear ~mom_eos_linear::calculate_specvol_derivs_linear ~mom_eos_linear::calculate_compress_linear ~mom_eos_linear::int_density_dz_linear ~mom_eos_linear::int_spec_vol_dp_linear [debug] xpath(./compounddef/compoundname[text()="mom_eos_linear"]/..) match([('id', 'namespacemom__eos__linear'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_eos_linear module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos_linear', , {'members': , {'members': , {'members': ), ('calculate_density_array_linear', ), ('calculate_spec_vol_scalar_linear', ), ('calculate_spec_vol_array_linear', ), ('calculate_density_derivs_array_linear', ), ('calculate_density_derivs_scalar_linear', ), ('calculate_density_second_derivs_scalar_linear', ), ('calculate_density_second_derivs_array_linear', ), ('calculate_specvol_derivs_linear', ), ('calculate_compress_linear', ), ('int_density_dz_linear', ), ('int_spec_vol_dp_linear', )]) [autodoc] module analyzer failed: error importing 'mom_eos_linear' (exception was: ModuleNotFoundError("No module named 'mom_eos_linear'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, Rho_T0_S0, dRho_dT, dRho_dS, rho_ref)) [debug] add_directive_header sig((T, S, pressure, rho, Rho_T0_S0, dRho_dT, dRho_dS, rho_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_scalar_linear) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_scalar_linear', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_scalar_linear', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos_linear' (exception was: ModuleNotFoundError("No module named 'mom_eos_linear'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, start, npts, Rho_T0_S0, dRho_dT, dRho_dS, rho_ref)) [debug] add_directive_header sig((T, S, pressure, rho, start, npts, Rho_T0_S0, dRho_dT, dRho_dS, rho_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_array_linear) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_linear', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_linear', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos_linear' (exception was: ModuleNotFoundError("No module named 'mom_eos_linear'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, specvol, Rho_T0_S0, dRho_dT, dRho_dS, spv_ref)) [debug] add_directive_header sig((T, S, pressure, specvol, Rho_T0_S0, dRho_dT, dRho_dS, spv_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_spec_vol_scalar_linear) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_scalar_linear', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_scalar_linear', , {'members' [autodoc] module analyzer failed: error importing 'mom_eos_linear' (exception was: ModuleNotFoundError("No module named 'mom_eos_linear'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, specvol, start, npts, Rho_T0_S0, dRho_dT, dRho_dS, spv_ref)) [debug] add_directive_header sig((T, S, pressure, specvol, start, npts, Rho_T0_S0, dRho_dT, dRho_dS, spv_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_spec_vol_array_linear) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_linear', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_linear', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos_linear' (exception was: ModuleNotFoundError("No module named 'mom_eos_linear'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dT_out, drho_dS_out, Rho_T0_S0, dRho_dT, dRho_dS, start, npts)) [debug] add_directive_header sig((T, S, pressure, drho_dT_out, drho_dS_out, Rho_T0_S0, dRho_dT, dRho_dS, start, npts)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_derivs_array_linear) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_linear', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_linear', , {'mem [autodoc] module analyzer failed: error importing 'mom_eos_linear' (exception was: ModuleNotFoundError("No module named 'mom_eos_linear'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dT_out, drho_dS_out, Rho_T0_S0, dRho_dT, dRho_dS)) [debug] add_directive_header sig((T, S, pressure, drho_dT_out, drho_dS_out, Rho_T0_S0, dRho_dT, dRho_dS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_derivs_scalar_linear) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_scalar_linear', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_scalar_linear', , {'me [autodoc] module analyzer failed: error importing 'mom_eos_linear' (exception was: ModuleNotFoundError("No module named 'mom_eos_linear'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP)) [debug] add_directive_header sig((T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_second_derivs_scalar_linear) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_scalar_linear', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_linear', [autodoc] module analyzer failed: error importing 'mom_eos_linear' (exception was: ModuleNotFoundError("No module named 'mom_eos_linear'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, dSV_dT, dSV_dS, start, npts, Rho_T0_S0, dRho_dT, dRho_dS)) [debug] add_directive_header sig((T, S, pressure, dSV_dT, dSV_dS, start, npts, Rho_T0_S0, dRho_dT, dRho_dS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_specvol_derivs_linear) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_linear', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_linear', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos_linear' (exception was: ModuleNotFoundError("No module named 'mom_eos_linear'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, drho_dp, start, npts, Rho_T0_S0, dRho_dT, dRho_dS)) [debug] add_directive_header sig((T, S, pressure, rho, drho_dp, start, npts, Rho_T0_S0, dRho_dT, dRho_dS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_compress_linear) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_compress_linear', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_eos_linear::calculate_density_scalar_linear ~mom_eos_linear::calculate_density_array_linear ~mom_eos_linear::calculate_spec_vol_scalar_linear ~mom_eos_linear::calculate_spec_vol_array_linear ~mom_eos_linear::calculate_density_derivs_array_linear ~mom_eos_linear::calculate_density_derivs_scalar_linear ~mom_eos_linear::calculate_density_second_derivs_scalar_linear ~mom_eos_linear::calculate_density_second_derivs_array_linear ~mom_eos_linear::calculate_specvol_derivs_linear ~mom_eos_linear::calculate_compress_linear ~mom_eos_linear::int_density_dz_linear ~mom_eos_linear::int_spec_vol_dp_linear .. _DETAmom_eos_linear: -------------------- Detailed Description -------------------- A simple linear equation of state for sea water with constant coefficients. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine calculate_density_scalar_linear(T, S, pressure, rho, Rho_T0_S0, dRho_dT, dRho_dS, rho_ref) This subroutine computes the density of sea water with a trivial linear equation of state (in [kg m-3]) from salinity (sal [PSU]), potential temperature (T [degC]), and pressure [Pa]. :param t: [in] Potential temperature relative to the surface [degC]. :param s: [in] Salinity [PSU]. :param pressure: [in] pressure [Pa]. :param rho: [out] In situ density [kg m-3]. :param rho_t0_s0: [in] The density at T=0, S=0 [kg m-3]. :param drho_dt: [in] The derivatives of density with temperature [kg m-3 degC-1]. :param drho_ds: [in] The derivatives of density with salinity in [kg m-3 ppt-1]. :param rho_ref: [in] A reference density [kg m-3]. .. f:subroutine:: subroutine calculate_density_array_linear(T, S, pressure, rho, start, npts, Rho_T0_S0, dRho_dT, dRho_dS, rho_ref) This subroutine computes the density of sea water with a trivial linear equation of state (in kg/m^3) from salinity (sal in psu), potential temperature (T [degC]), and pressure [Pa]. :param t: [in] potential temperature relative to the surface [degC]. :param s: [in] salinity [PSU]. :param pressure: [in] pressure [Pa]. :param rho: [out] in situ density [kg m-3]. :param start: [in] the starting point in the arrays. :param npts: [in] the number of values to calculate. :param rho_t0_s0: [in] The density at T=0, S=0 [kg m-3]. :param drho_dt: [in] The derivatives of density with temperature [kg m-3 degC-1]. :param drho_ds: [in] The derivatives of density with salinity in [kg m-3 ppt-1]. :param rho_ref: [in] A reference density [kg m-3]. .. f:subroutine:: subroutine calculate_spec_vol_scalar_linear(T, S, pressure, specvol, Rho_T0_S0, dRho_dT, dRho_dS, spv_ref) This subroutine computes the in situ specific volume of sea water (specvol in [m3 kg-1]) from salinity (S [PSU]), potential temperature (T [degC]) and pressure [Pa], using a trivial linear equation of state for density. If spv_ref is present, specvol is an anomaly from spv_ref. :param t: [in] potential temperature relative to the surface [degC]. :param s: [in] Salinity [PSU]. :param pressure: [in] Pressure [Pa]. :param specvol: [out] In situ specific volume [m3 kg-1]. :param rho_t0_s0: [in] The density at T=0, S=0 [kg m-3]. :param drho_dt: [in] The derivatives of density with temperature [kg m-3 degC-1]. :param drho_ds: [in] The derivatives of density with salinity [kg m-3 ppt-1]. :param spv_ref: [in] A reference specific volume [m3 kg-1]. .. f:subroutine:: subroutine calculate_spec_vol_array_linear(T, S, pressure, specvol, start, npts, Rho_T0_S0, dRho_dT, dRho_dS, spv_ref) This subroutine computes the in situ specific volume of sea water (specvol in [m3 kg-1]) from salinity (S [PSU]), potential temperature (T [degC]) and pressure [Pa], using a trivial linear equation of state for density. If spv_ref is present, specvol is an anomaly from spv_ref. :param t: [in] potential temperature relative to the surface [degC]. :param s: [in] Salinity [PSU]. :param pressure: [in] Pressure [Pa]. :param specvol: [out] in situ specific volume [m3 kg-1]. :param start: [in] the starting point in the arrays. :param npts: [in] the number of values to calculate. :param rho_t0_s0: [in] The density at T=0, S=0 [kg m-3]. :param drho_dt: [in] The derivatives of density with temperature [kg m-3 degC-1]. :param drho_ds: [in] The derivatives of density with salinity [kg m-3 ppt-1]. :param spv_ref: [in] A reference specific volume [m3 kg-1]. .. f:subroutine:: subroutine calculate_density_derivs_array_linear(T, S, pressure, drho_dT_out, drho_dS_out, Rho_T0_S0, dRho_dT, dRho_dS, start, npts) This subroutine calculates the partial derivatives of density * with potential temperature and salinity. :param t: [in] Potential temperature relative to the surface [degC]. :param s: [in] Salinity [PSU]. :param pressure: [in] Pressure [Pa]. :param drho_dt_out: [out] The partial derivative of density with potential temperature [kg m-3 degC-1]. :param drho_ds_out: [out] The partial derivative of density with salinity [kg m-3 ppt-1]. :param rho_t0_s0: [in] The density at T=0, S=0 [kg m-3]. :param drho_dt: [in] The derivative of density with temperature [kg m-3 degC-1]. :param drho_ds: [in] The derivative of density with salinity [kg m-3 ppt-1]. :param start: [in] The starting point in the arrays. :param npts: [in] The number of values to calculate. .. f:subroutine:: subroutine calculate_density_derivs_scalar_linear(T, S, pressure, drho_dT_out, drho_dS_out, Rho_T0_S0, dRho_dT, dRho_dS) This subroutine calculates the partial derivatives of density * with potential temperature and salinity for a single point. :param t: [in] Potential temperature relative to the surface [degC]. :param s: [in] Salinity [PSU]. :param pressure: [in] pressure [Pa]. :param drho_dt_out: [out] The partial derivative of density with potential temperature [kg m-3 degC-1]. :param drho_ds_out: [out] The partial derivative of density with salinity [kg m-3 ppt-1]. :param rho_t0_s0: [in] The density at T=0, S=0 [kg m-3]. :param drho_dt: [in] The derivatives of density with temperature [kg m-3 degC-1]. :param drho_ds: [in] The derivatives of density with salinity [kg m-3 ppt-1]. .. f:subroutine:: subroutine calculate_density_second_derivs_scalar_linear(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP) This subroutine calculates the five, partial second derivatives of density w.r.t. potential temperature and salinity and pressure which for a linear equation of state should all be 0. :param t: [in] Potential temperature relative to the surface [degC]. :param s: [in] Salinity [PSU]. :param pressure: [in] pressure [Pa]. :param drho_ds_ds: [out] The second derivative of density with salinity [kg m-3 PSU-2]. :param drho_ds_dt: [out] The second derivative of density with temperature and salinity [kg m-3 ppt-1 degC-1]. :param drho_dt_dt: [out] The second derivative of density with temperature [kg m-3 degC-2]. :param drho_ds_dp: [out] The second derivative of density with salinity and pressure [kg m-3 PSU-1 Pa-1]. :param drho_dt_dp: [out] The second derivative of density with temperature and pressure [kg m-3 degC-1 Pa-1]. .. f:subroutine:: subroutine calculate_density_second_derivs_array_linear(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts) This subroutine calculates the five, partial second derivatives of density w.r.t. potential temperature and salinity and pressure which for a linear equation of state should all be 0. :param t: [in] Potential temperature relative to the surface [degC]. :param s: [in] Salinity [PSU]. :param pressure: [in] pressure [Pa]. :param drho_ds_ds: [out] The second derivative of density with salinity [kg m-3 PSU-2]. :param drho_ds_dt: [out] The second derivative of density with temperature and salinity [kg m-3 ppt-1 degC-1]. :param drho_dt_dt: [out] The second derivative of density with temperature [kg m-3 degC-2]. :param drho_ds_dp: [out] The second derivative of density with salinity and pressure [kg m-3 PSU-1 Pa-1]. :param drho_dt_dp: [out] The second derivative of density with temperature and pressure [kg m-3 degC-1 Pa-1]. :param start: [in] The starting point in the arrays. :param npts: [in] The number of values to calculate. .. f:subroutine:: subroutine calculate_specvol_derivs_linear(T, S, pressure, dSV_dT, dSV_dS, start, npts, Rho_T0_S0, dRho_dT, dRho_dS) Calculate the derivatives of specific volume with temperature and salinity. :param t: [in] Potential temperature relative to the surface [degC]. :param s: [in] Salinity [PSU]. :param pressure: [in] pressure [Pa]. :param dsv_ds: [out] The partial derivative of specific volume with salinity [m3 kg-1 PSU-1]. :param dsv_dt: [out] The partial derivative of specific volume with potential temperature [m3 kg-1 degC-1]. :param start: [in] The starting point in the arrays. :param npts: [in] The number of values to calculate. :param rho_t0_s0: [in] The density at T=0, S=0 [kg m-3]. :param drho_dt: [in] The derivative of density with temperature, [kg m-3 degC-1]. :param drho_ds: [in] The derivative of density with salinity [kg m-3 ppt-1]. .. f:subroutine:: subroutine calculate_compress_linear(T, S, pressure, rho, drho_dp, start, npts, Rho_T0_S0, dRho_dT, dRho_dS) This subroutine computes the in situ density of sea water (rho) and the compressibility (drho/dp == C_sound^-2) at the given salinity, potential temperature, and pressure. :param t: [in] Potential temperature relative to the surface [degC]. :param s: [in] Salinity [PSU]. :param pressure: [in] pressure [Pa]. :param rho: [out] In situ density [kg m-3]. :param drho_dp: [out] The partial derivative of density with pressure (also the inverse of the square of sound speed) [s2 m-2]. :param start: [in] The starting point in the arrays. :param npts: [in] The number of values to calculate. :param rho_t0_s0: [in] The density at T=0, S=0 [kg m-3]. :param drho_dt: [in] The derivative of density with temperature [kg m-3 degC-1]. :param drho_ds: [in] The derivative of density with salinity [kg m-3 ppt-1]. :calledfrom: :f:func:`mom_eos::calculate_compress_array ` .. f:subroutine:: subroutine int_density_dz_linear(T, S, z_t, z_b, rho_ref, rho_0_pres, G_e, HI, Rho_T0_S0, dRho_dT, dRho_dS, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp) This subroutine calculates analytical and nearly-analytical integrals of pressure anomalies across layers, which are required for calculating the finite-volume form pressure accelerations in a Boussinesq model. :param hi: [in] The horizontal index type for the arrays. :param t: [in] Potential temperature relative to the surface :param s: [in] Salinity [PSU]. :param z_t: [in] Height at the top of the layer in depth units [Z ~> m]. :param z_b: [in] Height at the top of the layer [Z ~> m]. :param rho_ref: [in] A mean density [R ~> kg m-3] or [kg m-3], that is subtracted out to reduce the magnitude of each of the integrals. :param rho_0_pres: [in] A density [R ~> kg m-3], used to calculate the pressure (as p~=-z*rho_0_pres*G_e) used in the equation of state. rho_0_pres is not used. :param g_e: [in] The Earth's gravitational acceleration [L2 Z-1 T-2 ~> m s-2] or [m2 Z-1 s-2 ~> m s-2]. :param rho_t0_s0: [in] The density at T=0, S=0 [R ~> kg m-3] or [kg m-3]. :param drho_dt: [in] The derivative of density with temperature, [R degC-1 ~> kg m-3 degC-1] or [kg m-3 degC-1]. :param drho_ds: [in] The derivative of density with salinity, in [R ppt-1 ~> kg m-3 ppt-1] or [kg m-3 ppt-1]. :param dpa: [out] The change in the pressure anomaly across the :param intz_dpa: [out] The integral through the thickness of the layer :param intx_dpa: [out] The integral in x of the difference between the :param inty_dpa: [out] The integral in y of the difference between the :param bathyt: [in] The depth of the bathymetry [Z ~> m]. :param dz_neglect: [in] A miniscule thickness change [Z ~> m]. :param usemasswghtinterp: [in] If true, uses mass weighting to interpolate T/S for top and bottom integrals. .. f:subroutine:: subroutine int_spec_vol_dp_linear(T, S, p_t, p_b, alpha_ref, HI, Rho_T0_S0, dRho_dT, dRho_dS, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp) Calculates analytical and nearly-analytical integrals in pressure across layers of geopotential anomalies, which are required for calculating the finite-volume form pressure accelerations in a non-Boussinesq model. Specific volume is assumed to vary linearly between adjacent points. :param hi: [in] The ocean's horizontal index type. :param t: [in] Potential temperature relative to the surface :param s: [in] Salinity [PSU]. :param p_t: [in] Pressure at the top of the layer [R L2 T-2 ~> Pa] or [Pa]. :param p_b: [in] Pressure at the top of the layer [R L2 T-2 ~> Pa] or [Pa]. :param alpha_ref: [in] A mean specific volume that is subtracted out to reduce the magnitude of each of the integrals [R-1 ~> m3 kg-1]. The calculation is mathematically identical with different values of alpha_ref, but this reduces the effects of roundoff. :param rho_t0_s0: [in] The density at T=0, S=0 [R ~> kg m-3] or [kg m-3]. :param drho_dt: [in] The derivative of density with temperature [R degC-1 ~> kg m-3 degC-1] or [kg m-3 degC-1]. :param drho_ds: [in] The derivative of density with salinity, in [R ppt-1 ~> kg m-3 ppt-1] or [kg m-3 ppt-1]. :param dza: [out] The change in the geopotential anomaly across :param intp_dza: [out] The integral in pressure through the layer of the :param intx_dza: [out] The integral in x of the difference between the :param inty_dza: [out] The integral in y of the difference between the :param halo_size: [in] The width of halo points on which to calculate dza. :param bathyp: [in] The pressure at the bathymetry [R L2 T-2 ~> Pa] or [Pa] :param dp_neglect: [in] A miniscule pressure change with the same units as p_t [R L2 T-2 ~> Pa] or [Pa] :param usemasswghtinterp: [in] If true, uses mass weighting to interpolate T/S for top and bottom integrals. :calledfrom: :f:func:`mom_eos::analytic_int_specific_vol_dp ` [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, Rho_T0_S0, dRho_dT, dRho_dS, rho_ref)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_linear::calculate_density_scalar_linear', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_linear::calculate_compress_linear', , { [debug] DoxygenMethodDocumenter format_signature called ((T, S, z_t, z_b, rho_ref, rho_0_pres, G_e, HI, Rho_T0_S0, dRho_dT, dRho_dS, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_linear::int_density_dz_linear', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_linear::int_density_dz_linear', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((T, S, p_t, p_b, alpha_ref, HI, Rho_T0_S0, dRho_dT, dRho_dS, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_linear::int_spec_vol_dp_linear', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_linear::int_spec_vol_dp_linear', , {}, [fd] run(.. f:subroutine:: subroutine calculate_density_scalar_linear(T, S, pressure, rho, Rho_T0_S0, dRho_dT, dRho_dS, rho_ref)) [fd] sig(subroutine calculate_density_scalar_linear(T, S, pressure, rho, Rho_T0_S0, dRho_dT, dRho_dS, rho_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_scalar_linear) arglist(T, S, pressure, rho, Rho_T0_S0, dRho_dT, dRho_dS, rho_ref) [fd] fullname(mom_eos_linear/calculate_density_scalar_linear) ftype(None) [fd] name(('mom_eos_linear/calculate_density_scalar_linear', None)) sig(subroutine calculate_density_scalar_linear(T, S, pressure, rho, Rho_T0_S0, dRho_dT, dRho_dS, rho_ref)) signode(subroutine mom_eos_linear/calculate_density_scalar_linearTSpressurerhoRho_T0_S0dRho_dTdRho_dSrho_ref) [fd] run(.. f:subroutine:: subroutine calculate_density_array_linear(T, S, pressure, rho, start, npts, Rho_T0_S0, dRho_dT, dRho_dS, rho_ref)) [fd] sig(subroutine calculate_density_array_linear(T, S, pressure, rho, start, npts, Rho_T0_S0, dRho_dT, dRho_dS, rho_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_array_linear) arglist(T, S, pressure, rho, start, npts, Rho_T0_S0, dRho_dT, dRho_dS, rho_ref) [fd] fullname(mom_eos_linear/calculate_density_array_linear) ftype(None) [fd] name(('mom_eos_linear/calculate_density_array_linear', None)) sig(subroutine calculate_density_array_linear(T, S, pressure, rho, start, npts, Rho_T0_S0, dRho_dT, dRho_dS, rho_ref)) signode(subroutine mom_eos_linear/calculate_density_array_linearTSpressurerhostartnptsRho_T0_S0dRho_dTdRho_dSrho_ref) [fd] run(.. f:subroutine:: subroutine calculate_spec_vol_scalar_linear(T, S, pressure, specvol, Rho_T0_S0, dRho_dT, dRho_dS, spv_ref)) [fd] sig(subroutine calculate_spec_vol_scalar_linear(T, S, pressure, specvol, Rho_T0_S0, dRho_dT, dRho_dS, spv_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_spec_vol_scalar_linear) arglist(T, S, pressure, specvol, Rho_T0_S0, dRho_dT, dRho_dS, spv_ref) [fd] fullname(mom_eos_linear/calculate_spec_vol_scalar_linear) ftype(None) [fd] name(('mom_eos_linear/calculate_spec_vol_scalar_linear', None)) sig(subroutine calculate_spec_vol_scalar_linear(T, S, pressure, specvol, Rho_T0_S0, dRho_dT, dRho_dS, spv_ref)) signode(subroutine mom_eos_linear/calculate_spec_vol_scalar_linearTSpressurespecvolRho_T0_S0dRho_dTdRho_dSspv_ref) [fd] run(.. f:subroutine:: subroutine calculate_spec_vol_array_linear(T, S, pressure, specvol, start, npts, Rho_T0_S0, dRho_dT, dRho_dS, spv_ref)) [fd] sig(subroutine calculate_spec_vol_array_linear(T, S, pressure, specvol, start, npts, Rho_T0_S0, dRho_dT, dRho_dS, spv_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_spec_vol_array_linear) arglist(T, S, pressure, specvol, start, npts, Rho_T0_S0, dRho_dT, dRho_dS, spv_ref) [fd] fullname(mom_eos_linear/calculate_spec_vol_array_linear) ftype(None) [fd] name(('mom_eos_linear/calculate_spec_vol_array_linear', None)) sig(subroutine calculate_spec_vol_array_linear(T, S, pressure, specvol, start, npts, Rho_T0_S0, dRho_dT, dRho_dS, spv_ref)) signode(subroutine mom_eos_linear/calculate_spec_vol_array_linearTSpressurespecvolstartnptsRho_T0_S0dRho_dTdRho_dSspv_ref) [fd] run(.. f:subroutine:: subroutine calculate_density_derivs_array_linear(T, S, pressure, drho_dT_out, drho_dS_out, Rho_T0_S0, dRho_dT, dRho_dS, start, npts)) [fd] sig(subroutine calculate_density_derivs_array_linear(T, S, pressure, drho_dT_out, drho_dS_out, Rho_T0_S0, dRho_dT, dRho_dS, start, npts)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_derivs_array_linear) arglist(T, S, pressure, drho_dT_out, drho_dS_out, Rho_T0_S0, dRho_dT, dRho_dS, start, npts) [fd] fullname(mom_eos_linear/calculate_density_derivs_array_linear) ftype(None) [fd] name(('mom_eos_linear/calculate_density_derivs_array_linear', None)) sig(subroutine calculate_density_derivs_array_linear(T, S, pressure, drho_dT_out, drho_dS_out, Rho_T0_S0, dRho_dT, dRho_dS, start, npts)) signode(subroutine mom_eos_linear/calculate_density_derivs_array_linearTSpressuredrho_dT_outdrho_dS_outRho_T0_S0dRho_dTdRho_dSstartnpts) [fd] run(.. f:subroutine:: subroutine calculate_density_derivs_scalar_linear(T, S, pressure, drho_dT_out, drho_dS_out, Rho_T0_S0, dRho_dT, dRho_dS)) [fd] sig(subroutine calculate_density_derivs_scalar_linear(T, S, pressure, drho_dT_out, drho_dS_out, Rho_T0_S0, dRho_dT, dRho_dS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_derivs_scalar_linear) arglist(T, S, pressure, drho_dT_out, drho_dS_out, Rho_T0_S0, dRho_dT, dRho_dS) [fd] fullname(mom_eos_linear/calculate_density_derivs_scalar_linear) ftype(None) [fd] name(('mom_eos_linear/calculate_density_derivs_scalar_linear', None)) sig(subroutine calculate_density_derivs_scalar_linear(T, S, pressure, drho_dT_out, drho_dS_out, Rho_T0_S0, dRho_dT, dRho_dS)) signode(subroutine mom_eos_linear/calculate_density_derivs_scalar_linearTSpressuredrho_dT_outdrho_dS_outRho_T0_S0dRho_dTdRho_dS) [fd] run(.. f:subroutine:: subroutine calculate_density_second_derivs_scalar_linear(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP)) [fd] sig(subroutine calculate_density_second_derivs_scalar_linear(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_second_derivs_scalar_linear) arglist(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP) [fd] fullname(mom_eos_linear/calculate_density_second_derivs_scalar_linear) ftype(None) [fd] name(('mom_eos_linear/calculate_density_second_derivs_scalar_linear', None)) sig(subroutine calculate_density_second_derivs_scalar_linear(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP)) signode(subroutine mom_eos_linear/calculate_density_second_derivs_scalar_linearTSpressuredrho_dS_dSdrho_dS_dTdrho_dT_dTdrho_dS_dPdrho_dT_dP) [fd] run(.. f:subroutine:: subroutine calculate_density_second_derivs_array_linear(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts)) [fd] sig(subroutine calculate_density_second_derivs_array_linear(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_second_derivs_array_linear) arglist(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts) [fd] fullname(mom_eos_linear/calculate_density_second_derivs_array_linear) ftype(None) [fd] name(('mom_eos_linear/calculate_density_second_derivs_array_linear', None)) sig(subroutine calculate_density_second_derivs_array_linear(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts)) signode(subroutine mom_eos_linear/calculate_density_second_derivs_array_linearTSpressuredrho_dS_dSdrho_dS_dTdrho_dT_dTdrho_dS_dPdrho_dT_dPstartnpts) [fd] run(.. f:subroutine:: subroutine calculate_specvol_derivs_linear(T, S, pressure, dSV_dT, dSV_dS, start, npts, Rho_T0_S0, dRho_dT, dRho_dS)) [fd] sig(subroutine calculate_specvol_derivs_linear(T, S, pressure, dSV_dT, dSV_dS, start, npts, Rho_T0_S0, dRho_dT, dRho_dS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_specvol_derivs_linear) arglist(T, S, pressure, dSV_dT, dSV_dS, start, npts, Rho_T0_S0, dRho_dT, dRho_dS) [fd] fullname(mom_eos_linear/calculate_specvol_derivs_linear) ftype(None) [fd] name(('mom_eos_linear/calculate_specvol_derivs_linear', None)) sig(subroutine calculate_specvol_derivs_linear(T, S, pressure, dSV_dT, dSV_dS, start, npts, Rho_T0_S0, dRho_dT, dRho_dS)) signode(subroutine mom_eos_linear/calculate_specvol_derivs_linearTSpressuredSV_dTdSV_dSstartnptsRho_T0_S0dRho_dTdRho_dS) [fd] run(.. f:subroutine:: subroutine calculate_compress_linear(T, S, pressure, rho, drho_dp, start, npts, Rho_T0_S0, dRho_dT, dRho_dS)) [fd] sig(subroutine calculate_compress_linear(T, S, pressure, rho, drho_dp, start, npts, Rho_T0_S0, dRho_dT, dRho_dS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_compress_linear) arglist(T, S, pressure, rho, drho_dp, start, npts, Rho_T0_S0, dRho_dT, dRho_dS) [fd] fullname(mom_eos_linear/calculate_compress_linear) ftype(None) [fd] name(('mom_eos_linear/calculate_compress_linear', None)) sig(subroutine calculate_compress_linear(T, S, pressure, rho, drho_dp, start, npts, Rho_T0_S0, dRho_dT, dRho_dS)) signode(subroutine mom_eos_linear/calculate_compress_linearTSpressurerhodrho_dpstartnptsRho_T0_S0dRho_dTdRho_dS) [fd] run(.. f:subroutine:: subroutine int_density_dz_linear(T, S, z_t, z_b, rho_ref, rho_0_pres, G_e, HI, Rho_T0_S0, dRho_dT, dRho_dS, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) [fd] sig(subroutine int_density_dz_linear(T, S, z_t, z_b, rho_ref, rho_0_pres, G_e, HI, Rho_T0_S0, dRho_dT, dRho_dS, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(int_density_dz_linear) arglist(T, S, z_t, z_b, rho_ref, rho_0_pres, G_e, HI, Rho_T0_S0, dRho_dT, dRho_dS, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp) [fd] fullname(mom_eos_linear/int_density_dz_linear) ftype(None) [fd] name(('mom_eos_linear/int_density_dz_linear', None)) sig(subroutine int_density_dz_linear(T, S, z_t, z_b, rho_ref, rho_0_pres, G_e, HI, Rho_T0_S0, dRho_dT, dRho_dS, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp)) signode(subroutine mom_eos_linear/int_density_dz_linearTSz_tz_brho_refrho_0_presG_eHIRho_T0_S0dRho_dTdRho_dSdpaintz_dpaintx_dpainty_dpabathyTdz_neglectuseMassWghtInterp) [fd] run(.. f:subroutine:: subroutine int_spec_vol_dp_linear(T, S, p_t, p_b, alpha_ref, HI, Rho_T0_S0, dRho_dT, dRho_dS, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp)) [fd] sig(subroutine int_spec_vol_dp_linear(T, S, p_t, p_b, alpha_ref, HI, Rho_T0_S0, dRho_dT, dRho_dS, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(int_spec_vol_dp_linear) arglist(T, S, p_t, p_b, alpha_ref, HI, Rho_T0_S0, dRho_dT, dRho_dS, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp) [fd] fullname(mom_eos_linear/int_spec_vol_dp_linear) ftype(None) [fd] name(('mom_eos_linear/int_spec_vol_dp_linear', None)) sig(subroutine int_spec_vol_dp_linear(T, S, p_t, p_b, alpha_ref, HI, Rho_T0_S0, dRho_dT, dRho_dS, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp)) signode(subroutine mom_eos_linear/int_spec_vol_dp_linearTSp_tp_balpha_refHIRho_T0_S0dRho_dTdRho_dSdzaintp_dzaintx_dzainty_dzahalo_sizebathyPdP_neglectuseMassWghtInterp) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 32%] api/generated/modules/mom_eos_nemo [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_eos_nemo [app] emitting event: 'source-read'('api/generated/modules/mom_eos_nemo', ['.. autodoxymodule:: mom_eos_nemo\n :members:\n :methods [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_eos_nemo.rst:1: input: .. autodoxymodule:: mom_eos_nemo :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_eos_nemo::calculate_density_scalar_nemo ~mom_eos_nemo::calculate_density_array_nemo ~mom_eos_nemo::calculate_density_derivs_array_nemo ~mom_eos_nemo::calculate_density_derivs_scalar_nemo ~mom_eos_nemo::calculate_compress_nemo [debug] xpath(./compounddef/compoundname[text()="mom_eos_nemo"]/..) match([('id', 'namespacemom__eos__nemo'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_eos_nemo module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos_nemo', , {'members': , {'members': , {'members': ), ('calculate_density_array_nemo', ), ('calculate_density_derivs_array_nemo', ), ('calculate_density_derivs_scalar_nemo', ), ('calculate_compress_nemo', )]) [autodoc] module analyzer failed: error importing 'mom_eos_nemo' (exception was: ModuleNotFoundError("No module named 'mom_eos_nemo'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, rho_ref)) [debug] add_directive_header sig((T, S, pressure, rho, rho_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_scalar_nemo) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_scalar_nemo', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_scalar_nemo', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_scalar_nemo', , {'members': < [autodoc] module analyzer failed: error importing 'mom_eos_nemo' (exception was: ModuleNotFoundError("No module named 'mom_eos_nemo'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, start, npts, rho_ref)) [debug] add_directive_header sig((T, S, pressure, rho, start, npts, rho_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_array_nemo) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_nemo', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_nemo', , {'membe [autodoc] module analyzer failed: error importing 'mom_eos_nemo' (exception was: ModuleNotFoundError("No module named 'mom_eos_nemo'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dt, drho_ds)) [debug] add_directive_header sig((T, S, pressure, drho_dt, drho_ds)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_derivs_scalar_nemo) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_scalar_nemo', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_scalar_nemo', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_scalar_nemo', , {'memb [autodoc] module analyzer failed: error importing 'mom_eos_nemo' (exception was: ModuleNotFoundError("No module named 'mom_eos_nemo'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, drho_dp, start, npts)) [debug] add_directive_header sig((T, S, pressure, rho, drho_dp, start, npts)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_compress_nemo) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_compress_nemo', , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_eos_nemo::calculate_density_scalar_nemo ~mom_eos_nemo::calculate_density_array_nemo ~mom_eos_nemo::calculate_density_derivs_array_nemo ~mom_eos_nemo::calculate_density_derivs_scalar_nemo ~mom_eos_nemo::calculate_compress_nemo .. _DETAmom_eos_nemo: -------------------- Detailed Description -------------------- The equation of state using the expressions of Roquet et al. that are used in NEMO. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine calculate_density_scalar_nemo(T, S, pressure, rho, rho_ref) This subroutine computes the in situ density of sea water (rho in [kg m-3]) from absolute salinity (S [g kg-1]), conservative temperature (T [degC]), and pressure [Pa]. It uses the expressions derived for use with NEMO. :param t: [in] Conservative temperature [degC]. :param s: [in] Absolute salinity [g kg-1]. :param pressure: [in] pressure [Pa]. :param rho: [out] In situ density [kg m-3]. :param rho_ref: [in] A reference density [kg m-3]. :callto: :f:func:`calculate_density_array_nemo ` .. f:subroutine:: subroutine calculate_density_array_nemo(T, S, pressure, rho, start, npts, rho_ref) This subroutine computes the in situ density of sea water (rho in [kg m-3]) from absolute salinity (S [g kg-1]), conservative temperature (T [degC]), and pressure [Pa]. It uses the expressions derived for use with NEMO. :param t: [in] Conservative temperature [degC]. :param s: [in] Absolute salinity [g kg-1]. :param pressure: [in] pressure [Pa]. :param rho: [out] in situ density [kg m-3]. :param start: [in] the starting point in the arrays. :param npts: [in] the number of values to calculate. :param rho_ref: [in] A reference density [kg m-3]. :callto: :f:func:`eos000 ` :callto: :f:func:`eos001 ` :callto: :f:func:`eos002 ` :callto: :f:func:`eos003 ` :callto: :f:func:`eos010 ` :callto: :f:func:`eos011 ` :callto: :f:func:`eos012 ` :callto: :f:func:`eos013 ` :callto: :f:func:`eos020 ` :callto: :f:func:`eos021 ` :callto: :f:func:`eos022 ` :callto: :f:func:`eos030 ` :callto: :f:func:`eos031 ` :callto: :f:func:`eos040 ` :callto: :f:func:`eos041 ` :callto: :f:func:`eos050 ` :callto: :f:func:`eos060 ` :callto: :f:func:`eos100 ` :callto: :f:func:`eos101 ` :callto: :f:func:`eos102 ` :callto: :f:func:`eos103 ` :callto: :f:func:`eos110 ` :callto: :f:func:`eos111 ` :callto: :f:func:`eos112 ` :callto: :f:func:`eos120 ` :callto: :f:func:`eos121 ` :callto: :f:func:`eos130 ` :callto: :f:func:`eos131 ` :callto: :f:func:`eos140 ` :callto: :f:func:`eos150 ` :callto: :f:func:`eos200 ` :callto: :f:func:`eos201 ` :callto: :f:func:`eos202 ` :callto: :f:func:`eos210 ` :callto: :f:func:`eos211 ` :callto: :f:func:`eos220 ` :callto: :f:func:`eos221 ` :callto: :f:func:`eos230 ` :callto: :f:func:`eos240 ` :callto: :f:func:`eos300 ` :callto: :f:func:`eos301 ` :callto: :f:func:`eos310 ` :callto: :f:func:`eos311 ` :callto: :f:func:`eos320 ` :callto: :f:func:`eos330 ` :callto: :f:func:`eos400 ` :callto: :f:func:`eos401 ` :callto: :f:func:`eos410 ` :callto: :f:func:`eos420 ` :callto: :f:func:`eos500 ` :callto: :f:func:`eos510 ` :callto: :f:func:`eos600 ` :callto: :f:func:`pa2db ` :callto: :f:func:`r00 ` :callto: :f:func:`r01 ` :callto: :f:func:`r02 ` :callto: :f:func:`r03 ` :callto: :f:func:`r04 ` :callto: :f:func:`r05 ` :callto: :f:func:`r1_p0 ` :callto: :f:func:`r1_s0 ` :callto: :f:func:`r1_t0 ` :callto: :f:func:`rdeltas ` :calledfrom: :f:func:`calculate_compress_nemo ` :calledfrom: :f:func:`calculate_density_scalar_nemo ` .. f:subroutine:: subroutine calculate_density_derivs_array_nemo(T, S, pressure, drho_dT, drho_dS, start, npts) For a given thermodynamic state, calculate the derivatives of density with conservative temperature and absolute salinity, using the expressions derived for use with NEMO. :param t: [in] Conservative temperature [degC]. :param s: [in] Absolute salinity [g kg-1]. :param pressure: [in] pressure [Pa]. :param drho_dt: [out] The partial derivative of density with potential temperature [kg m-3 degC-1]. :param drho_ds: [out] The partial derivative of density with salinity, in [kg m-3 ppt-1]. :param start: [in] The starting point in the arrays. :param npts: [in] The number of values to calculate. :callto: :f:func:`alp000 ` :callto: :f:func:`alp001 ` :callto: :f:func:`alp002 ` :callto: :f:func:`alp003 ` :callto: :f:func:`alp010 ` :callto: :f:func:`alp011 ` :callto: :f:func:`alp012 ` :callto: :f:func:`alp020 ` :callto: :f:func:`alp021 ` :callto: :f:func:`alp030 ` :callto: :f:func:`alp031 ` :callto: :f:func:`alp040 ` :callto: :f:func:`alp050 ` :callto: :f:func:`alp100 ` :callto: :f:func:`alp101 ` :callto: :f:func:`alp102 ` :callto: :f:func:`alp110 ` :callto: :f:func:`alp111 ` :callto: :f:func:`alp120 ` :callto: :f:func:`alp121 ` :callto: :f:func:`alp130 ` :callto: :f:func:`alp140 ` :callto: :f:func:`alp200 ` :callto: :f:func:`alp201 ` :callto: :f:func:`alp210 ` :callto: :f:func:`alp211 ` :callto: :f:func:`alp220 ` :callto: :f:func:`alp230 ` :callto: :f:func:`alp300 ` :callto: :f:func:`alp301 ` :callto: :f:func:`alp310 ` :callto: :f:func:`alp320 ` :callto: :f:func:`alp400 ` :callto: :f:func:`alp410 ` :callto: :f:func:`alp500 ` :callto: :f:func:`bet000 ` :callto: :f:func:`bet001 ` :callto: :f:func:`bet002 ` :callto: :f:func:`bet003 ` :callto: :f:func:`bet010 ` :callto: :f:func:`bet011 ` :callto: :f:func:`bet012 ` :callto: :f:func:`bet020 ` :callto: :f:func:`bet021 ` :callto: :f:func:`bet030 ` :callto: :f:func:`bet031 ` :callto: :f:func:`bet040 ` :callto: :f:func:`bet050 ` :callto: :f:func:`bet100 ` :callto: :f:func:`bet101 ` :callto: :f:func:`bet102 ` :callto: :f:func:`bet110 ` :callto: :f:func:`bet111 ` :callto: :f:func:`bet120 ` :callto: :f:func:`bet121 ` :callto: :f:func:`bet130 ` :callto: :f:func:`bet140 ` :callto: :f:func:`bet200 ` :callto: :f:func:`bet201 ` :callto: :f:func:`bet210 ` :callto: :f:func:`bet211 ` :callto: :f:func:`bet220 ` :callto: :f:func:`bet230 ` :callto: :f:func:`bet300 ` :callto: :f:func:`bet301 ` :callto: :f:func:`bet310 ` :callto: :f:func:`bet320 ` :callto: :f:func:`bet400 ` :callto: :f:func:`bet410 ` :callto: :f:func:`bet500 ` :callto: :f:func:`pa2db ` :callto: :f:func:`r1_p0 ` :callto: :f:func:`r1_s0 ` :callto: :f:func:`r1_t0 ` :callto: :f:func:`rdeltas ` :calledfrom: :f:func:`calculate_density_derivs_scalar_nemo ` .. f:subroutine:: subroutine calculate_density_derivs_scalar_nemo(T, S, pressure, drho_dt, drho_ds) Wrapper to calculate_density_derivs_array for scalar inputs. :param t: [in] Potential temperature relative to the surface [degC]. :param s: [in] Salinity [g kg-1]. :param pressure: [in] Pressure [Pa]. :param drho_dt: [out] The partial derivative of density with potential temperature [kg m-3 degC-1]. :param drho_ds: [out] The partial derivative of density with salinity, in [kg m-3 ppt-1]. :callto: :f:func:`calculate_density_derivs_array_nemo ` .. f:subroutine:: subroutine calculate_compress_nemo(T, S, pressure, rho, drho_dp, start, npts) Compute the in situ density of sea water (rho in [kg m-3]) and the compressibility (drho/dp = C_sound^-2, stored as drho_dp [s2 m-2]) from absolute salinity (sal in g/kg), conservative temperature (T [degC]), and pressure [Pa], using the expressions derived for use with NEMO. :param t: [in] Conservative temperature [degC]. :param s: [in] Absolute salinity [g/kg]. :param pressure: [in] pressure [Pa]. :param rho: [out] In situ density [kg m-3]. :param drho_dp: [out] The partial derivative of density with pressure (also the inverse of the square of sound speed) [s2 m-2]. :param start: [in] The starting point in the arrays. :param npts: [in] The number of values to calculate. :callto: :f:func:`calculate_density_array_nemo ` :callto: :f:func:`pa2db ` :calledfrom: :f:func:`mom_eos::calculate_compress_array ` [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, rho_ref)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_nemo::calculate_density_scalar_nemo', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_nemo::calculate_density_scalar_nemo', , [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, start, npts, rho_ref)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_nemo::calculate_density_array_nemo', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_nemo::calculate_density_array_nemo', , [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dT, drho_dS, start, npts)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_nemo::calculate_density_derivs_array_nemo', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_nemo::calculate_compress_nemo', , {}, [ [fd] run(.. f:subroutine:: subroutine calculate_density_scalar_nemo(T, S, pressure, rho, rho_ref)) [fd] sig(subroutine calculate_density_scalar_nemo(T, S, pressure, rho, rho_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_scalar_nemo) arglist(T, S, pressure, rho, rho_ref) [fd] fullname(mom_eos_nemo/calculate_density_scalar_nemo) ftype(None) [fd] name(('mom_eos_nemo/calculate_density_scalar_nemo', None)) sig(subroutine calculate_density_scalar_nemo(T, S, pressure, rho, rho_ref)) signode(subroutine mom_eos_nemo/calculate_density_scalar_nemoTSpressurerhorho_ref) [fd] run(.. f:subroutine:: subroutine calculate_density_array_nemo(T, S, pressure, rho, start, npts, rho_ref)) [fd] sig(subroutine calculate_density_array_nemo(T, S, pressure, rho, start, npts, rho_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_array_nemo) arglist(T, S, pressure, rho, start, npts, rho_ref) [fd] fullname(mom_eos_nemo/calculate_density_array_nemo) ftype(None) [fd] name(('mom_eos_nemo/calculate_density_array_nemo', None)) sig(subroutine calculate_density_array_nemo(T, S, pressure, rho, start, npts, rho_ref)) signode(subroutine mom_eos_nemo/calculate_density_array_nemoTSpressurerhostartnptsrho_ref) [fd] run(.. f:subroutine:: subroutine calculate_density_derivs_array_nemo(T, S, pressure, drho_dT, drho_dS, start, npts)) [fd] sig(subroutine calculate_density_derivs_array_nemo(T, S, pressure, drho_dT, drho_dS, start, npts)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_derivs_array_nemo) arglist(T, S, pressure, drho_dT, drho_dS, start, npts) [fd] fullname(mom_eos_nemo/calculate_density_derivs_array_nemo) ftype(None) [fd] name(('mom_eos_nemo/calculate_density_derivs_array_nemo', None)) sig(subroutine calculate_density_derivs_array_nemo(T, S, pressure, drho_dT, drho_dS, start, npts)) signode(subroutine mom_eos_nemo/calculate_density_derivs_array_nemoTSpressuredrho_dTdrho_dSstartnpts) [fd] run(.. f:subroutine:: subroutine calculate_density_derivs_scalar_nemo(T, S, pressure, drho_dt, drho_ds)) [fd] sig(subroutine calculate_density_derivs_scalar_nemo(T, S, pressure, drho_dt, drho_ds)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_derivs_scalar_nemo) arglist(T, S, pressure, drho_dt, drho_ds) [fd] fullname(mom_eos_nemo/calculate_density_derivs_scalar_nemo) ftype(None) [fd] name(('mom_eos_nemo/calculate_density_derivs_scalar_nemo', None)) sig(subroutine calculate_density_derivs_scalar_nemo(T, S, pressure, drho_dt, drho_ds)) signode(subroutine mom_eos_nemo/calculate_density_derivs_scalar_nemoTSpressuredrho_dtdrho_ds) [fd] run(.. f:subroutine:: subroutine calculate_compress_nemo(T, S, pressure, rho, drho_dp, start, npts)) [fd] sig(subroutine calculate_compress_nemo(T, S, pressure, rho, drho_dp, start, npts)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_compress_nemo) arglist(T, S, pressure, rho, drho_dp, start, npts) [fd] fullname(mom_eos_nemo/calculate_compress_nemo) ftype(None) [fd] name(('mom_eos_nemo/calculate_compress_nemo', None)) sig(subroutine calculate_compress_nemo(T, S, pressure, rho, drho_dp, start, npts)) signode(subroutine mom_eos_nemo/calculate_compress_nemoTSpressurerhodrho_dpstartnpts) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 32%] api/generated/modules/mom_eos_teos10 [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_eos_teos [app] emitting event: 'source-read'('api/generated/modules/mom_eos_teos10', ['.. autodoxymodule:: mom_eos_teos10\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_eos_teos10.rst:1: input: .. autodoxymodule:: mom_eos_teos10 :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_eos_teos10::calculate_density_scalar_teos10 ~mom_eos_teos10::calculate_density_array_teos10 ~mom_eos_teos10::calculate_spec_vol_scalar_teos10 ~mom_eos_teos10::calculate_spec_vol_array_teos10 ~mom_eos_teos10::calculate_density_derivs_array_teos10 ~mom_eos_teos10::calculate_density_derivs_scalar_teos10 ~mom_eos_teos10::calculate_specvol_derivs_teos10 ~mom_eos_teos10::calculate_density_second_derivs_scalar_teos10 ~mom_eos_teos10::calculate_density_second_derivs_array_teos10 ~mom_eos_teos10::calculate_compress_teos10 [debug] xpath(./compounddef/compoundname[text()="mom_eos_teos10"]/..) match([('id', 'namespacemom__eos__teos10'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_eos_teos10 module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos_teos10', , {'members': , {'members': , {'members': ), ('calculate_density_array_teos10', ), ('calculate_spec_vol_scalar_teos10', ), ('calculate_spec_vol_array_teos10', ), ('calculate_density_derivs_array_teos10', ), ('calculate_density_derivs_scalar_teos10', ), ('calculate_specvol_derivs_teos10', ), ('calculate_density_second_derivs_scalar_teos10', ), ('calculate_density_second_derivs_array_teos10', ), ('calculate_compress_teos10', )]) [autodoc] module analyzer failed: error importing 'mom_eos_teos10' (exception was: ModuleNotFoundError("No module named 'mom_eos_teos10'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, rho_ref)) [debug] add_directive_header sig((T, S, pressure, rho, rho_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_scalar_teos10) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_scalar_teos10', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_scalar_teos10', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_scalar_teos10', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos_teos10' (exception was: ModuleNotFoundError("No module named 'mom_eos_teos10'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, start, npts, rho_ref)) [debug] add_directive_header sig((T, S, pressure, rho, start, npts, rho_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_array_teos10) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_teos10', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_teos10', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_teos10', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_teos10', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos_teos10' (exception was: ModuleNotFoundError("No module named 'mom_eos_teos10'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, specvol, spv_ref)) [debug] add_directive_header sig((T, S, pressure, specvol, spv_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_spec_vol_scalar_teos10) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_scalar_teos10', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_scalar_teos10', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_scalar_teos10', , {'members' [autodoc] module analyzer failed: error importing 'mom_eos_teos10' (exception was: ModuleNotFoundError("No module named 'mom_eos_teos10'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, specvol, start, npts, spv_ref)) [debug] add_directive_header sig((T, S, pressure, specvol, start, npts, spv_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_spec_vol_array_teos10) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_teos10', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_teos10', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_teos10', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_teos10', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos_teos10' (exception was: ModuleNotFoundError("No module named 'mom_eos_teos10'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dT, drho_dS, start, npts)) [debug] add_directive_header sig((T, S, pressure, drho_dT, drho_dS, start, npts)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_derivs_array_teos10) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_teos10', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_teos10', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_teos10', , {'mem [autodoc] module analyzer failed: error importing 'mom_eos_teos10' (exception was: ModuleNotFoundError("No module named 'mom_eos_teos10'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dT, drho_dS)) [debug] add_directive_header sig((T, S, pressure, drho_dT, drho_dS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_derivs_scalar_teos10) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_scalar_teos10', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_scalar_teos10', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_scalar_teos10', , {'me [autodoc] module analyzer failed: error importing 'mom_eos_teos10' (exception was: ModuleNotFoundError("No module named 'mom_eos_teos10'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, dSV_dT, dSV_dS, start, npts)) [debug] add_directive_header sig((T, S, pressure, dSV_dT, dSV_dS, start, npts)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_specvol_derivs_teos10) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_teos10', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_teos10', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_teos10', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos_teos10' (exception was: ModuleNotFoundError("No module named 'mom_eos_teos10'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP)) [debug] add_directive_header sig((T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_second_derivs_scalar_teos10) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_scalar_teos10', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_teos10', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_teos10', [autodoc] module analyzer failed: error importing 'mom_eos_teos10' (exception was: ModuleNotFoundError("No module named 'mom_eos_teos10'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, drho_dp, start, npts)) [debug] add_directive_header sig((T, S, pressure, rho, drho_dp, start, npts)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_compress_teos10) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_compress_teos10', , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_eos_teos10::calculate_density_scalar_teos10 ~mom_eos_teos10::calculate_density_array_teos10 ~mom_eos_teos10::calculate_spec_vol_scalar_teos10 ~mom_eos_teos10::calculate_spec_vol_array_teos10 ~mom_eos_teos10::calculate_density_derivs_array_teos10 ~mom_eos_teos10::calculate_density_derivs_scalar_teos10 ~mom_eos_teos10::calculate_specvol_derivs_teos10 ~mom_eos_teos10::calculate_density_second_derivs_scalar_teos10 ~mom_eos_teos10::calculate_density_second_derivs_array_teos10 ~mom_eos_teos10::calculate_compress_teos10 .. _DETAmom_eos_teos10: -------------------- Detailed Description -------------------- The equation of state using the TEOS10 expressions. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine calculate_density_scalar_teos10(T, S, pressure, rho, rho_ref) This subroutine computes the in situ density of sea water (rho in [kg m-3]) from absolute salinity (S [g kg-1]), conservative temperature (T [degC]), and pressure [Pa]. It uses the expression from the TEOS10 website. :param t: [in] Conservative temperature [degC]. :param s: [in] Absolute salinity [g kg-1]. :param pressure: [in] pressure [Pa]. :param rho: [out] In situ density [kg m-3]. :param rho_ref: [in] A reference density [kg m-3]. :callto: :f:func:`calculate_density_array_teos10 ` .. f:subroutine:: subroutine calculate_density_array_teos10(T, S, pressure, rho, start, npts, rho_ref) This subroutine computes the in situ density of sea water (rho in [kg m-3]) from absolute salinity (S [g kg-1]), conservative temperature (T [degC]), and pressure [Pa]. It uses the expression from the TEOS10 website. :param t: [in] Conservative temperature [degC]. :param s: [in] Absolute salinity [g kg-1] :param pressure: [in] pressure [Pa]. :param rho: [out] in situ density [kg m-3]. :param start: [in] the starting point in the arrays. :param npts: [in] the number of values to calculate. :param rho_ref: [in] A reference density [kg m-3]. :callto: :f:func:`pa2db ` :calledfrom: :f:func:`calculate_density_scalar_teos10 ` .. f:subroutine:: subroutine calculate_spec_vol_scalar_teos10(T, S, pressure, specvol, spv_ref) This subroutine computes the in situ specific volume of sea water (specvol in [m3 kg-1]) from absolute salinity (S [g kg-1]), conservative temperature (T [degC]) and pressure [Pa], using the TEOS10 equation of state. If spv_ref is present, specvol is an anomaly from spv_ref. :param t: [in] Conservative temperature [degC]. :param s: [in] Absolute salinity [g kg-1] :param pressure: [in] pressure [Pa]. :param specvol: [out] in situ specific volume [m3 kg-1]. :param spv_ref: [in] A reference specific volume [m3 kg-1]. :callto: :f:func:`calculate_spec_vol_array_teos10 ` .. f:subroutine:: subroutine calculate_spec_vol_array_teos10(T, S, pressure, specvol, start, npts, spv_ref) This subroutine computes the in situ specific volume of sea water (specvol in [m3 kg-1]) from absolute salinity (S [g kg-1]), conservative temperature (T [degC]) and pressure [Pa], using the TEOS10 equation of state. If spv_ref is present, specvol is an anomaly from spv_ref. :param t: [in] Conservative temperature relative to the surface [degC]. :param s: [in] salinity [g kg-1]. :param pressure: [in] pressure [Pa]. :param specvol: [out] in situ specific volume [m3 kg-1]. :param start: [in] the starting point in the arrays. :param npts: [in] the number of values to calculate. :param spv_ref: [in] A reference specific volume [m3 kg-1]. :callto: :f:func:`pa2db ` :calledfrom: :f:func:`calculate_spec_vol_scalar_teos10 ` .. f:subroutine:: subroutine calculate_density_derivs_array_teos10(T, S, pressure, drho_dT, drho_dS, start, npts) For a given thermodynamic state, calculate the derivatives of density with conservative temperature and absolute salinity, using the TEOS10 expressions. :param t: [in] Conservative temperature [degC]. :param s: [in] Absolute salinity [g kg-1]. :param pressure: [in] pressure [Pa]. :param drho_dt: [out] The partial derivative of density with conservative temperature [kg m-3 degC-1]. :param drho_ds: [out] The partial derivative of density with absolute salinity, [kg m-3 (g/kg)-1]. :param start: [in] The starting point in the arrays. :param npts: [in] The number of values to calculate. :callto: :f:func:`pa2db ` .. f:subroutine:: subroutine calculate_density_derivs_scalar_teos10(T, S, pressure, drho_dT, drho_dS) For a given thermodynamic state, calculate the derivatives of density with conservative temperature and absolute salinity, using the TEOS10 expressions. :param t: [in] Conservative temperature [degC] :param s: [in] Absolute Salinity [g kg-1] :param pressure: [in] pressure [Pa]. :param drho_dt: [out] The partial derivative of density with conservative temperature [kg m-3 degC-1]. :param drho_ds: [out] The partial derivative of density with absolute salinity, [kg m-3 (g/kg)-1]. :callto: :f:func:`pa2db ` .. f:subroutine:: subroutine calculate_specvol_derivs_teos10(T, S, pressure, dSV_dT, dSV_dS, start, npts) For a given thermodynamic state, calculate the derivatives of specific volume with conservative temperature and absolute salinity, using the TEOS10 expressions. :param t: [in] Conservative temperature [degC]. :param s: [in] Absolute salinity [g kg-1]. :param pressure: [in] pressure [Pa]. :param dsv_dt: [out] The partial derivative of specific volume with conservative temperature [m3 kg-1 degC-1]. :param dsv_ds: [out] The partial derivative of specific volume with absolute salinity [m3 kg-1 (g/kg)-1]. :param start: [in] The starting point in the arrays. :param npts: [in] The number of values to calculate. :callto: :f:func:`pa2db ` .. f:subroutine:: subroutine calculate_density_second_derivs_scalar_teos10(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP) Calculate the 5 second derivatives of the equation of state for scalar inputs. :param t: [in] Conservative temperature [degC] :param s: [in] Absolute Salinity [g kg-1] :param pressure: [in] pressure [Pa]. :param drho_ds_ds: [out] Partial derivative of beta with respect to S :param drho_ds_dt: [out] Partial derivative of beta with resepct to T :param drho_dt_dt: [out] Partial derivative of alpha with respect to T :param drho_ds_dp: [out] Partial derivative of beta with respect to pressure :param drho_dt_dp: [out] Partial derivative of alpha with respect to pressure :callto: :f:func:`pa2db ` .. f:subroutine:: subroutine calculate_density_second_derivs_array_teos10(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts) Calculate the 5 second derivatives of the equation of state for scalar inputs. :param t: [in] Conservative temperature [degC] :param s: [in] Absolute Salinity [g kg-1] :param pressure: [in] pressure [Pa]. :param drho_ds_ds: [out] Partial derivative of beta with respect to S :param drho_ds_dt: [out] Partial derivative of beta with resepct to T :param drho_dt_dt: [out] Partial derivative of alpha with respect to T :param drho_ds_dp: [out] Partial derivative of beta with respect to pressure :param drho_dt_dp: [out] Partial derivative of alpha with respect to pressure :param start: [in] The starting point in the arrays. :param npts: [in] The number of values to calculate. :callto: :f:func:`pa2db ` .. f:subroutine:: subroutine calculate_compress_teos10(T, S, pressure, rho, drho_dp, start, npts) This subroutine computes the in situ density of sea water (rho in [kg m-3]) and the compressibility (drho/dp = C_sound^-2) (drho_dp [s2 m-2]) from absolute salinity (sal in g/kg), conservative temperature (T [degC]), and pressure [Pa]. It uses the subroutines from TEOS10 website. :param t: [in] Conservative temperature [degC]. :param s: [in] Absolute salinity [g kg-1]. :param pressure: [in] Pressure [Pa]. :param rho: [out] In situ density [kg m-3]. :param drho_dp: [out] The partial derivative of density with pressure (also the inverse of the square of sound speed) [s2 m-2]. :param start: [in] The starting point in the arrays. :param npts: [in] The number of values to calculate. :callto: :f:func:`pa2db ` [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, rho_ref)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_teos10::calculate_density_scalar_teos10', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_teos10::calculate_compress_teos10', , { [fd] run(.. f:subroutine:: subroutine calculate_density_scalar_teos10(T, S, pressure, rho, rho_ref)) [fd] sig(subroutine calculate_density_scalar_teos10(T, S, pressure, rho, rho_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_scalar_teos10) arglist(T, S, pressure, rho, rho_ref) [fd] fullname(mom_eos_teos10/calculate_density_scalar_teos10) ftype(None) [fd] name(('mom_eos_teos10/calculate_density_scalar_teos10', None)) sig(subroutine calculate_density_scalar_teos10(T, S, pressure, rho, rho_ref)) signode(subroutine mom_eos_teos10/calculate_density_scalar_teos10TSpressurerhorho_ref) [fd] run(.. f:subroutine:: subroutine calculate_density_array_teos10(T, S, pressure, rho, start, npts, rho_ref)) [fd] sig(subroutine calculate_density_array_teos10(T, S, pressure, rho, start, npts, rho_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_array_teos10) arglist(T, S, pressure, rho, start, npts, rho_ref) [fd] fullname(mom_eos_teos10/calculate_density_array_teos10) ftype(None) [fd] name(('mom_eos_teos10/calculate_density_array_teos10', None)) sig(subroutine calculate_density_array_teos10(T, S, pressure, rho, start, npts, rho_ref)) signode(subroutine mom_eos_teos10/calculate_density_array_teos10TSpressurerhostartnptsrho_ref) [fd] run(.. f:subroutine:: subroutine calculate_spec_vol_scalar_teos10(T, S, pressure, specvol, spv_ref)) [fd] sig(subroutine calculate_spec_vol_scalar_teos10(T, S, pressure, specvol, spv_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_spec_vol_scalar_teos10) arglist(T, S, pressure, specvol, spv_ref) [fd] fullname(mom_eos_teos10/calculate_spec_vol_scalar_teos10) ftype(None) [fd] name(('mom_eos_teos10/calculate_spec_vol_scalar_teos10', None)) sig(subroutine calculate_spec_vol_scalar_teos10(T, S, pressure, specvol, spv_ref)) signode(subroutine mom_eos_teos10/calculate_spec_vol_scalar_teos10TSpressurespecvolspv_ref) [fd] run(.. f:subroutine:: subroutine calculate_spec_vol_array_teos10(T, S, pressure, specvol, start, npts, spv_ref)) [fd] sig(subroutine calculate_spec_vol_array_teos10(T, S, pressure, specvol, start, npts, spv_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_spec_vol_array_teos10) arglist(T, S, pressure, specvol, start, npts, spv_ref) [fd] fullname(mom_eos_teos10/calculate_spec_vol_array_teos10) ftype(None) [fd] name(('mom_eos_teos10/calculate_spec_vol_array_teos10', None)) sig(subroutine calculate_spec_vol_array_teos10(T, S, pressure, specvol, start, npts, spv_ref)) signode(subroutine mom_eos_teos10/calculate_spec_vol_array_teos10TSpressurespecvolstartnptsspv_ref) [fd] run(.. f:subroutine:: subroutine calculate_density_derivs_array_teos10(T, S, pressure, drho_dT, drho_dS, start, npts)) [fd] sig(subroutine calculate_density_derivs_array_teos10(T, S, pressure, drho_dT, drho_dS, start, npts)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_derivs_array_teos10) arglist(T, S, pressure, drho_dT, drho_dS, start, npts) [fd] fullname(mom_eos_teos10/calculate_density_derivs_array_teos10) ftype(None) [fd] name(('mom_eos_teos10/calculate_density_derivs_array_teos10', None)) sig(subroutine calculate_density_derivs_array_teos10(T, S, pressure, drho_dT, drho_dS, start, npts)) signode(subroutine mom_eos_teos10/calculate_density_derivs_array_teos10TSpressuredrho_dTdrho_dSstartnpts) [fd] run(.. f:subroutine:: subroutine calculate_density_derivs_scalar_teos10(T, S, pressure, drho_dT, drho_dS)) [fd] sig(subroutine calculate_density_derivs_scalar_teos10(T, S, pressure, drho_dT, drho_dS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_derivs_scalar_teos10) arglist(T, S, pressure, drho_dT, drho_dS) [fd] fullname(mom_eos_teos10/calculate_density_derivs_scalar_teos10) ftype(None) [fd] name(('mom_eos_teos10/calculate_density_derivs_scalar_teos10', None)) sig(subroutine calculate_density_derivs_scalar_teos10(T, S, pressure, drho_dT, drho_dS)) signode(subroutine mom_eos_teos10/calculate_density_derivs_scalar_teos10TSpressuredrho_dTdrho_dS) [fd] run(.. f:subroutine:: subroutine calculate_specvol_derivs_teos10(T, S, pressure, dSV_dT, dSV_dS, start, npts)) [fd] sig(subroutine calculate_specvol_derivs_teos10(T, S, pressure, dSV_dT, dSV_dS, start, npts)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_specvol_derivs_teos10) arglist(T, S, pressure, dSV_dT, dSV_dS, start, npts) [fd] fullname(mom_eos_teos10/calculate_specvol_derivs_teos10) ftype(None) [fd] name(('mom_eos_teos10/calculate_specvol_derivs_teos10', None)) sig(subroutine calculate_specvol_derivs_teos10(T, S, pressure, dSV_dT, dSV_dS, start, npts)) signode(subroutine mom_eos_teos10/calculate_specvol_derivs_teos10TSpressuredSV_dTdSV_dSstartnpts) [fd] run(.. f:subroutine:: subroutine calculate_density_second_derivs_scalar_teos10(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP)) [fd] sig(subroutine calculate_density_second_derivs_scalar_teos10(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_second_derivs_scalar_teos10) arglist(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP) [fd] fullname(mom_eos_teos10/calculate_density_second_derivs_scalar_teos10) ftype(None) [fd] name(('mom_eos_teos10/calculate_density_second_derivs_scalar_teos10', None)) sig(subroutine calculate_density_second_derivs_scalar_teos10(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP)) signode(subroutine mom_eos_teos10/calculate_density_second_derivs_scalar_teos10TSpressuredrho_dS_dSdrho_dS_dTdrho_dT_dTdrho_dS_dPdrho_dT_dP) [fd] run(.. f:subroutine:: subroutine calculate_density_second_derivs_array_teos10(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts)) [fd] sig(subroutine calculate_density_second_derivs_array_teos10(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_second_derivs_array_teos10) arglist(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts) [fd] fullname(mom_eos_teos10/calculate_density_second_derivs_array_teos10) ftype(None) [fd] name(('mom_eos_teos10/calculate_density_second_derivs_array_teos10', None)) sig(subroutine calculate_density_second_derivs_array_teos10(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts)) signode(subroutine mom_eos_teos10/calculate_density_second_derivs_array_teos10TSpressuredrho_dS_dSdrho_dS_dTdrho_dT_dTdrho_dS_dPdrho_dT_dPstartnpts) [fd] run(.. f:subroutine:: subroutine calculate_compress_teos10(T, S, pressure, rho, drho_dp, start, npts)) [fd] sig(subroutine calculate_compress_teos10(T, S, pressure, rho, drho_dp, start, npts)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_compress_teos10) arglist(T, S, pressure, rho, drho_dp, start, npts) [fd] fullname(mom_eos_teos10/calculate_compress_teos10) ftype(None) [fd] name(('mom_eos_teos10/calculate_compress_teos10', None)) sig(subroutine calculate_compress_teos10(T, S, pressure, rho, drho_dp, start, npts)) signode(subroutine mom_eos_teos10/calculate_compress_teos10TSpressurerhodrho_dpstartnpts) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 32%] api/generated/modules/mom_eos_unesco [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_eos_unes [app] emitting event: 'source-read'('api/generated/modules/mom_eos_unesco', ['.. autodoxymodule:: mom_eos_unesco\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_eos_unesco.rst:1: input: .. autodoxymodule:: mom_eos_unesco :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_eos_unesco::calculate_density_scalar_unesco ~mom_eos_unesco::calculate_density_array_unesco ~mom_eos_unesco::calculate_spec_vol_scalar_unesco ~mom_eos_unesco::calculate_spec_vol_array_unesco ~mom_eos_unesco::calculate_density_derivs_unesco ~mom_eos_unesco::calculate_compress_unesco [debug] xpath(./compounddef/compoundname[text()="mom_eos_unesco"]/..) match([('id', 'namespacemom__eos__unesco'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_eos_unesco module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos_unesco', , {'members': , {'members': , {'members': ), ('calculate_density_array_unesco', ), ('calculate_spec_vol_scalar_unesco', ), ('calculate_spec_vol_array_unesco', ), ('calculate_density_derivs_unesco', ), ('calculate_compress_unesco', )]) [autodoc] module analyzer failed: error importing 'mom_eos_unesco' (exception was: ModuleNotFoundError("No module named 'mom_eos_unesco'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, rho_ref)) [debug] add_directive_header sig((T, S, pressure, rho, rho_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_scalar_unesco) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_scalar_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_scalar_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_scalar_unesco', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos_unesco' (exception was: ModuleNotFoundError("No module named 'mom_eos_unesco'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, start, npts, rho_ref)) [debug] add_directive_header sig((T, S, pressure, rho, start, npts, rho_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_array_unesco) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_unesco', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos_unesco' (exception was: ModuleNotFoundError("No module named 'mom_eos_unesco'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, specvol, spv_ref)) [debug] add_directive_header sig((T, S, pressure, specvol, spv_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_spec_vol_scalar_unesco) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_scalar_unesco', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_scalar_unesco', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_scalar_unesco', , {'members' [autodoc] module analyzer failed: error importing 'mom_eos_unesco' (exception was: ModuleNotFoundError("No module named 'mom_eos_unesco'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, specvol, start, npts, spv_ref)) [debug] add_directive_header sig((T, S, pressure, specvol, start, npts, spv_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_spec_vol_array_unesco) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_unesco', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos_unesco' (exception was: ModuleNotFoundError("No module named 'mom_eos_unesco'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dT, drho_dS, start, npts)) [debug] add_directive_header sig((T, S, pressure, drho_dT, drho_dS, start, npts)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_derivs_unesco) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_unesco', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos_unesco' (exception was: ModuleNotFoundError("No module named 'mom_eos_unesco'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, drho_dp, start, npts)) [debug] add_directive_header sig((T, S, pressure, rho, drho_dp, start, npts)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_compress_unesco) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_compress_unesco', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_eos_unesco::calculate_density_scalar_unesco ~mom_eos_unesco::calculate_density_array_unesco ~mom_eos_unesco::calculate_spec_vol_scalar_unesco ~mom_eos_unesco::calculate_spec_vol_array_unesco ~mom_eos_unesco::calculate_density_derivs_unesco ~mom_eos_unesco::calculate_compress_unesco .. _DETAmom_eos_unesco: -------------------- Detailed Description -------------------- The equation of state using the Jackett and McDougall fits to the UNESCO EOS. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine calculate_density_scalar_unesco(T, S, pressure, rho, rho_ref) This subroutine computes the in situ density of sea water (rho in [kg m-3]) from salinity (S [PSU]), potential temperature (T [degC]), and pressure [Pa], using the UNESCO (1981) equation of state. :param t: [in] Potential temperature relative to the surface [degC]. :param s: [in] Salinity [PSU]. :param pressure: [in] pressure [Pa]. :param rho: [out] In situ density [kg m-3]. :param rho_ref: [in] A reference density [kg m-3]. :callto: :f:func:`calculate_density_array_unesco ` .. f:subroutine:: subroutine calculate_density_array_unesco(T, S, pressure, rho, start, npts, rho_ref) This subroutine computes the in situ density of sea water (rho in [kg m-3]) from salinity (S [PSU]), potential temperature (T [degC]), and pressure [Pa], using the UNESCO (1981) equation of state. :param t: [in] potential temperature relative to the surface [degC]. :param s: [in] salinity [PSU]. :param pressure: [in] pressure [Pa]. :param rho: [out] in situ density [kg m-3]. :param start: [in] the starting point in the arrays. :param npts: [in] the number of values to calculate. :param rho_ref: [in] A reference density [kg m-3]. :callto: :f:func:`r00 ` :callto: :f:func:`r01 ` :callto: :f:func:`r02 ` :callto: :f:func:`r032 ` :callto: :f:func:`r10 ` :callto: :f:func:`r11 ` :callto: :f:func:`r132 ` :callto: :f:func:`r20 ` :callto: :f:func:`r21 ` :callto: :f:func:`r232 ` :callto: :f:func:`r30 ` :callto: :f:func:`r31 ` :callto: :f:func:`r40 ` :callto: :f:func:`r41 ` :callto: :f:func:`r50 ` :callto: :f:func:`s00 ` :callto: :f:func:`s01 ` :callto: :f:func:`s032 ` :callto: :f:func:`s10 ` :callto: :f:func:`s11 ` :callto: :f:func:`s132 ` :callto: :f:func:`s20 ` :callto: :f:func:`s21 ` :callto: :f:func:`s232 ` :callto: :f:func:`s30 ` :callto: :f:func:`s31 ` :callto: :f:func:`s40 ` :callto: :f:func:`sp00 ` :callto: :f:func:`sp000 ` :callto: :f:func:`sp001 ` :callto: :f:func:`sp01 ` :callto: :f:func:`sp010 ` :callto: :f:func:`sp011 ` :callto: :f:func:`sp020 ` :callto: :f:func:`sp021 ` :callto: :f:func:`sp032 ` :callto: :f:func:`sp10 ` :callto: :f:func:`sp11 ` :callto: :f:func:`sp20 ` :callto: :f:func:`sp21 ` :callto: :f:func:`sp30 ` :calledfrom: :f:func:`calculate_density_scalar_unesco ` .. f:subroutine:: subroutine calculate_spec_vol_scalar_unesco(T, S, pressure, specvol, spv_ref) This subroutine computes the in situ specific volume of sea water (specvol in [m3 kg-1]) from salinity (S [PSU]), potential temperature (T [degC]) and pressure [Pa], using the UNESCO (1981) equation of state. If spv_ref is present, specvol is an anomaly from spv_ref. :param t: [in] potential temperature relative to the surface [degC]. :param s: [in] salinity [PSU]. :param pressure: [in] pressure [Pa]. :param specvol: [out] in situ specific volume [m3 kg-1]. :param spv_ref: [in] A reference specific volume [m3 kg-1]. :callto: :f:func:`calculate_spec_vol_array_unesco ` .. f:subroutine:: subroutine calculate_spec_vol_array_unesco(T, S, pressure, specvol, start, npts, spv_ref) This subroutine computes the in situ specific volume of sea water (specvol in [m3 kg-1]) from salinity (S [PSU]), potential temperature (T [degC]) and pressure [Pa], using the UNESCO (1981) equation of state. If spv_ref is present, specvol is an anomaly from spv_ref. :param t: [in] potential temperature relative to the surface [degC]. :param s: [in] salinity [PSU]. :param pressure: [in] pressure [Pa]. :param specvol: [out] in situ specific volume [m3 kg-1]. :param start: [in] the starting point in the arrays. :param npts: [in] the number of values to calculate. :param spv_ref: [in] A reference specific volume [m3 kg-1]. :callto: :f:func:`r00 ` :callto: :f:func:`r01 ` :callto: :f:func:`r02 ` :callto: :f:func:`r032 ` :callto: :f:func:`r10 ` :callto: :f:func:`r11 ` :callto: :f:func:`r132 ` :callto: :f:func:`r20 ` :callto: :f:func:`r21 ` :callto: :f:func:`r232 ` :callto: :f:func:`r30 ` :callto: :f:func:`r31 ` :callto: :f:func:`r40 ` :callto: :f:func:`r41 ` :callto: :f:func:`r50 ` :callto: :f:func:`s00 ` :callto: :f:func:`s01 ` :callto: :f:func:`s032 ` :callto: :f:func:`s10 ` :callto: :f:func:`s11 ` :callto: :f:func:`s132 ` :callto: :f:func:`s20 ` :callto: :f:func:`s21 ` :callto: :f:func:`s232 ` :callto: :f:func:`s30 ` :callto: :f:func:`s31 ` :callto: :f:func:`s40 ` :callto: :f:func:`sp00 ` :callto: :f:func:`sp000 ` :callto: :f:func:`sp001 ` :callto: :f:func:`sp01 ` :callto: :f:func:`sp010 ` :callto: :f:func:`sp011 ` :callto: :f:func:`sp020 ` :callto: :f:func:`sp021 ` :callto: :f:func:`sp032 ` :callto: :f:func:`sp10 ` :callto: :f:func:`sp11 ` :callto: :f:func:`sp20 ` :callto: :f:func:`sp21 ` :callto: :f:func:`sp30 ` :calledfrom: :f:func:`calculate_spec_vol_scalar_unesco ` .. f:subroutine:: subroutine calculate_density_derivs_unesco(T, S, pressure, drho_dT, drho_dS, start, npts) This subroutine calculates the partial derivatives of density with potential temperature and salinity. :param t: [in] Potential temperature relative to the surface [degC]. :param s: [in] Salinity [PSU]. :param pressure: [in] Pressure [Pa]. :param drho_dt: [out] The partial derivative of density with potential temperature [kg m-3 degC-1]. :param drho_ds: [out] The partial derivative of density with salinity, in [kg m-3 PSU-1]. :param start: [in] The starting point in the arrays. :param npts: [in] The number of values to calculate. :callto: :f:func:`r00 ` :callto: :f:func:`r01 ` :callto: :f:func:`r02 ` :callto: :f:func:`r032 ` :callto: :f:func:`r10 ` :callto: :f:func:`r11 ` :callto: :f:func:`r132 ` :callto: :f:func:`r20 ` :callto: :f:func:`r21 ` :callto: :f:func:`r232 ` :callto: :f:func:`r30 ` :callto: :f:func:`r31 ` :callto: :f:func:`r40 ` :callto: :f:func:`r41 ` :callto: :f:func:`r50 ` :callto: :f:func:`s00 ` :callto: :f:func:`s01 ` :callto: :f:func:`s032 ` :callto: :f:func:`s10 ` :callto: :f:func:`s11 ` :callto: :f:func:`s132 ` :callto: :f:func:`s20 ` :callto: :f:func:`s21 ` :callto: :f:func:`s232 ` :callto: :f:func:`s30 ` :callto: :f:func:`s31 ` :callto: :f:func:`s40 ` :callto: :f:func:`sp00 ` :callto: :f:func:`sp000 ` :callto: :f:func:`sp001 ` :callto: :f:func:`sp01 ` :callto: :f:func:`sp010 ` :callto: :f:func:`sp011 ` :callto: :f:func:`sp020 ` :callto: :f:func:`sp021 ` :callto: :f:func:`sp032 ` :callto: :f:func:`sp10 ` :callto: :f:func:`sp11 ` :callto: :f:func:`sp20 ` :callto: :f:func:`sp21 ` :callto: :f:func:`sp30 ` .. f:subroutine:: subroutine calculate_compress_unesco(T, S, pressure, rho, drho_dp, start, npts) This subroutine computes the in situ density of sea water (rho) and the compressibility (drho/dp == C_sound^-2) at the given salinity, potential temperature, and pressure. :param t: [in] Potential temperature relative to the surface [degC]. :param s: [in] Salinity [PSU]. :param pressure: [in] Pressure [Pa]. :param rho: [out] In situ density [kg m-3]. :param drho_dp: [out] The partial derivative of density with pressure (also the inverse of the square of sound speed) [s2 m-2]. :param start: [in] The starting point in the arrays. :param npts: [in] The number of values to calculate. :callto: :f:func:`r00 ` :callto: :f:func:`r01 ` :callto: :f:func:`r02 ` :callto: :f:func:`r032 ` :callto: :f:func:`r10 ` :callto: :f:func:`r11 ` :callto: :f:func:`r132 ` :callto: :f:func:`r20 ` :callto: :f:func:`r21 ` :callto: :f:func:`r232 ` :callto: :f:func:`r30 ` :callto: :f:func:`r31 ` :callto: :f:func:`r40 ` :callto: :f:func:`r41 ` :callto: :f:func:`r50 ` :callto: :f:func:`s00 ` :callto: :f:func:`s01 ` :callto: :f:func:`s032 ` :callto: :f:func:`s10 ` :callto: :f:func:`s11 ` :callto: :f:func:`s132 ` :callto: :f:func:`s20 ` :callto: :f:func:`s21 ` :callto: :f:func:`s232 ` :callto: :f:func:`s30 ` :callto: :f:func:`s31 ` :callto: :f:func:`s40 ` :callto: :f:func:`sp00 ` :callto: :f:func:`sp000 ` :callto: :f:func:`sp001 ` :callto: :f:func:`sp01 ` :callto: :f:func:`sp010 ` :callto: :f:func:`sp011 ` :callto: :f:func:`sp020 ` :callto: :f:func:`sp021 ` :callto: :f:func:`sp032 ` :callto: :f:func:`sp10 ` :callto: :f:func:`sp11 ` :callto: :f:func:`sp20 ` :callto: :f:func:`sp21 ` :callto: :f:func:`sp30 ` :calledfrom: :f:func:`mom_eos::calculate_compress_array ` [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, rho_ref)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_unesco::calculate_density_scalar_unesco', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_unesco::calculate_compress_unesco', , { [fd] run(.. f:subroutine:: subroutine calculate_density_scalar_unesco(T, S, pressure, rho, rho_ref)) [fd] sig(subroutine calculate_density_scalar_unesco(T, S, pressure, rho, rho_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_scalar_unesco) arglist(T, S, pressure, rho, rho_ref) [fd] fullname(mom_eos_unesco/calculate_density_scalar_unesco) ftype(None) [fd] name(('mom_eos_unesco/calculate_density_scalar_unesco', None)) sig(subroutine calculate_density_scalar_unesco(T, S, pressure, rho, rho_ref)) signode(subroutine mom_eos_unesco/calculate_density_scalar_unescoTSpressurerhorho_ref) [fd] run(.. f:subroutine:: subroutine calculate_density_array_unesco(T, S, pressure, rho, start, npts, rho_ref)) [fd] sig(subroutine calculate_density_array_unesco(T, S, pressure, rho, start, npts, rho_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_array_unesco) arglist(T, S, pressure, rho, start, npts, rho_ref) [fd] fullname(mom_eos_unesco/calculate_density_array_unesco) ftype(None) [fd] name(('mom_eos_unesco/calculate_density_array_unesco', None)) sig(subroutine calculate_density_array_unesco(T, S, pressure, rho, start, npts, rho_ref)) signode(subroutine mom_eos_unesco/calculate_density_array_unescoTSpressurerhostartnptsrho_ref) [fd] run(.. f:subroutine:: subroutine calculate_spec_vol_scalar_unesco(T, S, pressure, specvol, spv_ref)) [fd] sig(subroutine calculate_spec_vol_scalar_unesco(T, S, pressure, specvol, spv_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_spec_vol_scalar_unesco) arglist(T, S, pressure, specvol, spv_ref) [fd] fullname(mom_eos_unesco/calculate_spec_vol_scalar_unesco) ftype(None) [fd] name(('mom_eos_unesco/calculate_spec_vol_scalar_unesco', None)) sig(subroutine calculate_spec_vol_scalar_unesco(T, S, pressure, specvol, spv_ref)) signode(subroutine mom_eos_unesco/calculate_spec_vol_scalar_unescoTSpressurespecvolspv_ref) [fd] run(.. f:subroutine:: subroutine calculate_spec_vol_array_unesco(T, S, pressure, specvol, start, npts, spv_ref)) [fd] sig(subroutine calculate_spec_vol_array_unesco(T, S, pressure, specvol, start, npts, spv_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_spec_vol_array_unesco) arglist(T, S, pressure, specvol, start, npts, spv_ref) [fd] fullname(mom_eos_unesco/calculate_spec_vol_array_unesco) ftype(None) [fd] name(('mom_eos_unesco/calculate_spec_vol_array_unesco', None)) sig(subroutine calculate_spec_vol_array_unesco(T, S, pressure, specvol, start, npts, spv_ref)) signode(subroutine mom_eos_unesco/calculate_spec_vol_array_unescoTSpressurespecvolstartnptsspv_ref) [fd] run(.. f:subroutine:: subroutine calculate_density_derivs_unesco(T, S, pressure, drho_dT, drho_dS, start, npts)) [fd] sig(subroutine calculate_density_derivs_unesco(T, S, pressure, drho_dT, drho_dS, start, npts)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_derivs_unesco) arglist(T, S, pressure, drho_dT, drho_dS, start, npts) [fd] fullname(mom_eos_unesco/calculate_density_derivs_unesco) ftype(None) [fd] name(('mom_eos_unesco/calculate_density_derivs_unesco', None)) sig(subroutine calculate_density_derivs_unesco(T, S, pressure, drho_dT, drho_dS, start, npts)) signode(subroutine mom_eos_unesco/calculate_density_derivs_unescoTSpressuredrho_dTdrho_dSstartnpts) [fd] run(.. f:subroutine:: subroutine calculate_compress_unesco(T, S, pressure, rho, drho_dp, start, npts)) [fd] sig(subroutine calculate_compress_unesco(T, S, pressure, rho, drho_dp, start, npts)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_compress_unesco) arglist(T, S, pressure, rho, drho_dp, start, npts) [fd] fullname(mom_eos_unesco/calculate_compress_unesco) ftype(None) [fd] name(('mom_eos_unesco/calculate_compress_unesco', None)) sig(subroutine calculate_compress_unesco(T, S, pressure, rho, drho_dp, start, npts)) signode(subroutine mom_eos_unesco/calculate_compress_unescoTSpressurerhodrho_dpstartnpts) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 33%] api/generated/modules/mom_eos_wright [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_eos_wrig [app] emitting event: 'source-read'('api/generated/modules/mom_eos_wright', ['.. autodoxymodule:: mom_eos_wright\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_eos_wright.rst:1: input: .. autodoxymodule:: mom_eos_wright :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_eos_wright::calculate_density_scalar_wright ~mom_eos_wright::calculate_density_array_wright ~mom_eos_wright::calculate_spec_vol_scalar_wright ~mom_eos_wright::calculate_spec_vol_array_wright ~mom_eos_wright::calculate_density_derivs_array_wright ~mom_eos_wright::calculate_density_derivs_scalar_wright ~mom_eos_wright::calculate_density_second_derivs_array_wright ~mom_eos_wright::calculate_density_second_derivs_scalar_wright ~mom_eos_wright::calculate_specvol_derivs_wright ~mom_eos_wright::calculate_compress_wright ~mom_eos_wright::int_density_dz_wright ~mom_eos_wright::int_spec_vol_dp_wright [debug] xpath(./compounddef/compoundname[text()="mom_eos_wright"]/..) match([('id', 'namespacemom__eos__wright'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_eos_wright module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos_wright', , {'members': , {'members': , {'members': ), ('calculate_density_array_wright', ), ('calculate_spec_vol_scalar_wright', ), ('calculate_spec_vol_array_wright', ), ('calculate_density_derivs_array_wright', ), ('calculate_density_derivs_scalar_wright', ), ('calculate_density_second_derivs_array_wright', ), ('calculate_density_second_derivs_scalar_wright', ), ('calculate_specvol_derivs_wright', ), ('calculate_compress_wright', ), ('int_density_dz_wright', ), ('int_spec_vol_dp_wright', )]) [autodoc] module analyzer failed: error importing 'mom_eos_wright' (exception was: ModuleNotFoundError("No module named 'mom_eos_wright'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, rho_ref)) [debug] add_directive_header sig((T, S, pressure, rho, rho_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_scalar_wright) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_scalar_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_scalar_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_scalar_wright', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos_wright' (exception was: ModuleNotFoundError("No module named 'mom_eos_wright'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, start, npts, rho_ref)) [debug] add_directive_header sig((T, S, pressure, rho, start, npts, rho_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_array_wright) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_array_wright', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos_wright' (exception was: ModuleNotFoundError("No module named 'mom_eos_wright'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, specvol, spv_ref)) [debug] add_directive_header sig((T, S, pressure, specvol, spv_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_spec_vol_scalar_wright) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_scalar_wright', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_scalar_wright', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_scalar_wright', , {'members' [autodoc] module analyzer failed: error importing 'mom_eos_wright' (exception was: ModuleNotFoundError("No module named 'mom_eos_wright'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, specvol, start, npts, spv_ref)) [debug] add_directive_header sig((T, S, pressure, specvol, start, npts, spv_ref)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_spec_vol_array_wright) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_spec_vol_array_wright', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos_wright' (exception was: ModuleNotFoundError("No module named 'mom_eos_wright'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dT, drho_dS, start, npts)) [debug] add_directive_header sig((T, S, pressure, drho_dT, drho_dS, start, npts)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_derivs_array_wright) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_array_wright', , {'mem [autodoc] module analyzer failed: error importing 'mom_eos_wright' (exception was: ModuleNotFoundError("No module named 'mom_eos_wright'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, drho_dT, drho_dS)) [debug] add_directive_header sig((T, S, pressure, drho_dT, drho_dS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_derivs_scalar_wright) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_scalar_wright', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_scalar_wright', , {'me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_derivs_scalar_wright', , {'me [autodoc] module analyzer failed: error importing 'mom_eos_wright' (exception was: ModuleNotFoundError("No module named 'mom_eos_wright'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, P, drho_ds_ds, drho_ds_dt, drho_dt_dt, drho_ds_dp, drho_dt_dp, start, npts)) [debug] add_directive_header sig((T, S, P, drho_ds_ds, drho_ds_dt, drho_dt_dt, drho_ds_dp, drho_dt_dp, start, npts)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_second_derivs_array_wright) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_array_wright', [autodoc] module analyzer failed: error importing 'mom_eos_wright' (exception was: ModuleNotFoundError("No module named 'mom_eos_wright'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, P, drho_ds_ds, drho_ds_dt, drho_dt_dt, drho_ds_dp, drho_dt_dp)) [debug] add_directive_header sig((T, S, P, drho_ds_ds, drho_ds_dt, drho_dt_dt, drho_ds_dp, drho_dt_dp)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_density_second_derivs_scalar_wright) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_density_second_derivs_scalar_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_wright', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_specvol_derivs_wright', , {'members': [autodoc] module analyzer failed: error importing 'mom_eos_wright' (exception was: ModuleNotFoundError("No module named 'mom_eos_wright'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, drho_dp, start, npts)) [debug] add_directive_header sig((T, S, pressure, rho, drho_dp, start, npts)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_compress_wright) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_compress_wright', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_eos_wright::calculate_density_scalar_wright ~mom_eos_wright::calculate_density_array_wright ~mom_eos_wright::calculate_spec_vol_scalar_wright ~mom_eos_wright::calculate_spec_vol_array_wright ~mom_eos_wright::calculate_density_derivs_array_wright ~mom_eos_wright::calculate_density_derivs_scalar_wright ~mom_eos_wright::calculate_density_second_derivs_array_wright ~mom_eos_wright::calculate_density_second_derivs_scalar_wright ~mom_eos_wright::calculate_specvol_derivs_wright ~mom_eos_wright::calculate_compress_wright ~mom_eos_wright::int_density_dz_wright ~mom_eos_wright::int_spec_vol_dp_wright .. _DETAmom_eos_wright: -------------------- Detailed Description -------------------- The equation of state using the Wright 1997 expressions. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine calculate_density_scalar_wright(T, S, pressure, rho, rho_ref) This subroutine computes the in situ density of sea water (rho in [kg m-3]) from salinity (S [PSU]), potential temperature (T [degC]), and pressure [Pa]. It uses the expression from Wright, 1997, J. Atmos. Ocean. Tech., 14, 735-740. :param t: [in] Potential temperature relative to the surface [degC]. :param s: [in] Salinity [PSU]. :param pressure: [in] pressure [Pa]. :param rho: [out] In situ density [kg m-3]. :param rho_ref: [in] A reference density [kg m-3]. :callto: :f:func:`calculate_density_array_wright ` .. f:subroutine:: subroutine calculate_density_array_wright(T, S, pressure, rho, start, npts, rho_ref) This subroutine computes the in situ density of sea water (rho in [kg m-3]) from salinity (S [PSU]), potential temperature (T [degC]), and pressure [Pa]. It uses the expression from Wright, 1997, J. Atmos. Ocean. Tech., 14, 735-740. :param t: [in] potential temperature relative to the surface [degC]. :param s: [in] salinity [PSU]. :param pressure: [in] pressure [Pa]. :param rho: [inout] in situ density [kg m-3]. :param start: [in] the starting point in the arrays. :param npts: [in] the number of values to calculate. :param rho_ref: [in] A reference density [kg m-3]. :callto: :f:func:`a0 ` :callto: :f:func:`a1 ` :callto: :f:func:`a2 ` :callto: :f:func:`b0 ` :callto: :f:func:`b1 ` :callto: :f:func:`b2 ` :callto: :f:func:`b3 ` :callto: :f:func:`b4 ` :callto: :f:func:`b5 ` :callto: :f:func:`c0 ` :callto: :f:func:`c1 ` :callto: :f:func:`c2 ` :callto: :f:func:`c3 ` :callto: :f:func:`c4 ` :callto: :f:func:`c5 ` :calledfrom: :f:func:`calculate_density_scalar_wright ` .. f:subroutine:: subroutine calculate_spec_vol_scalar_wright(T, S, pressure, specvol, spv_ref) This subroutine computes the in situ specific volume of sea water (specvol in [m3 kg-1]) from salinity (S [PSU]), potential temperature (T [degC]) and pressure [Pa]. It uses the expression from Wright, 1997, J. Atmos. Ocean. Tech., 14, 735-740. If spv_ref is present, specvol is an anomaly from spv_ref. :param t: [in] potential temperature relative to the surface [degC]. :param s: [in] salinity [PSU]. :param pressure: [in] pressure [Pa]. :param specvol: [out] in situ specific volume [m3 kg-1]. :param spv_ref: [in] A reference specific volume [m3 kg-1]. :callto: :f:func:`calculate_spec_vol_array_wright ` .. f:subroutine:: subroutine calculate_spec_vol_array_wright(T, S, pressure, specvol, start, npts, spv_ref) This subroutine computes the in situ specific volume of sea water (specvol in [m3 kg-1]) from salinity (S [PSU]), potential temperature (T [degC]) and pressure [Pa]. It uses the expression from Wright, 1997, J. Atmos. Ocean. Tech., 14, 735-740. If spv_ref is present, specvol is an anomaly from spv_ref. :param t: [in] potential temperature relative to the surface [degC]. :param s: [in] salinity [PSU]. :param pressure: [in] pressure [Pa]. :param specvol: [inout] in situ specific volume [m3 kg-1]. :param start: [in] the starting point in the arrays. :param npts: [in] the number of values to calculate. :param spv_ref: [in] A reference specific volume [m3 kg-1]. :callto: :f:func:`a0 ` :callto: :f:func:`a1 ` :callto: :f:func:`a2 ` :callto: :f:func:`b0 ` :callto: :f:func:`b1 ` :callto: :f:func:`b2 ` :callto: :f:func:`b3 ` :callto: :f:func:`b4 ` :callto: :f:func:`b5 ` :callto: :f:func:`c0 ` :callto: :f:func:`c1 ` :callto: :f:func:`c2 ` :callto: :f:func:`c3 ` :callto: :f:func:`c4 ` :callto: :f:func:`c5 ` :calledfrom: :f:func:`calculate_spec_vol_scalar_wright ` .. f:subroutine:: subroutine calculate_density_derivs_array_wright(T, S, pressure, drho_dT, drho_dS, start, npts) For a given thermodynamic state, return the thermal/haline expansion coefficients. :param t: [in] Potential temperature relative to the surface [degC]. :param s: [in] Salinity [PSU]. :param pressure: [in] pressure [Pa]. :param drho_dt: [inout] The partial derivative of density with potential temperature [kg m-3 degC-1]. :param drho_ds: [inout] The partial derivative of density with salinity, in [kg m-3 PSU-1]. :param start: [in] The starting point in the arrays. :param npts: [in] The number of values to calculate. :callto: :f:func:`a0 ` :callto: :f:func:`a1 ` :callto: :f:func:`a2 ` :callto: :f:func:`b0 ` :callto: :f:func:`b1 ` :callto: :f:func:`b2 ` :callto: :f:func:`b3 ` :callto: :f:func:`b4 ` :callto: :f:func:`b5 ` :callto: :f:func:`c0 ` :callto: :f:func:`c1 ` :callto: :f:func:`c2 ` :callto: :f:func:`c3 ` :callto: :f:func:`c4 ` :callto: :f:func:`c5 ` :calledfrom: :f:func:`calculate_density_derivs_scalar_wright ` .. f:subroutine:: subroutine calculate_density_derivs_scalar_wright(T, S, pressure, drho_dT, drho_dS) The scalar version of calculate_density_derivs which promotes scalar inputs to a 1-element array and then demotes the output back to a scalar. :param t: [in] Potential temperature relative to the surface [degC]. :param s: [in] Salinity [PSU]. :param pressure: [in] pressure [Pa]. :param drho_dt: [out] The partial derivative of density with potential temperature [kg m-3 degC-1]. :param drho_ds: [out] The partial derivative of density with salinity, in [kg m-3 PSU-1]. :callto: :f:func:`calculate_density_derivs_array_wright ` .. f:subroutine:: subroutine calculate_density_second_derivs_array_wright(T, S, P, drho_ds_ds, drho_ds_dt, drho_dt_dt, drho_ds_dp, drho_dt_dp, start, npts) Second derivatives of density with respect to temperature, salinity, and pressure. :param t: [in] Potential temperature referenced to 0 dbar [degC] :param s: [in] Salinity [PSU] :param p: [in] Pressure [Pa] :param drho_ds_ds: [inout] Partial derivative of beta with respect to S [kg m-3 PSU-2] :param drho_ds_dt: [inout] Partial derivative of beta with respcct to T [kg m-3 PSU-1 degC-1] :param drho_dt_dt: [inout] Partial derivative of alpha with respect to T [kg m-3 degC-2] :param drho_ds_dp: [inout] Partial derivative of beta with respect to pressure [kg m-3 PSU-1 Pa-1] :param drho_dt_dp: [inout] Partial derivative of alpha with respect to pressure [kg m-3 degC-1 Pa-1] :param start: [in] Starting index in T,S,P :param npts: [in] Number of points to loop over :callto: :f:func:`a0 ` :callto: :f:func:`a1 ` :callto: :f:func:`a2 ` :callto: :f:func:`b0 ` :callto: :f:func:`b1 ` :callto: :f:func:`b2 ` :callto: :f:func:`b3 ` :callto: :f:func:`b4 ` :callto: :f:func:`b5 ` :callto: :f:func:`c0 ` :callto: :f:func:`c1 ` :callto: :f:func:`c2 ` :callto: :f:func:`c3 ` :callto: :f:func:`c4 ` :callto: :f:func:`c5 ` :calledfrom: :f:func:`calculate_density_second_derivs_scalar_wright ` .. f:subroutine:: subroutine calculate_density_second_derivs_scalar_wright(T, S, P, drho_ds_ds, drho_ds_dt, drho_dt_dt, drho_ds_dp, drho_dt_dp) Second derivatives of density with respect to temperature, salinity, and pressure for scalar inputs. Inputs promoted to 1-element array and output demoted to scalar. :param t: [in] Potential temperature referenced to 0 dbar :param s: [in] Salinity [PSU] :param p: [in] pressure [Pa] :param drho_ds_ds: [out] Partial derivative of beta with respect to S [kg m-3 PSU-2] :param drho_ds_dt: [out] Partial derivative of beta with respcct to T [kg m-3 PSU-1 degC-1] :param drho_dt_dt: [out] Partial derivative of alpha with respect to T [kg m-3 degC-2] :param drho_ds_dp: [out] Partial derivative of beta with respect to pressure [kg m-3 PSU-1 Pa-1] :param drho_dt_dp: [out] Partial derivative of alpha with respect to pressure [kg m-3 degC-1 Pa-1] :callto: :f:func:`calculate_density_second_derivs_array_wright ` .. f:subroutine:: subroutine calculate_specvol_derivs_wright(T, S, pressure, dSV_dT, dSV_dS, start, npts) For a given thermodynamic state, return the partial derivatives of specific volume with temperature and salinity. :param t: [in] Potential temperature relative to the surface [degC]. :param s: [in] Salinity [PSU]. :param pressure: [in] pressure [Pa]. :param dsv_dt: [inout] The partial derivative of specific volume with potential temperature [m3 kg-1 degC-1]. :param dsv_ds: [inout] The partial derivative of specific volume with salinity [m3 kg-1 / Pa]. :param start: [in] The starting point in the arrays. :param npts: [in] The number of values to calculate. :callto: :f:func:`a1 ` :callto: :f:func:`a2 ` :callto: :f:func:`b0 ` :callto: :f:func:`b1 ` :callto: :f:func:`b2 ` :callto: :f:func:`b3 ` :callto: :f:func:`b4 ` :callto: :f:func:`b5 ` :callto: :f:func:`c0 ` :callto: :f:func:`c1 ` :callto: :f:func:`c2 ` :callto: :f:func:`c3 ` :callto: :f:func:`c4 ` :callto: :f:func:`c5 ` .. f:subroutine:: subroutine calculate_compress_wright(T, S, pressure, rho, drho_dp, start, npts) This subroutine computes the in situ density of sea water (rho in [kg m-3]) and the compressibility (drho/dp = C_sound^-2) (drho_dp [s2 m-2]) from salinity (sal in psu), potential temperature (T [degC]), and pressure [Pa]. It uses the expressions from Wright, 1997, J. Atmos. Ocean. Tech., 14, 735-740. Coded by R. Hallberg, 1/01. :param t: [in] Potential temperature relative to the surface [degC]. :param s: [in] Salinity [PSU]. :param pressure: [in] pressure [Pa]. :param rho: [inout] In situ density [kg m-3]. :param drho_dp: [inout] The partial derivative of density with pressure (also the inverse of the square of sound speed) [s2 m-2]. :param start: [in] The starting point in the arrays. :param npts: [in] The number of values to calculate. :callto: :f:func:`a0 ` :callto: :f:func:`a1 ` :callto: :f:func:`a2 ` :callto: :f:func:`b0 ` :callto: :f:func:`b1 ` :callto: :f:func:`b2 ` :callto: :f:func:`b3 ` :callto: :f:func:`b4 ` :callto: :f:func:`b5 ` :callto: :f:func:`c0 ` :callto: :f:func:`c1 ` :callto: :f:func:`c2 ` :callto: :f:func:`c3 ` :callto: :f:func:`c4 ` :callto: :f:func:`c5 ` .. f:subroutine:: subroutine int_density_dz_wright(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp, rho_scale, pres_scale) This subroutine calculates analytical and nearly-analytical integrals of pressure anomalies across layers, which are required for calculating the finite-volume form pressure accelerations in a Boussinesq model. :param hi: [in] The horizontal index type for the arrays. :param t: [in] Potential temperature relative to the surface :param s: [in] Salinity [PSU]. :param z_t: [in] Height at the top of the layer in depth units [Z ~> m]. :param z_b: [in] Height at the top of the layer [Z ~> m]. :param rho_ref: [in] A mean density [R ~> kg m-3] or [kg m-3], that is subtracted out to reduce the magnitude of each of the integrals. (The pressure is calucated as p~=-z*rho_0*G_e.) :param rho_0: [in] Density [R ~> kg m-3] or [kg m-3], that is used to calculate the pressure (as p~=-z*rho_0*G_e) used in the equation of state. :param g_e: [in] The Earth's gravitational acceleration [L2 Z-1 T-2 ~> m s-2] or [m2 Z-1 s-2 ~> m s-2]. :param dpa: [inout] The change in the pressure anomaly across the :param intz_dpa: [inout] The integral through the thickness of the layer :param intx_dpa: [inout] The integral in x of the difference between the :param inty_dpa: [inout] The integral in y of the difference between the :param bathyt: [in] The depth of the bathymetry [Z ~> m]. :param dz_neglect: [in] A miniscule thickness change [Z ~> m]. :param usemasswghtinterp: [in] If true, uses mass weighting to interpolate T/S for top and bottom integrals. :param rho_scale: [in] A multiplicative factor by which to scale density from kg m-3 to the desired units [R m3 kg-1 ~> 1] :param pres_scale: [in] A multiplicative factor to convert pressure into Pa [Pa T2 R-1 L-2 ~> 1]. :callto: :f:func:`a0 ` :callto: :f:func:`a1 ` :callto: :f:func:`a2 ` :callto: :f:func:`b0 ` :callto: :f:func:`b1 ` :callto: :f:func:`b2 ` :callto: :f:func:`b3 ` :callto: :f:func:`b4 ` :callto: :f:func:`b5 ` :callto: :f:func:`c0 ` :callto: :f:func:`c1 ` :callto: :f:func:`c2 ` :callto: :f:func:`c3 ` :callto: :f:func:`c4 ` :callto: :f:func:`c5 ` .. f:subroutine:: subroutine int_spec_vol_dp_wright(T, S, p_t, p_b, spv_ref, HI, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp, SV_scale, pres_scale) This subroutine calculates analytical and nearly-analytical integrals in pressure across layers of geopotential anomalies, which are required for calculating the finite-volume form pressure accelerations in a non-Boussinesq model. There are essentially no free assumptions, apart from the use of Boole's rule to do the horizontal integrals, and from a truncation in the series for log(1-eps/1+eps) that assumes that |eps| < 0.34. :param hi: [in] The ocean's horizontal index type. :param t: [in] Potential temperature relative to the surface :param s: [in] Salinity [PSU]. :param p_t: [in] Pressure at the top of the layer [R L2 T-2 ~> Pa] or [Pa]. :param p_b: [in] Pressure at the top of the layer [R L2 T-2 ~> Pa] or [Pa]. :param spv_ref: [in] A mean specific volume that is subtracted out to reduce the magnitude of each of the integrals [R-1 ~> m3 kg-1]. The calculation is mathematically identical with different values of spv_ref, but this reduces the effects of roundoff. :param dza: [inout] The change in the geopotential anomaly across :param intp_dza: [inout] The integral in pressure through the layer of :param intx_dza: [inout] The integral in x of the difference between the :param inty_dza: [inout] The integral in y of the difference between the :param halo_size: [in] The width of halo points on which to calculate dza. :param bathyp: [in] The pressure at the bathymetry [R L2 T-2 ~> Pa] or [Pa] :param dp_neglect: [in] A miniscule pressure change with the same units as p_t [R L2 T-2 ~> Pa] or [Pa] :param usemasswghtinterp: [in] If true, uses mass weighting to interpolate T/S for top and bottom integrals. :param sv_scale: [in] A multiplicative factor by which to scale specific volume from m3 kg-1 to the desired units [kg m-3 R-1 ~> 1] :param pres_scale: [in] A multiplicative factor to convert pressure into Pa [Pa T2 R-1 L-2 ~> 1]. :callto: :f:func:`a0 ` :callto: :f:func:`a1 ` :callto: :f:func:`a2 ` :callto: :f:func:`b0 ` :callto: :f:func:`b1 ` :callto: :f:func:`b2 ` :callto: :f:func:`b3 ` :callto: :f:func:`b4 ` :callto: :f:func:`b5 ` :callto: :f:func:`c0 ` :callto: :f:func:`c1 ` :callto: :f:func:`c2 ` :callto: :f:func:`c3 ` :callto: :f:func:`c4 ` :callto: :f:func:`c5 ` [debug] DoxygenMethodDocumenter format_signature called ((T, S, pressure, rho, rho_ref)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_wright::calculate_density_scalar_wright', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_wright::calculate_compress_wright', , { [debug] DoxygenMethodDocumenter format_signature called ((T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp, rho_scale, pres_scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_wright::int_density_dz_wright', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_wright::int_density_dz_wright', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((T, S, p_t, p_b, spv_ref, HI, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp, SV_scale, pres_scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_wright::int_spec_vol_dp_wright', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_eos_wright::int_spec_vol_dp_wright', , {}, [fd] run(.. f:subroutine:: subroutine calculate_density_scalar_wright(T, S, pressure, rho, rho_ref)) [fd] sig(subroutine calculate_density_scalar_wright(T, S, pressure, rho, rho_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_scalar_wright) arglist(T, S, pressure, rho, rho_ref) [fd] fullname(mom_eos_wright/calculate_density_scalar_wright) ftype(None) [fd] name(('mom_eos_wright/calculate_density_scalar_wright', None)) sig(subroutine calculate_density_scalar_wright(T, S, pressure, rho, rho_ref)) signode(subroutine mom_eos_wright/calculate_density_scalar_wrightTSpressurerhorho_ref) [fd] run(.. f:subroutine:: subroutine calculate_density_array_wright(T, S, pressure, rho, start, npts, rho_ref)) [fd] sig(subroutine calculate_density_array_wright(T, S, pressure, rho, start, npts, rho_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_array_wright) arglist(T, S, pressure, rho, start, npts, rho_ref) [fd] fullname(mom_eos_wright/calculate_density_array_wright) ftype(None) [fd] name(('mom_eos_wright/calculate_density_array_wright', None)) sig(subroutine calculate_density_array_wright(T, S, pressure, rho, start, npts, rho_ref)) signode(subroutine mom_eos_wright/calculate_density_array_wrightTSpressurerhostartnptsrho_ref) [fd] run(.. f:subroutine:: subroutine calculate_spec_vol_scalar_wright(T, S, pressure, specvol, spv_ref)) [fd] sig(subroutine calculate_spec_vol_scalar_wright(T, S, pressure, specvol, spv_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_spec_vol_scalar_wright) arglist(T, S, pressure, specvol, spv_ref) [fd] fullname(mom_eos_wright/calculate_spec_vol_scalar_wright) ftype(None) [fd] name(('mom_eos_wright/calculate_spec_vol_scalar_wright', None)) sig(subroutine calculate_spec_vol_scalar_wright(T, S, pressure, specvol, spv_ref)) signode(subroutine mom_eos_wright/calculate_spec_vol_scalar_wrightTSpressurespecvolspv_ref) [fd] run(.. f:subroutine:: subroutine calculate_spec_vol_array_wright(T, S, pressure, specvol, start, npts, spv_ref)) [fd] sig(subroutine calculate_spec_vol_array_wright(T, S, pressure, specvol, start, npts, spv_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_spec_vol_array_wright) arglist(T, S, pressure, specvol, start, npts, spv_ref) [fd] fullname(mom_eos_wright/calculate_spec_vol_array_wright) ftype(None) [fd] name(('mom_eos_wright/calculate_spec_vol_array_wright', None)) sig(subroutine calculate_spec_vol_array_wright(T, S, pressure, specvol, start, npts, spv_ref)) signode(subroutine mom_eos_wright/calculate_spec_vol_array_wrightTSpressurespecvolstartnptsspv_ref) [fd] run(.. f:subroutine:: subroutine calculate_density_derivs_array_wright(T, S, pressure, drho_dT, drho_dS, start, npts)) [fd] sig(subroutine calculate_density_derivs_array_wright(T, S, pressure, drho_dT, drho_dS, start, npts)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_derivs_array_wright) arglist(T, S, pressure, drho_dT, drho_dS, start, npts) [fd] fullname(mom_eos_wright/calculate_density_derivs_array_wright) ftype(None) [fd] name(('mom_eos_wright/calculate_density_derivs_array_wright', None)) sig(subroutine calculate_density_derivs_array_wright(T, S, pressure, drho_dT, drho_dS, start, npts)) signode(subroutine mom_eos_wright/calculate_density_derivs_array_wrightTSpressuredrho_dTdrho_dSstartnpts) [fd] run(.. f:subroutine:: subroutine calculate_density_derivs_scalar_wright(T, S, pressure, drho_dT, drho_dS)) [fd] sig(subroutine calculate_density_derivs_scalar_wright(T, S, pressure, drho_dT, drho_dS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_derivs_scalar_wright) arglist(T, S, pressure, drho_dT, drho_dS) [fd] fullname(mom_eos_wright/calculate_density_derivs_scalar_wright) ftype(None) [fd] name(('mom_eos_wright/calculate_density_derivs_scalar_wright', None)) sig(subroutine calculate_density_derivs_scalar_wright(T, S, pressure, drho_dT, drho_dS)) signode(subroutine mom_eos_wright/calculate_density_derivs_scalar_wrightTSpressuredrho_dTdrho_dS) [fd] run(.. f:subroutine:: subroutine calculate_density_second_derivs_array_wright(T, S, P, drho_ds_ds, drho_ds_dt, drho_dt_dt, drho_ds_dp, drho_dt_dp, start, npts)) [fd] sig(subroutine calculate_density_second_derivs_array_wright(T, S, P, drho_ds_ds, drho_ds_dt, drho_dt_dt, drho_ds_dp, drho_dt_dp, start, npts)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_second_derivs_array_wright) arglist(T, S, P, drho_ds_ds, drho_ds_dt, drho_dt_dt, drho_ds_dp, drho_dt_dp, start, npts) [fd] fullname(mom_eos_wright/calculate_density_second_derivs_array_wright) ftype(None) [fd] name(('mom_eos_wright/calculate_density_second_derivs_array_wright', None)) sig(subroutine calculate_density_second_derivs_array_wright(T, S, P, drho_ds_ds, drho_ds_dt, drho_dt_dt, drho_ds_dp, drho_dt_dp, start, npts)) signode(subroutine mom_eos_wright/calculate_density_second_derivs_array_wrightTSPdrho_ds_dsdrho_ds_dtdrho_dt_dtdrho_ds_dpdrho_dt_dpstartnpts) [fd] run(.. f:subroutine:: subroutine calculate_density_second_derivs_scalar_wright(T, S, P, drho_ds_ds, drho_ds_dt, drho_dt_dt, drho_ds_dp, drho_dt_dp)) [fd] sig(subroutine calculate_density_second_derivs_scalar_wright(T, S, P, drho_ds_ds, drho_ds_dt, drho_dt_dt, drho_ds_dp, drho_dt_dp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_density_second_derivs_scalar_wright) arglist(T, S, P, drho_ds_ds, drho_ds_dt, drho_dt_dt, drho_ds_dp, drho_dt_dp) [fd] fullname(mom_eos_wright/calculate_density_second_derivs_scalar_wright) ftype(None) [fd] name(('mom_eos_wright/calculate_density_second_derivs_scalar_wright', None)) sig(subroutine calculate_density_second_derivs_scalar_wright(T, S, P, drho_ds_ds, drho_ds_dt, drho_dt_dt, drho_ds_dp, drho_dt_dp)) signode(subroutine mom_eos_wright/calculate_density_second_derivs_scalar_wrightTSPdrho_ds_dsdrho_ds_dtdrho_dt_dtdrho_ds_dpdrho_dt_dp) [fd] run(.. f:subroutine:: subroutine calculate_specvol_derivs_wright(T, S, pressure, dSV_dT, dSV_dS, start, npts)) [fd] sig(subroutine calculate_specvol_derivs_wright(T, S, pressure, dSV_dT, dSV_dS, start, npts)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_specvol_derivs_wright) arglist(T, S, pressure, dSV_dT, dSV_dS, start, npts) [fd] fullname(mom_eos_wright/calculate_specvol_derivs_wright) ftype(None) [fd] name(('mom_eos_wright/calculate_specvol_derivs_wright', None)) sig(subroutine calculate_specvol_derivs_wright(T, S, pressure, dSV_dT, dSV_dS, start, npts)) signode(subroutine mom_eos_wright/calculate_specvol_derivs_wrightTSpressuredSV_dTdSV_dSstartnpts) [fd] run(.. f:subroutine:: subroutine calculate_compress_wright(T, S, pressure, rho, drho_dp, start, npts)) [fd] sig(subroutine calculate_compress_wright(T, S, pressure, rho, drho_dp, start, npts)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_compress_wright) arglist(T, S, pressure, rho, drho_dp, start, npts) [fd] fullname(mom_eos_wright/calculate_compress_wright) ftype(None) [fd] name(('mom_eos_wright/calculate_compress_wright', None)) sig(subroutine calculate_compress_wright(T, S, pressure, rho, drho_dp, start, npts)) signode(subroutine mom_eos_wright/calculate_compress_wrightTSpressurerhodrho_dpstartnpts) [fd] run(.. f:subroutine:: subroutine int_density_dz_wright(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp, rho_scale, pres_scale)) [fd] sig(subroutine int_density_dz_wright(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp, rho_scale, pres_scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(int_density_dz_wright) arglist(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp, rho_scale, pres_scale) [fd] fullname(mom_eos_wright/int_density_dz_wright) ftype(None) [fd] name(('mom_eos_wright/int_density_dz_wright', None)) sig(subroutine int_density_dz_wright(T, S, z_t, z_b, rho_ref, rho_0, G_e, HI, dpa, intz_dpa, intx_dpa, inty_dpa, bathyT, dz_neglect, useMassWghtInterp, rho_scale, pres_scale)) signode(subroutine mom_eos_wright/int_density_dz_wrightTSz_tz_brho_refrho_0G_eHIdpaintz_dpaintx_dpainty_dpabathyTdz_neglectuseMassWghtInterprho_scalepres_scale) [fd] run(.. f:subroutine:: subroutine int_spec_vol_dp_wright(T, S, p_t, p_b, spv_ref, HI, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp, SV_scale, pres_scale)) [fd] sig(subroutine int_spec_vol_dp_wright(T, S, p_t, p_b, spv_ref, HI, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp, SV_scale, pres_scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(int_spec_vol_dp_wright) arglist(T, S, p_t, p_b, spv_ref, HI, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp, SV_scale, pres_scale) [fd] fullname(mom_eos_wright/int_spec_vol_dp_wright) ftype(None) [fd] name(('mom_eos_wright/int_spec_vol_dp_wright', None)) sig(subroutine int_spec_vol_dp_wright(T, S, p_t, p_b, spv_ref, HI, dza, intp_dza, intx_dza, inty_dza, halo_size, bathyP, dP_neglect, useMassWghtInterp, SV_scale, pres_scale)) signode(subroutine mom_eos_wright/int_spec_vol_dp_wrightTSp_tp_bspv_refHIdzaintp_dzaintx_dzainty_dzahalo_sizebathyPdP_neglectuseMassWghtInterpSV_scalepres_scale) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 33%] api/generated/modules/mom_error_handler [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_error_ha [app] emitting event: 'source-read'('api/generated/modules/mom_error_handler', ['.. autodoxymodule:: mom_error_handler\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_error_handler.rst:1: input: .. autodoxymodule:: mom_error_handler :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_error_handler::is_root_pe ~mom_error_handler::mom_mesg ~mom_error_handler::mom_error ~mom_error_handler::mom_set_verbosity ~mom_error_handler::mom_get_verbosity ~mom_error_handler::mom_verbose_enough ~mom_error_handler::calltree_showquery ~mom_error_handler::calltree_enter ~mom_error_handler::calltree_leave ~mom_error_handler::calltree_waypoint ~mom_error_handler::assert [debug] xpath(./compounddef/compoundname[text()="mom_error_handler"]/..) match([('id', 'namespacemom__error__handler'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_error_handler module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_error_handler', , {'members': , {'members': , {'members': ), ('mom_mesg', ), ('mom_error', ), ('mom_set_verbosity', ), ('mom_get_verbosity', ), ('mom_verbose_enough', ), ('calltree_showquery', ), ('calltree_enter', ), ('calltree_leave', ), ('calltree_waypoint', ), ('assert', )]) [autodoc] module analyzer failed: error importing 'mom_error_handler' (exception was: ModuleNotFoundError("No module named 'mom_error_handler'")) [debug] DoxygenMethodDocumenter format_signature called (()) [debug] add_directive_header sig(()) [debug] DoxygenMethodDocumenter directive(function) name(logical function is_root_pe) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'is_root_pe', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_error_handler::is_root_pe ~mom_error_handler::mom_mesg ~mom_error_handler::mom_error ~mom_error_handler::mom_set_verbosity ~mom_error_handler::mom_get_verbosity ~mom_error_handler::mom_verbose_enough ~mom_error_handler::calltree_showquery ~mom_error_handler::calltree_enter ~mom_error_handler::calltree_leave ~mom_error_handler::calltree_waypoint ~mom_error_handler::assert .. _DETAmom_error_handler: -------------------- Detailed Description -------------------- Routines for error handling and I/O management. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function is_root_pe() This returns .true. if the current PE is the root PE. :calledfrom: :f:func:`mom_barotropic::btstep ` :calledfrom: :f:func:`calltree_enter ` :calledfrom: :f:func:`calltree_leave ` :calledfrom: :f:func:`calltree_waypoint ` :calledfrom: :f:func:`mom_checksums::chk_sum_msg1 ` :calledfrom: :f:func:`mom_checksums::chk_sum_msg2 ` :calledfrom: :f:func:`mom_checksums::chk_sum_msg3 ` :calledfrom: :f:func:`mom_checksums::chk_sum_msg5 ` :calledfrom: :f:func:`mom_checksums::chk_sum_msg_nsew ` :calledfrom: :f:func:`mom_checksums::chk_sum_msg_s ` :calledfrom: :f:func:`mom_checksums::chk_sum_msg_w ` :calledfrom: :f:func:`mom_checksums::chksum0 ` :calledfrom: :f:func:`mom_checksums::chksum1d ` :calledfrom: :f:func:`mom_checksums::chksum2d ` :calledfrom: :f:func:`mom_checksums::chksum3d ` :calledfrom: :f:func:`mom_checksums::chksum_b_2d ` :calledfrom: :f:func:`mom_checksums::chksum_b_3d ` :calledfrom: :f:func:`mom_checksums::chksum_h_2d ` :calledfrom: :f:func:`mom_checksums::chksum_h_3d ` :calledfrom: :f:func:`mom_checksums::chksum_u_2d ` :calledfrom: :f:func:`mom_checksums::chksum_u_3d ` :calledfrom: :f:func:`mom_checksums::chksum_v_2d ` :calledfrom: :f:func:`mom_checksums::chksum_v_3d ` :calledfrom: :f:func:`mom_file_parser::close_param_file ` :calledfrom: :f:func:`mom_sum_output::depth_list_setup ` :calledfrom: :f:func:`mom_diag_mediator::diag_mediator_init ` :calledfrom: :f:func:`mom_diapyc_energy_req::diapyc_energy_req_test ` :calledfrom: :f:func:`mom_document::doc_closeblock ` :calledfrom: :f:func:`mom_document::doc_function ` :calledfrom: :f:func:`mom_document::doc_module ` :calledfrom: :f:func:`mom_document::doc_openblock ` :calledfrom: :f:func:`mom_document::doc_param_char ` :calledfrom: :f:func:`mom_document::doc_param_int ` :calledfrom: :f:func:`mom_document::doc_param_int_array ` :calledfrom: :f:func:`mom_document::doc_param_logical ` :calledfrom: :f:func:`mom_document::doc_param_logical_array ` :calledfrom: :f:func:`mom_document::doc_param_none ` :calledfrom: :f:func:`mom_document::doc_param_real ` :calledfrom: :f:func:`mom_document::doc_param_real_array ` :calledfrom: :f:func:`mom_document::doc_param_time ` :calledfrom: :f:func:`mom_document::doc_subroutine ` :calledfrom: :f:func:`mom_entrain_diffusive::entrainment_diffusive ` :calledfrom: :f:func:`mom_obsolete_params::find_obsolete_params ` :calledfrom: :f:func:`mom_obsolete_diagnostics::found_in_diagtable ` :calledfrom: :f:func:`mom_ice_shelf::initialize_ice_shelf ` :calledfrom: :f:func:`mom_error ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`mom_mesg ` :calledfrom: :f:func:`mom_checksum_packages::mom_state_stats ` :calledfrom: :f:func:`mom_tracer_registry::mom_tracer_chkinv ` :calledfrom: :f:func:`mom_write_cputime::mom_write_cputime_end ` :calledfrom: :f:func:`mom_document::open_doc_file ` :calledfrom: :f:func:`mom_file_parser::open_param_file ` :calledfrom: :f:func:`mom_restart::open_restart_units ` :calledfrom: :f:func:`mom_file_parser::populate_param_data ` :calledfrom: :f:func:`mom_restart::query_initialized_0d_name ` :calledfrom: :f:func:`mom_restart::query_initialized_1d_name ` :calledfrom: :f:func:`mom_restart::query_initialized_2d_name ` :calledfrom: :f:func:`mom_restart::query_initialized_3d_name ` :calledfrom: :f:func:`mom_restart::query_initialized_4d_name ` :calledfrom: :f:func:`mom_restart::query_initialized_name ` :calledfrom: :f:func:`mom_diag_mediator::register_diag_field_expand_cmor ` :calledfrom: :f:func:`mom_obsolete_diagnostics::register_obsolete_diagnostics ` :calledfrom: :f:func:`mom_diag_mediator::register_scalar_field ` :calledfrom: :f:func:`mom_diag_mediator::register_static_field ` :calledfrom: :f:func:`mom_restart::restore_state ` :calledfrom: :f:func:`mom_sponge::set_up_sponge_field ` :calledfrom: :f:func:`mom_ice_shelf_dynamics::shelf_advance_front ` :calledfrom: :f:func:`mom_tidal_mixing::tidal_mixing_init ` :calledfrom: :f:func:`mom_debugging::totaltands ` :calledfrom: :f:func:`mom_tracer_registry::tracer_registry_init ` :calledfrom: :f:func:`mom_unit_tests::unit_tests ` :calledfrom: :f:func:`mom_write_cputime::write_cputime ` :calledfrom: :f:func:`mom_sum_output::write_depth_list ` :calledfrom: :f:func:`mom_sum_output::write_energy ` :calledfrom: :f:func:`mom_checksums::zchksum ` .. f:subroutine:: subroutine mom_mesg(message, verb, all_print) This provides a convenient interface for writing an informative comment. :param message: [in] A message to write out :param verb: [in] A level of verbosity for this message :param all_print: [in] If present and true, any PEs are able to write this message. :callto: :f:func:`is_root_pe ` :callto: :f:func:`verbosity ` :calledfrom: :f:func:`mom_ice_shelf::add_shelf_flux ` :calledfrom: :f:func:`adjustment_initialization::adjustment_initialize_thickness ` :calledfrom: :f:func:`mom_barotropic::barotropic_init ` :calledfrom: :f:func:`basin_builder::basin_builder_topography ` :calledfrom: :f:func:`benchmark_initialization::benchmark_initialize_thickness ` :calledfrom: :f:func:`benchmark_initialization::benchmark_initialize_topography ` :calledfrom: :f:func:`mom_barotropic::btstep ` :calledfrom: :f:func:`circle_obcs_initialization::circle_obcs_initialize_thickness ` :calledfrom: :f:func:`mom_continuity::continuity_init ` :calledfrom: :f:func:`mom_coriolisadv::coriolisadv_init ` :calledfrom: :f:func:`dome2d_initialization::dome2d_initialize_thickness ` :calledfrom: :f:func:`dome_initialization::dome_initialize_thickness ` :calledfrom: :f:func:`dome_initialization::dome_initialize_topography ` :calledfrom: :f:func:`dumbbell_initialization::dumbbell_initialize_thickness ` :calledfrom: :f:func:`mom_energetic_pbl::energetic_pbl_init ` :calledfrom: :f:func:`mom_eos::eos_init ` :calledfrom: :f:func:`external_gwave_initialization::external_gwave_initialize_thickness ` :calledfrom: :f:func:`mom_oda_driver_mod::get_posterior_tracer ` :calledfrom: :f:func:`mom_ice_shelf_dynamics::ice_shelf_solve_outer ` :calledfrom: :f:func:`mom_ice_shelf::initialize_ice_shelf ` :calledfrom: :f:func:`mom_ice_shelf_dynamics::initialize_ice_shelf_dyn ` :calledfrom: :f:func:`mom_ice_shelf_initialize::initialize_ice_thickness_channel ` :calledfrom: :f:func:`mom_ice_shelf_initialize::initialize_ice_thickness_from_file ` :calledfrom: :f:func:`mom_internal_tides::internal_tides_init ` :calledfrom: :f:func:`isomip_initialization::isomip_initialize_thickness ` :calledfrom: :f:func:`isomip_initialization::isomip_initialize_topography ` :calledfrom: :f:func:`kelvin_initialization::kelvin_initialize_topography ` :calledfrom: :f:func:`lock_exchange_initialization::lock_exchange_initialize_thickness ` :calledfrom: :f:func:`mom_meke::meke_alloc_register_restart ` :calledfrom: :f:func:`mom_meke::meke_init ` :calledfrom: :f:func:`mom_domains::mom_domains_init ` :calledfrom: :f:func:`mom_grid::mom_grid_init ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`mom_checksum_packages::mom_state_stats ` :calledfrom: :f:func:`neverworld_initialization::neverworld_initialize_thickness ` :calledfrom: :f:func:`neverworld_initialization::neverworld_initialize_topography ` :calledfrom: :f:func:`mom_opacity::opacity_init ` :calledfrom: :f:func:`mom_tracer_z_init::read_z_edges ` :calledfrom: :f:func:`mom_coms::reproducing_sum_2d ` :calledfrom: :f:func:`mom_coms::reproducing_sum_3d ` :calledfrom: :f:func:`rossby_front_2d_initialization::rossby_front_initialize_thickness ` :calledfrom: :f:func:`seamount_initialization::seamount_initialize_thickness ` :calledfrom: :f:func:`mom_oda_driver_mod::set_analysis_time ` :calledfrom: :f:func:`mom_oda_driver_mod::set_prior_tracer ` :calledfrom: :f:func:`mom_ice_shelf_dynamics::shelf_advance_front ` :calledfrom: :f:func:`soliton_initialization::soliton_initialize_thickness ` :calledfrom: :f:func:`mom_ice_shelf::solo_step_ice_shelf ` :calledfrom: :f:func:`mom_tidal_forcing::tidal_forcing_init ` .. f:subroutine:: subroutine mom_error(level, message, all_print) This provides a convenient interface for writing an mpp_error message with run-time filter based on a verbosity. :param level: [in] The verbosity level of this message :param message: [in] A message to write out :param all_print: [in] If present and true, any PEs are able to write this message. :callto: :f:func:`is_root_pe ` :callto: :f:func:`verbosity ` :calledfrom: :f:func:`mom_sum_output::accumulate_net_input ` :calledfrom: :f:func:`mom_tidal_mixing::add_int_tide_diffusivity ` :calledfrom: :f:func:`mom_ice_shelf::add_shelf_flux ` :calledfrom: :f:func:`mom_ice_shelf::add_shelf_forces ` :calledfrom: :f:func:`mom_ice_shelf::add_shelf_pressure ` :calledfrom: :f:func:`mom_diag_mediator::add_xyz_method ` :calledfrom: :f:func:`mom_regridding::adjust_interface_motion ` :calledfrom: :f:func:`adjustment_initialization::adjustment_initialize_temperature_salinity ` :calledfrom: :f:func:`adjustment_initialization::adjustment_initialize_thickness ` :calledfrom: :f:func:`mom_tracer_advect::advect_tracer ` :calledfrom: :f:func:`mom_variables::alloc_bt_cont_type ` :calledfrom: :f:func:`mom_eos::analytic_int_density_dz ` :calledfrom: :f:func:`mom_eos::analytic_int_specific_vol_dp ` :calledfrom: :f:func:`mom_ale_sponge::apply_ale_sponge ` :calledfrom: :f:func:`mom_controlled_forcing::apply_ctrl_forcing ` :calledfrom: :f:func:`mom_surface_forcing_gfdl::apply_force_adjustments ` :calledfrom: :f:func:`mom_sponge::apply_sponge ` :calledfrom: :f:func:`mom_tracer_diabatic::applytracerboundaryfluxesinout ` :calledfrom: :f:func:`assert ` :calledfrom: :f:func:`mom_diag_mediator::attach_cell_methods ` :calledfrom: :f:func:`mom_remapping::average_value_ppoly ` :calledfrom: :f:func:`mom_barotropic::barotropic_init ` :calledfrom: :f:func:`basin_builder::basin_builder_topography ` :calledfrom: :f:func:`bfb_surface_forcing::bfb_buoyancy_forcing ` :calledfrom: :f:func:`bfb_surface_forcing::bfb_surface_forcing_init ` :calledfrom: :f:func:`mom_bkgnd_mixing::bkgnd_mixing_init ` :calledfrom: :f:func:`mom_lateral_boundary_diffusion::boundary_k_range ` :calledfrom: :f:func:`mom_barotropic::bt_mass_source ` :calledfrom: :f:func:`mom_barotropic::btcalc ` :calledfrom: :f:func:`mom_barotropic::btstep ` :calledfrom: :f:func:`mom_regridding::build_grid_hycom1 ` :calledfrom: :f:func:`mom_regridding::build_grid_slight ` :calledfrom: :f:func:`mom_remapping::build_reconstructions_1d ` :calledfrom: :f:func:`mom_regridding::build_rho_grid ` :calledfrom: :f:func:`mom_regridding::build_sigma_grid ` :calledfrom: :f:func:`coord_slight::build_slight_column ` :calledfrom: :f:func:`mom_regridding::build_zstar_grid ` :calledfrom: :f:func:`mom_lateral_boundary_diffusion::bulk_average ` :calledfrom: :f:func:`mom_bulk_mixed_layer::bulkmixedlayer ` :calledfrom: :f:func:`mom_bulk_mixed_layer::bulkmixedlayer_init ` :calledfrom: :f:func:`mom_neutral_diffusion::calc_delta_rho_and_derivs ` :calledfrom: :f:func:`mom_lateral_mixing_coeffs::calc_depth_function ` :calledfrom: :f:func:`mom_lateral_mixing_coeffs::calc_resoln_function ` :calledfrom: :f:func:`mom_lateral_mixing_coeffs::calc_slope_functions ` :calledfrom: :f:func:`mom_lateral_mixing_coeffs::calc_slope_functions_using_just_e ` :calledfrom: :f:func:`mom_eos::calc_spec_vol_1d ` :calledfrom: :f:func:`mom_eos::calc_spec_vol_derivs_1d ` :calledfrom: :f:func:`mom_eos::calc_spec_vol_scalar ` :calledfrom: :f:func:`mom_lateral_mixing_coeffs::calc_visbeck_coeffs ` :calledfrom: :f:func:`mom_eos::calculate_compress_array ` :calledfrom: :f:func:`mom_eos::calculate_compress_scalar ` :calledfrom: :f:func:`mom_tidal_mixing::calculate_cvmix_tidal ` :calledfrom: :f:func:`mom_eos::calculate_density_1d ` :calledfrom: :f:func:`mom_eos::calculate_density_array ` :calledfrom: :f:func:`mom_eos::calculate_density_derivs_1d ` :calledfrom: :f:func:`mom_eos::calculate_density_derivs_array ` :calledfrom: :f:func:`mom_eos::calculate_density_derivs_scalar ` :calledfrom: :f:func:`mom_eos::calculate_density_scalar ` :calledfrom: :f:func:`mom_eos::calculate_density_second_derivs_array ` :calledfrom: :f:func:`mom_eos::calculate_density_second_derivs_scalar ` :calledfrom: :f:func:`mom_diagnostics::calculate_diagnostic_fields ` :calledfrom: :f:func:`mom_eos::calculate_spec_vol_array ` :calledfrom: :f:func:`mom_eos::calculate_spec_vol_derivs_array ` :calledfrom: :f:func:`mom_eos::calculate_stanley_density_1d ` :calledfrom: :f:func:`mom_eos::calculate_stanley_density_array ` :calledfrom: :f:func:`mom_eos::calculate_stanley_density_scalar ` :calledfrom: :f:func:`mom_eos::calculate_tfreeze_array ` :calledfrom: :f:func:`mom_eos::calculate_tfreeze_scalar ` :calledfrom: :f:func:`mom_boundary_update::call_obc_register ` :calledfrom: :f:func:`mom_tracer_flow_control::call_tracer_column_fns ` :calledfrom: :f:func:`mom_tracer_flow_control::call_tracer_register ` :calledfrom: :f:func:`mom_tracer_flow_control::call_tracer_set_forcing ` :calledfrom: :f:func:`mom_tracer_flow_control::call_tracer_stocks ` :calledfrom: :f:func:`mom_tracer_flow_control::call_tracer_surface_state ` :calledfrom: :f:func:`mom_bkgnd_mixing::check_bkgnd_scheme ` :calledfrom: :f:func:`mom_regridding::check_grid_column ` :calledfrom: :f:func:`mom_surface_forcing_gfdl::check_mask_val_consistency ` :calledfrom: :f:func:`mom_remapping::check_reconstructions_1d ` :calledfrom: :f:func:`mom_debugging::check_redundant_sb2d ` :calledfrom: :f:func:`mom_debugging::check_redundant_vb2d ` :calledfrom: :f:func:`mom_debugging::check_redundant_vc2d ` :calledfrom: :f:func:`mom_checksums::chksum_error ` :calledfrom: :f:func:`mom_domains::clone_md_to_d2d ` :calledfrom: :f:func:`mom_domains::clone_md_to_md ` :calledfrom: :f:func:`mom_shared_initialization::compute_global_grid_integrals ` :calledfrom: :f:func:`mom_continuity::continuity ` :calledfrom: :f:func:`mom_continuity::continuity_init ` :calledfrom: :f:func:`mom_continuity_ppm::continuity_ppm ` :calledfrom: :f:func:`mom_continuity_ppm::continuity_ppm_init ` :calledfrom: :f:func:`mom_eos::convert_temp_salt_for_teos10 ` :calledfrom: :f:func:`regrid_consts::coordinatemode ` :calledfrom: :f:func:`regrid_consts::coordinateunitsi ` :calledfrom: :f:func:`mom_transcribe_grid::copy_dyngrid_to_mom_grid ` :calledfrom: :f:func:`mom_transcribe_grid::copy_mom_grid_to_dyngrid ` :calledfrom: :f:func:`mom_coriolisadv::coradcalc ` :calledfrom: :f:func:`mom_coriolisadv::coriolisadv_init ` :calledfrom: :f:func:`mom_internal_tides::correct_halo_rotation ` :calledfrom: :f:func:`mom_dyn_horgrid::create_dyn_horgrid ` :calledfrom: :f:func:`mom_io::create_file ` :calledfrom: :f:func:`mom_cvmix_conv::cvmix_conv_init ` :calledfrom: :f:func:`mom_cvmix_ddiff::cvmix_ddiff_init ` :calledfrom: :f:func:`mom_cvmix_shear::cvmix_shear_init ` :calledfrom: :f:func:`mom_diag_mediator::define_axes_group ` :calledfrom: :f:func:`mom_diag_mediator::define_axes_group_dsamp ` :calledfrom: :f:func:`dense_water_initialization::dense_water_initialize_sponges ` :calledfrom: :f:func:`mom_sum_output::depth_list_setup ` :calledfrom: :f:func:`mom_dyn_horgrid::destroy_dyn_horgrid ` :calledfrom: :f:func:`mom_entrain_diffusive::determine_dskb ` :calledfrom: :f:func:`mom_entrain_diffusive::determine_ea_kb ` :calledfrom: :f:func:`mom_restart::determine_is_new_run ` :calledfrom: :f:func:`mom_diag_mediator::diag_mediator_init ` :calledfrom: :f:func:`mom_diag_remap::diag_remap_update ` :calledfrom: :f:func:`mom_diag_mediator::diag_update_remap_grids ` :calledfrom: :f:func:`mom_diapyc_energy_req::diapyc_energy_req_test ` :calledfrom: :f:func:`mom_offline_aux::distribute_residual_uh_barotropic ` :calledfrom: :f:func:`mom_offline_aux::distribute_residual_uh_upwards ` :calledfrom: :f:func:`mom_offline_aux::distribute_residual_vh_barotropic ` :calledfrom: :f:func:`mom_offline_aux::distribute_residual_vh_upwards ` :calledfrom: :f:func:`dome2d_initialization::dome2d_initialize_sponges ` :calledfrom: :f:func:`dome2d_initialization::dome2d_initialize_temperature_salinity ` :calledfrom: :f:func:`dome2d_initialization::dome2d_initialize_thickness ` :calledfrom: :f:func:`dome_initialization::dome_initialize_sponges ` :calledfrom: :f:func:`dome_initialization::dome_set_obc_data ` :calledfrom: :f:func:`mom_diag_mediator::downsample_diag_field_2d ` :calledfrom: :f:func:`mom_diag_mediator::downsample_diag_field_3d ` :calledfrom: :f:func:`mom_diag_mediator::downsample_diag_indices_get ` :calledfrom: :f:func:`mom_diag_mediator::downsample_field_2d ` :calledfrom: :f:func:`mom_diag_mediator::downsample_field_3d ` :calledfrom: :f:func:`dumbbell_surface_forcing::dumbbell_surface_forcing_init ` :calledfrom: :f:func:`dyed_channel_initialization::dyed_channel_set_obc_tracer_data ` :calledfrom: :f:func:`dyed_channel_initialization::dyed_channel_update_flow ` :calledfrom: :f:func:`dyed_obcs_initialization::dyed_obcs_set_obc_data ` :calledfrom: :f:func:`mom_regridding::dz_function1 ` :calledfrom: :f:func:`mom_coms::efp_list_sum_across_pes ` :calledfrom: :f:func:`mom_coms::efp_val_sum_across_pes ` :calledfrom: :f:func:`mom_energetic_pbl::energetic_pbl ` :calledfrom: :f:func:`mom_energetic_pbl::energetic_pbl_init ` :calledfrom: :f:func:`mom_io::ensembler ` :calledfrom: :f:func:`mom_entrain_diffusive::entrain_diffusive_init ` :calledfrom: :f:func:`mom_entrain_diffusive::entrainment_diffusive ` :calledfrom: :f:func:`mom_eos::eos_init ` :calledfrom: :f:func:`mom_eos::eos_use_linear ` :calledfrom: :f:func:`mom_energetic_pbl::epbl_column ` :calledfrom: :f:func:`mom_tidal_forcing::eq_phase ` :calledfrom: :f:func:`mom_surface_forcing_gfdl::extract_iob_stresses ` :calledfrom: :f:func:`mom_forcing_type::extractfluxes1d ` :calledfrom: :f:func:`mom_regridding::filtered_grid_motion ` :calledfrom: :f:func:`mom_density_integrals::find_depth_of_pressure_in_cell ` :calledfrom: :f:func:`mom_interface_heights::find_eta_3d ` :calledfrom: :f:func:`mom_tidal_forcing::find_in_files ` :calledfrom: :f:func:`mom_neutral_diffusion::find_neutral_pos_linear ` :calledfrom: :f:func:`mom_neutral_diffusion::find_neutral_surface_positions_discontinuous ` :calledfrom: :f:func:`mom_obsolete_params::find_obsolete_params ` :calledfrom: :f:func:`mom_document::find_unused_unit_number ` :calledfrom: :f:func:`mom_forcing_type::fluxes_accumulate ` :calledfrom: :f:func:`mom_obsolete_diagnostics::found_in_diagtable ` :calledfrom: :f:func:`mom_geothermal::geothermal_entraining ` :calledfrom: :f:func:`mom_geothermal::geothermal_in_place ` :calledfrom: :f:func:`mom_geothermal::geothermal_init ` :calledfrom: :f:func:`mom_ale_sponge::get_ale_sponge_thicknesses ` :calledfrom: :f:func:`mom_tracer_flow_control::get_chl_from_model ` :calledfrom: :f:func:`mom_wave_interface::get_langmuir_number ` :calledfrom: :f:func:`mom_get_input::get_mom_input ` :calledfrom: :f:func:`regrid_interp::get_polynomial_coordinate ` :calledfrom: :f:func:`mom_domains::get_simple_array_i_ind ` :calledfrom: :f:func:`mom_domains::get_simple_array_j_ind ` :calledfrom: :f:func:`mom_verticalgrid::get_tr_flux_units ` :calledfrom: :f:func:`mom_regridding::getcoordinateinterfaces ` :calledfrom: :f:func:`mom_regridding::getcoordinateshortname ` :calledfrom: :f:func:`mom_regridding::getcoordinateunits ` :calledfrom: :f:func:`mom_regridding::getstaticthickness ` :calledfrom: :f:func:`mom_spatial_means::global_i_mean ` :calledfrom: :f:func:`mom_spatial_means::global_j_mean ` :calledfrom: :f:func:`mom_hor_visc::hor_visc_init ` :calledfrom: :f:func:`mom_hor_visc::horizontal_viscosity ` :calledfrom: :f:func:`mom_ice_shelf_dynamics::ice_shelf_advect ` :calledfrom: :f:func:`mom_ice_shelf_state::ice_shelf_state_init ` :calledfrom: :f:func:`idealized_hurricane::idealized_hurricane_wind_init ` :calledfrom: :f:func:`mom_neutral_diffusion::increment_interface ` :calledfrom: :f:func:`coord_adapt::init_coord_adapt ` :calledfrom: :f:func:`coord_hycom::init_coord_hycom ` :calledfrom: :f:func:`coord_rho::init_coord_rho ` :calledfrom: :f:func:`coord_sigma::init_coord_sigma ` :calledfrom: :f:func:`coord_slight::init_coord_slight ` :calledfrom: :f:func:`coord_zlike::init_coord_zlike ` :calledfrom: :f:func:`mom_ocmip2_cfc::init_tracer_cfc ` :calledfrom: :f:func:`mom_ale_sponge::initialize_ale_sponge_fixed ` :calledfrom: :f:func:`mom_ale_sponge::initialize_ale_sponge_varying ` :calledfrom: :f:func:`dome_tracer::initialize_dome_tracer ` :calledfrom: :f:func:`dyed_obc_tracer::initialize_dyed_obc_tracer ` :calledfrom: :f:func:`mom_dynamics_unsplit::initialize_dyn_unsplit ` :calledfrom: :f:func:`mom_ice_shelf::initialize_ice_shelf ` :calledfrom: :f:func:`mom_ice_shelf_dynamics::initialize_ice_shelf_dyn ` :calledfrom: :f:func:`mom_ice_shelf_initialize::initialize_ice_thickness ` :calledfrom: :f:func:`mom_ice_shelf_initialize::initialize_ice_thickness_from_file ` :calledfrom: :f:func:`ideal_age_example::initialize_ideal_age_tracer ` :calledfrom: :f:func:`isomip_tracer::initialize_isomip_tracer ` :calledfrom: :f:func:`mom_generic_tracer::initialize_mom_generic_tracer ` :calledfrom: :f:func:`oil_tracer::initialize_oil_tracer ` :calledfrom: :f:func:`mom_regridding::initialize_regridding ` :calledfrom: :f:func:`rgc_tracer::initialize_rgc_tracer ` :calledfrom: :f:func:`mom_ice_shelf::initialize_shelf_mass ` :calledfrom: :f:func:`mom_sponge::initialize_sponge ` :calledfrom: :f:func:`mom_density_integrals::int_density_dz_generic_pcm ` :calledfrom: :f:func:`mom_density_integrals::int_spec_vol_dp_generic_pcm ` :calledfrom: :f:func:`mom_int_tide_input::int_tide_input_init ` :calledfrom: :f:func:`mom_remapping::integraterecononinterval ` :calledfrom: :f:func:`mom_internal_tides::internal_tides_init ` :calledfrom: :f:func:`mom_neutral_diffusion::interpolate_for_nondim_position ` :calledfrom: :f:func:`regrid_interp::interpolation_scheme ` :calledfrom: :f:func:`mom_restart::is_new_run ` :calledfrom: :f:func:`isomip_initialization::isomip_initialize_sponges ` :calledfrom: :f:func:`isomip_initialization::isomip_initialize_temperature_salinity ` :calledfrom: :f:func:`isomip_initialization::isomip_initialize_thickness ` :calledfrom: :f:func:`mom_remapping::ispossumerrsignificant ` :calledfrom: :f:func:`mom_kappa_shear::kappa_shear_init ` :calledfrom: :f:func:`kelvin_initialization::kelvin_set_obc_data ` :calledfrom: :f:func:`mom_cvmix_kpp::kpp_calculate ` :calledfrom: :f:func:`mom_cvmix_kpp::kpp_init ` :calledfrom: :f:func:`mom_lateral_boundary_diffusion::lateral_boundary_diffusion_init ` :calledfrom: :f:func:`regrid_solvers::linear_solver ` :calledfrom: :f:func:`regrid_edge_values::linear_solver ` :calledfrom: :f:func:`mom_tracer_registry::lock_tracer_registry ` :calledfrom: :f:func:`mom_marine_ice::marine_ice_init ` :calledfrom: :f:func:`mom_meke::meke_alloc_register_restart ` :calledfrom: :f:func:`mom_meke::meke_init ` :calledfrom: :f:func:`mom_document::mesghasbeendocumented ` :calledfrom: :f:func:`meso_surface_forcing::meso_buoyancy_forcing ` :calledfrom: :f:func:`meso_surface_forcing::meso_surface_forcing_init ` :calledfrom: :f:func:`mom_bulk_mixed_layer::mixedlayer_detrain_1 ` :calledfrom: :f:func:`mom_bulk_mixed_layer::mixedlayer_detrain_2 ` :calledfrom: :f:func:`mom_mixed_layer_restrat::mixedlayer_restrat ` :calledfrom: :f:func:`mom_mixed_layer_restrat::mixedlayer_restrat_bml ` :calledfrom: :f:func:`mom_mixed_layer_restrat::mixedlayer_restrat_general ` :calledfrom: :f:func:`mom_mixed_layer_restrat::mixedlayer_restrat_init ` :calledfrom: :f:func:`mom_mixed_layer_restrat::mixedlayer_restrat_register_restarts ` :calledfrom: :f:func:`mom_diagnostics::mom_diagnostics_init ` :calledfrom: :f:func:`mom_domains::mom_domains_init ` :calledfrom: :f:func:`mom_generic_tracer::mom_generic_flux_init ` :calledfrom: :f:func:`mom_generic_tracer::mom_generic_tracer_column_physics ` :calledfrom: :f:func:`mom_grid::mom_grid_init ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`mom_set_verbosity ` :calledfrom: :f:func:`mom_sum_output::mom_sum_output_init ` :calledfrom: :f:func:`mom_wave_interface::mom_wave_interface_init ` :calledfrom: :f:func:`mom_neutral_diffusion::neutral_diffusion_init ` :calledfrom: :f:func:`mom_neutral_diffusion::neutral_surface_t_eval ` :calledfrom: :f:func:`mom_tidal_forcing::nodal_fu ` :calledfrom: :f:func:`mom_io::num_timelevels ` :calledfrom: :f:func:`mom_obsolete_params::obsolete_char ` :calledfrom: :f:func:`mom_obsolete_params::obsolete_int ` :calledfrom: :f:func:`mom_obsolete_params::obsolete_logical ` :calledfrom: :f:func:`mom_obsolete_params::obsolete_real ` :calledfrom: :f:func:`mom_diag_mediator::ocean_register_diag ` :calledfrom: :f:func:`mom_opacity::opacity_from_chl ` :calledfrom: :f:func:`mom_opacity::opacity_init ` :calledfrom: :f:func:`mom_document::open_doc_file ` :calledfrom: :f:func:`mom_restart::open_restart_units ` :calledfrom: :f:func:`mom_domains::pass_var_2d ` :calledfrom: :f:func:`mom_file_parser::populate_param_data ` :calledfrom: :f:func:`mom_diag_mediator::post_data_2d_low ` :calledfrom: :f:func:`mom_diag_mediator::post_data_3d ` :calledfrom: :f:func:`mom_diag_mediator::post_data_3d_low ` :calledfrom: :f:func:`mom_tracer_registry::postale_tracer_diagnostics ` :calledfrom: :f:func:`mom_continuity_ppm::ppm_reconstruction_x ` :calledfrom: :f:func:`mom_internal_tides::ppm_reconstruction_x ` :calledfrom: :f:func:`mom_internal_tides::ppm_reconstruction_y ` :calledfrom: :f:func:`mom_continuity_ppm::ppm_reconstruction_y ` :calledfrom: :f:func:`mom_pressureforce_fv::pressureforce_fv_bouss ` :calledfrom: :f:func:`mom_pressureforce_fv::pressureforce_fv_init ` :calledfrom: :f:func:`mom_pressureforce_fv::pressureforce_fv_nonbouss ` :calledfrom: :f:func:`mom_pressureforce::pressureforce_init ` :calledfrom: :f:func:`mom_pressureforce_mont::pressureforce_mont_bouss ` :calledfrom: :f:func:`mom_pressureforce_mont::pressureforce_mont_init ` :calledfrom: :f:func:`mom_pressureforce_mont::pressureforce_mont_nonbouss ` :calledfrom: :f:func:`mom_internal_tides::propagate_corner_spread ` :calledfrom: :f:func:`mom_internal_tides::propagate_int_tide ` :calledfrom: :f:func:`mom_eos::query_compressible ` :calledfrom: :f:func:`mom_restart::query_initialized_0d ` :calledfrom: :f:func:`mom_restart::query_initialized_0d_name ` :calledfrom: :f:func:`mom_restart::query_initialized_1d ` :calledfrom: :f:func:`mom_restart::query_initialized_1d_name ` :calledfrom: :f:func:`mom_restart::query_initialized_2d ` :calledfrom: :f:func:`mom_restart::query_initialized_2d_name ` :calledfrom: :f:func:`mom_restart::query_initialized_3d ` :calledfrom: :f:func:`mom_restart::query_initialized_3d_name ` :calledfrom: :f:func:`mom_restart::query_initialized_4d ` :calledfrom: :f:func:`mom_restart::query_initialized_4d_name ` :calledfrom: :f:func:`mom_restart::query_initialized_name ` :calledfrom: :f:func:`mom_io::read_axis_data ` :calledfrom: :f:func:`mom_sum_output::read_depth_list ` :calledfrom: :f:func:`mom_file_parser::read_param_int ` :calledfrom: :f:func:`mom_file_parser::read_param_int_array ` :calledfrom: :f:func:`mom_file_parser::read_param_real ` :calledfrom: :f:func:`mom_file_parser::read_param_real_array ` :calledfrom: :f:func:`mom_tidal_mixing::read_tidal_constituents ` :calledfrom: :f:func:`mom_tidal_mixing::read_tidal_energy ` :calledfrom: :f:func:`mom_tracer_z_init::read_z_edges ` :calledfrom: :f:func:`mom_coms::real_to_efp ` :calledfrom: :f:func:`mom_coms::real_to_ints ` :calledfrom: :f:func:`mom_internal_tides::refract ` :calledfrom: :f:func:`advection_test_tracer::register_advection_test_tracer ` :calledfrom: :f:func:`mom_barotropic::register_barotropic_restarts ` :calledfrom: :f:func:`boundary_impulse_tracer::register_boundary_impulse_tracer ` :calledfrom: :f:func:`mom_controlled_forcing::register_ctrl_forcing_restarts ` :calledfrom: :f:func:`mom_diag_mediator::register_diag_field ` :calledfrom: :f:func:`dome_tracer::register_dome_tracer ` :calledfrom: :f:func:`regional_dyes::register_dye_tracer ` :calledfrom: :f:func:`dyed_channel_initialization::register_dyed_channel_obc ` :calledfrom: :f:func:`dyed_obc_tracer::register_dyed_obc_tracer ` :calledfrom: :f:func:`mom_ice_shelf_dynamics::register_ice_shelf_dyn_restarts ` :calledfrom: :f:func:`ideal_age_example::register_ideal_age_tracer ` :calledfrom: :f:func:`isomip_tracer::register_isomip_tracer ` :calledfrom: :f:func:`kelvin_initialization::register_kelvin_obc ` :calledfrom: :f:func:`mom_generic_tracer::register_mom_generic_tracer ` :calledfrom: :f:func:`mom_obsolete_diagnostics::register_obsolete_diagnostics ` :calledfrom: :f:func:`mom_ocmip2_cfc::register_ocmip2_cfc ` :calledfrom: :f:func:`oil_tracer::register_oil_tracer ` :calledfrom: :f:func:`pseudo_salt_tracer::register_pseudo_salt_tracer ` :calledfrom: :f:func:`mom_restart::register_restart_field_0d ` :calledfrom: :f:func:`mom_restart::register_restart_field_1d ` :calledfrom: :f:func:`mom_restart::register_restart_field_2d ` :calledfrom: :f:func:`mom_restart::register_restart_field_3d ` :calledfrom: :f:func:`mom_restart::register_restart_field_4d ` :calledfrom: :f:func:`mom_restart::register_restart_field_ptr0d ` :calledfrom: :f:func:`mom_restart::register_restart_field_ptr1d ` :calledfrom: :f:func:`mom_restart::register_restart_field_ptr2d ` :calledfrom: :f:func:`mom_restart::register_restart_field_ptr3d ` :calledfrom: :f:func:`mom_restart::register_restart_field_ptr4d ` :calledfrom: :f:func:`mom_dynamics_unsplit::register_restarts_dyn_unsplit ` :calledfrom: :f:func:`rgc_tracer::register_rgc_tracer ` :calledfrom: :f:func:`shelfwave_initialization::register_shelfwave_obc ` :calledfrom: :f:func:`tidal_bay_initialization::register_tidal_bay_obc ` :calledfrom: :f:func:`mom_diagnostics::register_time_deriv ` :calledfrom: :f:func:`mom_tracer_registry::register_tracer ` :calledfrom: :f:func:`mom_tracer_registry::register_tracer_diagnostics ` :calledfrom: :f:func:`mom_regridding::regridding_main ` :calledfrom: :f:func:`mom_regularize_layers::regularize_layers ` :calledfrom: :f:func:`mom_regularize_layers::regularize_layers_init ` :calledfrom: :f:func:`mom_regularize_layers::regularize_surface ` :calledfrom: :f:func:`mom_remapping::remap_via_sub_cells ` :calledfrom: :f:func:`mom_remapping::remapping_core_h ` :calledfrom: :f:func:`mom_remapping::remapping_core_w ` :calledfrom: :f:func:`mom_io::reopen_file ` :calledfrom: :f:func:`mom_coms::reproducing_efp_sum_2d ` :calledfrom: :f:func:`mom_coms::reproducing_sum_2d ` :calledfrom: :f:func:`mom_coms::reproducing_sum_3d ` :calledfrom: :f:func:`mom_dyn_horgrid::rescale_dyn_horgrid_bathymetry ` :calledfrom: :f:func:`mom_grid::rescale_grid_bathymetry ` :calledfrom: :f:func:`mom_restart::restart_error ` :calledfrom: :f:func:`mom_restart::restart_files_exist ` :calledfrom: :f:func:`mom_restart::restart_init ` :calledfrom: :f:func:`mom_restart::restore_state ` :calledfrom: :f:func:`rgc_initialization::rgc_initialize_sponges ` :calledfrom: :f:func:`coord_slight::rho_interfaces_col ` :calledfrom: :f:func:`rossby_front_2d_initialization::rossby_front_initialize_thickness ` :calledfrom: :f:func:`mom_ale_sponge::rotate_ale_sponge ` :calledfrom: :f:func:`mom_forcing_type::rotate_forcing ` :calledfrom: :f:func:`mom_variables::rotate_surface_state ` :calledfrom: :f:func:`mom_transform_fms::rotated_mpp_chksum_real_0d ` :calledfrom: :f:func:`mom_transform_fms::rotated_mpp_chksum_real_1d ` :calledfrom: :f:func:`mom_transform_fms::rotated_time_interp_external_0d ` :calledfrom: :f:func:`mom_transform_fms::rotated_time_interp_external_2d ` :calledfrom: :f:func:`mom_transform_fms::rotated_time_interp_external_3d ` :calledfrom: :f:func:`mom_transform_fms::rotated_write_field_real_0d ` :calledfrom: :f:func:`mom_transform_fms::rotated_write_field_real_1d ` :calledfrom: :f:func:`mom_io::safe_string_copy ` :calledfrom: :f:func:`mom_restart::save_restart ` :calledfrom: :f:func:`scm_cvmix_tests::scm_cvmix_tests_surface_forcing_init ` :calledfrom: :f:func:`seamount_initialization::seamount_initialize_temperature_salinity ` :calledfrom: :f:func:`coord_adapt::set_adapt_params ` :calledfrom: :f:func:`mom_oda_driver_mod::set_analysis_time ` :calledfrom: :f:func:`mom_diag_mediator::set_axes_info_dsamp ` :calledfrom: :f:func:`mom_barotropic::set_dtbt ` :calledfrom: :f:func:`coord_hycom::set_hycom_params ` :calledfrom: :f:func:`mom_int_tide_input::set_int_tide_input ` :calledfrom: :f:func:`mom_diag_mediator::set_masks_for_axes_dsamp ` :calledfrom: :f:func:`mom_opacity::set_opacity ` :calledfrom: :f:func:`mom_oda_driver_mod::set_prior_tracer ` :calledfrom: :f:func:`mom_regridding::set_regrid_max_depths ` :calledfrom: :f:func:`mom_regridding::set_regrid_params ` :calledfrom: :f:func:`coord_rho::set_rho_params ` :calledfrom: :f:func:`coord_sigma::set_sigma_params ` :calledfrom: :f:func:`coord_slight::set_slight_params ` :calledfrom: :f:func:`mom_regridding::set_target_densities ` :calledfrom: :f:func:`mom_ale_sponge::set_up_ale_sponge_field_fixed ` :calledfrom: :f:func:`mom_ale_sponge::set_up_ale_sponge_field_varying ` :calledfrom: :f:func:`mom_barotropic::set_up_bt_obc ` :calledfrom: :f:func:`mom_sponge::set_up_sponge_field ` :calledfrom: :f:func:`mom_sponge::set_up_sponge_ml_density ` :calledfrom: :f:func:`mom_set_visc::set_visc_init ` :calledfrom: :f:func:`mom_set_visc::set_viscous_bbl ` :calledfrom: :f:func:`mom_set_visc::set_viscous_ml ` :calledfrom: :f:func:`coord_zlike::set_zlike_params ` :calledfrom: :f:func:`mom_regridding::setcoordinateresolution ` :calledfrom: :f:func:`mom_remapping::setreconstructiontype ` :calledfrom: :f:func:`mom_tidal_mixing::setup_tidal_diagnostics ` :calledfrom: :f:func:`mom_ice_shelf::shelf_calc_flux ` :calledfrom: :f:func:`mom_file_parser::simplifywhitespace ` :calledfrom: :f:func:`mom_ice_shelf::solo_step_ice_shelf ` :calledfrom: :f:func:`regrid_solvers::solve_linear_system ` :calledfrom: :f:func:`regrid_consts::state_dependent_int ` :calledfrom: :f:func:`mom_meke::step_forward_meke ` :calledfrom: :f:func:`mom_tracer_flow_control::store_stocks ` :calledfrom: :f:func:`supercritical_initialization::supercritical_set_obc_data ` :calledfrom: :f:func:`mom_wave_interface::surface_bands_by_data_override ` :calledfrom: :f:func:`mom_surface_forcing_gfdl::surface_forcing_init ` :calledfrom: :f:func:`mom_internal_tides::teleport ` :calledfrom: :f:func:`regrid_edge_values::test_line ` :calledfrom: :f:func:`mom_neutral_diffusion::test_nsp ` :calledfrom: :f:func:`mom_thickness_diffuse::thickness_diffuse ` :calledfrom: :f:func:`mom_thickness_diffuse::thickness_diffuse_full ` :calledfrom: :f:func:`mom_thickness_diffuse::thickness_diffuse_init ` :calledfrom: :f:func:`mom_tidal_forcing::tidal_forcing_init ` :calledfrom: :f:func:`mom_tidal_forcing::tidal_frequency ` :calledfrom: :f:func:`mom_tidal_mixing::tidal_mixing_init ` :calledfrom: :f:func:`mom_tracer_advect::tracer_advect_init ` :calledfrom: :f:func:`mom_tracer_flow_control::tracer_flow_control_init ` :calledfrom: :f:func:`mom_tracer_registry::tracer_registry_init ` :calledfrom: :f:func:`mom_tracer_diabatic::tracer_vertdiff ` :calledfrom: :f:func:`mom_tracer_z_init::tracer_z_init ` :calledfrom: :f:func:`mom_wave_structure::tridiag_solver ` :calledfrom: :f:func:`mom_regridding::uniformresolution ` :calledfrom: :f:func:`mom_unit_scaling::unit_scaling_init ` :calledfrom: :f:func:`mom_unit_tests::unit_tests ` :calledfrom: :f:func:`mom_offline_aux::update_offline_from_arrays ` :calledfrom: :f:func:`mom_vert_friction::updatecfltruncationvalue ` :calledfrom: :f:func:`user_surface_forcing::user_buoyancy_forcing ` :calledfrom: :f:func:`user_change_diffusivity::user_change_diff ` :calledfrom: :f:func:`user_change_diffusivity::user_change_diff_init ` :calledfrom: :f:func:`user_initialization::user_init_temperature_salinity ` :calledfrom: :f:func:`user_initialization::user_initialize_sponges ` :calledfrom: :f:func:`user_initialization::user_initialize_thickness ` :calledfrom: :f:func:`user_initialization::user_initialize_topography ` :calledfrom: :f:func:`user_tracer_example::user_initialize_tracer ` :calledfrom: :f:func:`user_initialization::user_initialize_velocity ` :calledfrom: :f:func:`user_tracer_example::user_register_tracer_example ` :calledfrom: :f:func:`user_initialization::user_set_coord ` :calledfrom: :f:func:`user_initialization::user_set_rotation ` :calledfrom: :f:func:`user_surface_forcing::user_surface_forcing_init ` :calledfrom: :f:func:`user_surface_forcing::user_wind_forcing ` :calledfrom: :f:func:`mom_lateral_mixing_coeffs::varmix_init ` :calledfrom: :f:func:`mom_verticalgrid::verticalgridinit ` :calledfrom: :f:func:`mom_vert_friction::vertvisc ` :calledfrom: :f:func:`mom_vert_friction::vertvisc_coef ` :calledfrom: :f:func:`mom_vert_friction::vertvisc_init ` :calledfrom: :f:func:`mom_vert_friction::vertvisc_remnant ` :calledfrom: :f:func:`mom_wave_speed::wave_speed ` :calledfrom: :f:func:`mom_wave_speed::wave_speed_init ` :calledfrom: :f:func:`mom_wave_speed::wave_speed_set_param ` :calledfrom: :f:func:`mom_wave_speed::wave_speeds ` :calledfrom: :f:func:`mom_wave_structure::wave_structure ` :calledfrom: :f:func:`mom_wave_structure::wave_structure_init ` :calledfrom: :f:func:`mom_write_cputime::write_cputime ` :calledfrom: :f:func:`mom_sum_output::write_depth_list ` :calledfrom: :f:func:`mom_sum_output::write_energy ` :calledfrom: :f:func:`mom_pointaccel::write_u_accel ` :calledfrom: :f:func:`mom_pointaccel::write_v_accel ` .. f:subroutine:: subroutine mom_set_verbosity(verb) This subroutine sets the level of verbosity filtering MOM error messages. :param verb: [in] A level of verbosity to set :callto: :f:func:`mom_error ` :callto: :f:func:`verbosity ` .. f:function:: integer function mom_get_verbosity() This subroutine gets the level of verbosity filtering MOM error messages. :callto: :f:func:`verbosity ` .. f:function:: logical function mom_verbose_enough(verb) This tests whether the level of verbosity filtering MOM error messages is sufficient to write a message of verbosity level verb. :param verb: [in] A level of verbosity to test :callto: :f:func:`verbosity ` .. f:function:: logical function calltree_showquery() Returns True, if the verbosity>=6 indicating to show the call tree. :callto: :f:func:`verbosity ` .. f:subroutine:: subroutine calltree_enter(mesg, n) Writes a message about entering a subroutine if call tree reporting is active. :param mesg: [in] Message to write :param n: [in] An optional integer to write at end of message :callto: :f:func:`calltreeindentlevel ` :callto: :f:func:`is_root_pe ` :callto: :f:func:`verbosity ` :calledfrom: :f:func:`mom_ale::ale_build_grid ` :calledfrom: :f:func:`mom_ale::ale_init ` :calledfrom: :f:func:`mom_ale::ale_main ` :calledfrom: :f:func:`mom_ale::ale_main_offline ` :calledfrom: :f:func:`mom_ale::ale_offline_tracer_final ` :calledfrom: :f:func:`mom_shared_initialization::apply_topography_edits_from_file ` :calledfrom: :f:func:`mom_surface_forcing::buoyancy_forcing_const ` :calledfrom: :f:func:`mom_surface_forcing::buoyancy_forcing_from_data_override ` :calledfrom: :f:func:`mom_surface_forcing::buoyancy_forcing_from_files ` :calledfrom: :f:func:`mom_surface_forcing::buoyancy_forcing_linear ` :calledfrom: :f:func:`mom_surface_forcing::buoyancy_forcing_zero ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale_legacy ` :calledfrom: :f:func:`mom::extract_surface_state ` :calledfrom: :f:func:`mom::finish_mom_initialization ` :calledfrom: :f:func:`mom_grid_initialize::initialize_masks ` :calledfrom: :f:func:`mom::initialize_mom ` :calledfrom: :f:func:`mom_state_initialization::initialize_thickness_from_file ` :calledfrom: :f:func:`mom_state_initialization::initialize_thickness_list ` :calledfrom: :f:func:`mom_state_initialization::initialize_thickness_uniform ` :calledfrom: :f:func:`mom_shared_initialization::initialize_topography_from_file ` :calledfrom: :f:func:`mom_shared_initialization::initialize_topography_named ` :calledfrom: :f:func:`mom_state_initialization::initialize_velocity_from_file ` :calledfrom: :f:func:`mom_state_initialization::initialize_velocity_zero ` :calledfrom: :f:func:`mom_diabatic_driver::layered_diabatic ` :calledfrom: :f:func:`mom_shared_initialization::limit_topography ` :calledfrom: :f:func:`mom_coord_initialization::mom_initialize_coord ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_fixed ` :calledfrom: :f:func:`mom_shared_initialization::mom_initialize_rotation ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` :calledfrom: :f:func:`mom_tracer_initialization_from_z::mom_initialize_tracer_from_z ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`ocean_model_mod::ocean_model_init ` :calledfrom: :f:func:`mom_offline_main::offline_transport_init ` :calledfrom: :f:func:`mom_ale::remap_all_state_vars ` :calledfrom: :f:func:`mom_shared_initialization::reset_face_lengths_file ` :calledfrom: :f:func:`mom_shared_initialization::reset_face_lengths_list ` :calledfrom: :f:func:`mom_coord_initialization::set_coord_from_file ` :calledfrom: :f:func:`mom_coord_initialization::set_coord_from_gprime ` :calledfrom: :f:func:`mom_coord_initialization::set_coord_from_layer_density ` :calledfrom: :f:func:`mom_coord_initialization::set_coord_from_ts_profile ` :calledfrom: :f:func:`mom_coord_initialization::set_coord_from_ts_range ` :calledfrom: :f:func:`mom_coord_initialization::set_coord_from_ts_ref ` :calledfrom: :f:func:`mom_coord_initialization::set_coord_linear ` :calledfrom: :f:func:`mom_coord_initialization::set_coord_to_none ` :calledfrom: :f:func:`mom_set_diffusivity::set_diffusivity ` :calledfrom: :f:func:`mom_surface_forcing::set_forcing ` :calledfrom: :f:func:`mom_grid_initialize::set_grid_metrics ` :calledfrom: :f:func:`mom_grid_initialize::set_grid_metrics_cartesian ` :calledfrom: :f:func:`mom_grid_initialize::set_grid_metrics_from_mosaic ` :calledfrom: :f:func:`mom_grid_initialize::set_grid_metrics_mercator ` :calledfrom: :f:func:`mom_grid_initialize::set_grid_metrics_spherical ` :calledfrom: :f:func:`mom_shared_initialization::set_rotation_beta_plane ` :calledfrom: :f:func:`mom_shared_initialization::set_rotation_planetary ` :calledfrom: :f:func:`mom::step_mom ` :calledfrom: :f:func:`mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ` :calledfrom: :f:func:`mom::step_mom_thermo ` :calledfrom: :f:func:`mom_tracer_hor_diff::tracer_hordiff ` :calledfrom: :f:func:`ocean_model_mod::update_ocean_model ` :calledfrom: :f:func:`mom_offline_main::update_offline_fields ` :calledfrom: :f:func:`mom_surface_forcing::wind_forcing_1gyre ` :calledfrom: :f:func:`mom_surface_forcing::wind_forcing_2gyre ` :calledfrom: :f:func:`mom_surface_forcing::wind_forcing_by_data_override ` :calledfrom: :f:func:`mom_surface_forcing::wind_forcing_const ` :calledfrom: :f:func:`mom_surface_forcing::wind_forcing_from_file ` :calledfrom: :f:func:`mom_surface_forcing::wind_forcing_gyres ` .. f:subroutine:: subroutine calltree_leave(mesg) Writes a message about leaving a subroutine if call tree reporting is active. :param mesg: Message to write :callto: :f:func:`calltreeindentlevel ` :callto: :f:func:`is_root_pe ` :callto: :f:func:`verbosity ` :calledfrom: :f:func:`mom_ale::ale_build_grid ` :calledfrom: :f:func:`mom_ale::ale_init ` :calledfrom: :f:func:`mom_ale::ale_main ` :calledfrom: :f:func:`mom_ale::ale_main_offline ` :calledfrom: :f:func:`mom_ale::ale_offline_inputs ` :calledfrom: :f:func:`mom_ale::ale_offline_tracer_final ` :calledfrom: :f:func:`mom_shared_initialization::apply_topography_edits_from_file ` :calledfrom: :f:func:`mom_surface_forcing::buoyancy_forcing_const ` :calledfrom: :f:func:`mom_surface_forcing::buoyancy_forcing_from_data_override ` :calledfrom: :f:func:`mom_surface_forcing::buoyancy_forcing_from_files ` :calledfrom: :f:func:`mom_surface_forcing::buoyancy_forcing_linear ` :calledfrom: :f:func:`mom_surface_forcing::buoyancy_forcing_zero ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale_legacy ` :calledfrom: :f:func:`mom::extract_surface_state ` :calledfrom: :f:func:`mom::finish_mom_initialization ` :calledfrom: :f:func:`mom_grid_initialize::initialize_masks ` :calledfrom: :f:func:`mom::initialize_mom ` :calledfrom: :f:func:`mom_state_initialization::initialize_thickness_from_file ` :calledfrom: :f:func:`mom_state_initialization::initialize_thickness_list ` :calledfrom: :f:func:`mom_state_initialization::initialize_thickness_uniform ` :calledfrom: :f:func:`mom_shared_initialization::initialize_topography_from_file ` :calledfrom: :f:func:`mom_shared_initialization::initialize_topography_named ` :calledfrom: :f:func:`mom_state_initialization::initialize_velocity_from_file ` :calledfrom: :f:func:`mom_state_initialization::initialize_velocity_zero ` :calledfrom: :f:func:`mom_diabatic_driver::layered_diabatic ` :calledfrom: :f:func:`mom_shared_initialization::limit_topography ` :calledfrom: :f:func:`mom_coord_initialization::mom_initialize_coord ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_fixed ` :calledfrom: :f:func:`mom_shared_initialization::mom_initialize_rotation ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` :calledfrom: :f:func:`mom_tracer_initialization_from_z::mom_initialize_tracer_from_z ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`ocean_model_mod::ocean_model_init ` :calledfrom: :f:func:`mom_offline_main::offline_transport_init ` :calledfrom: :f:func:`mom_ale::remap_all_state_vars ` :calledfrom: :f:func:`mom_shared_initialization::reset_face_lengths_file ` :calledfrom: :f:func:`mom_shared_initialization::reset_face_lengths_list ` :calledfrom: :f:func:`mom_coord_initialization::set_coord_from_file ` :calledfrom: :f:func:`mom_coord_initialization::set_coord_from_gprime ` :calledfrom: :f:func:`mom_coord_initialization::set_coord_from_layer_density ` :calledfrom: :f:func:`mom_coord_initialization::set_coord_from_ts_profile ` :calledfrom: :f:func:`mom_coord_initialization::set_coord_from_ts_range ` :calledfrom: :f:func:`mom_coord_initialization::set_coord_from_ts_ref ` :calledfrom: :f:func:`mom_coord_initialization::set_coord_linear ` :calledfrom: :f:func:`mom_coord_initialization::set_coord_to_none ` :calledfrom: :f:func:`mom_set_diffusivity::set_diffusivity ` :calledfrom: :f:func:`mom_surface_forcing::set_forcing ` :calledfrom: :f:func:`mom_grid_initialize::set_grid_metrics ` :calledfrom: :f:func:`mom_grid_initialize::set_grid_metrics_cartesian ` :calledfrom: :f:func:`mom_grid_initialize::set_grid_metrics_from_mosaic ` :calledfrom: :f:func:`mom_grid_initialize::set_grid_metrics_mercator ` :calledfrom: :f:func:`mom_grid_initialize::set_grid_metrics_spherical ` :calledfrom: :f:func:`mom_shared_initialization::set_rotation_beta_plane ` :calledfrom: :f:func:`mom_shared_initialization::set_rotation_planetary ` :calledfrom: :f:func:`mom::step_mom ` :calledfrom: :f:func:`mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ` :calledfrom: :f:func:`mom::step_mom_thermo ` :calledfrom: :f:func:`mom_tracer_hor_diff::tracer_hordiff ` :calledfrom: :f:func:`ocean_model_mod::update_ocean_model ` :calledfrom: :f:func:`mom_offline_main::update_offline_fields ` :calledfrom: :f:func:`mom_surface_forcing::wind_forcing_1gyre ` :calledfrom: :f:func:`mom_surface_forcing::wind_forcing_2gyre ` :calledfrom: :f:func:`mom_surface_forcing::wind_forcing_by_data_override ` :calledfrom: :f:func:`mom_surface_forcing::wind_forcing_const ` :calledfrom: :f:func:`mom_surface_forcing::wind_forcing_from_file ` :calledfrom: :f:func:`mom_surface_forcing::wind_forcing_gyres ` .. f:subroutine:: subroutine calltree_waypoint(mesg, n) Writes a message about reaching a milestone if call tree reporting is active. :param mesg: [in] Message to write :param n: [in] An optional integer to write at end of message :callto: :f:func:`calltreeindentlevel ` :callto: :f:func:`is_root_pe ` :callto: :f:func:`verbosity ` :calledfrom: :f:func:`mom_ale::ale_main ` :calledfrom: :f:func:`mom_ale::ale_main_offline ` :calledfrom: :f:func:`mom_ale::ale_offline_inputs ` :calledfrom: :f:func:`mom_ale::ale_offline_tracer_final ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale_legacy ` :calledfrom: :f:func:`mom::initialize_mom ` :calledfrom: :f:func:`mom_diabatic_driver::layered_diabatic ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`mom_ale::remap_all_state_vars ` :calledfrom: :f:func:`mom_set_diffusivity::set_diffusivity ` :calledfrom: :f:func:`mom::step_mom ` :calledfrom: :f:func:`mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ` :calledfrom: :f:func:`mom::step_mom_dynamics ` :calledfrom: :f:func:`mom::step_mom_thermo ` :calledfrom: :f:func:`mom::step_mom_tracer_dyn ` :calledfrom: :f:func:`mom_tracer_hor_diff::tracer_hordiff ` .. f:subroutine:: subroutine assert(logical_arg, msg) Issues a FATAL error if the assertion fails, i.e. the first argument is false. :param logical_arg: [in] If false causes a FATAL error :param msg: [in] Message to issue in case of failed assertion :callto: :f:func:`mom_error ` :calledfrom: :f:func:`mom_diag_mediator::add_diag_to_list ` :calledfrom: :f:func:`mom_diag_remap::diag_remap_calc_hmask ` :calledfrom: :f:func:`mom_diag_remap::diag_remap_do_remap ` :calledfrom: :f:func:`mom_diag_mediator::get_new_diag_id ` :calledfrom: :f:func:`mom_diag_remap::horizontally_average_diag_field ` :calledfrom: :f:func:`mom_diag_mediator::post_data_0d ` :calledfrom: :f:func:`mom_diag_mediator::post_data_1d_k ` :calledfrom: :f:func:`mom_diag_mediator::post_data_2d ` :calledfrom: :f:func:`mom_diag_mediator::post_data_2d_low ` :calledfrom: :f:func:`mom_diag_mediator::post_data_3d ` :calledfrom: :f:func:`mom_diag_mediator::post_data_3d_low ` :calledfrom: :f:func:`mom_diag_mediator::post_xy_average ` :calledfrom: :f:func:`mom_diag_mediator::register_scalar_field ` :calledfrom: :f:func:`mom_diag_mediator::register_static_field ` :calledfrom: :f:func:`mom_diag_mediator::set_masks_for_axes ` :calledfrom: :f:func:`mom_diag_remap::vertically_interpolate_diag_field ` :calledfrom: :f:func:`mom_diag_remap::vertically_reintegrate_diag_field ` [debug] DoxygenMethodDocumenter format_signature called (()) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::is_root_pe', , {}, ['', 'Thi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::is_root_pe', , {}, ['', 'Thi [debug] DoxygenMethodDocumenter format_signature called ((message, verb, all_print)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::mom_mesg', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::mom_mesg', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((level, message, all_print)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::mom_error', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::mom_error', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((verb)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::mom_set_verbosity', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::mom_set_verbosity', , {}, [' [debug] DoxygenMethodDocumenter format_signature called (()) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::mom_get_verbosity', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::mom_get_verbosity', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((verb)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::mom_verbose_enough', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::mom_verbose_enough', , {}, [ [debug] DoxygenMethodDocumenter format_signature called (()) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::calltree_showquery', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::calltree_showquery', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((mesg, n)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::calltree_enter', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::calltree_enter', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((mesg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::calltree_leave', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::calltree_leave', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((mesg, n)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::calltree_waypoint', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::calltree_waypoint', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((logical_arg, msg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::assert', , {}, ['', 'Issues [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_error_handler::assert', , {}, ['', 'Issues [fd] run(.. f:function:: logical function is_root_pe()) [fd] sig(logical function is_root_pe()) [fd] ftype(logical) objtype(function) modname(None) typename() name(is_root_pe) arglist() [fd] fullname(mom_error_handler/is_root_pe) ftype(logical) [fd] name(('mom_error_handler/is_root_pe', 'logical')) sig(logical function is_root_pe()) signode(function mom_error_handler/is_root_pe [logical]) [fd] run(.. f:subroutine:: subroutine mom_mesg(message, verb, all_print)) [fd] sig(subroutine mom_mesg(message, verb, all_print)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_mesg) arglist(message, verb, all_print) [fd] fullname(mom_error_handler/mom_mesg) ftype(None) [fd] name(('mom_error_handler/mom_mesg', None)) sig(subroutine mom_mesg(message, verb, all_print)) signode(subroutine mom_error_handler/mom_mesgmessageverball_print) [fd] run(.. f:subroutine:: subroutine mom_error(level, message, all_print)) [fd] sig(subroutine mom_error(level, message, all_print)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_error) arglist(level, message, all_print) [fd] fullname(mom_error_handler/mom_error) ftype(None) [fd] name(('mom_error_handler/mom_error', None)) sig(subroutine mom_error(level, message, all_print)) signode(subroutine mom_error_handler/mom_errorlevelmessageall_print) [fd] run(.. f:subroutine:: subroutine mom_set_verbosity(verb)) [fd] sig(subroutine mom_set_verbosity(verb)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_set_verbosity) arglist(verb) [fd] fullname(mom_error_handler/mom_set_verbosity) ftype(None) [fd] name(('mom_error_handler/mom_set_verbosity', None)) sig(subroutine mom_set_verbosity(verb)) signode(subroutine mom_error_handler/mom_set_verbosityverb) [fd] run(.. f:function:: integer function mom_get_verbosity()) [fd] sig(integer function mom_get_verbosity()) [fd] ftype(integer) objtype(function) modname(None) typename() name(mom_get_verbosity) arglist() [fd] fullname(mom_error_handler/mom_get_verbosity) ftype(integer) [fd] name(('mom_error_handler/mom_get_verbosity', 'integer')) sig(integer function mom_get_verbosity()) signode(function mom_error_handler/mom_get_verbosity [integer]) [fd] run(.. f:function:: logical function mom_verbose_enough(verb)) [fd] sig(logical function mom_verbose_enough(verb)) [fd] ftype(logical) objtype(function) modname(None) typename() name(mom_verbose_enough) arglist(verb) [fd] fullname(mom_error_handler/mom_verbose_enough) ftype(logical) [fd] name(('mom_error_handler/mom_verbose_enough', 'logical')) sig(logical function mom_verbose_enough(verb)) signode(function mom_error_handler/mom_verbose_enoughverb [logical]) [fd] run(.. f:function:: logical function calltree_showquery()) [fd] sig(logical function calltree_showquery()) [fd] ftype(logical) objtype(function) modname(None) typename() name(calltree_showquery) arglist() [fd] fullname(mom_error_handler/calltree_showquery) ftype(logical) [fd] name(('mom_error_handler/calltree_showquery', 'logical')) sig(logical function calltree_showquery()) signode(function mom_error_handler/calltree_showquery [logical]) [fd] run(.. f:subroutine:: subroutine calltree_enter(mesg, n)) [fd] sig(subroutine calltree_enter(mesg, n)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calltree_enter) arglist(mesg, n) [fd] fullname(mom_error_handler/calltree_enter) ftype(None) [fd] name(('mom_error_handler/calltree_enter', None)) sig(subroutine calltree_enter(mesg, n)) signode(subroutine mom_error_handler/calltree_entermesgn) [fd] run(.. f:subroutine:: subroutine calltree_leave(mesg)) [fd] sig(subroutine calltree_leave(mesg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calltree_leave) arglist(mesg) [fd] fullname(mom_error_handler/calltree_leave) ftype(None) [fd] name(('mom_error_handler/calltree_leave', None)) sig(subroutine calltree_leave(mesg)) signode(subroutine mom_error_handler/calltree_leavemesg) [fd] run(.. f:subroutine:: subroutine calltree_waypoint(mesg, n)) [fd] sig(subroutine calltree_waypoint(mesg, n)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calltree_waypoint) arglist(mesg, n) [fd] fullname(mom_error_handler/calltree_waypoint) ftype(None) [fd] name(('mom_error_handler/calltree_waypoint', None)) sig(subroutine calltree_waypoint(mesg, n)) signode(subroutine mom_error_handler/calltree_waypointmesgn) [fd] run(.. f:subroutine:: subroutine assert(logical_arg, msg)) [fd] sig(subroutine assert(logical_arg, msg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(assert) arglist(logical_arg, msg) [fd] fullname(mom_error_handler/assert) ftype(None) [fd] name(('mom_error_handler/assert', None)) sig(subroutine assert(logical_arg, msg)) signode(subroutine mom_error_handler/assertlogical_argmsg) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 33%] api/generated/modules/mom_file_parser [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_file_par [app] emitting event: 'source-read'('api/generated/modules/mom_file_parser', ['.. autodoxymodule:: mom_file_parser\n :members:\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_file_parser.rst:1: input: .. autodoxymodule:: mom_file_parser :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_file_parser::file_data_type ~mom_file_parser::link_parameter ~mom_file_parser::param_file_type ~mom_file_parser::parameter_block --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_file_parser::open_param_file ~mom_file_parser::close_param_file ~mom_file_parser::populate_param_data ~mom_file_parser::openmultilinecomment ~mom_file_parser::closemultilinecomment ~mom_file_parser::lastnoncommentindex ~mom_file_parser::lastnoncommentnonblank ~mom_file_parser::replacetabs ~mom_file_parser::removecomments ~mom_file_parser::simplifywhitespace ~mom_file_parser::read_param_int ~mom_file_parser::read_param_int_array ~mom_file_parser::read_param_real ~mom_file_parser::read_param_real_array ~mom_file_parser::read_param_char ~mom_file_parser::read_param_char_array ~mom_file_parser::read_param_logical ~mom_file_parser::read_param_time ~mom_file_parser::strip_quotes ~mom_file_parser::get_variable_line ~mom_file_parser::flag_line_as_read ~mom_file_parser::overridewarninghasbeenissued ~mom_file_parser::log_version_cs ~mom_file_parser::log_version_plain ~mom_file_parser::log_param_int ~mom_file_parser::log_param_int_array ~mom_file_parser::log_param_real ~mom_file_parser::log_param_real_array ~mom_file_parser::log_param_logical ~mom_file_parser::log_param_char ~mom_file_parser::log_param_time ~mom_file_parser::convert_date_to_string ~mom_file_parser::get_param_int ~mom_file_parser::get_param_int_array ~mom_file_parser::get_param_real ~mom_file_parser::get_param_real_array ~mom_file_parser::get_param_char ~mom_file_parser::get_param_char_array ~mom_file_parser::get_param_logical ~mom_file_parser::get_param_time ~mom_file_parser::clearparameterblock ~mom_file_parser::openparameterblock ~mom_file_parser::closeparameterblock ~mom_file_parser::pushblocklevel ~mom_file_parser::popblocklevel [debug] xpath(./compounddef/compoundname[text()="mom_file_parser"]/..) match([('id', 'namespacemom__file__parser'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_file_parser module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_file_parser', , {'members': , {'members': , {'members': ), ('mom_file_parser::link_parameter', ), ('mom_file_parser::param_file_type', ), ('mom_file_parser::parameter_block', )]) [autodoc] module analyzer failed: error importing 'mom_file_parser' (exception was: ModuleNotFoundError("No module named 'mom_file_parser'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_file_parser::file_data_type', , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::file_data_type', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::file_data_type', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::file_data_type', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::file_data_type', , {'members': [autodoc] module analyzer failed: error importing 'mom_file_parser' (exception was: ModuleNotFoundError("No module named 'mom_file_parser'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_file_parser::link_parameter', , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::link_parameter', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::link_parameter', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::link_parameter', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::link_parameter', , {'members': [autodoc] module analyzer failed: error importing 'mom_file_parser' (exception was: ModuleNotFoundError("No module named 'mom_file_parser'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_file_parser::param_file_type', , {'members' [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::param_file_type', , {'members' [autodoc] module analyzer failed: error importing 'mom_file_parser' (exception was: ModuleNotFoundError("No module named 'mom_file_parser'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_file_parser::parameter_block', , {'members' [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::parameter_block', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_file_parser::parameter_block', , {'members' [debug] members([('open_param_file', ), ('close_param_file', ), ('populate_param_data', ), ('openmultilinecomment', ), ('closemultilinecomment', ), ('lastnoncommentindex', ), ('lastnoncommentnonblank', ), ('replacetabs', ), ('removecomments', ), ('simplifywhitespace', ), ('read_param_int', ), ('read_param_int_array', ), ('read_param_real', ), ('read_param_real_array', ), ('read_param_char', ), ('read_param_char_array', ), ('read_param_logical', ), ('read_param_time', ), ('strip_quotes', ), ('get_variable_line', ), ('flag_line_as_read', ), ('overridewarninghasbeenissued', ), ('log_version_cs', ), ('log_version_plain', ), ('log_param_int', ), ('log_param_int_array', ), ('log_param_real', ), ('log_param_real_array', ), ('log_param_logical', ), ('log_param_char', ), ('log_param_time', ), ('convert_date_to_string', ), ('get_param_int', ), ('get_param_int_array', ), ('get_param_real', ), ('get_param_real_array', ), ('get_param_char', ), ('get_param_char_array', ), ('get_param_logical', ), ('get_param_time', ), ('clearparameterblock', ), ('openparameterblock', ), ('closeparameterblock', ), ('pushblocklevel', ), ('popblocklevel', )]) [autodoc] module analyzer failed: error importing 'mom_file_parser' (exception was: ModuleNotFoundError("No module named 'mom_file_parser'")) [debug] DoxygenMethodDocumenter format_signature called ((filename, CS, checkable, component, doc_file_dir)) [debug] add_directive_header sig((filename, CS, checkable, component, doc_file_dir)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine open_param_file) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__file__parser_1_1param__file__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__file__parser_1_1param__file__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_param_file', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__file__parser_1_1param__file__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'close_param_file', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__file__parser_1_1file__data__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'populate_param_data', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__file__parser_1_1param__file__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'get_variable_line', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_file_parser::file_data_type ~mom_file_parser::link_parameter ~mom_file_parser::param_file_type ~mom_file_parser::parameter_block --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_file_parser::open_param_file ~mom_file_parser::close_param_file ~mom_file_parser::populate_param_data ~mom_file_parser::openmultilinecomment ~mom_file_parser::closemultilinecomment ~mom_file_parser::lastnoncommentindex ~mom_file_parser::lastnoncommentnonblank ~mom_file_parser::replacetabs ~mom_file_parser::removecomments ~mom_file_parser::simplifywhitespace ~mom_file_parser::read_param_int ~mom_file_parser::read_param_int_array ~mom_file_parser::read_param_real ~mom_file_parser::read_param_real_array ~mom_file_parser::read_param_char ~mom_file_parser::read_param_char_array ~mom_file_parser::read_param_logical ~mom_file_parser::read_param_time ~mom_file_parser::strip_quotes ~mom_file_parser::get_variable_line ~mom_file_parser::flag_line_as_read ~mom_file_parser::overridewarninghasbeenissued ~mom_file_parser::log_version_cs ~mom_file_parser::log_version_plain ~mom_file_parser::log_param_int ~mom_file_parser::log_param_int_array ~mom_file_parser::log_param_real ~mom_file_parser::log_param_real_array ~mom_file_parser::log_param_logical ~mom_file_parser::log_param_char ~mom_file_parser::log_param_time ~mom_file_parser::convert_date_to_string ~mom_file_parser::get_param_int ~mom_file_parser::get_param_int_array ~mom_file_parser::get_param_real ~mom_file_parser::get_param_real_array ~mom_file_parser::get_param_char ~mom_file_parser::get_param_char_array ~mom_file_parser::get_param_logical ~mom_file_parser::get_param_time ~mom_file_parser::clearparameterblock ~mom_file_parser::openparameterblock ~mom_file_parser::closeparameterblock ~mom_file_parser::pushblocklevel ~mom_file_parser::popblocklevel .. _DETAmom_file_parser: -------------------- Detailed Description -------------------- By Robert Hallberg and Alistair Adcroft, updated 9/2013. The subroutines here parse a set of input files for the value a named parameter and sets that parameter at run time. Currently these files use use one of several formats: #define VAR ! To set the logical VAR to true. VAR = True ! To set the logical VAR to true. #undef VAR ! To set the logical VAR to false. VAR = False ! To set the logical VAR to false. #define VAR 999 ! To set the real or integer VAR to 999. VAR = 999 ! To set the real or integer VAR to 999. #override VAR = 888 ! To override a previously set value. VAR = 1.1, 2.2, 3.3 ! To set an array of real values. ------------------ Type Documentation ------------------ .. f:type:: file_data_type The valid lines extracted from an input parameter file without comments. :typefield integer num_lines [private]: The number of lines in this type. :typefield character (len= input_str_length )(\:) line [pointer, private]: The line content. :typefield logical(\:) line_used [pointer, private]: If true, the line has been read. .. f:type:: link_parameter A link in the list of variables that have already had override warnings issued. :typefield type( link_parameter ) next [pointer, private]: Facilitates linked list. :typefield character (len=80) name [private]: Parameter name. :typefield logical hasissuedoverridewarning [private]: Has a default value. .. f:type:: param_file_type A structure that can be parsed to read and document run-time parameters. :typefield integer nfiles: The number of open files. :typefield integer( max_param_files ) iounit: The unit numbers of open files. :typefield character (len= filename_length )( max_param_files ) filename: The names of the open files. :typefield logical( max_param_files ) netcdf_file: If true, the input file is in NetCDF. :typefield type( file_data_type )( max_param_files ) param_data: Structures that contain the valid data lines from the parameter files, enabling all subsequent reads of parameter data to occur internally. :typefield logical report_unused: If true, report any parameter lines that are not used in the run. :typefield logical unused_params_fatal: If true, kill the run if there are any unused parameters. :typefield logical log_to_stdout: If true, all log messages are also sent to stdout. :typefield logical log_open: True if the log file has been opened. :typefield integer stdout: The unit number from :typefield integer stdlog: The unit number from :typefield character (len=240) doc_file: A file where all run-time parameters, their settings and defaults are documented. :typefield logical complete_doc: If true, document all run-time parameters. :typefield logical minimal_doc: If true, document only those run-time parameters that differ from defaults. :typefield type(doc_type) doc [pointer]: A structure that contains information related to parameter documentation. :typefield type( link_parameter ) chain [pointer]: Facilitates linked list. :typefield type( parameter_block ) blockname [pointer]: Name of active parameter block. .. f:type:: parameter_block Specify the active parameter block. :typefield character (len=240) name [private]: The active parameter block name. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine open_param_file(filename, CS, checkable, component, doc_file_dir) Make the contents of a parameter input file availalble in a :f:func:`param_file_type`. . :param filename: [in] An input file name, optionally with the full path :param cs: [inout] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param checkable: [in] If this is false, it disables checks of this file for unused parameters. The default is True. :param component: [in] If present, this component name is used to generate parameter documentation file names; the default is"MOM" :param doc_file_dir: [in] An optional directory in which to write out the documentation files. The default is effectively './'. :callto: :f:func:`all_pes_read ` :callto: :f:func:`complete_doc_default ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`minimal_doc_default ` :callto: :f:func:`populate_param_data ` :calledfrom: :f:func:`mom_get_input::get_mom_input ` .. f:subroutine:: subroutine close_param_file(CS, quiet_close, component) Close any open input files and deallocate memory associated with this :f:func:`param_file_type`. To use this type again, open_param_file would have to be called again. . To use this type again, open_param_file would have to be called again. :param cs: [inout] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param quiet_close: [in] if present and true, do not do any logging with this call. :param component: [in] If present, this component name is used to generate parameter documentation file names :callto: :f:func:`all_pes_read ` :callto: :f:func:`complete_doc_default ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`log_to_stdout_default ` :callto: :f:func:`minimal_doc_default ` :callto: :f:func:`report_unused_default ` :callto: :f:func:`unused_params_fatal_default ` :calledfrom: :f:func:`mom_tracer_flow_control::call_tracer_flux_init ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`ocean_model_mod::ocean_model_init ` .. f:subroutine:: subroutine populate_param_data(iounit, filename, param_data) Read the contents of a parameter input file, and store the contents in a :f:func:`file_data_type` after removing comments and simplifying white space. after removing comments and simplifying white space. :param iounit: [in] The IO unit number that is open for filename :param filename: [in] An input file name, optionally with the full path :param param_data: [inout] A list of the input lines that set parameters after comments have been stripped out. :callto: :f:func:`all_pes_read ` :callto: :f:func:`closemultilinecomment ` :callto: :f:func:`input_str_length ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`lastnoncommentnonblank ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`openmultilinecomment ` :callto: :f:func:`removecomments ` :callto: :f:func:`replacetabs ` :callto: :f:func:`simplifywhitespace ` :calledfrom: :f:func:`open_param_file ` .. f:function:: logical function openmultilinecomment(string) Return True if a /* appears on this line without a closing */. :param string: [in] The input string to process :callto: :f:func:`lastnoncommentindex ` :calledfrom: :f:func:`populate_param_data ` .. f:function:: logical function closemultilinecomment(string) Return True if a */ appears on this line. :param string: [in] The input string to process :calledfrom: :f:func:`populate_param_data ` .. f:function:: integer function lastnoncommentindex(string) Find position of last character before any comments, As marked by "!", "//", or "/*" following F90, C++, or C syntax. :param string: [in] The input string to process :calledfrom: :f:func:`lastnoncommentnonblank ` :calledfrom: :f:func:`openmultilinecomment ` .. f:function:: integer function lastnoncommentnonblank(string) Find position of last non-blank character before any comments. :param string: [in] The input string to process :callto: :f:func:`lastnoncommentindex ` :calledfrom: :f:func:`populate_param_data ` :calledfrom: :f:func:`removecomments ` .. f:function:: character(len=len(string)) function replacetabs(string) Returns a string with tabs replaced by a blank. :param string: [in] The input string to process :calledfrom: :f:func:`populate_param_data ` .. f:function:: character(len=len(string)) function removecomments(string) Trims comments and leading blanks from string. :param string: [in] The input string to process :callto: :f:func:`lastnoncommentnonblank ` :calledfrom: :f:func:`populate_param_data ` .. f:function:: character(len=len(string)+16) function simplifywhitespace(string) Constructs a string with all repeated whitespace replaced with single blanks and insert white space where it helps delineate tokens (e.g. around =) :param string: [in] A string to modify to simpify white space :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`populate_param_data ` .. f:subroutine:: subroutine read_param_int(CS, varname, value, fail_if_missing) This subroutine reads the value of an integer model parameter from a parameter file. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param varname: [in] The case-sensitive name of the parameter to read :param value: [inout] The value of the parameter that may be read from the parameter file :param fail_if_missing: [in] If present and true, a fatal error occurs if this variable is not found in the parameter file :callto: :f:func:`get_variable_line ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`get_param_int ` .. f:subroutine:: subroutine read_param_int_array(CS, varname, value, fail_if_missing) This subroutine reads the values of an array of integer model parameters from a parameter file. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param varname: [in] The case-sensitive name of the parameter to read :param value: [inout] The value of the parameter that may be read from the parameter file :param fail_if_missing: [in] If present and true, a fatal error occurs if this variable is not found in the parameter file :callto: :f:func:`get_variable_line ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`get_param_int_array ` .. f:subroutine:: subroutine read_param_real(CS, varname, value, fail_if_missing, scale) This subroutine reads the value of a real model parameter from a parameter file. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param varname: [in] The case-sensitive name of the parameter to read :param value: [inout] The value of the parameter that may be read from the parameter file :param fail_if_missing: [in] If present and true, a fatal error occurs if this variable is not found in the parameter file :param scale: [in] A scaling factor that the parameter is multiplied by before it is returned. :callto: :f:func:`get_variable_line ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`get_param_real ` .. f:subroutine:: subroutine read_param_real_array(CS, varname, value, fail_if_missing, scale) This subroutine reads the values of an array of real model parameters from a parameter file. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param varname: [in] The case-sensitive name of the parameter to read :param value: [inout] The value of the parameter that may be read from the parameter file :param fail_if_missing: [in] If present and true, a fatal error occurs if this variable is not found in the parameter file :param scale: [in] A scaling factor that the parameter is multiplied by before it is returned. :callto: :f:func:`get_variable_line ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`get_param_real_array ` .. f:subroutine:: subroutine read_param_char(CS, varname, value, fail_if_missing) This subroutine reads the value of a character string model parameter from a parameter file. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param varname: [in] The case-sensitive name of the parameter to read :param value: [inout] The value of the parameter that may be read from the parameter file :param fail_if_missing: [in] If present and true, a fatal error occurs if this variable is not found in the parameter file :callto: :f:func:`get_variable_line ` :callto: :f:func:`strip_quotes ` :calledfrom: :f:func:`get_param_char ` .. f:subroutine:: subroutine read_param_char_array(CS, varname, value, fail_if_missing) This subroutine reads the values of an array of character string model parameters from a parameter file. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param varname: [in] The case-sensitive name of the parameter to read :param value: [inout] The value of the parameter that may be read from the parameter file :param fail_if_missing: [in] If present and true, a fatal error occurs if this variable is not found in the parameter file :callto: :f:func:`get_variable_line ` :callto: :f:func:`strip_quotes ` :calledfrom: :f:func:`get_param_char_array ` .. f:subroutine:: subroutine read_param_logical(CS, varname, value, fail_if_missing) This subroutine reads the value of a logical model parameter from a parameter file. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param varname: [in] The case-sensitive name of the parameter to read :param value: [inout] The value of the parameter that may be read from the parameter file :param fail_if_missing: [in] If present and true, a fatal error occurs if this variable is not found in the parameter file :callto: :f:func:`get_variable_line ` :calledfrom: :f:func:`get_param_logical ` .. f:subroutine:: subroutine read_param_time(CS, varname, value, timeunit, fail_if_missing, date_format) This subroutine reads the value of a time_type model parameter from a parameter file. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param varname: [in] The case-sensitive name of the parameter to read :param value: [inout] The value of the parameter that may be read from the parameter file :param timeunit: [in] The number of seconds in a time unit for real-number input. :param fail_if_missing: [in] If present and true, a fatal error occurs if this variable is not found in the parameter file :param date_format: [out] If present, this indicates whether this parameter was read in a date format, so that it can later be logged in the same format. :callto: :f:func:`get_variable_line ` :calledfrom: :f:func:`get_param_time ` .. f:function:: character(len=input_str_length) function strip_quotes(val_str) This function removes single and double quotes from a character string. :param val_str: The character string to work on :calledfrom: :f:func:`read_param_char ` :calledfrom: :f:func:`read_param_char_array ` .. f:subroutine:: subroutine get_variable_line(CS, varname, found, defined, value_string, paramIsLogical) This subtoutine extracts the contents of lines in the :f:func:`param_file_type` that refer to a named parameter. The value_string that is returned must be interepreted in a way that depends on the type of this variable. that refer to a named parameter. The value_string that is returned must be interepreted in a way that depends on the type of this variable. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param varname: [in] The case-sensitive name of the parameter to read :param found: [out] If true, this parameter has been found in CS :param defined: [out] If true, this parameter is set (or true) in the CS :param value_string: [out] A string that encodes the new value :param paramislogical: [in] If true, this is a logical parameter that can be simply defined without parsing a value_string. :callto: :f:func:`flag_line_as_read ` :callto: :f:func:`input_str_length ` :callto: :f:func:`overridewarninghasbeenissued ` :callto: :f:func:`popblocklevel ` :callto: :f:func:`pushblocklevel ` :calledfrom: :f:func:`read_param_char ` :calledfrom: :f:func:`read_param_char_array ` :calledfrom: :f:func:`read_param_int ` :calledfrom: :f:func:`read_param_int_array ` :calledfrom: :f:func:`read_param_logical ` :calledfrom: :f:func:`read_param_real ` :calledfrom: :f:func:`read_param_real_array ` :calledfrom: :f:func:`read_param_time ` .. f:subroutine:: subroutine flag_line_as_read(line_used, count) Record that a line has been used to set a parameter. :param line_used: A structure indicating which lines have been read :param count: [in] The parameter on this line number has been read :calledfrom: :f:func:`get_variable_line ` .. f:function:: logical function overridewarninghasbeenissued(chain, varName) Returns true if an override warning has been issued for the variable varName. :param chain: The linked list of variables that have already had override warnings issued :param varname: [in] The name of the variable being queried for warnings :calledfrom: :f:func:`get_variable_line ` .. f:subroutine:: subroutine log_version_cs(CS, modulename, version, desc, log_to_all, all_default, layout, debugging) Log the version of a module to a log file and/or stdout, and/or to the parameter documentation file. :param cs: [in] File parser type :param modulename: [in] Name of calling module :param version: [in] Version string of module :param desc: [in] Module description :param log_to_all: [in] If present and true, log this parameter to the ..._doc.all files, even if this module also has layout or debugging parameters. :param all_default: [in] If true, all parameters take their default values. :param layout: [in] If present and true, this module has layout parameters. :param debugging: [in] If present and true, this module has debugging parameters. .. f:subroutine:: subroutine log_version_plain(modulename, version) Log the version of a module to a log file and/or stdout. :param modulename: [in] Name of calling module :param version: [in] Version string of module .. f:subroutine:: subroutine log_param_int(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default) Log the name and value of an integer model parameter in documentation files. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param modulename: [in] The name of the module using this parameter :param varname: [in] The name of the parameter to log :param value: [in] The value of the parameter to log :param desc: [in] A description of this variable; if not present, this parameter is not written to a doc file :param units: [in] The units of this parameter :param default: [in] The default value of the parameter :param layoutparam: [in] If present and true, this parameter is logged in the layout parameter file :param debuggingparam: [in] If present and true, this parameter is logged in the debugging parameter file :param like_default: [in] If present and true, log this parameter as though it has the default value, even if there is no default. :calledfrom: :f:func:`get_param_int ` .. f:subroutine:: subroutine log_param_int_array(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default) Log the name and values of an array of integer model parameter in documentation files. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param modulename: [in] The name of the module using this parameter :param varname: [in] The name of the parameter to log :param value: [in] The value of the parameter to log :param desc: [in] A description of this variable; if not present, this parameter is not written to a doc file :param units: [in] The units of this parameter :param default: [in] The default value of the parameter :param layoutparam: [in] If present and true, this parameter is logged in the layout parameter file :param debuggingparam: [in] If present and true, this parameter is logged in the debugging parameter file :param like_default: [in] If present and true, log this parameter as though it has the default value, even if there is no default. :calledfrom: :f:func:`get_param_int_array ` .. f:subroutine:: subroutine log_param_real(CS, modulename, varname, value, desc, units, default, debuggingParam, like_default) Log the name and value of a real model parameter in documentation files. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param modulename: [in] The name of the calling module :param varname: [in] The name of the parameter to log :param value: [in] The value of the parameter to log :param desc: [in] A description of this variable; if not present, this parameter is not written to a doc file :param units: [in] The units of this parameter :param default: [in] The default value of the parameter :param debuggingparam: [in] If present and true, this parameter is logged in the debugging parameter file :param like_default: [in] If present and true, log this parameter as though it has the default value, even if there is no default. :calledfrom: :f:func:`get_param_real ` .. f:subroutine:: subroutine log_param_real_array(CS, modulename, varname, value, desc, units, default, debuggingParam, like_default) Log the name and values of an array of real model parameter in documentation files. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param modulename: [in] The name of the calling module :param varname: [in] The name of the parameter to log :param value: [in] The value of the parameter to log :param desc: [in] A description of this variable; if not present, this parameter is not written to a doc file :param units: [in] The units of this parameter :param default: [in] The default value of the parameter :param debuggingparam: [in] If present and true, this parameter is logged in the debugging parameter file :param like_default: [in] If present and true, log this parameter as though it has the default value, even if there is no default. :calledfrom: :f:func:`get_param_real_array ` .. f:subroutine:: subroutine log_param_logical(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default) Log the name and value of a logical model parameter in documentation files. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param modulename: [in] The name of the calling module :param varname: [in] The name of the parameter to log :param value: [in] The value of the parameter to log :param desc: [in] A description of this variable; if not present, this parameter is not written to a doc file :param units: [in] The units of this parameter :param default: [in] The default value of the parameter :param layoutparam: [in] If present and true, this parameter is logged in the layout parameter file :param debuggingparam: [in] If present and true, this parameter is logged in the debugging parameter file :param like_default: [in] If present and true, log this parameter as though it has the default value, even if there is no default. :calledfrom: :f:func:`get_param_logical ` .. f:subroutine:: subroutine log_param_char(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default) Log the name and value of a character string model parameter in documentation files. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param modulename: [in] The name of the calling module :param varname: [in] The name of the parameter to log :param value: [in] The value of the parameter to log :param desc: [in] A description of this variable; if not present, this parameter is not written to a doc file :param units: [in] The units of this parameter :param default: [in] The default value of the parameter :param layoutparam: [in] If present and true, this parameter is logged in the layout parameter file :param debuggingparam: [in] If present and true, this parameter is logged in the debugging parameter file :param like_default: [in] If present and true, log this parameter as though it has the default value, even if there is no default. :calledfrom: :f:func:`get_param_char ` :calledfrom: :f:func:`get_param_char_array ` .. f:subroutine:: subroutine log_param_time(CS, modulename, varname, value, desc, units, default, timeunit, layoutParam, debuggingParam, log_date, like_default) This subroutine writes the value of a time-type parameter to a log file, along with its name and the module it came from. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param modulename: [in] The name of the calling module :param varname: [in] The name of the parameter to log :param value: [in] The value of the parameter to log :param desc: [in] A description of this variable; if not present, this parameter is not written to a doc file :param units: [in] The units of this parameter :param default: [in] The default value of the parameter :param timeunit: [in] The number of seconds in a time unit for real-number output. :param log_date: [in] If true, log the time_type in date format. If missing the default is false. :param layoutparam: [in] If present and true, this parameter is logged in the layout parameter file :param debuggingparam: [in] If present and true, this parameter is logged in the debugging parameter file :param like_default: [in] If present and true, log this parameter as though it has the default value, even if there is no default. :callto: :f:func:`convert_date_to_string ` :calledfrom: :f:func:`get_param_time ` .. f:function:: character(len=40) function convert_date_to_string(date) This function converts a date into a string, valid with ticks and for dates up to year 99,999,999. :param date: [in] The date to be translated into a string. :returns undefined: A date string in a format like YYYY-MM-DD HH:MM:SS.sss :calledfrom: :f:func:`log_param_time ` .. f:subroutine:: subroutine get_param_int(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam) This subroutine reads the value of an integer model parameter from a parameter file and logs it in documentation files. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param modulename: [in] The name of the calling module :param varname: [in] The case-sensitive name of the parameter to read :param value: [inout] The value of the parameter that may be read from the parameter file and logged :param desc: [in] A description of this variable; if not present, this parameter is not written to a doc file :param units: [in] The units of this parameter :param default: [in] The default value of the parameter :param static_value: [in] If this parameter is static, it takes this value, which can be compared for consistency with what is in the parameter file. :param fail_if_missing: [in] If present and true, a fatal error occurs if this variable is not found in the parameter file :param do_not_read: [in] If present and true, do not read a value for this parameter, although it might be logged. :param do_not_log: [in] If present and true, do not log this parameter to the documentation files :param layoutparam: [in] If present and true, this parameter is logged in the layout parameter file :param debuggingparam: [in] If present and true, this parameter is logged in the debugging parameter file :callto: :f:func:`log_param_int ` :callto: :f:func:`read_param_int ` .. f:subroutine:: subroutine get_param_int_array(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam) This subroutine reads the values of an array of integer model parameters from a parameter file and logs them in documentation files. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param modulename: [in] The name of the calling module :param varname: [in] The case-sensitive name of the parameter to read :param value: [inout] The value of the parameter that may be reset from the parameter file :param desc: [in] A description of this variable; if not present, this parameter is not written to a doc file :param units: [in] The units of this parameter :param default: [in] The default value of the parameter :param static_value: [in] If this parameter is static, it takes this value, which can be compared for consistency with what is in the parameter file. :param fail_if_missing: [in] If present and true, a fatal error occurs if this variable is not found in the parameter file :param do_not_read: [in] If present and true, do not read a value for this parameter, although it might be logged. :param do_not_log: [in] If present and true, do not log this parameter to the documentation files :param layoutparam: [in] If present and true, this parameter is logged in the layout parameter file :param debuggingparam: [in] If present and true, this parameter is logged in the debugging parameter file :callto: :f:func:`log_param_int_array ` :callto: :f:func:`read_param_int_array ` .. f:subroutine:: subroutine get_param_real(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, debuggingParam, scale, unscaled) This subroutine reads the value of a real model parameter from a parameter file and logs it in documentation files. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param modulename: [in] The name of the calling module :param varname: [in] The case-sensitive name of the parameter to read :param value: [inout] The value of the parameter that may be read from the parameter file and logged :param desc: [in] A description of this variable; if not present, this parameter is not written to a doc file :param units: [in] The units of this parameter :param default: [in] The default value of the parameter :param static_value: [in] If this parameter is static, it takes this value, which can be compared for consistency with what is in the parameter file. :param fail_if_missing: [in] If present and true, a fatal error occurs if this variable is not found in the parameter file :param do_not_read: [in] If present and true, do not read a value for this parameter, although it might be logged. :param do_not_log: [in] If present and true, do not log this parameter to the documentation files :param debuggingparam: [in] If present and true, this parameter is logged in the debugging parameter file :param scale: [in] A scaling factor that the parameter is multiplied by before it is returned. :param unscaled: [out] The value of the parameter that would be returned without any multiplication by a scaling factor. :callto: :f:func:`log_param_real ` :callto: :f:func:`read_param_real ` .. f:subroutine:: subroutine get_param_real_array(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, debuggingParam, static_value, scale, unscaled) This subroutine reads the values of an array of real model parameters from a parameter file and logs them in documentation files. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param modulename: [in] The name of the calling module :param varname: [in] The case-sensitive name of the parameter to read :param value: [inout] The value of the parameter that may be read from the parameter file and logged :param desc: [in] A description of this variable; if not present, this parameter is not written to a doc file :param units: [in] The units of this parameter :param default: [in] The default value of the parameter :param static_value: [in] If this parameter is static, it takes this value, which can be compared for consistency with what is in the parameter file. :param fail_if_missing: [in] If present and true, a fatal error occurs if this variable is not found in the parameter file :param do_not_read: [in] If present and true, do not read a value for this parameter, although it might be logged. :param do_not_log: [in] If present and true, do not log this parameter to the documentation files :param debuggingparam: [in] If present and true, this parameter is logged in the debugging parameter file :param scale: [in] A scaling factor that the parameter is multiplied by before it is returned. :param unscaled: [out] The value of the parameter that would be returned without any multiplication by a scaling factor. :callto: :f:func:`log_param_real_array ` :callto: :f:func:`read_param_real_array ` .. f:subroutine:: subroutine get_param_char(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam) This subroutine reads the value of a character string model parameter from a parameter file and logs it in documentation files. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param modulename: [in] The name of the calling module :param varname: [in] The case-sensitive name of the parameter to read :param value: [inout] The value of the parameter that may be read from the parameter file and logged :param desc: [in] A description of this variable; if not present, this parameter is not written to a doc file :param units: [in] The units of this parameter :param default: [in] The default value of the parameter :param static_value: [in] If this parameter is static, it takes this value, which can be compared for consistency with what is in the parameter file. :param fail_if_missing: [in] If present and true, a fatal error occurs if this variable is not found in the parameter file :param do_not_read: [in] If present and true, do not read a value for this parameter, although it might be logged. :param do_not_log: [in] If present and true, do not log this parameter to the documentation files :param layoutparam: [in] If present and true, this parameter is logged in the layout parameter file :param debuggingparam: [in] If present and true, this parameter is logged in the debugging parameter file :callto: :f:func:`log_param_char ` :callto: :f:func:`read_param_char ` .. f:subroutine:: subroutine get_param_char_array(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value) This subroutine reads the values of an array of character string model parameters from a parameter file and logs them in documentation files. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param modulename: [in] The name of the calling module :param varname: [in] The case-sensitive name of the parameter to read :param value: [inout] The value of the parameter that may be read from the parameter file and logged :param desc: [in] A description of this variable; if not present, this parameter is not written to a doc file :param units: [in] The units of this parameter :param default: [in] The default value of the parameter :param static_value: [in] If this parameter is static, it takes this value, which can be compared for consistency with what is in the parameter file. :param fail_if_missing: [in] If present and true, a fatal error occurs if this variable is not found in the parameter file :param do_not_read: [in] If present and true, do not read a value for this parameter, although it might be logged. :param do_not_log: [in] If present and true, do not log this parameter to the documentation files :callto: :f:func:`log_param_char ` :callto: :f:func:`read_param_char_array ` .. f:subroutine:: subroutine get_param_logical(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam) This subroutine reads the value of a logical model parameter from a parameter file and logs it in documentation files. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param modulename: [in] The name of the calling module :param varname: [in] The case-sensitive name of the parameter to read :param value: [inout] The value of the parameter that may be read from the parameter file and logged :param desc: [in] A description of this variable; if not present, this parameter is not written to a doc file :param units: [in] The units of this parameter :param default: [in] The default value of the parameter :param static_value: [in] If this parameter is static, it takes this value, which can be compared for consistency with what is in the parameter file. :param fail_if_missing: [in] If present and true, a fatal error occurs if this variable is not found in the parameter file :param do_not_read: [in] If present and true, do not read a value for this parameter, although it might be logged. :param do_not_log: [in] If present and true, do not log this parameter to the documentation files :param layoutparam: [in] If present and true, this parameter is logged in the layout parameter file :param debuggingparam: [in] If present and true, this parameter is logged in the debugging parameter file :callto: :f:func:`log_param_logical ` :callto: :f:func:`read_param_logical ` .. f:subroutine:: subroutine get_param_time(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, timeunit, static_value, layoutParam, debuggingParam, log_as_date) This subroutine reads the value of a time-type model parameter from a parameter file and logs it in documentation files. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param modulename: [in] The name of the calling module :param varname: [in] The case-sensitive name of the parameter to read :param value: [inout] The value of the parameter that may be read from the parameter file and logged :param desc: [in] A description of this variable; if not present, this parameter is not written to a doc file :param units: [in] The units of this parameter :param default: [in] The default value of the parameter :param static_value: [in] If this parameter is static, it takes this value, which can be compared for consistency with what is in the parameter file. :param fail_if_missing: [in] If present and true, a fatal error occurs if this variable is not found in the parameter file :param do_not_read: [in] If present and true, do not read a value for this parameter, although it might be logged. :param do_not_log: [in] If present and true, do not log this parameter to the documentation files :param timeunit: [in] The number of seconds in a time unit for real-number input to be translated to a time. :param layoutparam: [in] If present and true, this parameter is logged in the layout parameter file :param debuggingparam: [in] If present and true, this parameter is logged in the debugging parameter file :param log_as_date: [in] If true, log the time_type in date format. The default is false. :callto: :f:func:`log_param_time ` :callto: :f:func:`read_param_time ` .. f:subroutine:: subroutine clearparameterblock(CS) Resets the parameter block name to blank. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters .. f:subroutine:: subroutine openparameterblock(CS, blockName, desc) Tags blockName onto the end of the active parameter block name. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :param blockname: [in] The name of a parameter block being added :param desc: [in] A description of the parameter block being added :callto: :f:func:`pushblocklevel ` :calledfrom: :f:func:`baroclinic_zone_initialization::bcz_params ` :calledfrom: :f:func:`mom_cvmix_kpp::kpp_init ` .. f:subroutine:: subroutine closeparameterblock(CS) Remove the lowest level of recursion from the active block name. :param cs: [in] The control structure for the file_parser module, it is also a structure to parse for run-time parameters :callto: :f:func:`popblocklevel ` :calledfrom: :f:func:`baroclinic_zone_initialization::bcz_params ` :calledfrom: :f:func:`mom_cvmix_kpp::kpp_init ` .. f:function:: character(len=len(oldblockname)+40) function pushblocklevel(oldblockName, newBlockName) Extends block name (deeper level of parameter block) :param oldblockname: [in] A sequence of hierarchical parameter block names :param newblockname: [in] A new block name to add to the end of the sequence :calledfrom: :f:func:`get_variable_line ` :calledfrom: :f:func:`openparameterblock ` .. f:function:: character(len=len(oldblockname)+40) function popblocklevel(oldblockName) Truncates block name (shallower level of parameter block) :param oldblockname: [in] A sequence of hierarchical parameter block names :calledfrom: :f:func:`closeparameterblock ` :calledfrom: :f:func:`get_variable_line ` [debug] xpath(./compounddef/compoundname[text()="mom_file_parser::file_data_type"]/..) match([('id', 'structmom__file__parser_1_1file__data__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_file_parser::file_data_type', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_file_parser::file_data_type', , {}, ['`Mo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_file_parser::file_data_type', , {}, ['', [debug] xpath(./compounddef/compoundname[text()="mom_file_parser::link_parameter"]/..) match([('id', 'structmom__file__parser_1_1link__parameter'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_file_parser::link_parameter', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_file_parser::link_parameter', , {}, ['`Mo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_file_parser::link_parameter', , {}, ['', [debug] xpath(./compounddef/compoundname[text()="mom_file_parser::param_file_type"]/..) match([('id', 'structmom__file__parser_1_1param__file__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_file_parser::param_file_type', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_file_parser::param_file_type', , {}, ['`M [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_file_parser::param_file_type', , {}, ['', [debug] xpath(./compounddef/compoundname[text()="mom_file_parser::parameter_block"]/..) match([('id', 'structmom__file__parser_1_1parameter__block'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_file_parser::parameter_block', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_file_parser::parameter_block', , {}, ['`M [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_file_parser::parameter_block', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((filename, CS, checkable, component, doc_file_dir)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__file__parser_1_1param__file__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__file__parser_1_1param__file__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::open_param_file', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::open_param_file', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((CS, quiet_close, component)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__file__parser_1_1param__file__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__file__parser_1_1param__file__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::close_param_file', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::close_param_file', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((iounit, filename, param_data)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__file__parser_1_1file__data__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__file__parser_1_1file__data__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::populate_param_data', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::populate_param_data', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((string)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::openmultilinecomment', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::openmultilinecomment', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((string)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::closemultilinecomment', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::closemultilinecomment', , {}, [debug] DoxygenMethodDocumenter format_signature called ((string)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::lastnoncommentindex', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::lastnoncommentindex', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((string)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::lastnoncommentnonblank', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::lastnoncommentnonblank', , {}, [debug] DoxygenMethodDocumenter format_signature called ((string)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::replacetabs', , {}, ['', 'Retu [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::replacetabs', , {}, ['', 'Retu [debug] DoxygenMethodDocumenter format_signature called ((string)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::removecomments', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::removecomments', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((string)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::simplifywhitespace', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::simplifywhitespace', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((CS, varname, value, fail_if_missing)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::read_param_int', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::read_param_int', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((CS, varname, value, fail_if_missing)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::read_param_int_array', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::read_param_int_array', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((CS, varname, value, fail_if_missing, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::read_param_real', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::read_param_real', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((CS, varname, value, fail_if_missing, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::read_param_real_array', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::read_param_real_array', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS, varname, value, fail_if_missing)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::read_param_char', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::read_param_char', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((CS, varname, value, fail_if_missing)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::read_param_char_array', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::read_param_char_array', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS, varname, value, fail_if_missing)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::read_param_logical', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::read_param_logical', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((CS, varname, value, timeunit, fail_if_missing, date_format)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::read_param_time', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::read_param_time', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((val_str)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::strip_quotes', , {}, ['', 'Thi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::strip_quotes', , {}, ['', 'Thi [debug] DoxygenMethodDocumenter format_signature called ((CS, varname, found, defined, value_string, paramIsLogical)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__file__parser_1_1param__file__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__file__parser_1_1param__file__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_variable_line', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_variable_line', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((line_used, count)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::flag_line_as_read', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::flag_line_as_read', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((chain, varName)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::overridewarninghasbeenissued', , {}, ['', 'L [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::log_version_cs', , {}, ['', 'L [debug] DoxygenMethodDocumenter format_signature called ((modulename, version)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::log_version_plain', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::log_version_plain', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::log_param_int', , {}, ['', 'Lo [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::log_param_int', , {}, ['', 'Lo [debug] DoxygenMethodDocumenter format_signature called ((CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::log_param_int_array', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::log_param_int_array', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((CS, modulename, varname, value, desc, units, default, debuggingParam, like_default)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::log_param_real', , {}, ['', 'L [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::log_param_real', , {}, ['', 'L [debug] DoxygenMethodDocumenter format_signature called ((CS, modulename, varname, value, desc, units, default, debuggingParam, like_default)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::log_param_real_array', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::log_param_real_array', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::log_param_logical', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::log_param_logical', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::log_param_char', , {}, ['', 'L [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::log_param_char', , {}, ['', 'L [debug] DoxygenMethodDocumenter format_signature called ((CS, modulename, varname, value, desc, units, default, timeunit, layoutParam, debuggingParam, log_date, like_default)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::log_param_time', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::log_param_time', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((date)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::convert_date_to_string', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::convert_date_to_string', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_param_int', , {}, ['', 'Th [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_param_int', , {}, ['', 'Th [debug] DoxygenMethodDocumenter format_signature called ((CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_param_int_array', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_param_int_array', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, debuggingParam, scale, unscaled)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_param_real', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_param_real', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, debuggingParam, static_value, scale, unscaled)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_param_real_array', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_param_real_array', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_param_char', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_param_char', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_param_char_array', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_param_char_array', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_param_logical', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_param_logical', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, timeunit, static_value, layoutParam, debuggingParam, log_as_date)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_param_time', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::get_param_time', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::clearparameterblock', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::clearparameterblock', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((CS, blockName, desc)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::openparameterblock', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::openparameterblock', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::closeparameterblock', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::closeparameterblock', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((oldblockName, newBlockName)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::pushblocklevel', , {}, ['', 'E [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::pushblocklevel', , {}, ['', 'E [debug] DoxygenMethodDocumenter format_signature called ((oldblockName)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::popblocklevel', , {}, ['', 'Tr [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_file_parser::popblocklevel', , {}, ['', 'Tr [fd] run(.. f:type:: file_data_type) [fd] sig(file_data_type) [fd] ftype(None) objtype(None) modname(None) typename() name(file_data_type) arglist(None) [fd] fullname(mom_file_parser/file_data_type) ftype(None) [fd] name(('mom_file_parser/file_data_type', None)) sig(file_data_type) signode(type mom_file_parser/file_data_type) [fd] run(.. f:type:: link_parameter) [fd] sig(link_parameter) [fd] ftype(None) objtype(None) modname(None) typename() name(link_parameter) arglist(None) [fd] fullname(mom_file_parser/link_parameter) ftype(None) [fd] name(('mom_file_parser/link_parameter', None)) sig(link_parameter) signode(type mom_file_parser/link_parameter) [fd] run(.. f:type:: param_file_type) [fd] sig(param_file_type) [fd] ftype(None) objtype(None) modname(None) typename() name(param_file_type) arglist(None) [fd] fullname(mom_file_parser/param_file_type) ftype(None) [fd] name(('mom_file_parser/param_file_type', None)) sig(param_file_type) signode(type mom_file_parser/param_file_type) [fd] run(.. f:type:: parameter_block) [fd] sig(parameter_block) [fd] ftype(None) objtype(None) modname(None) typename() name(parameter_block) arglist(None) [fd] fullname(mom_file_parser/parameter_block) ftype(None) [fd] name(('mom_file_parser/parameter_block', None)) sig(parameter_block) signode(type mom_file_parser/parameter_block) [fd] run(.. f:subroutine:: subroutine open_param_file(filename, CS, checkable, component, doc_file_dir)) [fd] sig(subroutine open_param_file(filename, CS, checkable, component, doc_file_dir)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(open_param_file) arglist(filename, CS, checkable, component, doc_file_dir) [fd] fullname(mom_file_parser/open_param_file) ftype(None) [fd] name(('mom_file_parser/open_param_file', None)) sig(subroutine open_param_file(filename, CS, checkable, component, doc_file_dir)) signode(subroutine mom_file_parser/open_param_filefilenameCScheckablecomponentdoc_file_dir) [fd] run(.. f:subroutine:: subroutine close_param_file(CS, quiet_close, component)) [fd] sig(subroutine close_param_file(CS, quiet_close, component)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(close_param_file) arglist(CS, quiet_close, component) [fd] fullname(mom_file_parser/close_param_file) ftype(None) [fd] name(('mom_file_parser/close_param_file', None)) sig(subroutine close_param_file(CS, quiet_close, component)) signode(subroutine mom_file_parser/close_param_fileCSquiet_closecomponent) [fd] run(.. f:subroutine:: subroutine populate_param_data(iounit, filename, param_data)) [fd] sig(subroutine populate_param_data(iounit, filename, param_data)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(populate_param_data) arglist(iounit, filename, param_data) [fd] fullname(mom_file_parser/populate_param_data) ftype(None) [fd] name(('mom_file_parser/populate_param_data', None)) sig(subroutine populate_param_data(iounit, filename, param_data)) signode(subroutine mom_file_parser/populate_param_dataiounitfilenameparam_data) [fd] run(.. f:function:: logical function openmultilinecomment(string)) [fd] sig(logical function openmultilinecomment(string)) [fd] ftype(logical) objtype(function) modname(None) typename() name(openmultilinecomment) arglist(string) [fd] fullname(mom_file_parser/openmultilinecomment) ftype(logical) [fd] name(('mom_file_parser/openmultilinecomment', 'logical')) sig(logical function openmultilinecomment(string)) signode(function mom_file_parser/openmultilinecommentstring [logical]) [fd] run(.. f:function:: logical function closemultilinecomment(string)) [fd] sig(logical function closemultilinecomment(string)) [fd] ftype(logical) objtype(function) modname(None) typename() name(closemultilinecomment) arglist(string) [fd] fullname(mom_file_parser/closemultilinecomment) ftype(logical) [fd] name(('mom_file_parser/closemultilinecomment', 'logical')) sig(logical function closemultilinecomment(string)) signode(function mom_file_parser/closemultilinecommentstring [logical]) [fd] run(.. f:function:: integer function lastnoncommentindex(string)) [fd] sig(integer function lastnoncommentindex(string)) [fd] ftype(integer) objtype(function) modname(None) typename() name(lastnoncommentindex) arglist(string) [fd] fullname(mom_file_parser/lastnoncommentindex) ftype(integer) [fd] name(('mom_file_parser/lastnoncommentindex', 'integer')) sig(integer function lastnoncommentindex(string)) signode(function mom_file_parser/lastnoncommentindexstring [integer]) [fd] run(.. f:function:: integer function lastnoncommentnonblank(string)) [fd] sig(integer function lastnoncommentnonblank(string)) [fd] ftype(integer) objtype(function) modname(None) typename() name(lastnoncommentnonblank) arglist(string) [fd] fullname(mom_file_parser/lastnoncommentnonblank) ftype(integer) [fd] name(('mom_file_parser/lastnoncommentnonblank', 'integer')) sig(integer function lastnoncommentnonblank(string)) signode(function mom_file_parser/lastnoncommentnonblankstring [integer]) [fd] run(.. f:function:: character(len=len(string)) function replacetabs(string)) [fd] sig(character(len=len(string)) function replacetabs(string)) [fd] ftype(character(len=len(string))) objtype(function) modname(None) typename() name(replacetabs) arglist(string) [fd] fullname(mom_file_parser/replacetabs) ftype(character(len=len(string))) [fd] name(('mom_file_parser/replacetabs', 'character(len=len(string))')) sig(character(len=len(string)) function replacetabs(string)) signode(function mom_file_parser/replacetabsstring [character(len=len(string))]) [fd] run(.. f:function:: character(len=len(string)) function removecomments(string)) [fd] sig(character(len=len(string)) function removecomments(string)) [fd] ftype(character(len=len(string))) objtype(function) modname(None) typename() name(removecomments) arglist(string) [fd] fullname(mom_file_parser/removecomments) ftype(character(len=len(string))) [fd] name(('mom_file_parser/removecomments', 'character(len=len(string))')) sig(character(len=len(string)) function removecomments(string)) signode(function mom_file_parser/removecommentsstring [character(len=len(string))]) [fd] run(.. f:function:: character(len=len(string)+16) function simplifywhitespace(string)) [fd] sig(character(len=len(string)+16) function simplifywhitespace(string)) [fd] ftype(character(len=len(string)+16)) objtype(function) modname(None) typename() name(simplifywhitespace) arglist(string) [fd] fullname(mom_file_parser/simplifywhitespace) ftype(character(len=len(string)+16)) [fd] name(('mom_file_parser/simplifywhitespace', 'character(len=len(string)+16)')) sig(character(len=len(string)+16) function simplifywhitespace(string)) signode(function mom_file_parser/simplifywhitespacestring [character(len=len(string)+16)]) [fd] run(.. f:subroutine:: subroutine read_param_int(CS, varname, value, fail_if_missing)) [fd] sig(subroutine read_param_int(CS, varname, value, fail_if_missing)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(read_param_int) arglist(CS, varname, value, fail_if_missing) [fd] fullname(mom_file_parser/read_param_int) ftype(None) [fd] name(('mom_file_parser/read_param_int', None)) sig(subroutine read_param_int(CS, varname, value, fail_if_missing)) signode(subroutine mom_file_parser/read_param_intCSvarnamevaluefail_if_missing) [fd] run(.. f:subroutine:: subroutine read_param_int_array(CS, varname, value, fail_if_missing)) [fd] sig(subroutine read_param_int_array(CS, varname, value, fail_if_missing)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(read_param_int_array) arglist(CS, varname, value, fail_if_missing) [fd] fullname(mom_file_parser/read_param_int_array) ftype(None) [fd] name(('mom_file_parser/read_param_int_array', None)) sig(subroutine read_param_int_array(CS, varname, value, fail_if_missing)) signode(subroutine mom_file_parser/read_param_int_arrayCSvarnamevaluefail_if_missing) [fd] run(.. f:subroutine:: subroutine read_param_real(CS, varname, value, fail_if_missing, scale)) [fd] sig(subroutine read_param_real(CS, varname, value, fail_if_missing, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(read_param_real) arglist(CS, varname, value, fail_if_missing, scale) [fd] fullname(mom_file_parser/read_param_real) ftype(None) [fd] name(('mom_file_parser/read_param_real', None)) sig(subroutine read_param_real(CS, varname, value, fail_if_missing, scale)) signode(subroutine mom_file_parser/read_param_realCSvarnamevaluefail_if_missingscale) [fd] run(.. f:subroutine:: subroutine read_param_real_array(CS, varname, value, fail_if_missing, scale)) [fd] sig(subroutine read_param_real_array(CS, varname, value, fail_if_missing, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(read_param_real_array) arglist(CS, varname, value, fail_if_missing, scale) [fd] fullname(mom_file_parser/read_param_real_array) ftype(None) [fd] name(('mom_file_parser/read_param_real_array', None)) sig(subroutine read_param_real_array(CS, varname, value, fail_if_missing, scale)) signode(subroutine mom_file_parser/read_param_real_arrayCSvarnamevaluefail_if_missingscale) [fd] run(.. f:subroutine:: subroutine read_param_char(CS, varname, value, fail_if_missing)) [fd] sig(subroutine read_param_char(CS, varname, value, fail_if_missing)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(read_param_char) arglist(CS, varname, value, fail_if_missing) [fd] fullname(mom_file_parser/read_param_char) ftype(None) [fd] name(('mom_file_parser/read_param_char', None)) sig(subroutine read_param_char(CS, varname, value, fail_if_missing)) signode(subroutine mom_file_parser/read_param_charCSvarnamevaluefail_if_missing) [fd] run(.. f:subroutine:: subroutine read_param_char_array(CS, varname, value, fail_if_missing)) [fd] sig(subroutine read_param_char_array(CS, varname, value, fail_if_missing)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(read_param_char_array) arglist(CS, varname, value, fail_if_missing) [fd] fullname(mom_file_parser/read_param_char_array) ftype(None) [fd] name(('mom_file_parser/read_param_char_array', None)) sig(subroutine read_param_char_array(CS, varname, value, fail_if_missing)) signode(subroutine mom_file_parser/read_param_char_arrayCSvarnamevaluefail_if_missing) [fd] run(.. f:subroutine:: subroutine read_param_logical(CS, varname, value, fail_if_missing)) [fd] sig(subroutine read_param_logical(CS, varname, value, fail_if_missing)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(read_param_logical) arglist(CS, varname, value, fail_if_missing) [fd] fullname(mom_file_parser/read_param_logical) ftype(None) [fd] name(('mom_file_parser/read_param_logical', None)) sig(subroutine read_param_logical(CS, varname, value, fail_if_missing)) signode(subroutine mom_file_parser/read_param_logicalCSvarnamevaluefail_if_missing) [fd] run(.. f:subroutine:: subroutine read_param_time(CS, varname, value, timeunit, fail_if_missing, date_format)) [fd] sig(subroutine read_param_time(CS, varname, value, timeunit, fail_if_missing, date_format)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(read_param_time) arglist(CS, varname, value, timeunit, fail_if_missing, date_format) [fd] fullname(mom_file_parser/read_param_time) ftype(None) [fd] name(('mom_file_parser/read_param_time', None)) sig(subroutine read_param_time(CS, varname, value, timeunit, fail_if_missing, date_format)) signode(subroutine mom_file_parser/read_param_timeCSvarnamevaluetimeunitfail_if_missingdate_format) [fd] run(.. f:function:: character(len=input_str_length) function strip_quotes(val_str)) [fd] sig(character(len=input_str_length) function strip_quotes(val_str)) [fd] ftype(character(len=input_str_length)) objtype(function) modname(None) typename() name(strip_quotes) arglist(val_str) [fd] fullname(mom_file_parser/strip_quotes) ftype(character(len=input_str_length)) [fd] name(('mom_file_parser/strip_quotes', 'character(len=input_str_length)')) sig(character(len=input_str_length) function strip_quotes(val_str)) signode(function mom_file_parser/strip_quotesval_str [character(len=input_str_length)]) [fd] run(.. f:subroutine:: subroutine get_variable_line(CS, varname, found, defined, value_string, paramIsLogical)) [fd] sig(subroutine get_variable_line(CS, varname, found, defined, value_string, paramIsLogical)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_variable_line) arglist(CS, varname, found, defined, value_string, paramIsLogical) [fd] fullname(mom_file_parser/get_variable_line) ftype(None) [fd] name(('mom_file_parser/get_variable_line', None)) sig(subroutine get_variable_line(CS, varname, found, defined, value_string, paramIsLogical)) signode(subroutine mom_file_parser/get_variable_lineCSvarnamefounddefinedvalue_stringparamIsLogical) [fd] run(.. f:subroutine:: subroutine flag_line_as_read(line_used, count)) [fd] sig(subroutine flag_line_as_read(line_used, count)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(flag_line_as_read) arglist(line_used, count) [fd] fullname(mom_file_parser/flag_line_as_read) ftype(None) [fd] name(('mom_file_parser/flag_line_as_read', None)) sig(subroutine flag_line_as_read(line_used, count)) signode(subroutine mom_file_parser/flag_line_as_readline_usedcount) [fd] run(.. f:function:: logical function overridewarninghasbeenissued(chain, varName)) [fd] sig(logical function overridewarninghasbeenissued(chain, varName)) [fd] ftype(logical) objtype(function) modname(None) typename() name(overridewarninghasbeenissued) arglist(chain, varName) [fd] fullname(mom_file_parser/overridewarninghasbeenissued) ftype(logical) [fd] name(('mom_file_parser/overridewarninghasbeenissued', 'logical')) sig(logical function overridewarninghasbeenissued(chain, varName)) signode(function mom_file_parser/overridewarninghasbeenissuedchainvarName [logical]) [fd] run(.. f:subroutine:: subroutine log_version_cs(CS, modulename, version, desc, log_to_all, all_default, layout, debugging)) [fd] sig(subroutine log_version_cs(CS, modulename, version, desc, log_to_all, all_default, layout, debugging)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(log_version_cs) arglist(CS, modulename, version, desc, log_to_all, all_default, layout, debugging) [fd] fullname(mom_file_parser/log_version_cs) ftype(None) [fd] name(('mom_file_parser/log_version_cs', None)) sig(subroutine log_version_cs(CS, modulename, version, desc, log_to_all, all_default, layout, debugging)) signode(subroutine mom_file_parser/log_version_csCSmodulenameversiondesclog_to_allall_defaultlayoutdebugging) [fd] run(.. f:subroutine:: subroutine log_version_plain(modulename, version)) [fd] sig(subroutine log_version_plain(modulename, version)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(log_version_plain) arglist(modulename, version) [fd] fullname(mom_file_parser/log_version_plain) ftype(None) [fd] name(('mom_file_parser/log_version_plain', None)) sig(subroutine log_version_plain(modulename, version)) signode(subroutine mom_file_parser/log_version_plainmodulenameversion) [fd] run(.. f:subroutine:: subroutine log_param_int(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default)) [fd] sig(subroutine log_param_int(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(log_param_int) arglist(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default) [fd] fullname(mom_file_parser/log_param_int) ftype(None) [fd] name(('mom_file_parser/log_param_int', None)) sig(subroutine log_param_int(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default)) signode(subroutine mom_file_parser/log_param_intCSmodulenamevarnamevaluedescunitsdefaultlayoutParamdebuggingParamlike_default) [fd] run(.. f:subroutine:: subroutine log_param_int_array(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default)) [fd] sig(subroutine log_param_int_array(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(log_param_int_array) arglist(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default) [fd] fullname(mom_file_parser/log_param_int_array) ftype(None) [fd] name(('mom_file_parser/log_param_int_array', None)) sig(subroutine log_param_int_array(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default)) signode(subroutine mom_file_parser/log_param_int_arrayCSmodulenamevarnamevaluedescunitsdefaultlayoutParamdebuggingParamlike_default) [fd] run(.. f:subroutine:: subroutine log_param_real(CS, modulename, varname, value, desc, units, default, debuggingParam, like_default)) [fd] sig(subroutine log_param_real(CS, modulename, varname, value, desc, units, default, debuggingParam, like_default)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(log_param_real) arglist(CS, modulename, varname, value, desc, units, default, debuggingParam, like_default) [fd] fullname(mom_file_parser/log_param_real) ftype(None) [fd] name(('mom_file_parser/log_param_real', None)) sig(subroutine log_param_real(CS, modulename, varname, value, desc, units, default, debuggingParam, like_default)) signode(subroutine mom_file_parser/log_param_realCSmodulenamevarnamevaluedescunitsdefaultdebuggingParamlike_default) [fd] run(.. f:subroutine:: subroutine log_param_real_array(CS, modulename, varname, value, desc, units, default, debuggingParam, like_default)) [fd] sig(subroutine log_param_real_array(CS, modulename, varname, value, desc, units, default, debuggingParam, like_default)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(log_param_real_array) arglist(CS, modulename, varname, value, desc, units, default, debuggingParam, like_default) [fd] fullname(mom_file_parser/log_param_real_array) ftype(None) [fd] name(('mom_file_parser/log_param_real_array', None)) sig(subroutine log_param_real_array(CS, modulename, varname, value, desc, units, default, debuggingParam, like_default)) signode(subroutine mom_file_parser/log_param_real_arrayCSmodulenamevarnamevaluedescunitsdefaultdebuggingParamlike_default) [fd] run(.. f:subroutine:: subroutine log_param_logical(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default)) [fd] sig(subroutine log_param_logical(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(log_param_logical) arglist(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default) [fd] fullname(mom_file_parser/log_param_logical) ftype(None) [fd] name(('mom_file_parser/log_param_logical', None)) sig(subroutine log_param_logical(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default)) signode(subroutine mom_file_parser/log_param_logicalCSmodulenamevarnamevaluedescunitsdefaultlayoutParamdebuggingParamlike_default) [fd] run(.. f:subroutine:: subroutine log_param_char(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default)) [fd] sig(subroutine log_param_char(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(log_param_char) arglist(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default) [fd] fullname(mom_file_parser/log_param_char) ftype(None) [fd] name(('mom_file_parser/log_param_char', None)) sig(subroutine log_param_char(CS, modulename, varname, value, desc, units, default, layoutParam, debuggingParam, like_default)) signode(subroutine mom_file_parser/log_param_charCSmodulenamevarnamevaluedescunitsdefaultlayoutParamdebuggingParamlike_default) [fd] run(.. f:subroutine:: subroutine log_param_time(CS, modulename, varname, value, desc, units, default, timeunit, layoutParam, debuggingParam, log_date, like_default)) [fd] sig(subroutine log_param_time(CS, modulename, varname, value, desc, units, default, timeunit, layoutParam, debuggingParam, log_date, like_default)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(log_param_time) arglist(CS, modulename, varname, value, desc, units, default, timeunit, layoutParam, debuggingParam, log_date, like_default) [fd] fullname(mom_file_parser/log_param_time) ftype(None) [fd] name(('mom_file_parser/log_param_time', None)) sig(subroutine log_param_time(CS, modulename, varname, value, desc, units, default, timeunit, layoutParam, debuggingParam, log_date, like_default)) signode(subroutine mom_file_parser/log_param_timeCSmodulenamevarnamevaluedescunitsdefaulttimeunitlayoutParamdebuggingParamlog_datelike_default) [fd] run(.. f:function:: character(len=40) function convert_date_to_string(date)) [fd] sig(character(len=40) function convert_date_to_string(date)) [fd] ftype(character(len=40)) objtype(function) modname(None) typename() name(convert_date_to_string) arglist(date) [fd] fullname(mom_file_parser/convert_date_to_string) ftype(character(len=40)) [fd] name(('mom_file_parser/convert_date_to_string', 'character(len=40)')) sig(character(len=40) function convert_date_to_string(date)) signode(function mom_file_parser/convert_date_to_stringdate [character(len=40)]) [fd] run(.. f:subroutine:: subroutine get_param_int(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam)) [fd] sig(subroutine get_param_int(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_param_int) arglist(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam) [fd] fullname(mom_file_parser/get_param_int) ftype(None) [fd] name(('mom_file_parser/get_param_int', None)) sig(subroutine get_param_int(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam)) signode(subroutine mom_file_parser/get_param_intCSmodulenamevarnamevaluedescunitsdefaultfail_if_missingdo_not_readdo_not_logstatic_valuelayoutParamdebuggingParam) [fd] run(.. f:subroutine:: subroutine get_param_int_array(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam)) [fd] sig(subroutine get_param_int_array(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_param_int_array) arglist(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam) [fd] fullname(mom_file_parser/get_param_int_array) ftype(None) [fd] name(('mom_file_parser/get_param_int_array', None)) sig(subroutine get_param_int_array(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam)) signode(subroutine mom_file_parser/get_param_int_arrayCSmodulenamevarnamevaluedescunitsdefaultfail_if_missingdo_not_readdo_not_logstatic_valuelayoutParamdebuggingParam) [fd] run(.. f:subroutine:: subroutine get_param_real(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, debuggingParam, scale, unscaled)) [fd] sig(subroutine get_param_real(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, debuggingParam, scale, unscaled)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_param_real) arglist(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, debuggingParam, scale, unscaled) [fd] fullname(mom_file_parser/get_param_real) ftype(None) [fd] name(('mom_file_parser/get_param_real', None)) sig(subroutine get_param_real(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, debuggingParam, scale, unscaled)) signode(subroutine mom_file_parser/get_param_realCSmodulenamevarnamevaluedescunitsdefaultfail_if_missingdo_not_readdo_not_logstatic_valuedebuggingParamscaleunscaled) [fd] run(.. f:subroutine:: subroutine get_param_real_array(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, debuggingParam, static_value, scale, unscaled)) [fd] sig(subroutine get_param_real_array(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, debuggingParam, static_value, scale, unscaled)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_param_real_array) arglist(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, debuggingParam, static_value, scale, unscaled) [fd] fullname(mom_file_parser/get_param_real_array) ftype(None) [fd] name(('mom_file_parser/get_param_real_array', None)) sig(subroutine get_param_real_array(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, debuggingParam, static_value, scale, unscaled)) signode(subroutine mom_file_parser/get_param_real_arrayCSmodulenamevarnamevaluedescunitsdefaultfail_if_missingdo_not_readdo_not_logdebuggingParamstatic_valuescaleunscaled) [fd] run(.. f:subroutine:: subroutine get_param_char(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam)) [fd] sig(subroutine get_param_char(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_param_char) arglist(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam) [fd] fullname(mom_file_parser/get_param_char) ftype(None) [fd] name(('mom_file_parser/get_param_char', None)) sig(subroutine get_param_char(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam)) signode(subroutine mom_file_parser/get_param_charCSmodulenamevarnamevaluedescunitsdefaultfail_if_missingdo_not_readdo_not_logstatic_valuelayoutParamdebuggingParam) [fd] run(.. f:subroutine:: subroutine get_param_char_array(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value)) [fd] sig(subroutine get_param_char_array(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_param_char_array) arglist(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value) [fd] fullname(mom_file_parser/get_param_char_array) ftype(None) [fd] name(('mom_file_parser/get_param_char_array', None)) sig(subroutine get_param_char_array(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value)) signode(subroutine mom_file_parser/get_param_char_arrayCSmodulenamevarnamevaluedescunitsdefaultfail_if_missingdo_not_readdo_not_logstatic_value) [fd] run(.. f:subroutine:: subroutine get_param_logical(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam)) [fd] sig(subroutine get_param_logical(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_param_logical) arglist(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam) [fd] fullname(mom_file_parser/get_param_logical) ftype(None) [fd] name(('mom_file_parser/get_param_logical', None)) sig(subroutine get_param_logical(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, static_value, layoutParam, debuggingParam)) signode(subroutine mom_file_parser/get_param_logicalCSmodulenamevarnamevaluedescunitsdefaultfail_if_missingdo_not_readdo_not_logstatic_valuelayoutParamdebuggingParam) [fd] run(.. f:subroutine:: subroutine get_param_time(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, timeunit, static_value, layoutParam, debuggingParam, log_as_date)) [fd] sig(subroutine get_param_time(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, timeunit, static_value, layoutParam, debuggingParam, log_as_date)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_param_time) arglist(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, timeunit, static_value, layoutParam, debuggingParam, log_as_date) [fd] fullname(mom_file_parser/get_param_time) ftype(None) [fd] name(('mom_file_parser/get_param_time', None)) sig(subroutine get_param_time(CS, modulename, varname, value, desc, units, default, fail_if_missing, do_not_read, do_not_log, timeunit, static_value, layoutParam, debuggingParam, log_as_date)) signode(subroutine mom_file_parser/get_param_timeCSmodulenamevarnamevaluedescunitsdefaultfail_if_missingdo_not_readdo_not_logtimeunitstatic_valuelayoutParamdebuggingParamlog_as_date) [fd] run(.. f:subroutine:: subroutine clearparameterblock(CS)) [fd] sig(subroutine clearparameterblock(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(clearparameterblock) arglist(CS) [fd] fullname(mom_file_parser/clearparameterblock) ftype(None) [fd] name(('mom_file_parser/clearparameterblock', None)) sig(subroutine clearparameterblock(CS)) signode(subroutine mom_file_parser/clearparameterblockCS) [fd] run(.. f:subroutine:: subroutine openparameterblock(CS, blockName, desc)) [fd] sig(subroutine openparameterblock(CS, blockName, desc)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(openparameterblock) arglist(CS, blockName, desc) [fd] fullname(mom_file_parser/openparameterblock) ftype(None) [fd] name(('mom_file_parser/openparameterblock', None)) sig(subroutine openparameterblock(CS, blockName, desc)) signode(subroutine mom_file_parser/openparameterblockCSblockNamedesc) [fd] run(.. f:subroutine:: subroutine closeparameterblock(CS)) [fd] sig(subroutine closeparameterblock(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(closeparameterblock) arglist(CS) [fd] fullname(mom_file_parser/closeparameterblock) ftype(None) [fd] name(('mom_file_parser/closeparameterblock', None)) sig(subroutine closeparameterblock(CS)) signode(subroutine mom_file_parser/closeparameterblockCS) [fd] run(.. f:function:: character(len=len(oldblockname)+40) function pushblocklevel(oldblockName, newBlockName)) [fd] sig(character(len=len(oldblockname)+40) function pushblocklevel(oldblockName, newBlockName)) [fd] ftype(character(len=len(oldblockname)+40)) objtype(function) modname(None) typename() name(pushblocklevel) arglist(oldblockName, newBlockName) [fd] fullname(mom_file_parser/pushblocklevel) ftype(character(len=len(oldblockname)+40)) [fd] name(('mom_file_parser/pushblocklevel', 'character(len=len(oldblockname)+40)')) sig(character(len=len(oldblockname)+40) function pushblocklevel(oldblockName, newBlockName)) signode(function mom_file_parser/pushblockleveloldblockNamenewBlockName [character(len=len(oldblockname)+40)]) [fd] run(.. f:function:: character(len=len(oldblockname)+40) function popblocklevel(oldblockName)) [fd] sig(character(len=len(oldblockname)+40) function popblocklevel(oldblockName)) [fd] ftype(character(len=len(oldblockname)+40)) objtype(function) modname(None) typename() name(popblocklevel) arglist(oldblockName) [fd] fullname(mom_file_parser/popblocklevel) ftype(character(len=len(oldblockname)+40)) [fd] name(('mom_file_parser/popblocklevel', 'character(len=len(oldblockname)+40)')) sig(character(len=len(oldblockname)+40) function popblocklevel(oldblockName)) signode(function mom_file_parser/popblockleveloldblockName [character(len=len(oldblockname)+40)]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 34%] api/generated/modules/mom_fixed_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_fixed_in [app] emitting event: 'source-read'('api/generated/modules/mom_fixed_initialization', ['.. autodoxymodule:: mom_fixed_initialization\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_fixed_initialization.rst:1: input: .. autodoxymodule:: mom_fixed_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_fixed_initialization::mom_initialize_fixed ~mom_fixed_initialization::mom_initialize_topography [debug] xpath(./compounddef/compoundname[text()="mom_fixed_initialization"]/..) match([('id', 'namespacemom__fixed__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_fixed_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_fixed_initialization', , {'members': , {'members': , {'members': ), ('mom_initialize_topography', )]) [autodoc] module analyzer failed: error importing 'mom_fixed_initialization' (exception was: ModuleNotFoundError("No module named 'mom_fixed_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((G, US, OBC, PF, write_geom, output_dir)) [debug] add_directive_header sig((G, US, OBC, PF, write_geom, output_dir)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine mom_initialize_fixed) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_initialize_fixed', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_fixed_initialization::mom_initialize_fixed ~mom_fixed_initialization::mom_initialize_topography .. _DETAmom_fixed_initialization: -------------------- Detailed Description -------------------- Initializes fixed aspects of the model, such as horizontal grid metrics, topography and Coriolis. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine mom_initialize_fixed(G, US, OBC, PF, write_geom, output_dir) MOM_initialize_fixed sets up time-invariant quantities related to MOM6's horizontal grid, bathymetry, and the Coriolis parameter. :param g: [inout] The ocean's grid structure. :param us: [in] A dimensional unit scaling type :param obc: Open boundary structure. :param pf: [in] A structure indicating the open file to parse for model parameter values. :param write_geom: [in] If true, write grid geometry files. :param output_dir: [in] The directory into which to write files. :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_shared_initialization::compute_global_grid_integrals ` :callto: :f:func:`mom_grid_initialize::initialize_masks ` :callto: :f:func:`mom_initialize_topography ` :callto: :f:func:`mom_open_boundary::open_boundary_impose_land_mask ` :callto: :f:func:`mom_grid_initialize::set_grid_metrics ` :callto: :f:func:`mom_shared_initialization::write_ocean_geometry_file ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine mom_initialize_topography(D, max_depth, G, PF, US) MOM_initialize_topography makes the appropriate call to set up the bathymetry. At this point the topography is in units of [m], but this can be changed later. :param g: [in] The dynamic horizontal grid type :param d: [out] Ocean bottom depth [m] :param pf: [in] Parameter file structure :param max_depth: [out] Maximum depth of model [m] :param us: [in] A dimensional unit scaling type :callto: :f:func:`basin_builder::basin_builder_topography ` :callto: :f:func:`benchmark_initialization::benchmark_initialize_topography ` :callto: :f:func:`dense_water_initialization::dense_water_initialize_topography ` :callto: :f:func:`dome2d_initialization::dome2d_initialize_topography ` :callto: :f:func:`dome_initialization::dome_initialize_topography ` :callto: :f:func:`dumbbell_initialization::dumbbell_initialize_topography ` :callto: :f:func:`isomip_initialization::isomip_initialize_topography ` :callto: :f:func:`kelvin_initialization::kelvin_initialize_topography ` :callto: :f:func:`neverworld_initialization::neverworld_initialize_topography ` :callto: :f:func:`phillips_initialization::phillips_initialize_topography ` :callto: :f:func:`seamount_initialization::seamount_initialize_topography ` :callto: :f:func:`shelfwave_initialization::shelfwave_initialize_topography ` :callto: :f:func:`sloshing_initialization::sloshing_initialize_topography ` :callto: :f:func:`user_initialization::user_initialize_topography ` :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` :calledfrom: :f:func:`mom_initialize_fixed ` [debug] DoxygenMethodDocumenter format_signature called ((G, US, OBC, PF, write_geom, output_dir)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_fixed_initialization::mom_initialize_fixed', subroutine mom_fixed_initialization/mom_initialize_fixedGUSOBCPFwrite_geomoutput_dir) [fd] run(.. f:subroutine:: subroutine mom_initialize_topography(D, max_depth, G, PF, US)) [fd] sig(subroutine mom_initialize_topography(D, max_depth, G, PF, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_initialize_topography) arglist(D, max_depth, G, PF, US) [fd] fullname(mom_fixed_initialization/mom_initialize_topography) ftype(None) [fd] name(('mom_fixed_initialization/mom_initialize_topography', None)) sig(subroutine mom_initialize_topography(D, max_depth, G, PF, US)) signode(subroutine mom_fixed_initialization/mom_initialize_topographyDmax_depthGPFUS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 34%] api/generated/modules/mom_forcing_type [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_forcing_ [app] emitting event: 'source-read'('api/generated/modules/mom_forcing_type', ['.. autodoxymodule:: mom_forcing_type\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_forcing_type.rst:1: input: .. autodoxymodule:: mom_forcing_type :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_forcing_type::forcing ~mom_forcing_type::forcing_diags ~mom_forcing_type::mech_forcing --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_forcing_type::extractfluxes1d ~mom_forcing_type::extractfluxes2d ~mom_forcing_type::calculatebuoyancyflux1d ~mom_forcing_type::calculatebuoyancyflux2d ~mom_forcing_type::mom_forcing_chksum ~mom_forcing_type::mom_mech_forcing_chksum ~mom_forcing_type::mech_forcing_singlepointprint ~mom_forcing_type::forcing_singlepointprint ~mom_forcing_type::register_forcing_type_diags ~mom_forcing_type::forcing_accumulate ~mom_forcing_type::fluxes_accumulate ~mom_forcing_type::copy_common_forcing_fields ~mom_forcing_type::set_derived_forcing_fields ~mom_forcing_type::set_net_mass_forcing ~mom_forcing_type::get_net_mass_forcing ~mom_forcing_type::copy_back_forcing_fields ~mom_forcing_type::mech_forcing_diags ~mom_forcing_type::forcing_diagnostics ~mom_forcing_type::allocate_forcing_by_group ~mom_forcing_type::allocate_forcing_by_ref ~mom_forcing_type::allocate_mech_forcing_by_group ~mom_forcing_type::allocate_mech_forcing_from_ref ~mom_forcing_type::get_forcing_groups ~mom_forcing_type::get_mech_forcing_groups ~mom_forcing_type::myalloc ~mom_forcing_type::deallocate_forcing_type ~mom_forcing_type::deallocate_mech_forcing ~mom_forcing_type::rotate_forcing ~mom_forcing_type::rotate_mech_forcing [debug] xpath(./compounddef/compoundname[text()="mom_forcing_type"]/..) match([('id', 'namespacemom__forcing__type'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_forcing_type module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_forcing_type', , {'members': , {'members': , {'members': ), ('mom_forcing_type::forcing_diags', ), ('mom_forcing_type::mech_forcing', )]) [autodoc] module analyzer failed: error importing 'mom_forcing_type' (exception was: ModuleNotFoundError("No module named 'mom_forcing_type'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_forcing_type::forcing', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::forcing_diags', , {'members': [autodoc] module analyzer failed: error importing 'mom_forcing_type' (exception was: ModuleNotFoundError("No module named 'mom_forcing_type'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM__surface__forcing_8F90) kindref(compound) ref([]) [debug] ref([('id', 'MOM__surface__forcing_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_forcing_type::mech_forcing', , {'members': [debug] members([('extractfluxes1d', ), ('extractfluxes2d', ), ('calculatebuoyancyflux1d', ), ('calculatebuoyancyflux2d', ), ('mom_forcing_chksum', ), ('mom_mech_forcing_chksum', ), ('mech_forcing_singlepointprint', ), ('forcing_singlepointprint', ), ('register_forcing_type_diags', ), ('forcing_accumulate', ), ('fluxes_accumulate', ), ('copy_common_forcing_fields', ), ('set_derived_forcing_fields', ), ('set_net_mass_forcing', ), ('get_net_mass_forcing', ), ('copy_back_forcing_fields', ), ('mech_forcing_diags', ), ('forcing_diagnostics', ), ('allocate_forcing_by_group', ), ('allocate_forcing_by_ref', ), ('allocate_mech_forcing_by_group', ), ('allocate_mech_forcing_from_ref', ), ('get_forcing_groups', ), ('get_mech_forcing_groups', ), ('myalloc', ), ('deallocate_forcing_type', ), ('deallocate_mech_forcing', ), ('rotate_forcing', ), ('rotate_mech_forcing', )]) [autodoc] module analyzer failed: error importing 'mom_forcing_type' (exception was: ModuleNotFoundError("No module named 'mom_forcing_type'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, fluxes, optics, nsw, j, dt, FluxRescaleDepth, useRiverHeatContent, useCalvingHeatContent, h, T, netMassInOut, netMassOut, net_heat, net_salt, pen_SW_bnd, tv, aggregate_FW, nonpenSW, netmassInOut_rate, net_Heat_Rate, net_salt_rate, pen_sw_bnd_Rate, skip_diags)) [debug] add_directive_header sig((G, GV, US, fluxes, optics, nsw, j, dt, FluxRescaleDepth, useRiverHeatContent, useCalvingHeatContent, h, T, netMassInOut, netMassOut, net_heat, net_salt, pen_SW_bnd, tv, aggregate_FW, nonpenSW, netmassInOut_rate, net_Heat_Rate, net_salt_rate, pen_sw_bnd_Rate, skip_diags)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine extractfluxes1d) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'extractfluxes1d', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mech_forcing_singlepointprint', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mech_forcing_singlepointprint', , {'members': < [autodoc] module analyzer failed: error importing 'mom_forcing_type' (exception was: ModuleNotFoundError("No module named 'mom_forcing_type'")) [debug] DoxygenMethodDocumenter format_signature called ((fluxes, G, i, j, mesg)) [debug] add_directive_header sig((fluxes, G, i, j, mesg)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine forcing_singlepointprint) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'forcing_singlepointprint', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__forcing__type_1_1mech__forcing'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'copy_common_forcing_fields', , {'members': , {'members': ]) [debug] ref([('id', 'structmom__forcing__type_1_1mech__forcing'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_derived_forcing_fields', , {'members': , {'members': ]) [debug] ref([('id', 'structmom__forcing__type_1_1mech__forcing'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_net_mass_forcing', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__forcing__type_1_1mech__forcing'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'copy_back_forcing_fields', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'allocate_mech_forcing_by_group', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'allocate_mech_forcing_by_group', , {'members': [autodoc] module analyzer failed: error importing 'mom_forcing_type' (exception was: ModuleNotFoundError("No module named 'mom_forcing_type'")) [debug] DoxygenMethodDocumenter format_signature called ((forces_ref, G, forces)) [debug] add_directive_header sig((forces_ref, G, forces)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine allocate_mech_forcing_from_ref) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'allocate_mech_forcing_from_ref', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'allocate_mech_forcing_from_ref', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'allocate_mech_forcing_from_ref', , {'members': [autodoc] module analyzer failed: error importing 'mom_forcing_type' (exception was: ModuleNotFoundError("No module named 'mom_forcing_type'")) [debug] DoxygenMethodDocumenter format_signature called ((fluxes, water, heat, ustar, press, shelf, iceberg, salt, heat_added, buoy)) [debug] add_directive_header sig((fluxes, water, heat, ustar, press, shelf, iceberg, salt, heat_added, buoy)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine get_forcing_groups) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'get_forcing_groups', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_forcing_type::forcing ~mom_forcing_type::forcing_diags ~mom_forcing_type::mech_forcing --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_forcing_type::extractfluxes1d ~mom_forcing_type::extractfluxes2d ~mom_forcing_type::calculatebuoyancyflux1d ~mom_forcing_type::calculatebuoyancyflux2d ~mom_forcing_type::mom_forcing_chksum ~mom_forcing_type::mom_mech_forcing_chksum ~mom_forcing_type::mech_forcing_singlepointprint ~mom_forcing_type::forcing_singlepointprint ~mom_forcing_type::register_forcing_type_diags ~mom_forcing_type::forcing_accumulate ~mom_forcing_type::fluxes_accumulate ~mom_forcing_type::copy_common_forcing_fields ~mom_forcing_type::set_derived_forcing_fields ~mom_forcing_type::set_net_mass_forcing ~mom_forcing_type::get_net_mass_forcing ~mom_forcing_type::copy_back_forcing_fields ~mom_forcing_type::mech_forcing_diags ~mom_forcing_type::forcing_diagnostics ~mom_forcing_type::allocate_forcing_by_group ~mom_forcing_type::allocate_forcing_by_ref ~mom_forcing_type::allocate_mech_forcing_by_group ~mom_forcing_type::allocate_mech_forcing_from_ref ~mom_forcing_type::get_forcing_groups ~mom_forcing_type::get_mech_forcing_groups ~mom_forcing_type::myalloc ~mom_forcing_type::deallocate_forcing_type ~mom_forcing_type::deallocate_mech_forcing ~mom_forcing_type::rotate_forcing ~mom_forcing_type::rotate_mech_forcing .. _DETAmom_forcing_type: -------------------- Detailed Description -------------------- .. _namespacemom__forcing__type_1section_fluxes: Boundary fluxes =============== The ocean is a forced-dissipative system. Forcing occurs at the boundaries, and this module mediates the various forcing terms from momentum, heat, salt, and mass. Boundary fluxes from other tracers are treated by coupling to biogeochemical models. We here present elements of how MOM6 assumes boundary fluxes are passed into the ocean. Note that all fluxes are positive into the ocean. For surface boundary fluxes, that means fluxes are positive downward. For example, a positive shortwave flux warms the ocean. .. _namespacemom__forcing__type_1subsection_momentum_fluxes: Surface boundary momentum fluxes -------------------------------- The ocean surface exchanges momentum with the overlying atmosphere, sea ice, and land ice. The momentum is exchanged as a horizontal stress (Newtons per squared meter: N/m2) imposed on the upper ocean grid cell. .. _namespacemom__forcing__type_1subsection_mass_fluxes: Surface boundary mass fluxes ---------------------------- The ocean gains or loses mass through evaporation, precipitation, sea ice melt/form, and and river runoff. Positive mass fluxes add mass to the liquid ocean. The boundary mass flux units are (kilogram per square meter per sec: kg/(m2/sec)). * Evaporation field can in fact represent a mass loss (evaporation) or mass gain (condensation in foggy areas). * sea ice formation leads to mass moving from the liquid ocean to the ice model, and melt adds liquid to the ocean. * Precipitation can be liquid or frozen (snow). Furthermore, in some versions of the GFDL coupler, precipitation can be negative. The reason is that the ice model combines precipitation with ice melt and ice formation. This limitation of the ice model diagnostics should be overcome future versions. * River runoff can be liquid or frozen. Frozen runoff is often associated with calving land-ice and/or ice bergs. .. _namespacemom__forcing__type_1subsection_salt_fluxes: Surface boundary salt fluxes ---------------------------- Over most of the ocean, there is no exchange of salt with the atmosphere. However, the liquid ocean exchanges salt with sea ice. When ice forms, it extracts salt from ice pockets and discharges the salt into the liquid ocean. The salt concentration of sea ice is therefore much lower (around 5ppt) than liquid seawater (around 30-35ppt in high latitudes). For ocean-ice models run with a prescribed atmosphere, such as in the CORE/OMMIP simulations, it is necessary to employ a surface restoring term to the k=1 salinity equation, thus imposing a salt flux onto the ocean even outside of sea ice regimes. This salt flux is non-physical, and represents a limitation of the ocean-ice models run without an interactive atmosphere. Sometimes this salt flux is converted to an implied fresh water flux. However, doing so generally leads to changes in the sea level, unless a global normalization is provided to zero-out the net water flux. As a complement, for models with a restoring salt flux, one may choose to zero-out the net salt entering the ocean. There are pros/cons of each approach. .. _namespacemom__forcing__type_1subsection_heat_fluxes: Surface boundary heat fluxes ---------------------------- There are many terms that contribute to boundary-related heating of the k=1 surface model grid cell. We here outline details of this heat, with each term having units W/m2. The net flux of heat crossing ocean surface is stored in the diagnostic array "hfds". This array is computed as .. math:: \mbox{hfds = shortwave + longwave + latent + sensible + mass transfer + frazil + restore + flux adjustments} * shortwave (SW) = shortwave radiation (always warms ocean) * longwave (LW) = longwave radiation (generally cools ocean) * latent (LAT) = turbulent latent heat loss due to evaporation (liquid to vapor) or melt (snow to liquid); generally cools the ocean * sensible (SENS) = turbulent heat transfer due to differences in air-sea or ice-sea temperature * mass transfer (MASS) = heat transfer due to heat content of mass (e.g., E-P+R) transferred across ocean surface; computed relative to 0 Celsius * frazil (FRAZ) = heat transferred to form frazil sea ice (positive heating of liquid ocean) * restore (RES) = heat from surface damping sometimes imposed in non-coupled model simulations . * restore (flux adjustments) = heat from surface flux adjustment. .. _namespacemom__forcing__type_1subsubsection_SW: Treatment of shortwave ^^^^^^^^^^^^^^^^^^^^^^ The shortwave field itself is split into two pieces: * shortwave = penetrative SW + non-penetrative SW * non-penetrative = non-downwelling shortwave; portion of SW totally absorbed in the k=1 cell. The non-penetrative SW is combined with LW+LAT+SENS+seaice_melt_heat in net_heat inside routine extractFluxes1d. Notably, for many cases, non-penetrative SW = 0. * penetrative = that portion of shortwave penetrating below a tiny surface layer. This is the downwelling shortwave. Penetrative SW participates in the penetrative SW heating of k=1,nz cells, with the amount of penetration dependent on optical properties. .. _namespacemom__forcing__type_1subsubsection_bdy_heating: Convergence of heat into the k=1 cell ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The convergence of boundary-related heat into surface grid cell is given by the difference in the net heat entering the top of the k=1 cell and the penetrative SW leaving the bottom of the cell. .. math:: \begin{eqnarray*} Q(k=1) &=& \mbox{hfds} - \mbox{pen}\_\mbox{SW(leaving bottom of k=1)} \\ &=& \mbox{nonpen}\_\mbox{SW} + (\mbox{pen}\_\mbox{SW(enter k=1)}-\mbox{pen}\_\mbox{SW(leave k=1)}) + \mbox{LW+LAT+SENS+MASS+FRAZ+RES} \\ &=& \mbox{nonpen}\_\mbox{SW}+ \mbox{LW+LAT+SENS+MASS+FRAZ+RES} + [\mbox{pen}\_\mbox{SW(enter k=1)} - \mbox{pen}\_\mbox{SW(leave k=1)}] \end{eqnarray*} The convergence of the penetrative shortwave flux is given by :math:`\mbox{pen}\_\mbox{SW (enter k)}-\mbox{pen}\_\mbox{SW (leave k)}`. This term appears for all cells k=1,nz. It is diagnosed as "rsdoabsorb" inside module MOM6/src/parameterizations/vertical/MOM_diabatic_aux.F90 ------------------ Type Documentation ------------------ .. f:type:: forcing Structure that contains pointers to the boundary forcing used to drive the liquid ocean simulated by MOM. :typefield real(\:,\:) ustar [pointer]: surface friction velocity scale [Z T-1 ~> m s-1]. :typefield real(\:,\:) ustar_gustless [pointer]: surface friction velocity scale without any :typefield real(\:,\:) buoy [pointer]: buoyancy flux [L2 T-3 ~> m2 s-3] :typefield real(\:,\:) sw [pointer]: shortwave [Q R Z T-1 ~> W m-2] :typefield real(\:,\:) sw_vis_dir [pointer]: visible, direct shortwave [Q R Z T-1 ~> W m-2] :typefield real(\:,\:) sw_vis_dif [pointer]: visible, diffuse shortwave [Q R Z T-1 ~> W m-2] :typefield real(\:,\:) sw_nir_dir [pointer]: near-IR, direct shortwave [Q R Z T-1 ~> W m-2] :typefield real(\:,\:) sw_nir_dif [pointer]: near-IR, diffuse shortwave [Q R Z T-1 ~> W m-2] :typefield real(\:,\:) lw [pointer]: longwave [Q R Z T-1 ~> W m-2] (typically negative) :typefield real(\:,\:) latent [pointer]: latent [Q R Z T-1 ~> W m-2] (typically < 0) :typefield real(\:,\:) sens [pointer]: sensible [Q R Z T-1 ~> W m-2] (typically negative) :typefield real(\:,\:) seaice_melt_heat [pointer]: sea ice and snow melt or formation [Q R Z T-1 ~> W m-2] (typically negative) :typefield real(\:,\:) heat_added [pointer]: additional heat flux from SST restoring or flux adjustments [Q R Z T-1 ~> W m-2] :typefield real(\:,\:) latent_evap_diag [pointer]: latent [Q R Z T-1 ~> W m-2] from evaporating liquid water (typically < 0) :typefield real(\:,\:) latent_fprec_diag [pointer]: latent [Q R Z T-1 ~> W m-2] from melting fprec (typically < 0) :typefield real(\:,\:) latent_frunoff_diag [pointer]: latent [Q R Z T-1 ~> W m-2] from melting frunoff (calving) (typically < 0) :typefield real(\:,\:) evap [pointer]: (-1)*fresh water flux evaporated out of the ocean [R Z T-1 ~> kg m-2 s-1] :typefield real(\:,\:) lprec [pointer]: precipitating liquid water into the ocean [R Z T-1 ~> kg m-2 s-1] :typefield real(\:,\:) fprec [pointer]: precipitating frozen water into the ocean [R Z T-1 ~> kg m-2 s-1] :typefield real(\:,\:) vprec [pointer]: virtual liquid precip associated w/ SSS restoring [R Z T-1 ~> kg m-2 s-1] :typefield real(\:,\:) lrunoff [pointer]: liquid river runoff entering ocean [R Z T-1 ~> kg m-2 s-1] :typefield real(\:,\:) frunoff [pointer]: frozen river runoff (calving) entering ocean [R Z T-1 ~> kg m-2 s-1] :typefield real(\:,\:) seaice_melt [pointer]: snow/seaice melt (positive) or formation (negative) [R Z T-1 ~> kg m-2 s-1] :typefield real(\:,\:) netmassin [pointer]: Sum of water mass flux out of the ocean [kg m-2 s-1]. :typefield real(\:,\:) netmassout [pointer]: Net water mass flux into of the ocean [kg m-2 s-1]. :typefield real(\:,\:) netsalt [pointer]: Net salt entering the ocean [kgSalt m-2 s-1]. :typefield real(\:,\:) heat_content_cond [pointer]: heat content associated with condensating water [Q R Z T-1 ~> W m-2] :typefield real(\:,\:) heat_content_lprec [pointer]: heat content associated with liquid >0 precip [Q R Z T-1 ~> W m-2] :typefield real(\:,\:) heat_content_icemelt [pointer]: heat content associated with snow and seaice :typefield real(\:,\:) heat_content_fprec [pointer]: heat content associated with frozen precip [Q R Z T-1 ~> W m-2] :typefield real(\:,\:) heat_content_vprec [pointer]: heat content associated with virtual >0 precip [Q R Z T-1 ~> W m-2] :typefield real(\:,\:) heat_content_lrunoff [pointer]: heat content associated with liquid runoff [Q R Z T-1 ~> W m-2] :typefield real(\:,\:) heat_content_frunoff [pointer]: heat content associated with frozen runoff [Q R Z T-1 ~> W m-2] :typefield real(\:,\:) heat_content_massout [pointer]: heat content associated with mass leaving ocean [Q R Z T-1 ~> W m-2] :typefield real(\:,\:) heat_content_massin [pointer]: heat content associated with mass entering ocean [Q R Z T-1 ~> W m-2] :typefield real(\:,\:) salt_flux [pointer]: net salt flux into the ocean [R Z T-1 ~> kgSalt m-2 s-1] :typefield real(\:,\:) salt_flux_in [pointer]: salt flux provided to the ocean from coupler [R Z T-1 ~> kgSalt m-2 s-1] :typefield real(\:,\:) salt_flux_added [pointer]: additional salt flux from restoring or flux adjustment before adjustment :typefield real(\:,\:) p_surf_full [pointer]: Pressure at the top ocean interface [R L2 T-2 ~> Pa]. if there is sea-ice, then p_surf_flux is at ice-ocean interface. :typefield real(\:,\:) p_surf [pointer]: Pressure at the top ocean interface [R L2 T-2 ~> Pa] as used to drive the ocean model. If p_surf is limited, p_surf may be smaller than p_surf_full, otherwise they are the same. :typefield real(\:,\:) p_surf_ssh [pointer]: Pressure at the top ocean interface [R L2 T-2 ~> Pa] that is used in corrections to the sea surface height field that is passed back to the calling routines. p_surf_SSH may point to p_surf or to p_surf_full. :typefield logical accumulate_p_surf: If true, the surface pressure due to the atmosphere and various types of ice needs to be accumulated, and the surface pressure explicitly reset to zero at the driver level when appropriate. :typefield real(\:,\:) tke_tidal [pointer]: tidal energy source driving mixing in bottom boundary layer [R Z3 T-3 ~> W m-2] :typefield real(\:,\:) ustar_tidal [pointer]: tidal contribution to bottom ustar [Z T-1 ~> m s-1] :typefield real(\:,\:) ustar_berg [pointer]: iceberg contribution to top ustar [Z T-1 ~> m s-1]. :typefield real(\:,\:) area_berg [pointer]: area of ocean surface covered by icebergs [m2 m-2] :typefield real(\:,\:) mass_berg [pointer]: mass of icebergs [R Z ~> kg m-2] :typefield real(\:,\:) ustar_shelf [pointer]: Friction velocity under ice-shelves [Z T-1 ~> m s-1]. as computed by the ocean at the previous time step. :typefield real(\:,\:) frac_shelf_h [pointer]: Fractional ice shelf coverage of h-cells, nondimensional from 0 to 1. This is only associated if ice shelves are enabled, and are exactly 0 away from shelves or on land. :typefield real(\:,\:) iceshelf_melt [pointer]: Ice shelf melt rate (positive) or freezing (negative) [R Z T-1 ~> kg m-2 s-1]. :typefield real vprecglobaladj: adjustment to restoring vprec to zero out global net [kg m-2 s-1] :typefield real saltfluxglobaladj: adjustment to restoring salt flux to zero out global net [kgSalt m-2 s-1] :typefield real netfwglobaladj: adjustment to net fresh water to zero out global net [kg m-2 s-1] :typefield real vprecglobalscl: scaling of restoring vprec to zero out global net ( -1..1 ) [nondim] :typefield real saltfluxglobalscl: scaling of restoring salt flux to zero out global net ( -1..1 ) [nondim] :typefield real netfwglobalscl: scaling of net fresh water to zero out global net ( -1..1 ) [nondim] :typefield logical fluxes_used: If true, all of the heat, salt, and mass fluxes have been applied to the ocean. :typefield real dt_buoy_accum: The amount of time over which the buoyancy fluxes should be applied [T ~> s]. If negative, this forcing type variable has not yet been inialized. :typefield logical gustless_accum_bug: If true, use an incorrect expression in the time average of the gustless wind stress. :typefield real c_p: heat capacity of seawater [Q degC-1 ~> J kg-1 degC-1]. C_p is is the same value as in thermovar_ptrs_type. :typefield type(coupler_2d_bc_type) tr_fluxes: This structure contains arrays of of named fields used for passive tracer fluxes. All arrays in tr_fluxes use the coupler indexing, which has no halos. This is not a convenient convention, but imposed on MOM6 by the coupler. :typefield integer num_msg: Number of messages issued about excessive SW penetration. :typefield integer max_msg: Maximum number of messages to issue about excessive SW penetration. .. f:type:: forcing_diags Structure that defines the id handles for the forcing type. :typefield integer id_prcme: Forcing diagnostic handles. :typefield integer id_evap: Forcing diagnostic handles. :typefield integer id_precip: Forcing diagnostic handles. :typefield integer id_vprec: Forcing diagnostic handles. :typefield integer id_lprec: Forcing diagnostic handles. :typefield integer id_fprec: Forcing diagnostic handles. :typefield integer id_lrunoff: Forcing diagnostic handles. :typefield integer id_frunoff: Forcing diagnostic handles. :typefield integer id_net_massout: Forcing diagnostic handles. :typefield integer id_net_massin: Forcing diagnostic handles. :typefield integer id_massout_flux: Forcing diagnostic handles. :typefield integer id_massin_flux: Forcing diagnostic handles. :typefield integer id_seaice_melt: Forcing diagnostic handles. :typefield integer id_total_prcme: Forcing diagnostic handles. :typefield integer id_total_evap: Forcing diagnostic handles. :typefield integer id_total_precip: Forcing diagnostic handles. :typefield integer id_total_vprec: Forcing diagnostic handles. :typefield integer id_total_lprec: Forcing diagnostic handles. :typefield integer id_total_fprec: Forcing diagnostic handles. :typefield integer id_total_lrunoff: Forcing diagnostic handles. :typefield integer id_total_frunoff: Forcing diagnostic handles. :typefield integer id_total_net_massout: Forcing diagnostic handles. :typefield integer id_total_net_massin: Forcing diagnostic handles. :typefield integer id_total_seaice_melt: Forcing diagnostic handles. :typefield integer id_prcme_ga: Forcing diagnostic handles. :typefield integer id_evap_ga: Forcing diagnostic handles. :typefield integer id_lprec_ga: Forcing diagnostic handles. :typefield integer id_fprec_ga: Forcing diagnostic handles. :typefield integer id_precip_ga: Forcing diagnostic handles. :typefield integer id_vprec_ga: Forcing diagnostic handles. :typefield integer id_net_heat_coupler: Forcing diagnostic handles. :typefield integer id_net_heat_surface: Forcing diagnostic handles. :typefield integer id_sens: Forcing diagnostic handles. :typefield integer id_lwlatsens: Forcing diagnostic handles. :typefield integer id_sw: Forcing diagnostic handles. :typefield integer id_lw: Forcing diagnostic handles. :typefield integer id_sw_vis: Forcing diagnostic handles. :typefield integer id_sw_nir: Forcing diagnostic handles. :typefield integer id_lat_evap: Forcing diagnostic handles. :typefield integer id_lat_frunoff: Forcing diagnostic handles. :typefield integer id_lat: Forcing diagnostic handles. :typefield integer id_lat_fprec: Forcing diagnostic handles. :typefield integer id_heat_content_lrunoff: Forcing diagnostic handles. :typefield integer id_heat_content_frunoff: Forcing diagnostic handles. :typefield integer id_heat_content_lprec: Forcing diagnostic handles. :typefield integer id_heat_content_fprec: Forcing diagnostic handles. :typefield integer id_heat_content_cond: Forcing diagnostic handles. :typefield integer id_heat_content_surfwater: Forcing diagnostic handles. :typefield integer id_heat_content_vprec: Forcing diagnostic handles. :typefield integer id_heat_content_massout: Forcing diagnostic handles. :typefield integer id_heat_added: Forcing diagnostic handles. :typefield integer id_heat_content_massin: Forcing diagnostic handles. :typefield integer id_hfrainds: Forcing diagnostic handles. :typefield integer id_hfrunoffds: Forcing diagnostic handles. :typefield integer id_seaice_melt_heat: Forcing diagnostic handles. :typefield integer id_heat_content_icemelt: Forcing diagnostic handles. :typefield integer id_total_net_heat_coupler: Forcing diagnostic handles. :typefield integer id_total_net_heat_surface: Forcing diagnostic handles. :typefield integer id_total_sens: Forcing diagnostic handles. :typefield integer id_total_lwlatsens: Forcing diagnostic handles. :typefield integer id_total_sw: Forcing diagnostic handles. :typefield integer id_total_lw: Forcing diagnostic handles. :typefield integer id_total_lat_evap: Forcing diagnostic handles. :typefield integer id_total_lat_frunoff: Forcing diagnostic handles. :typefield integer id_total_lat: Forcing diagnostic handles. :typefield integer id_total_lat_fprec: Forcing diagnostic handles. :typefield integer id_total_heat_content_lrunoff: Forcing diagnostic handles. :typefield integer id_total_heat_content_frunoff: Forcing diagnostic handles. :typefield integer id_total_heat_content_lprec: Forcing diagnostic handles. :typefield integer id_total_heat_content_fprec: Forcing diagnostic handles. :typefield integer id_total_heat_content_cond: Forcing diagnostic handles. :typefield integer id_total_heat_content_surfwater: Forcing diagnostic handles. :typefield integer id_total_heat_content_vprec: Forcing diagnostic handles. :typefield integer id_total_heat_content_massout: Forcing diagnostic handles. :typefield integer id_total_heat_added: Forcing diagnostic handles. :typefield integer id_total_heat_content_massin: Forcing diagnostic handles. :typefield integer id_total_seaice_melt_heat: Forcing diagnostic handles. :typefield integer id_total_heat_content_icemelt: Forcing diagnostic handles. :typefield integer id_net_heat_coupler_ga: Forcing diagnostic handles. :typefield integer id_net_heat_surface_ga: Forcing diagnostic handles. :typefield integer id_sens_ga: Forcing diagnostic handles. :typefield integer id_lwlatsens_ga: Forcing diagnostic handles. :typefield integer id_sw_ga: Forcing diagnostic handles. :typefield integer id_lw_ga: Forcing diagnostic handles. :typefield integer id_lat_ga: Forcing diagnostic handles. :typefield integer id_saltflux: Forcing diagnostic handles. :typefield integer id_saltfluxin: Forcing diagnostic handles. :typefield integer id_saltfluxadded: Forcing diagnostic handles. :typefield integer id_total_saltflux: Forcing diagnostic handles. :typefield integer id_total_saltfluxin: Forcing diagnostic handles. :typefield integer id_total_saltfluxadded: Forcing diagnostic handles. :typefield integer id_vprecglobaladj: Forcing diagnostic handles. :typefield integer id_vprecglobalscl: Forcing diagnostic handles. :typefield integer id_saltfluxglobaladj: Forcing diagnostic handles. :typefield integer id_saltfluxglobalscl: Forcing diagnostic handles. :typefield integer id_netfwglobaladj: Forcing diagnostic handles. :typefield integer id_netfwglobalscl: Forcing diagnostic handles. :typefield integer id_taux: Forcing diagnostic handles. :typefield integer id_tauy: Forcing diagnostic handles. :typefield integer id_ustar: Forcing diagnostic handles. :typefield integer id_psurf: Forcing diagnostic handles. :typefield integer id_tke_tidal: Forcing diagnostic handles. :typefield integer id_buoy: Forcing diagnostic handles. :typefield integer id_ustar_berg: Forcing diagnostic handles. :typefield integer id_area_berg: Forcing diagnostic handles. :typefield integer id_mass_berg: Forcing diagnostic handles. :typefield integer id_ustar_ice_cover: Forcing diagnostic handles. :typefield integer id_frac_ice_cover: Forcing diagnostic handles. :typefield integer id_clock_forcing: CPU clock id. .. f:type:: mech_forcing Structure that contains pointers to the mechanical forcing at the surface used to drive the liquid ocean simulated by MOM. Data in this type is allocated in the module ``MOM_surface_forcing.F90``, of which there are three versions: solo, coupled, and ice-shelf. :typefield real(\:,\:) taux [pointer]: zonal wind stress [R L Z T-2 ~> Pa] :typefield real(\:,\:) tauy [pointer]: meridional wind stress [R L Z T-2 ~> Pa] :typefield real(\:,\:) ustar [pointer]: surface friction velocity scale [Z T-1 ~> m s-1]. :typefield real(\:,\:) net_mass_src [pointer]: The net mass source to the ocean [kg m-2 s-1]. :typefield real(\:,\:) p_surf_full [pointer]: Pressure at the top ocean interface [R L2 T-2 ~> Pa]. if there is sea-ice, then p_surf_flux is at ice-ocean interface. :typefield real(\:,\:) p_surf [pointer]: Pressure at the top ocean interface [R L2 T-2 ~> Pa] as used to drive the ocean model. If p_surf is limited, p_surf may be smaller than p_surf_full, otherwise they are the same. :typefield real(\:,\:) p_surf_ssh [pointer]: Pressure at the top ocean interface [R L2 T-2 ~> Pa] that is used in corrections to the sea surface height field that is passed back to the calling routines. p_surf_SSH may point to p_surf or to p_surf_full. :typefield real(\:,\:) area_berg [pointer]: fractional area of ocean surface covered by icebergs [m2 m-2] :typefield real(\:,\:) mass_berg [pointer]: mass of icebergs per unit ocean area [R Z ~> kg m-2] :typefield real(\:,\:) frac_shelf_u [pointer]: Fractional ice shelf coverage of u-cells, nondimensional from 0 to 1 [nondim]. This is only associated if ice shelves are enabled, and is exactly 0 away from shelves or on land. :typefield real(\:,\:) frac_shelf_v [pointer]: Fractional ice shelf coverage of v-cells, nondimensional from 0 to 1 [nondim]. This is only associated if ice shelves are enabled, and is exactly 0 away from shelves or on land. :typefield real(\:,\:) rigidity_ice_u [pointer]: Depth-integrated lateral viscosity of ice shelves or sea ice at. :typefield real(\:,\:) rigidity_ice_v [pointer]: Depth-integrated lateral viscosity of ice shelves or sea ice at. :typefield real dt_force_accum: The amount of time over which the mechanical forcing fluxes have been averaged [s]. :typefield logical net_mass_src_set: If true, an estimate of net_mass_src has been provided. :typefield logical accumulate_p_surf: If true, the surface pressure due to the atmosphere and various types of ice needs to be accumulated, and the surface pressure explicitly reset to zero at the driver level when appropriate. :typefield logical accumulate_rigidity: If true, the rigidity due to various types of ice needs to be accumulated, and the rigidity explicitly reset to zero at the driver level when appropriate. :typefield logical initialized: This indicates whether the appropriate arrays have been initialized. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine extractfluxes1d(G, GV, US, fluxes, optics, nsw, j, dt, FluxRescaleDepth, useRiverHeatContent, useCalvingHeatContent, h, T, netMassInOut, netMassOut, net_heat, net_salt, pen_SW_bnd, tv, aggregate_FW, nonpenSW, netmassInOut_rate, net_Heat_Rate, net_salt_rate, pen_sw_bnd_Rate, skip_diags) This subroutine extracts fluxes from the surface fluxes type. It works on a j-row for optimization purposes. The 2d (i,j) wrapper is the next subroutine below. This routine multiplies fluxes by dt, so that the result is an accumulation of fluxes over a time step. :param g: [in] ocean grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param fluxes: [inout] structure containing pointers to possible forcing fields. NULL unused fields. :param optics: pointer to optics :param nsw: [in] number of bands of penetrating SW :param j: [in] j-index to work on :param dt: [in] The time step for these fluxes [T ~> s] :param fluxrescaledepth: [in] min ocean depth before fluxes are scaled away [H ~> m or kg m-2] :param useriverheatcontent: [in] logical for river heat content :param usecalvingheatcontent: [in] logical for calving heat content :param h: [in] layer thickness [H ~> m or kg m-2] :param t: [in] layer temperatures [degC] :param netmassinout: [out] net mass flux (non-Bouss) or volume flux (if Bouss) of water in/out of ocean over a time step [H ~> m or kg m-2] :param netmassout: [out] net mass flux (non-Bouss) or volume flux (if Bouss) of water leaving ocean surface over a time step [H ~> m or kg m-2]. netMassOut < 0 means mass leaves ocean. :param net_heat: [out] net heat at the surface accumulated over a time step for coupler + restoring. Exclude two terms from net_heat: (1) downwelling (penetrative) SW, (2) evaporation heat content, (since do not yet know evap temperature). [degC H ~> degC m or degC kg m-2]. :param net_salt: [out] surface salt flux into the ocean accumulated over a time step [ppt H ~> ppt m or ppt kg m-2]. :param pen_sw_bnd: [out] penetrating SW flux, split into bands. [degC H ~> degC m or degC kg m-2] and array size nsw x G isd: G ied, where nsw=number of SW bands in pen_SW_bnd. This heat flux is not part of net_heat. :param tv: [inout] structure containing pointers to available thermodynamic fields. Used to keep track of the heat flux associated with net mass fluxes into the ocean. :param aggregate_fw: [in] For determining how to aggregate forcing. :param nonpensw: [out] Non-penetrating SW used in net_heat :param net_heat_rate: [out] Rate of net surface heating :param net_salt_rate: [out] Surface salt flux into the ocean :param netmassinout_rate: [out] Rate of net mass flux into the ocean :param pen_sw_bnd_rate: [out] Rate of penetrative shortwave heating :param skip_diags: [in] If present and true, skip calculating diagnostics :callto: :f:func:`mom_opacity::extract_optics_slice ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_opacity::optics_nbands ` :calledfrom: :f:func:`mom_diabatic_aux::applyboundaryfluxesinout ` :calledfrom: :f:func:`mom_bulk_mixed_layer::bulkmixedlayer ` :calledfrom: :f:func:`calculatebuoyancyflux1d ` :calledfrom: :f:func:`extractfluxes2d ` .. f:subroutine:: subroutine extractfluxes2d(G, GV, US, fluxes, optics, nsw, dt, FluxRescaleDepth, useRiverHeatContent, useCalvingHeatContent, h, T, netMassInOut, netMassOut, net_heat, Net_salt, Pen_SW_bnd, tv, aggregate_FW) 2d wrapper for 1d extract fluxes from surface fluxes type. This subroutine extracts fluxes from the surface fluxes type. It multiplies the fluxes by dt, so that the result is an accumulation of the fluxes over a time step. :param g: [in] ocean grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param fluxes: [inout] structure containing pointers to forcing. :param optics: pointer to optics :param nsw: [in] number of bands of penetrating SW :param dt: [in] The time step for these fluxes [T ~> s] :param fluxrescaledepth: [in] min ocean depth before fluxes are scaled away [H ~> m or kg m-2] :param useriverheatcontent: [in] logical for river heat content :param usecalvingheatcontent: [in] logical for calving heat content :param h: [in] layer thickness [H ~> m or kg m-2] :param t: [in] layer temperatures [degC] :param netmassinout: [out] net mass flux (non-Bouss) or volume flux (if Bouss) of water in/out of ocean over a time step [H ~> m or kg m-2] :param netmassout: [out] net mass flux (non-Bouss) or volume flux (if Bouss) of water leaving ocean surface over a time step [H ~> m or kg m-2]. :param net_heat: [out] net heat at the surface accumulated over a time step associated with coupler + restore. Exclude two terms from net_heat: (1) downwelling (penetrative) SW, (2) evaporation heat content, (since do not yet know temperature of evap). [degC H ~> degC m or degC kg m-2] :param net_salt: [out] surface salt flux into the ocean accumulated over a time step [ppt H ~> ppt m or ppt kg m-2] :param pen_sw_bnd: [out] penetrating SW flux, by frequency band [degC H ~> degC m or degC kg m-2] with array size nsw x G isd: G ied, where nsw=number of SW bands in pen_SW_bnd. This heat flux is not in net_heat. :param tv: [inout] structure containing pointers to available thermodynamic fields. Here it is used to keep track of the heat flux associated with net mass fluxes into the ocean. :param aggregate_fw: [in] For determining how to aggregate the forcing. :callto: :f:func:`extractfluxes1d ` .. f:subroutine:: subroutine calculatebuoyancyflux1d(G, GV, US, fluxes, optics, nsw, h, Temp, Salt, tv, j, buoyancyFlux, netHeatMinusSW, netSalt, skip_diags) This routine calculates surface buoyancy flux by adding up the heat, FW & salt fluxes. These are actual fluxes, with units of stuff per time. Setting dt=1 in the call to extractFluxes routine allows us to get "stuf per time" rather than the time integrated fluxes needed in other routines that call extractFluxes. :param g: [in] ocean grid :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param fluxes: [inout] surface fluxes :param optics: penetrating SW optics :param nsw: [in] The number of frequency bands of penetrating shortwave radiation :param h: [in] layer thickness [H ~> m or kg m-2] :param temp: [in] prognostic temp [degC] :param salt: [in] salinity [ppt] :param tv: [inout] thermodynamics type :param j: [in] j-row to work on :param buoyancyflux: [inout] buoyancy fluxes [L2 T-3 ~> m2 s-3] :param netheatminussw: [inout] surf Heat flux [degC H s-1 ~> degC m s-1 or degC kg m-2 s-1] :param netsalt: [inout] surf salt flux [ppt H s-1 ~> ppt m s-1 or ppt kg m-2 s-1] :param skip_diags: [in] If present and true, skip calculating diagnostics inside extractFluxes1d() :callto: :f:func:`mom_eos::eos_domain ` :callto: :f:func:`extractfluxes1d ` :callto: :f:func:`mom_opacity::optics_nbands ` :callto: :f:func:`mom_opacity::sumswoverbands ` :calledfrom: :f:func:`calculatebuoyancyflux2d ` .. f:subroutine:: subroutine calculatebuoyancyflux2d(G, GV, US, fluxes, optics, h, Temp, Salt, tv, buoyancyFlux, netHeatMinusSW, netSalt, skip_diags) Calculates surface buoyancy flux by adding up the heat, FW and salt fluxes, for 2d arrays. This is a wrapper for calculateBuoyancyFlux1d. :param g: [in] ocean grid :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param fluxes: [inout] surface fluxes :param optics: SW ocean optics :param h: [in] layer thickness [H ~> m or kg m-2] :param temp: [in] temperature [degC] :param salt: [in] salinity [ppt] :param tv: [inout] thermodynamics type :param buoyancyflux: [inout] buoyancy fluxes [L2 T-3 ~> m2 s-3] :param netheatminussw: [inout] surf temp flux [degC H ~> degC m or degC kg m-2] :param netsalt: [inout] surf salt flux [ppt H ~> ppt m or ppt kg m-2] :param skip_diags: [in] If present and true, skip calculating diagnostics inside extractFluxes1d() :callto: :f:func:`calculatebuoyancyflux1d ` :callto: :f:func:`mom_opacity::optics_nbands ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale_legacy ` :calledfrom: :f:func:`mom_diabatic_driver::layered_diabatic ` .. f:subroutine:: subroutine mom_forcing_chksum(mesg, fluxes, G, US, haloshift) Write out chksums for thermodynamic fluxes. :param mesg: [in] message :param fluxes: [in] A structure containing thermodynamic forcing fields :param g: [in] grid type :param us: [in] A dimensional unit scaling type :param haloshift: [in] shift in halo :calledfrom: :f:func:`mom_main ` .. f:subroutine:: subroutine mom_mech_forcing_chksum(mesg, forces, G, US, haloshift) Write out chksums for the driving mechanical forces. :param mesg: [in] message :param forces: [in] A structure with the driving mechanical forces :param g: [in] grid type :param us: [in] A dimensional unit scaling type :param haloshift: [in] shift in halo :calledfrom: :f:func:`mom_main ` .. f:subroutine:: subroutine mech_forcing_singlepointprint(forces, G, i, j, mesg) Write out values of the mechanical forcing arrays at the i,j location. This is a debugging tool. :param forces: [in] A structure with the driving mechanical forces :param g: [in] Grid type :param mesg: [in] Message :param i: [in] i-index :param j: [in] j-index :callto: :f:func:`locmsg ` .. f:subroutine:: subroutine forcing_singlepointprint(fluxes, G, i, j, mesg) Write out values of the fluxes arrays at the i,j location. This is a debugging tool. :param fluxes: [in] A structure containing thermodynamic forcing fields :param g: [in] Grid type :param mesg: [in] Message :param i: [in] i-index :param j: [in] j-index :callto: :f:func:`locmsg ` :calledfrom: :f:func:`mom_diabatic_aux::applyboundaryfluxesinout ` .. f:subroutine:: subroutine register_forcing_type_diags(Time, diag, US, use_temperature, handles, use_berg_fluxes) Register members of the forcing type for diagnostics. :param time: [in] time type :param diag: [inout] diagnostic control type :param us: [in] A dimensional unit scaling type :param use_temperature: [in] True if T/S are in use :param handles: [inout] handles for diagnostics :param use_berg_fluxes: [in] If true, allow iceberg flux diagnostics :callto: :f:func:`mom_cpu_clock::cpu_clock_id ` .. f:subroutine:: subroutine forcing_accumulate(flux_tmp, forces, fluxes, G, wt2) Accumulate the forcing over time steps, taking input from a mechanical forcing type and a temporary forcing-flux type. :param flux_tmp: [in] A temporary structure with current thermodynamic forcing fields :param forces: [in] A structure with the driving mechanical forces :param fluxes: [inout] A structure containing time-averaged thermodynamic forcing fields :param g: [inout] The ocean's grid structure :param wt2: [out] The relative weight of the new fluxes :callto: :f:func:`fluxes_accumulate ` .. f:subroutine:: subroutine fluxes_accumulate(flux_tmp, fluxes, G, wt2, forces) Accumulate the thermodynamic fluxes over time steps. :param flux_tmp: [in] A temporary structure with current thermodynamic forcing fields :param fluxes: [inout] A structure containing time-averaged thermodynamic forcing fields :param g: [inout] The ocean's grid structure :param wt2: [out] The relative weight of the new fluxes :param forces: [in] A structure with the driving mechanical forces :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`forcing_accumulate ` .. f:subroutine:: subroutine copy_common_forcing_fields(forces, fluxes, G, skip_pres) This subroutine copies the computational domains of common forcing fields from a :f:func:`mech_forcing` type to a (thermodynamic) forcing type. type to a (thermodynamic) forcing type. :param forces: [in] A structure with the driving mechanical forces :param fluxes: [inout] A structure containing thermodynamic forcing fields :param g: [in] grid type :param skip_pres: [in] If present and true, do not copy pressure fields. .. f:subroutine:: subroutine set_derived_forcing_fields(forces, fluxes, G, US, Rho0) This subroutine calculates certain derived forcing fields based on information from a :f:func:`mech_forcing` type and stores them in a (thermodynamic) forcing type. type and stores them in a (thermodynamic) forcing type. :param forces: [in] A structure with the driving mechanical forces :param fluxes: [inout] A structure containing thermodynamic forcing fields :param g: [in] grid type :param us: [in] A dimensional unit scaling type :param rho0: [in] A reference density of seawater [R ~> kg m-3], as used to calculate ustar. .. f:subroutine:: subroutine set_net_mass_forcing(fluxes, forces, G, US) This subroutine determines the net mass source to the ocean from a (thermodynamic) forcing type and stores it in a :f:func:`mech_forcing` type. type. :param fluxes: [in] A structure containing thermodynamic forcing fields :param forces: [inout] A structure with the driving mechanical forces :param us: [in] A dimensional unit scaling type :param g: [in] The ocean grid type :callto: :f:func:`get_net_mass_forcing ` .. f:subroutine:: subroutine get_net_mass_forcing(fluxes, G, US, net_mass_src) This subroutine calculates determines the net mass source to the ocean from a (thermodynamic) forcing type and stores it in a provided array. :param fluxes: [in] A structure containing thermodynamic forcing fields :param g: [in] The ocean grid type :param us: [in] A dimensional unit scaling type :param net_mass_src: [out] The net mass flux of water into the ocean [kg m-2 s-1]. :calledfrom: :f:func:`set_net_mass_forcing ` .. f:subroutine:: subroutine copy_back_forcing_fields(fluxes, forces, G) This subroutine copies the computational domains of common forcing fields from a :f:func:`mech_forcing` type to a (thermodynamic) forcing type. type to a (thermodynamic) forcing type. :param fluxes: [in] A structure containing thermodynamic forcing fields :param forces: [inout] A structure with the driving mechanical forces :param g: [in] grid type .. f:subroutine:: subroutine mech_forcing_diags(forces_in, dt, G, time_end, diag, handles) Offer mechanical forcing fields for diagnostics for those fields registered as part of register_forcing_type_diags. :param forces_in: [in] mechanical forcing input fields :param dt: [in] time step for the forcing [s] :param g: [in] grid type :param time_end: [in] The end time of the diagnostic interval. :param diag: [inout] diagnostic type :param handles: [inout] diagnostic id for diag_manager :callto: :f:func:`deallocate_mech_forcing ` :callto: :f:func:`mom_diag_mediator::disable_averaging ` :callto: :f:func:`mom_diag_mediator::enable_averaging ` :callto: :f:func:`rotate_mech_forcing ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`ocean_model_mod::update_ocean_model ` .. f:subroutine:: subroutine forcing_diagnostics(fluxes_in, sfc_state, G_in, US, time_end, diag, handles) Offer buoyancy forcing fields for diagnostics for those fields registered as part of register_forcing_type_diags. :param fluxes_in: [in] A structure containing thermodynamic forcing fields :param sfc_state: [in] A structure containing fields that describe the surface state of the ocean. :param g_in: [in] Input grid type :param us: [in] A dimensional unit scaling type :param time_end: [in] The end time of the diagnostic interval. :param diag: [inout] diagnostic regulator :param handles: [inout] diagnostic ids :callto: :f:func:`deallocate_forcing_type ` :callto: :f:func:`mom_diag_mediator::disable_averaging ` :callto: :f:func:`mom_diag_mediator::enable_averages ` :callto: :f:func:`mom_spatial_means::global_area_integral ` :callto: :f:func:`mom_spatial_means::global_area_mean ` :callto: :f:func:`rotate_forcing ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`ocean_model_mod::update_ocean_model ` .. f:subroutine:: subroutine allocate_forcing_by_group(G, fluxes, water, heat, ustar, press, shelf, iceberg, salt, fix_accum_bug) Conditionally allocate fields within the forcing type. :param g: [in] Ocean grid structure :param fluxes: [inout] A structure containing thermodynamic forcing fields :param water: [in] If present and true, allocate water fluxes :param heat: [in] If present and true, allocate heat fluxes :param ustar: [in] If present and true, allocate ustar and related fields :param press: [in] If present and true, allocate p_surf and related fields :param shelf: [in] If present and true, allocate fluxes for ice-shelf :param iceberg: [in] If present and true, allocate fluxes for icebergs :param salt: [in] If present and true, allocate salt fluxes :param fix_accum_bug: [in] If present and true, avoid using a bug in accumulation of ustar_gustless :callto: :f:func:`myalloc ` .. f:subroutine:: subroutine allocate_forcing_by_ref(fluxes_ref, G, fluxes) :param fluxes_ref: [in] Reference fluxes :param g: [in] Grid metric of target fluxes :param fluxes: [out] Target fluxes :callto: :f:func:`get_forcing_groups ` :callto: :f:func:`myalloc ` .. f:subroutine:: subroutine allocate_mech_forcing_by_group(G, forces, stress, ustar, shelf, press, iceberg) Conditionally allocate fields within the mechanical forcing type using control flags. :param g: [in] Ocean grid structure :param forces: [inout] Forcing fields structure :param stress: [in] If present and true, allocate taux, tauy :param ustar: [in] If present and true, allocate ustar and related fields :param shelf: [in] If present and true, allocate forces for ice-shelf :param press: [in] If present and true, allocate p_surf and related fields :param iceberg: [in] If present and true, allocate forces for icebergs :callto: :f:func:`myalloc ` .. f:subroutine:: subroutine allocate_mech_forcing_from_ref(forces_ref, G, forces) Conditionally allocate fields within the mechanical forcing type based on a reference forcing. :param forces_ref: [in] Reference forcing fields :param g: [in] Grid metric of target forcing :param forces: [out] Mechanical forcing fields :callto: :f:func:`get_mech_forcing_groups ` .. f:subroutine:: subroutine get_forcing_groups(fluxes, water, heat, ustar, press, shelf, iceberg, salt, heat_added, buoy) Return flags indicating which groups of forcings are allocated. :param fluxes: [in] Reference flux fields :param water: [out] True if fluxes contains water-based fluxes :param heat: [out] True if fluxes contains heat-based fluxes :param ustar: [out] True if fluxes contains ustar fluxes :param press: [out] True if fluxes contains surface pressure :param shelf: [out] True if fluxes contains ice shelf fields :param iceberg: [out] True if fluxes contains iceberg fluxes :param salt: [out] True if fluxes contains salt flux :param heat_added: [out] True if fluxes contains explicit heat :param buoy: [out] True if fluxes contains buoyancy fluxes :calledfrom: :f:func:`allocate_forcing_by_ref ` :calledfrom: :f:func:`rotate_forcing ` .. f:subroutine:: subroutine get_mech_forcing_groups(forces, stress, ustar, shelf, press, iceberg) Return flags indicating which groups of mechanical forcings are allocated. :param forces: [in] Reference forcing fields :param stress: [out] True if forces contains wind stress fields :param ustar: [out] True if forces contains ustar field :param shelf: [out] True if forces contains ice shelf fields :param press: [out] True if forces contains pressure fields :param iceberg: [out] True if forces contains iceberg fields :calledfrom: :f:func:`allocate_mech_forcing_from_ref ` :calledfrom: :f:func:`rotate_mech_forcing ` .. f:subroutine:: subroutine myalloc(array, is, ie, js, je, flag) Allocates and zeroes-out array. :param array: Array to be allocated :param is: [in] Start i-index :param ie: [in] End i-index :param js: [in] Start j-index :param je: [in] End j-index :param flag: [in] Flag to indicate to allocate :calledfrom: :f:func:`allocate_forcing_by_group ` :calledfrom: :f:func:`allocate_forcing_by_ref ` :calledfrom: :f:func:`allocate_mech_forcing_by_group ` .. f:subroutine:: subroutine deallocate_forcing_type(fluxes) Deallocate the forcing type. :param fluxes: [inout] Forcing fields structure :calledfrom: :f:func:`forcing_diagnostics ` .. f:subroutine:: subroutine deallocate_mech_forcing(forces) Deallocate the mechanical forcing type. :param forces: [inout] Forcing fields structure :calledfrom: :f:func:`mech_forcing_diags ` .. f:subroutine:: subroutine rotate_forcing(fluxes_in, fluxes, turns) :param fluxes_in: [in] Input forcing struct :param fluxes: [inout] Rotated forcing struct :param turns: [in] Number of quarter turns :callto: :f:func:`get_forcing_groups ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`forcing_diagnostics ` :calledfrom: :f:func:`mom::step_mom ` .. f:subroutine:: subroutine rotate_mech_forcing(forces_in, turns, forces) :param forces_in: [in] Forcing on the input domain :param turns: [in] Number of quarter-turns :param forces: [inout] Forcing on the rotated domain :callto: :f:func:`get_mech_forcing_groups ` :calledfrom: :f:func:`mech_forcing_diags ` :calledfrom: :f:func:`mom::step_mom ` [debug] xpath(./compounddef/compoundname[text()="mom_forcing_type::forcing"]/..) match([('id', 'structmom__forcing__type_1_1forcing'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_forcing_type::forcing', , {}, ['', 'Struc [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_forcing_type::forcing', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_forcing_type::forcing', , {}, ['', 'Struc [debug] xpath(./compounddef/compoundname[text()="mom_forcing_type::forcing_diags"]/..) match([('id', 'structmom__forcing__type_1_1forcing__diags'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_forcing_type::forcing_diags', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_forcing_type::forcing_diags', , {}, ['`Mo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_forcing_type::forcing_diags', , {}, ['', [debug] xpath(./compounddef/compoundname[text()="mom_forcing_type::mech_forcing"]/..) match([('id', 'structmom__forcing__type_1_1mech__forcing'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM__surface__forcing_8F90) kindref(compound) ref([]) [debug] ref([('id', 'MOM__surface__forcing_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_forcing_type::mech_forcing', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_forcing_type::mech_forcing', , {}, ['`Mor [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_forcing_type::mech_forcing', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, fluxes, optics, nsw, j, dt, FluxRescaleDepth, useRiverHeatContent, useCalvingHeatContent, h, T, netMassInOut, netMassOut, net_heat, net_salt, pen_SW_bnd, tv, aggregate_FW, nonpenSW, netmassInOut_rate, net_Heat_Rate, net_salt_rate, pen_sw_bnd_Rate, skip_diags)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::extractfluxes1d', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::extractfluxes1d', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, fluxes, optics, nsw, dt, FluxRescaleDepth, useRiverHeatContent, useCalvingHeatContent, h, T, netMassInOut, netMassOut, net_heat, Net_salt, Pen_SW_bnd, tv, aggregate_FW)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::extractfluxes2d', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::extractfluxes2d', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, fluxes, optics, nsw, h, Temp, Salt, tv, j, buoyancyFlux, netHeatMinusSW, netSalt, skip_diags)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::calculatebuoyancyflux1d', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::calculatebuoyancyflux1d', , { [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, fluxes, optics, h, Temp, Salt, tv, buoyancyFlux, netHeatMinusSW, netSalt, skip_diags)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::calculatebuoyancyflux2d', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::calculatebuoyancyflux2d', , { [debug] DoxygenMethodDocumenter format_signature called ((mesg, fluxes, G, US, haloshift)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::mom_forcing_chksum', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::mom_forcing_chksum', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((mesg, forces, G, US, haloshift)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::mom_mech_forcing_chksum', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::mom_mech_forcing_chksum', , { [debug] DoxygenMethodDocumenter format_signature called ((forces, G, i, j, mesg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::mech_forcing_singlepointprint', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::forcing_singlepointprint', , [debug] DoxygenMethodDocumenter format_signature called ((Time, diag, US, use_temperature, handles, use_berg_fluxes)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::register_forcing_type_diags', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::forcing_accumulate', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((flux_tmp, fluxes, G, wt2, forces)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::fluxes_accumulate', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::fluxes_accumulate', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((forces, fluxes, G, skip_pres)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__forcing__type_1_1mech__forcing) kindref(compound) ref([]) [debug] ref([('id', 'structmom__forcing__type_1_1mech__forcing'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::copy_common_forcing_fields', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::copy_common_forcing_fields', [debug] DoxygenMethodDocumenter format_signature called ((forces, fluxes, G, US, Rho0)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__forcing__type_1_1mech__forcing) kindref(compound) ref([]) [debug] ref([('id', 'structmom__forcing__type_1_1mech__forcing'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::set_derived_forcing_fields', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::set_derived_forcing_fields', [debug] DoxygenMethodDocumenter format_signature called ((fluxes, forces, G, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__forcing__type_1_1mech__forcing) kindref(compound) ref([]) [debug] ref([('id', 'structmom__forcing__type_1_1mech__forcing'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::set_net_mass_forcing', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::set_net_mass_forcing', , {}, [debug] DoxygenMethodDocumenter format_signature called ((fluxes, G, US, net_mass_src)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::get_net_mass_forcing', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::get_net_mass_forcing', , {}, [debug] DoxygenMethodDocumenter format_signature called ((fluxes, forces, G)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__forcing__type_1_1mech__forcing) kindref(compound) ref([]) [debug] ref([('id', 'structmom__forcing__type_1_1mech__forcing'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::copy_back_forcing_fields', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::copy_back_forcing_fields', , [debug] DoxygenMethodDocumenter format_signature called ((forces_in, dt, G, time_end, diag, handles)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::mech_forcing_diags', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::mech_forcing_diags', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((fluxes_in, sfc_state, G_in, US, time_end, diag, handles)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::forcing_diagnostics', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::forcing_diagnostics', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((G, fluxes, water, heat, ustar, press, shelf, iceberg, salt, fix_accum_bug)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::allocate_forcing_by_group', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::allocate_forcing_by_group', , [debug] DoxygenMethodDocumenter format_signature called ((fluxes_ref, G, fluxes)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::allocate_forcing_by_ref', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::allocate_forcing_by_ref', , { [debug] DoxygenMethodDocumenter format_signature called ((G, forces, stress, ustar, shelf, press, iceberg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::allocate_mech_forcing_by_group', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::get_forcing_groups', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((forces, stress, ustar, shelf, press, iceberg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::get_mech_forcing_groups', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::get_mech_forcing_groups', , { [debug] DoxygenMethodDocumenter format_signature called ((array, is, ie, js, je, flag)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::myalloc', , {}, ['', 'Allocat [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::myalloc', , {}, ['', 'Allocat [debug] DoxygenMethodDocumenter format_signature called ((fluxes)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::deallocate_forcing_type', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::deallocate_forcing_type', , { [debug] DoxygenMethodDocumenter format_signature called ((forces)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::deallocate_mech_forcing', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::deallocate_mech_forcing', , { [debug] DoxygenMethodDocumenter format_signature called ((fluxes_in, fluxes, turns)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::rotate_forcing', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::rotate_forcing', , {}, ['']) [debug] DoxygenMethodDocumenter format_signature called ((forces_in, turns, forces)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::rotate_mech_forcing', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_forcing_type::rotate_mech_forcing', , {}, [ [fd] run(.. f:type:: forcing) [fd] sig(forcing) [fd] ftype(None) objtype(None) modname(None) typename() name(forcing) arglist(None) [fd] fullname(mom_forcing_type/forcing) ftype(None) [fd] name(('mom_forcing_type/forcing', None)) sig(forcing) signode(type mom_forcing_type/forcing) [fd] run(.. f:type:: forcing_diags) [fd] sig(forcing_diags) [fd] ftype(None) objtype(None) modname(None) typename() name(forcing_diags) arglist(None) [fd] fullname(mom_forcing_type/forcing_diags) ftype(None) [fd] name(('mom_forcing_type/forcing_diags', None)) sig(forcing_diags) signode(type mom_forcing_type/forcing_diags) [fd] run(.. f:type:: mech_forcing) [fd] sig(mech_forcing) [fd] ftype(None) objtype(None) modname(None) typename() name(mech_forcing) arglist(None) [fd] fullname(mom_forcing_type/mech_forcing) ftype(None) [fd] name(('mom_forcing_type/mech_forcing', None)) sig(mech_forcing) signode(type mom_forcing_type/mech_forcing) [fd] run(.. f:subroutine:: subroutine extractfluxes1d(G, GV, US, fluxes, optics, nsw, j, dt, FluxRescaleDepth, useRiverHeatContent, useCalvingHeatContent, h, T, netMassInOut, netMassOut, net_heat, net_salt, pen_SW_bnd, tv, aggregate_FW, nonpenSW, netmassInOut_rate, net_Heat_Rate, net_salt_rate, pen_sw_bnd_Rate, skip_diags)) [fd] sig(subroutine extractfluxes1d(G, GV, US, fluxes, optics, nsw, j, dt, FluxRescaleDepth, useRiverHeatContent, useCalvingHeatContent, h, T, netMassInOut, netMassOut, net_heat, net_salt, pen_SW_bnd, tv, aggregate_FW, nonpenSW, netmassInOut_rate, net_Heat_Rate, net_salt_rate, pen_sw_bnd_Rate, skip_diags)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(extractfluxes1d) arglist(G, GV, US, fluxes, optics, nsw, j, dt, FluxRescaleDepth, useRiverHeatContent, useCalvingHeatContent, h, T, netMassInOut, netMassOut, net_heat, net_salt, pen_SW_bnd, tv, aggregate_FW, nonpenSW, netmassInOut_rate, net_Heat_Rate, net_salt_rate, pen_sw_bnd_Rate, skip_diags) [fd] fullname(mom_forcing_type/extractfluxes1d) ftype(None) [fd] name(('mom_forcing_type/extractfluxes1d', None)) sig(subroutine extractfluxes1d(G, GV, US, fluxes, optics, nsw, j, dt, FluxRescaleDepth, useRiverHeatContent, useCalvingHeatContent, h, T, netMassInOut, netMassOut, net_heat, net_salt, pen_SW_bnd, tv, aggregate_FW, nonpenSW, netmassInOut_rate, net_Heat_Rate, net_salt_rate, pen_sw_bnd_Rate, skip_diags)) signode(subroutine mom_forcing_type/extractfluxes1dGGVUSfluxesopticsnswjdtFluxRescaleDepthuseRiverHeatContentuseCalvingHeatContenthTnetMassInOutnetMassOutnet_heatnet_saltpen_SW_bndtvaggregate_FWnonpenSWnetmassInOut_ratenet_Heat_Ratenet_salt_ratepen_sw_bnd_Rateskip_diags) [fd] run(.. f:subroutine:: subroutine extractfluxes2d(G, GV, US, fluxes, optics, nsw, dt, FluxRescaleDepth, useRiverHeatContent, useCalvingHeatContent, h, T, netMassInOut, netMassOut, net_heat, Net_salt, Pen_SW_bnd, tv, aggregate_FW)) [fd] sig(subroutine extractfluxes2d(G, GV, US, fluxes, optics, nsw, dt, FluxRescaleDepth, useRiverHeatContent, useCalvingHeatContent, h, T, netMassInOut, netMassOut, net_heat, Net_salt, Pen_SW_bnd, tv, aggregate_FW)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(extractfluxes2d) arglist(G, GV, US, fluxes, optics, nsw, dt, FluxRescaleDepth, useRiverHeatContent, useCalvingHeatContent, h, T, netMassInOut, netMassOut, net_heat, Net_salt, Pen_SW_bnd, tv, aggregate_FW) [fd] fullname(mom_forcing_type/extractfluxes2d) ftype(None) [fd] name(('mom_forcing_type/extractfluxes2d', None)) sig(subroutine extractfluxes2d(G, GV, US, fluxes, optics, nsw, dt, FluxRescaleDepth, useRiverHeatContent, useCalvingHeatContent, h, T, netMassInOut, netMassOut, net_heat, Net_salt, Pen_SW_bnd, tv, aggregate_FW)) signode(subroutine mom_forcing_type/extractfluxes2dGGVUSfluxesopticsnswdtFluxRescaleDepthuseRiverHeatContentuseCalvingHeatContenthTnetMassInOutnetMassOutnet_heatNet_saltPen_SW_bndtvaggregate_FW) [fd] run(.. f:subroutine:: subroutine calculatebuoyancyflux1d(G, GV, US, fluxes, optics, nsw, h, Temp, Salt, tv, j, buoyancyFlux, netHeatMinusSW, netSalt, skip_diags)) [fd] sig(subroutine calculatebuoyancyflux1d(G, GV, US, fluxes, optics, nsw, h, Temp, Salt, tv, j, buoyancyFlux, netHeatMinusSW, netSalt, skip_diags)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculatebuoyancyflux1d) arglist(G, GV, US, fluxes, optics, nsw, h, Temp, Salt, tv, j, buoyancyFlux, netHeatMinusSW, netSalt, skip_diags) [fd] fullname(mom_forcing_type/calculatebuoyancyflux1d) ftype(None) [fd] name(('mom_forcing_type/calculatebuoyancyflux1d', None)) sig(subroutine calculatebuoyancyflux1d(G, GV, US, fluxes, optics, nsw, h, Temp, Salt, tv, j, buoyancyFlux, netHeatMinusSW, netSalt, skip_diags)) signode(subroutine mom_forcing_type/calculatebuoyancyflux1dGGVUSfluxesopticsnswhTempSalttvjbuoyancyFluxnetHeatMinusSWnetSaltskip_diags) [fd] run(.. f:subroutine:: subroutine calculatebuoyancyflux2d(G, GV, US, fluxes, optics, h, Temp, Salt, tv, buoyancyFlux, netHeatMinusSW, netSalt, skip_diags)) [fd] sig(subroutine calculatebuoyancyflux2d(G, GV, US, fluxes, optics, h, Temp, Salt, tv, buoyancyFlux, netHeatMinusSW, netSalt, skip_diags)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculatebuoyancyflux2d) arglist(G, GV, US, fluxes, optics, h, Temp, Salt, tv, buoyancyFlux, netHeatMinusSW, netSalt, skip_diags) [fd] fullname(mom_forcing_type/calculatebuoyancyflux2d) ftype(None) [fd] name(('mom_forcing_type/calculatebuoyancyflux2d', None)) sig(subroutine calculatebuoyancyflux2d(G, GV, US, fluxes, optics, h, Temp, Salt, tv, buoyancyFlux, netHeatMinusSW, netSalt, skip_diags)) signode(subroutine mom_forcing_type/calculatebuoyancyflux2dGGVUSfluxesopticshTempSalttvbuoyancyFluxnetHeatMinusSWnetSaltskip_diags) [fd] run(.. f:subroutine:: subroutine mom_forcing_chksum(mesg, fluxes, G, US, haloshift)) [fd] sig(subroutine mom_forcing_chksum(mesg, fluxes, G, US, haloshift)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_forcing_chksum) arglist(mesg, fluxes, G, US, haloshift) [fd] fullname(mom_forcing_type/mom_forcing_chksum) ftype(None) [fd] name(('mom_forcing_type/mom_forcing_chksum', None)) sig(subroutine mom_forcing_chksum(mesg, fluxes, G, US, haloshift)) signode(subroutine mom_forcing_type/mom_forcing_chksummesgfluxesGUShaloshift) [fd] run(.. f:subroutine:: subroutine mom_mech_forcing_chksum(mesg, forces, G, US, haloshift)) [fd] sig(subroutine mom_mech_forcing_chksum(mesg, forces, G, US, haloshift)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_mech_forcing_chksum) arglist(mesg, forces, G, US, haloshift) [fd] fullname(mom_forcing_type/mom_mech_forcing_chksum) ftype(None) [fd] name(('mom_forcing_type/mom_mech_forcing_chksum', None)) sig(subroutine mom_mech_forcing_chksum(mesg, forces, G, US, haloshift)) signode(subroutine mom_forcing_type/mom_mech_forcing_chksummesgforcesGUShaloshift) [fd] run(.. f:subroutine:: subroutine mech_forcing_singlepointprint(forces, G, i, j, mesg)) [fd] sig(subroutine mech_forcing_singlepointprint(forces, G, i, j, mesg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mech_forcing_singlepointprint) arglist(forces, G, i, j, mesg) [fd] fullname(mom_forcing_type/mech_forcing_singlepointprint) ftype(None) [fd] name(('mom_forcing_type/mech_forcing_singlepointprint', None)) sig(subroutine mech_forcing_singlepointprint(forces, G, i, j, mesg)) signode(subroutine mom_forcing_type/mech_forcing_singlepointprintforcesGijmesg) [fd] run(.. f:subroutine:: subroutine forcing_singlepointprint(fluxes, G, i, j, mesg)) [fd] sig(subroutine forcing_singlepointprint(fluxes, G, i, j, mesg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(forcing_singlepointprint) arglist(fluxes, G, i, j, mesg) [fd] fullname(mom_forcing_type/forcing_singlepointprint) ftype(None) [fd] name(('mom_forcing_type/forcing_singlepointprint', None)) sig(subroutine forcing_singlepointprint(fluxes, G, i, j, mesg)) signode(subroutine mom_forcing_type/forcing_singlepointprintfluxesGijmesg) [fd] run(.. f:subroutine:: subroutine register_forcing_type_diags(Time, diag, US, use_temperature, handles, use_berg_fluxes)) [fd] sig(subroutine register_forcing_type_diags(Time, diag, US, use_temperature, handles, use_berg_fluxes)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_forcing_type_diags) arglist(Time, diag, US, use_temperature, handles, use_berg_fluxes) [fd] fullname(mom_forcing_type/register_forcing_type_diags) ftype(None) [fd] name(('mom_forcing_type/register_forcing_type_diags', None)) sig(subroutine register_forcing_type_diags(Time, diag, US, use_temperature, handles, use_berg_fluxes)) signode(subroutine mom_forcing_type/register_forcing_type_diagsTimediagUSuse_temperaturehandlesuse_berg_fluxes) [fd] run(.. f:subroutine:: subroutine forcing_accumulate(flux_tmp, forces, fluxes, G, wt2)) [fd] sig(subroutine forcing_accumulate(flux_tmp, forces, fluxes, G, wt2)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(forcing_accumulate) arglist(flux_tmp, forces, fluxes, G, wt2) [fd] fullname(mom_forcing_type/forcing_accumulate) ftype(None) [fd] name(('mom_forcing_type/forcing_accumulate', None)) sig(subroutine forcing_accumulate(flux_tmp, forces, fluxes, G, wt2)) signode(subroutine mom_forcing_type/forcing_accumulateflux_tmpforcesfluxesGwt2) [fd] run(.. f:subroutine:: subroutine fluxes_accumulate(flux_tmp, fluxes, G, wt2, forces)) [fd] sig(subroutine fluxes_accumulate(flux_tmp, fluxes, G, wt2, forces)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(fluxes_accumulate) arglist(flux_tmp, fluxes, G, wt2, forces) [fd] fullname(mom_forcing_type/fluxes_accumulate) ftype(None) [fd] name(('mom_forcing_type/fluxes_accumulate', None)) sig(subroutine fluxes_accumulate(flux_tmp, fluxes, G, wt2, forces)) signode(subroutine mom_forcing_type/fluxes_accumulateflux_tmpfluxesGwt2forces) [fd] run(.. f:subroutine:: subroutine copy_common_forcing_fields(forces, fluxes, G, skip_pres)) [fd] sig(subroutine copy_common_forcing_fields(forces, fluxes, G, skip_pres)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(copy_common_forcing_fields) arglist(forces, fluxes, G, skip_pres) [fd] fullname(mom_forcing_type/copy_common_forcing_fields) ftype(None) [fd] name(('mom_forcing_type/copy_common_forcing_fields', None)) sig(subroutine copy_common_forcing_fields(forces, fluxes, G, skip_pres)) signode(subroutine mom_forcing_type/copy_common_forcing_fieldsforcesfluxesGskip_pres) [fd] run(.. f:subroutine:: subroutine set_derived_forcing_fields(forces, fluxes, G, US, Rho0)) [fd] sig(subroutine set_derived_forcing_fields(forces, fluxes, G, US, Rho0)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_derived_forcing_fields) arglist(forces, fluxes, G, US, Rho0) [fd] fullname(mom_forcing_type/set_derived_forcing_fields) ftype(None) [fd] name(('mom_forcing_type/set_derived_forcing_fields', None)) sig(subroutine set_derived_forcing_fields(forces, fluxes, G, US, Rho0)) signode(subroutine mom_forcing_type/set_derived_forcing_fieldsforcesfluxesGUSRho0) [fd] run(.. f:subroutine:: subroutine set_net_mass_forcing(fluxes, forces, G, US)) [fd] sig(subroutine set_net_mass_forcing(fluxes, forces, G, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_net_mass_forcing) arglist(fluxes, forces, G, US) [fd] fullname(mom_forcing_type/set_net_mass_forcing) ftype(None) [fd] name(('mom_forcing_type/set_net_mass_forcing', None)) sig(subroutine set_net_mass_forcing(fluxes, forces, G, US)) signode(subroutine mom_forcing_type/set_net_mass_forcingfluxesforcesGUS) [fd] run(.. f:subroutine:: subroutine get_net_mass_forcing(fluxes, G, US, net_mass_src)) [fd] sig(subroutine get_net_mass_forcing(fluxes, G, US, net_mass_src)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_net_mass_forcing) arglist(fluxes, G, US, net_mass_src) [fd] fullname(mom_forcing_type/get_net_mass_forcing) ftype(None) [fd] name(('mom_forcing_type/get_net_mass_forcing', None)) sig(subroutine get_net_mass_forcing(fluxes, G, US, net_mass_src)) signode(subroutine mom_forcing_type/get_net_mass_forcingfluxesGUSnet_mass_src) [fd] run(.. f:subroutine:: subroutine copy_back_forcing_fields(fluxes, forces, G)) [fd] sig(subroutine copy_back_forcing_fields(fluxes, forces, G)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(copy_back_forcing_fields) arglist(fluxes, forces, G) [fd] fullname(mom_forcing_type/copy_back_forcing_fields) ftype(None) [fd] name(('mom_forcing_type/copy_back_forcing_fields', None)) sig(subroutine copy_back_forcing_fields(fluxes, forces, G)) signode(subroutine mom_forcing_type/copy_back_forcing_fieldsfluxesforcesG) [fd] run(.. f:subroutine:: subroutine mech_forcing_diags(forces_in, dt, G, time_end, diag, handles)) [fd] sig(subroutine mech_forcing_diags(forces_in, dt, G, time_end, diag, handles)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mech_forcing_diags) arglist(forces_in, dt, G, time_end, diag, handles) [fd] fullname(mom_forcing_type/mech_forcing_diags) ftype(None) [fd] name(('mom_forcing_type/mech_forcing_diags', None)) sig(subroutine mech_forcing_diags(forces_in, dt, G, time_end, diag, handles)) signode(subroutine mom_forcing_type/mech_forcing_diagsforces_indtGtime_enddiaghandles) [fd] run(.. f:subroutine:: subroutine forcing_diagnostics(fluxes_in, sfc_state, G_in, US, time_end, diag, handles)) [fd] sig(subroutine forcing_diagnostics(fluxes_in, sfc_state, G_in, US, time_end, diag, handles)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(forcing_diagnostics) arglist(fluxes_in, sfc_state, G_in, US, time_end, diag, handles) [fd] fullname(mom_forcing_type/forcing_diagnostics) ftype(None) [fd] name(('mom_forcing_type/forcing_diagnostics', None)) sig(subroutine forcing_diagnostics(fluxes_in, sfc_state, G_in, US, time_end, diag, handles)) signode(subroutine mom_forcing_type/forcing_diagnosticsfluxes_insfc_stateG_inUStime_enddiaghandles) [fd] run(.. f:subroutine:: subroutine allocate_forcing_by_group(G, fluxes, water, heat, ustar, press, shelf, iceberg, salt, fix_accum_bug)) [fd] sig(subroutine allocate_forcing_by_group(G, fluxes, water, heat, ustar, press, shelf, iceberg, salt, fix_accum_bug)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(allocate_forcing_by_group) arglist(G, fluxes, water, heat, ustar, press, shelf, iceberg, salt, fix_accum_bug) [fd] fullname(mom_forcing_type/allocate_forcing_by_group) ftype(None) [fd] name(('mom_forcing_type/allocate_forcing_by_group', None)) sig(subroutine allocate_forcing_by_group(G, fluxes, water, heat, ustar, press, shelf, iceberg, salt, fix_accum_bug)) signode(subroutine mom_forcing_type/allocate_forcing_by_groupGfluxeswaterheatustarpressshelficebergsaltfix_accum_bug) [fd] run(.. f:subroutine:: subroutine allocate_forcing_by_ref(fluxes_ref, G, fluxes)) [fd] sig(subroutine allocate_forcing_by_ref(fluxes_ref, G, fluxes)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(allocate_forcing_by_ref) arglist(fluxes_ref, G, fluxes) [fd] fullname(mom_forcing_type/allocate_forcing_by_ref) ftype(None) [fd] name(('mom_forcing_type/allocate_forcing_by_ref', None)) sig(subroutine allocate_forcing_by_ref(fluxes_ref, G, fluxes)) signode(subroutine mom_forcing_type/allocate_forcing_by_reffluxes_refGfluxes) [fd] run(.. f:subroutine:: subroutine allocate_mech_forcing_by_group(G, forces, stress, ustar, shelf, press, iceberg)) [fd] sig(subroutine allocate_mech_forcing_by_group(G, forces, stress, ustar, shelf, press, iceberg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(allocate_mech_forcing_by_group) arglist(G, forces, stress, ustar, shelf, press, iceberg) [fd] fullname(mom_forcing_type/allocate_mech_forcing_by_group) ftype(None) [fd] name(('mom_forcing_type/allocate_mech_forcing_by_group', None)) sig(subroutine allocate_mech_forcing_by_group(G, forces, stress, ustar, shelf, press, iceberg)) signode(subroutine mom_forcing_type/allocate_mech_forcing_by_groupGforcesstressustarshelfpressiceberg) [fd] run(.. f:subroutine:: subroutine allocate_mech_forcing_from_ref(forces_ref, G, forces)) [fd] sig(subroutine allocate_mech_forcing_from_ref(forces_ref, G, forces)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(allocate_mech_forcing_from_ref) arglist(forces_ref, G, forces) [fd] fullname(mom_forcing_type/allocate_mech_forcing_from_ref) ftype(None) [fd] name(('mom_forcing_type/allocate_mech_forcing_from_ref', None)) sig(subroutine allocate_mech_forcing_from_ref(forces_ref, G, forces)) signode(subroutine mom_forcing_type/allocate_mech_forcing_from_refforces_refGforces) [fd] run(.. f:subroutine:: subroutine get_forcing_groups(fluxes, water, heat, ustar, press, shelf, iceberg, salt, heat_added, buoy)) [fd] sig(subroutine get_forcing_groups(fluxes, water, heat, ustar, press, shelf, iceberg, salt, heat_added, buoy)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_forcing_groups) arglist(fluxes, water, heat, ustar, press, shelf, iceberg, salt, heat_added, buoy) [fd] fullname(mom_forcing_type/get_forcing_groups) ftype(None) [fd] name(('mom_forcing_type/get_forcing_groups', None)) sig(subroutine get_forcing_groups(fluxes, water, heat, ustar, press, shelf, iceberg, salt, heat_added, buoy)) signode(subroutine mom_forcing_type/get_forcing_groupsfluxeswaterheatustarpressshelficebergsaltheat_addedbuoy) [fd] run(.. f:subroutine:: subroutine get_mech_forcing_groups(forces, stress, ustar, shelf, press, iceberg)) [fd] sig(subroutine get_mech_forcing_groups(forces, stress, ustar, shelf, press, iceberg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_mech_forcing_groups) arglist(forces, stress, ustar, shelf, press, iceberg) [fd] fullname(mom_forcing_type/get_mech_forcing_groups) ftype(None) [fd] name(('mom_forcing_type/get_mech_forcing_groups', None)) sig(subroutine get_mech_forcing_groups(forces, stress, ustar, shelf, press, iceberg)) signode(subroutine mom_forcing_type/get_mech_forcing_groupsforcesstressustarshelfpressiceberg) [fd] run(.. f:subroutine:: subroutine myalloc(array, is, ie, js, je, flag)) [fd] sig(subroutine myalloc(array, is, ie, js, je, flag)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(myalloc) arglist(array, is, ie, js, je, flag) [fd] fullname(mom_forcing_type/myalloc) ftype(None) [fd] name(('mom_forcing_type/myalloc', None)) sig(subroutine myalloc(array, is, ie, js, je, flag)) signode(subroutine mom_forcing_type/myallocarrayisiejsjeflag) [fd] run(.. f:subroutine:: subroutine deallocate_forcing_type(fluxes)) [fd] sig(subroutine deallocate_forcing_type(fluxes)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(deallocate_forcing_type) arglist(fluxes) [fd] fullname(mom_forcing_type/deallocate_forcing_type) ftype(None) [fd] name(('mom_forcing_type/deallocate_forcing_type', None)) sig(subroutine deallocate_forcing_type(fluxes)) signode(subroutine mom_forcing_type/deallocate_forcing_typefluxes) [fd] run(.. f:subroutine:: subroutine deallocate_mech_forcing(forces)) [fd] sig(subroutine deallocate_mech_forcing(forces)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(deallocate_mech_forcing) arglist(forces) [fd] fullname(mom_forcing_type/deallocate_mech_forcing) ftype(None) [fd] name(('mom_forcing_type/deallocate_mech_forcing', None)) sig(subroutine deallocate_mech_forcing(forces)) signode(subroutine mom_forcing_type/deallocate_mech_forcingforces) [fd] run(.. f:subroutine:: subroutine rotate_forcing(fluxes_in, fluxes, turns)) [fd] sig(subroutine rotate_forcing(fluxes_in, fluxes, turns)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_forcing) arglist(fluxes_in, fluxes, turns) [fd] fullname(mom_forcing_type/rotate_forcing) ftype(None) [fd] name(('mom_forcing_type/rotate_forcing', None)) sig(subroutine rotate_forcing(fluxes_in, fluxes, turns)) signode(subroutine mom_forcing_type/rotate_forcingfluxes_influxesturns) [fd] run(.. f:subroutine:: subroutine rotate_mech_forcing(forces_in, turns, forces)) [fd] sig(subroutine rotate_mech_forcing(forces_in, turns, forces)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_mech_forcing) arglist(forces_in, turns, forces) [fd] fullname(mom_forcing_type/rotate_mech_forcing) ftype(None) [fd] name(('mom_forcing_type/rotate_mech_forcing', None)) sig(subroutine rotate_mech_forcing(forces_in, turns, forces)) signode(subroutine mom_forcing_type/rotate_mech_forcingforces_inturnsforces) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 35%] api/generated/modules/mom_full_convection [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_full_con [app] emitting event: 'source-read'('api/generated/modules/mom_full_convection', ['.. autodoxymodule:: mom_full_convection\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_full_convection.rst:1: input: .. autodoxymodule:: mom_full_convection :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_full_convection::full_convection ~mom_full_convection::is_unstable ~mom_full_convection::smoothed_drdt_drds [debug] xpath(./compounddef/compoundname[text()="mom_full_convection"]/..) match([('id', 'namespacemom__full__convection'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_full_convection module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_full_convection', , {'members': , {'members': , {'members': ), ('is_unstable', ), ('smoothed_drdt_drds', )]) [autodoc] module analyzer failed: error importing 'mom_full_convection' (exception was: ModuleNotFoundError("No module named 'mom_full_convection'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, h, tv, T_adj, S_adj, p_surf, Kddt_smooth, Kddt_convect, halo)) [debug] add_directive_header sig((G, GV, US, h, tv, T_adj, S_adj, p_surf, Kddt_smooth, Kddt_convect, halo)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine full_convection) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'full_convection', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_full_convection::full_convection ~mom_full_convection::is_unstable ~mom_full_convection::smoothed_drdt_drds .. _DETAmom_full_convection: -------------------- Detailed Description -------------------- Does full convective adjustment of unstable regions via a strong diffusivity. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine full_convection(G, GV, US, h, tv, T_adj, S_adj, p_surf, Kddt_smooth, Kddt_convect, halo) Calculate new temperatures and salinities that have been subject to full convective mixing. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [in] A structure pointing to various thermodynamic variables :param t_adj: [out] Adjusted potential temperature [degC]. :param s_adj: [out] Adjusted salinity [ppt]. :param p_surf: The pressure at the ocean surface [R L2 T-2 ~> Pa] (or NULL). :param kddt_smooth: [in] A smoothing vertical diffusivity times a timestep [H2 ~> m2 or kg2 m-4]. :param kddt_convect: [in] A large convecting vertical diffusivity times a timestep [H2 ~> m2 or kg2 m-4]. :param halo: [in] Halo width over which to compute :callto: :f:func:`is_unstable ` :callto: :f:func:`smoothed_drdt_drds ` :calledfrom: :f:func:`mom_set_diffusivity::set_diffusivity ` .. f:function:: logical function is_unstable(dRho_dT, dRho_dS, h_a, h_b, mix_A, mix_B, T_a, T_b, S_a, S_b, Te_aa, Te_bb, Se_aa, Se_bb, d_A, d_B) This function returns True if the profiles around the given interface will be statically unstable after mixing above below. The arguments are the ocean state above and below, including partial calculations from a tridiagonal solver. :param drho_dt: [in] The derivative of in situ density with temperature [R degC-1 ~> kg m-3 degC-1] :param drho_ds: [in] The derivative of in situ density with salinity [R ppt-1 ~> kg m-3 ppt-1] :param h_a: [in] The thickness of the layer above [H ~> m or kg m-2] :param h_b: [in] The thickness of the layer below [H ~> m or kg m-2] :param mix_a: [in] The time integrated mixing rate of the interface above [H ~> m or kg m-2] :param mix_b: [in] The time integrated mixing rate of the interface below [H ~> m or kg m-2] :param t_a: [in] The initial temperature of the layer above [degC] :param t_b: [in] The initial temperature of the layer below [degC] :param s_a: [in] The initial salinity of the layer below [ppt] :param s_b: [in] The initial salinity of the layer below [ppt] :param te_aa: [in] The estimated temperature two layers above rescaled by d_A [degC] :param te_bb: [in] The estimated temperature two layers below rescaled by d_B [degC] :param se_aa: [in] The estimated salinity two layers above rescaled by d_A [ppt] :param se_bb: [in] The estimated salinity two layers below rescaled by d_B [ppt] :param d_a: [in] The rescaling dependency across the interface above, nondim. :param d_b: [in] The rescaling dependency across the interface below, nondim. :returns undefined: The return value, true if the profile is statically unstable around the interface in question. :calledfrom: :f:func:`full_convection ` .. f:subroutine:: subroutine smoothed_drdt_drds(h, tv, Kddt, dR_dT, dR_dS, G, GV, US, j, p_surf, halo) Returns the partial derivatives of locally referenced potential density with temperature and salinity after the properties have been smoothed with a small constant diffusivity. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [in] A structure pointing to various thermodynamic variables :param kddt: [in] A diffusivity times a time increment [H2 ~> m2 or kg2 m-4]. :param dr_dt: [out] Derivative of locally referenced :param dr_ds: [out] Derivative of locally referenced :param us: [in] A dimensional unit scaling type :param j: [in] The j-point to work on. :param p_surf: The pressure at the ocean surface [R L2 T-2 ~> Pa]. :param halo: [in] Halo width over which to compute :callto: :f:func:`mom_eos::eos_domain ` :calledfrom: :f:func:`full_convection ` [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, h, tv, T_adj, S_adj, p_surf, Kddt_smooth, Kddt_convect, halo)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_full_convection::full_convection', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_full_convection::full_convection', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((dRho_dT, dRho_dS, h_a, h_b, mix_A, mix_B, T_a, T_b, S_a, S_b, Te_aa, Te_bb, Se_aa, Se_bb, d_A, d_B)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_full_convection::is_unstable', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_full_convection::is_unstable', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((h, tv, Kddt, dR_dT, dR_dS, G, GV, US, j, p_surf, halo)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_full_convection::smoothed_drdt_drds', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_full_convection::smoothed_drdt_drds', , {}, [fd] run(.. f:subroutine:: subroutine full_convection(G, GV, US, h, tv, T_adj, S_adj, p_surf, Kddt_smooth, Kddt_convect, halo)) [fd] sig(subroutine full_convection(G, GV, US, h, tv, T_adj, S_adj, p_surf, Kddt_smooth, Kddt_convect, halo)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(full_convection) arglist(G, GV, US, h, tv, T_adj, S_adj, p_surf, Kddt_smooth, Kddt_convect, halo) [fd] fullname(mom_full_convection/full_convection) ftype(None) [fd] name(('mom_full_convection/full_convection', None)) sig(subroutine full_convection(G, GV, US, h, tv, T_adj, S_adj, p_surf, Kddt_smooth, Kddt_convect, halo)) signode(subroutine mom_full_convection/full_convectionGGVUShtvT_adjS_adjp_surfKddt_smoothKddt_convecthalo) [fd] run(.. f:function:: logical function is_unstable(dRho_dT, dRho_dS, h_a, h_b, mix_A, mix_B, T_a, T_b, S_a, S_b, Te_aa, Te_bb, Se_aa, Se_bb, d_A, d_B)) [fd] sig(logical function is_unstable(dRho_dT, dRho_dS, h_a, h_b, mix_A, mix_B, T_a, T_b, S_a, S_b, Te_aa, Te_bb, Se_aa, Se_bb, d_A, d_B)) [fd] ftype(logical) objtype(function) modname(None) typename() name(is_unstable) arglist(dRho_dT, dRho_dS, h_a, h_b, mix_A, mix_B, T_a, T_b, S_a, S_b, Te_aa, Te_bb, Se_aa, Se_bb, d_A, d_B) [fd] fullname(mom_full_convection/is_unstable) ftype(logical) [fd] name(('mom_full_convection/is_unstable', 'logical')) sig(logical function is_unstable(dRho_dT, dRho_dS, h_a, h_b, mix_A, mix_B, T_a, T_b, S_a, S_b, Te_aa, Te_bb, Se_aa, Se_bb, d_A, d_B)) signode(function mom_full_convection/is_unstabledRho_dTdRho_dSh_ah_bmix_Amix_BT_aT_bS_aS_bTe_aaTe_bbSe_aaSe_bbd_Ad_B [logical]) [fd] run(.. f:subroutine:: subroutine smoothed_drdt_drds(h, tv, Kddt, dR_dT, dR_dS, G, GV, US, j, p_surf, halo)) [fd] sig(subroutine smoothed_drdt_drds(h, tv, Kddt, dR_dT, dR_dS, G, GV, US, j, p_surf, halo)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(smoothed_drdt_drds) arglist(h, tv, Kddt, dR_dT, dR_dS, G, GV, US, j, p_surf, halo) [fd] fullname(mom_full_convection/smoothed_drdt_drds) ftype(None) [fd] name(('mom_full_convection/smoothed_drdt_drds', None)) sig(subroutine smoothed_drdt_drds(h, tv, Kddt, dR_dT, dR_dS, G, GV, US, j, p_surf, halo)) signode(subroutine mom_full_convection/smoothed_drdt_drdshtvKddtdR_dTdR_dSGGVUSjp_surfhalo) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 35%] api/generated/modules/mom_generic_tracer [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_generic_ [app] emitting event: 'source-read'('api/generated/modules/mom_generic_tracer', ['.. autodoxymodule:: mom_generic_tracer\n :members:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_generic_tracer.rst:1: input: .. autodoxymodule:: mom_generic_tracer :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_generic_tracer::mom_generic_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_generic_tracer::register_mom_generic_tracer ~mom_generic_tracer::initialize_mom_generic_tracer ~mom_generic_tracer::mom_generic_tracer_column_physics ~mom_generic_tracer::mom_generic_tracer_stock ~mom_generic_tracer::mom_generic_tracer_min_max ~mom_generic_tracer::mom_generic_tracer_surface_state ~mom_generic_tracer::mom_generic_flux_init ~mom_generic_tracer::mom_generic_tracer_fluxes_accumulate ~mom_generic_tracer::mom_generic_tracer_get ~mom_generic_tracer::end_mom_generic_tracer [debug] xpath(./compounddef/compoundname[text()="mom_generic_tracer"]/..) match([('id', 'namespacemom__generic__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_generic_tracer module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_generic_tracer', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_generic_tracer' (exception was: ModuleNotFoundError("No module named 'mom_generic_tracer'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_generic_tracer::mom_generic_tracer_cs', , { [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_generic_tracer::mom_generic_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_generic_tracer::mom_generic_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_generic_tracer::mom_generic_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_generic_tracer::mom_generic_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_generic_tracer::mom_generic_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_generic_tracer::mom_generic_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_generic_tracer::mom_generic_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_generic_tracer::mom_generic_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_generic_tracer::mom_generic_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_generic_tracer::mom_generic_tracer_cs', , { [debug] members([('register_mom_generic_tracer', ), ('initialize_mom_generic_tracer', ), ('mom_generic_tracer_column_physics', ), ('mom_generic_tracer_stock', ), ('mom_generic_tracer_min_max', ), ('mom_generic_tracer_surface_state', ), ('mom_generic_flux_init', ), ('mom_generic_tracer_fluxes_accumulate', ), ('mom_generic_tracer_get', ), ('end_mom_generic_tracer', )]) [autodoc] module analyzer failed: error importing 'mom_generic_tracer' (exception was: ModuleNotFoundError("No module named 'mom_generic_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] add_directive_header sig((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function register_mom_generic_tracer) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_mom_generic_tracer', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_mom_generic_tracer', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_mom_generic_tracer', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_mom_generic_tracer', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_mom_generic_tracer', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_mom_generic_tracer', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_mom_generic_tracer', , {'members': < [autodoc] module analyzer failed: error importing 'mom_generic_tracer' (exception was: ModuleNotFoundError("No module named 'mom_generic_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((h_old, h_new, ea, eb, fluxes, Hml, dt, G, GV, CS, tv, optics, evap_CFL_limit, minimum_forcing_depth)) [debug] add_directive_header sig((h_old, h_new, ea, eb, fluxes, Hml, dt, G, GV, CS, tv, optics, evap_CFL_limit, minimum_forcing_depth)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine mom_generic_tracer_column_physics) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer_column_physics', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer_column_physics', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer_column_physics', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer_column_physics', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer_column_physics', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer_column_physics', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer_column_physics', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer_column_physics', , {'members [autodoc] module analyzer failed: error importing 'mom_generic_tracer' (exception was: ModuleNotFoundError("No module named 'mom_generic_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((h, stocks, G, GV, CS, names, units, stock_index)) [debug] add_directive_header sig((h, stocks, G, GV, CS, names, units, stock_index)) [debug] DoxygenMethodDocumenter directive(function) name(integer function mom_generic_tracer_stock) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [debug] method=visit_simplesect [debug] simplesect kind(return) [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer_stock', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer_surface_state', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer_surface_state', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer_surface_state', , {'members' [autodoc] module analyzer failed: error importing 'mom_generic_tracer' (exception was: ModuleNotFoundError("No module named 'mom_generic_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((verbosity)) [debug] add_directive_header sig((verbosity)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine mom_generic_flux_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_flux_init', , {'members': , {'members': , {'members': , {'members': , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer_fluxes_accumulate', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer_fluxes_accumulate', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer_fluxes_accumulate', , {'memb [autodoc] module analyzer failed: error importing 'mom_generic_tracer' (exception was: ModuleNotFoundError("No module named 'mom_generic_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((name, member, array, CS)) [debug] add_directive_header sig((name, member, array, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine mom_generic_tracer_get) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer_get', , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_generic_tracer::mom_generic_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_generic_tracer::register_mom_generic_tracer ~mom_generic_tracer::initialize_mom_generic_tracer ~mom_generic_tracer::mom_generic_tracer_column_physics ~mom_generic_tracer::mom_generic_tracer_stock ~mom_generic_tracer::mom_generic_tracer_min_max ~mom_generic_tracer::mom_generic_tracer_surface_state ~mom_generic_tracer::mom_generic_flux_init ~mom_generic_tracer::mom_generic_tracer_fluxes_accumulate ~mom_generic_tracer::mom_generic_tracer_get ~mom_generic_tracer::end_mom_generic_tracer .. _DETAmom_generic_tracer: -------------------- Detailed Description -------------------- Drives the generic version of tracers TOPAZ and CFC and other GFDL BGC components. ------------------ Type Documentation ------------------ .. f:type:: mom_generic_tracer_cs Control structure for generic tracers. :typefield character (len=200) ic_file: The file in which the generic tracer initial values can be found, or an empty string for internal initialization. :typefield logical z_ic_file: If true, the :typefield real tracer_ic_val: The initial value assigned to tracers. :typefield real tracer_land_val: The values of tracers used where land is masked out. :typefield logical tracers_may_reinit: If true, tracers may go through the initialization code if they are not found in the restart files. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(mom_restart_cs) restart_csp [pointer]: Restart control structure. :typefield type( g_tracer_type ) g_tracer_list [pointer]: Pointer to the first element of the linked list of generic tracers. :typefield integer h_to_m: Auxiliary to access GVH_to_m in routines that do not have access to GV. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function register_mom_generic_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS) Initializes the generic tracer packages and adds their tracers to the list Adds the tracers in the list of generic tracers to the set of MOM tracers (i.e., MOM-register them) Register these tracers for restart. :param hi: [in] Horizontal index ranges :param gv: [in] The ocean's vertical grid structure :param param_file: [in] A structure to parse for run-time parameters :param cs: Pointer to the control structure for this module :param tr_reg: Pointer to the control structure for the tracer advection and diffusion module. :param restart_cs: Pointer to the restart control structure. :callto: :f:func:`g_registered ` :callto: :f:func:`g_tracer_utils::g_tracer_get_alias ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_tracer_registry::register_tracer ` .. f:subroutine:: subroutine initialize_mom_generic_tracer(restart, day, G, GV, US, h, param_file, diag, OBC, CS, sponge_CSp, ALE_sponge_CSp) Initialize phase II: Initialize required variables for generic tracers There are some steps of initialization that cannot be done in register_MOM_generic_tracer This is the place and time to do them: Set the grid mask and initial time for all generic tracers. Diag_register them. Z_diag_register them. This subroutine initializes the NTR tracer fields in tr(:,:,:,:) and it sets up the tracer output. :param restart: [in] .true. if the fields have already been read from a restart file. :param day: [in] Time of the start of the run. :param g: [inout] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param param_file: [in] A structure to parse for run-time parameters :param diag: [in] Regulates diagnostic output. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param cs: Pointer to the control structure for this module. :param sponge_csp: Pointer to the control structure for the sponges. :param ale_sponge_csp: Pointer to the control structure for the ALE sponges. :callto: :f:func:`g_tracer_utils::g_tracer_get_alias ` :callto: :f:func:`g_tracer_utils::g_tracer_set_csdiag ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_tracer_initialization_from_z::mom_initialize_tracer_from_z ` :callto: :f:func:`mom_tracer_z_init::tracer_z_init ` .. f:subroutine:: subroutine mom_generic_tracer_column_physics(h_old, h_new, ea, eb, fluxes, Hml, dt, G, GV, CS, tv, optics, evap_CFL_limit, minimum_forcing_depth) Column physics for generic tracers. Get the coupler values for generic tracers that exchange with atmosphere Update generic tracer concentration fields from sources and sinks. Vertically diffuse generic tracer concentration fields. Update generic tracers from bottom and their bottom reservoir. This subroutine applies diapycnal diffusion and any other column tracer physics or chemistry to the tracers from this file. CFCs are relatively simple, as they are passive tracers. with only a surface flux as a source. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h_old: [in] Layer thickness before entrainment [H ~> m or kg m-2]. :param h_new: [in] Layer thickness after entrainment [H ~> m or kg m-2]. :param ea: [in] The amount of fluid entrained from the layer :param eb: [in] The amount of fluid entrained from the layer :param fluxes: [in] A structure containing pointers to thermodynamic and tracer forcing fields. :param hml: [in] Mixed layer depth [Z ~> m] :param dt: [in] The amount of time covered by this call [s] :param cs: Pointer to the control structure for this module. :param tv: [in] A structure pointing to various thermodynamic variables :param optics: [in] The structure containing optical properties. :param evap_cfl_limit: [in] Limits how much water can be fluxed out of the top layer Stored previously in diabatic CS. :param minimum_forcing_depth: [in] The smallest depth over which fluxes can be applied [H ~> m or kg m-2] :callto: :f:func:`mom_tracer_diabatic::applytracerboundaryfluxesinout ` :callto: :f:func:`g_tracer_utils::g_tracer_get_alias ` :callto: :f:func:`g_tracer_utils::g_tracer_set_csdiag ` :callto: :f:func:`mom_diag_mediator::get_diag_time_end ` :callto: :f:func:`mom_spatial_means::global_area_mean ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:function:: integer function mom_generic_tracer_stock(h, stocks, G, GV, CS, names, units, stock_index) This subroutine calculates mass-weighted integral on the PE either of all available tracer concentrations, or of a tracer that is being requested specifically, returning the number of stocks it has calculated. If the stock_index is present, only the stock corresponding to that coded index is returned. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param stocks: [out] The mass-weighted integrated amount of each tracer, in kg times concentration units [kg conc]. :param cs: Pointer to the control structure for this module. :param names: [out] The names of the stocks calculated. :param units: [out] The units of the stocks calculated. :param stock_index: [in] The coded index of a specific stock being sought. :returns undefined: Return value, the number of stocks calculated here. :callto: :f:func:`g_tracer_utils::g_tracer_get_alias ` :calledfrom: :f:func:`mom_tracer_flow_control::call_tracer_stocks ` .. f:function:: integer function mom_generic_tracer_min_max(ind_start, got_minmax, gmin, gmax, xgmin, ygmin, zgmin, xgmax, ygmax, zgmax, G, CS, names, units) This subroutine find the global min and max of either of all available tracer concentrations, or of a tracer that is being requested specifically, returning the number of tracers it has gone through. :param ind_start: [in] The index of the tracer to start with :param got_minmax: [out] Indicates whether the global min and max are found for each tracer :param gmin: [out] Global minimum of each tracer, in kg times concentration units. :param gmax: [out] Global maximum of each tracer, in kg times concentration units. :param xgmin: [out] The x-position of the global minimum :param ygmin: [out] The y-position of the global minimum :param zgmin: [out] The z-position of the global minimum :param xgmax: [out] The x-position of the global maximum :param ygmax: [out] The y-position of the global maximum :param zgmax: [out] The z-position of the global maximum :param g: [in] The ocean's grid structure :param cs: Pointer to the control structure for this module. :param names: [out] The names of the stocks calculated. :param units: [out] The units of the stocks calculated. :returns undefined: Return value, the number of tracers done here. :callto: :f:func:`g_tracer_utils::g_tracer_get_alias ` :calledfrom: :f:func:`mom_tracer_flow_control::call_tracer_stocks ` .. f:subroutine:: subroutine mom_generic_tracer_surface_state(sfc_state, h, G, CS) This subroutine calculates the surface state and sets coupler values for those generic tracers that have flux exchange with atmosphere. This subroutine sets up the fields that the coupler needs to calculate the CFC fluxes between the ocean and atmosphere. :param g: [in] The ocean's grid structure :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param cs: Pointer to the control structure for this module. :callto: :f:func:`mom_diag_mediator::get_diag_time_end ` :callto: :f:func:`mom_spatial_means::global_area_mean ` .. f:subroutine:: subroutine mom_generic_flux_init(verbosity) :param verbosity: [in] A 0-9 integer indicating a level of verbosity. :callto: :f:func:`g_registered ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine mom_generic_tracer_fluxes_accumulate(flux_tmp, weight) :param flux_tmp: [in] A structure containing pointers to thermodynamic and tracer forcing fields. :param weight: [in] A weight for accumulating this flux :callto: :f:func:`generic_tracer::generic_tracer_coupler_accumulate ` :calledfrom: :f:func:`ocean_model_mod::update_ocean_model ` .. f:subroutine:: subroutine mom_generic_tracer_get(name, member, array, CS) Copy the requested tracer into an array. :param name: [in] Name of requested tracer. :param member: [in] The tracer element to return. :param array: [out] Array filled by this routine. :param cs: Pointer to the control structure for this module. .. f:subroutine:: subroutine end_mom_generic_tracer(CS) This subroutine deallocates the memory owned by this module. :param cs: Pointer to the control structure for this module. [debug] xpath(./compounddef/compoundname[text()="mom_generic_tracer::mom_generic_tracer_cs"]/..) match([('id', 'structmom__generic__tracer_1_1mom__generic__tracer__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_generic_tracer::mom_generic_tracer_cs', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_generic_tracer::mom_generic_tracer_cs', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_generic_tracer::mom_generic_tracer_cs', , [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer::register_mom_generic_tracer', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer::mom_generic_tracer_stock', [debug] DoxygenMethodDocumenter format_signature called ((ind_start, got_minmax, gmin, gmax, xgmin, ygmin, zgmin, xgmax, ygmax, zgmax, G, CS, names, units)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer::mom_generic_tracer_min_max', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer::mom_generic_flux_init', , { [debug] DoxygenMethodDocumenter format_signature called ((flux_tmp, weight)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer::mom_generic_tracer_fluxes_accumulate', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer::mom_generic_tracer_get', , [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer::end_mom_generic_tracer', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_generic_tracer::end_mom_generic_tracer', , [fd] run(.. f:type:: mom_generic_tracer_cs) [fd] sig(mom_generic_tracer_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(mom_generic_tracer_cs) arglist(None) [fd] fullname(mom_generic_tracer/mom_generic_tracer_cs) ftype(None) [fd] name(('mom_generic_tracer/mom_generic_tracer_cs', None)) sig(mom_generic_tracer_cs) signode(type mom_generic_tracer/mom_generic_tracer_cs) [fd] run(.. f:function:: logical function register_mom_generic_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] sig(logical function register_mom_generic_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_mom_generic_tracer) arglist(HI, GV, param_file, CS, tr_Reg, restart_CS) [fd] fullname(mom_generic_tracer/register_mom_generic_tracer) ftype(logical) [fd] name(('mom_generic_tracer/register_mom_generic_tracer', 'logical')) sig(logical function register_mom_generic_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) signode(function mom_generic_tracer/register_mom_generic_tracerHIGVparam_fileCStr_Regrestart_CS [logical]) [fd] run(.. f:subroutine:: subroutine initialize_mom_generic_tracer(restart, day, G, GV, US, h, param_file, diag, OBC, CS, sponge_CSp, ALE_sponge_CSp)) [fd] sig(subroutine initialize_mom_generic_tracer(restart, day, G, GV, US, h, param_file, diag, OBC, CS, sponge_CSp, ALE_sponge_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_mom_generic_tracer) arglist(restart, day, G, GV, US, h, param_file, diag, OBC, CS, sponge_CSp, ALE_sponge_CSp) [fd] fullname(mom_generic_tracer/initialize_mom_generic_tracer) ftype(None) [fd] name(('mom_generic_tracer/initialize_mom_generic_tracer', None)) sig(subroutine initialize_mom_generic_tracer(restart, day, G, GV, US, h, param_file, diag, OBC, CS, sponge_CSp, ALE_sponge_CSp)) signode(subroutine mom_generic_tracer/initialize_mom_generic_tracerrestartdayGGVUShparam_filediagOBCCSsponge_CSpALE_sponge_CSp) [fd] run(.. f:subroutine:: subroutine mom_generic_tracer_column_physics(h_old, h_new, ea, eb, fluxes, Hml, dt, G, GV, CS, tv, optics, evap_CFL_limit, minimum_forcing_depth)) [fd] sig(subroutine mom_generic_tracer_column_physics(h_old, h_new, ea, eb, fluxes, Hml, dt, G, GV, CS, tv, optics, evap_CFL_limit, minimum_forcing_depth)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_generic_tracer_column_physics) arglist(h_old, h_new, ea, eb, fluxes, Hml, dt, G, GV, CS, tv, optics, evap_CFL_limit, minimum_forcing_depth) [fd] fullname(mom_generic_tracer/mom_generic_tracer_column_physics) ftype(None) [fd] name(('mom_generic_tracer/mom_generic_tracer_column_physics', None)) sig(subroutine mom_generic_tracer_column_physics(h_old, h_new, ea, eb, fluxes, Hml, dt, G, GV, CS, tv, optics, evap_CFL_limit, minimum_forcing_depth)) signode(subroutine mom_generic_tracer/mom_generic_tracer_column_physicsh_oldh_neweaebfluxesHmldtGGVCStvopticsevap_CFL_limitminimum_forcing_depth) [fd] run(.. f:function:: integer function mom_generic_tracer_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] sig(integer function mom_generic_tracer_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] ftype(integer) objtype(function) modname(None) typename() name(mom_generic_tracer_stock) arglist(h, stocks, G, GV, CS, names, units, stock_index) [fd] fullname(mom_generic_tracer/mom_generic_tracer_stock) ftype(integer) [fd] name(('mom_generic_tracer/mom_generic_tracer_stock', 'integer')) sig(integer function mom_generic_tracer_stock(h, stocks, G, GV, CS, names, units, stock_index)) signode(function mom_generic_tracer/mom_generic_tracer_stockhstocksGGVCSnamesunitsstock_index [integer]) [fd] run(.. f:function:: integer function mom_generic_tracer_min_max(ind_start, got_minmax, gmin, gmax, xgmin, ygmin, zgmin, xgmax, ygmax, zgmax, G, CS, names, units)) [fd] sig(integer function mom_generic_tracer_min_max(ind_start, got_minmax, gmin, gmax, xgmin, ygmin, zgmin, xgmax, ygmax, zgmax, G, CS, names, units)) [fd] ftype(integer) objtype(function) modname(None) typename() name(mom_generic_tracer_min_max) arglist(ind_start, got_minmax, gmin, gmax, xgmin, ygmin, zgmin, xgmax, ygmax, zgmax, G, CS, names, units) [fd] fullname(mom_generic_tracer/mom_generic_tracer_min_max) ftype(integer) [fd] name(('mom_generic_tracer/mom_generic_tracer_min_max', 'integer')) sig(integer function mom_generic_tracer_min_max(ind_start, got_minmax, gmin, gmax, xgmin, ygmin, zgmin, xgmax, ygmax, zgmax, G, CS, names, units)) signode(function mom_generic_tracer/mom_generic_tracer_min_maxind_startgot_minmaxgmingmaxxgminygminzgminxgmaxygmaxzgmaxGCSnamesunits [integer]) [fd] run(.. f:subroutine:: subroutine mom_generic_tracer_surface_state(sfc_state, h, G, CS)) [fd] sig(subroutine mom_generic_tracer_surface_state(sfc_state, h, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_generic_tracer_surface_state) arglist(sfc_state, h, G, CS) [fd] fullname(mom_generic_tracer/mom_generic_tracer_surface_state) ftype(None) [fd] name(('mom_generic_tracer/mom_generic_tracer_surface_state', None)) sig(subroutine mom_generic_tracer_surface_state(sfc_state, h, G, CS)) signode(subroutine mom_generic_tracer/mom_generic_tracer_surface_statesfc_statehGCS) [fd] run(.. f:subroutine:: subroutine mom_generic_flux_init(verbosity)) [fd] sig(subroutine mom_generic_flux_init(verbosity)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_generic_flux_init) arglist(verbosity) [fd] fullname(mom_generic_tracer/mom_generic_flux_init) ftype(None) [fd] name(('mom_generic_tracer/mom_generic_flux_init', None)) sig(subroutine mom_generic_flux_init(verbosity)) signode(subroutine mom_generic_tracer/mom_generic_flux_initverbosity) [fd] run(.. f:subroutine:: subroutine mom_generic_tracer_fluxes_accumulate(flux_tmp, weight)) [fd] sig(subroutine mom_generic_tracer_fluxes_accumulate(flux_tmp, weight)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_generic_tracer_fluxes_accumulate) arglist(flux_tmp, weight) [fd] fullname(mom_generic_tracer/mom_generic_tracer_fluxes_accumulate) ftype(None) [fd] name(('mom_generic_tracer/mom_generic_tracer_fluxes_accumulate', None)) sig(subroutine mom_generic_tracer_fluxes_accumulate(flux_tmp, weight)) signode(subroutine mom_generic_tracer/mom_generic_tracer_fluxes_accumulateflux_tmpweight) [fd] run(.. f:subroutine:: subroutine mom_generic_tracer_get(name, member, array, CS)) [fd] sig(subroutine mom_generic_tracer_get(name, member, array, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_generic_tracer_get) arglist(name, member, array, CS) [fd] fullname(mom_generic_tracer/mom_generic_tracer_get) ftype(None) [fd] name(('mom_generic_tracer/mom_generic_tracer_get', None)) sig(subroutine mom_generic_tracer_get(name, member, array, CS)) signode(subroutine mom_generic_tracer/mom_generic_tracer_getnamememberarrayCS) [fd] run(.. f:subroutine:: subroutine end_mom_generic_tracer(CS)) [fd] sig(subroutine end_mom_generic_tracer(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(end_mom_generic_tracer) arglist(CS) [fd] fullname(mom_generic_tracer/end_mom_generic_tracer) ftype(None) [fd] name(('mom_generic_tracer/end_mom_generic_tracer', None)) sig(subroutine end_mom_generic_tracer(CS)) signode(subroutine mom_generic_tracer/end_mom_generic_tracerCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 35%] api/generated/modules/mom_geothermal [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_geotherm [app] emitting event: 'source-read'('api/generated/modules/mom_geothermal', ['.. autodoxymodule:: mom_geothermal\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_geothermal.rst:1: input: .. autodoxymodule:: mom_geothermal :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_geothermal::geothermal_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_geothermal::geothermal_entraining ~mom_geothermal::geothermal_in_place ~mom_geothermal::geothermal_init ~mom_geothermal::geothermal_end [debug] xpath(./compounddef/compoundname[text()="mom_geothermal"]/..) match([('id', 'namespacemom__geothermal'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_geothermal module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_geothermal', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_geothermal' (exception was: ModuleNotFoundError("No module named 'mom_geothermal'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_geothermal::geothermal_cs', , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_geothermal::geothermal_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_geothermal::geothermal_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_geothermal::geothermal_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_geothermal::geothermal_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_geothermal::geothermal_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_geothermal::geothermal_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_geothermal::geothermal_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_geothermal::geothermal_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_geothermal::geothermal_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_geothermal::geothermal_cs', , {'members': < [debug] members([('geothermal_entraining', ), ('geothermal_in_place', ), ('geothermal_init', ), ('geothermal_end', )]) [autodoc] module analyzer failed: error importing 'mom_geothermal' (exception was: ModuleNotFoundError("No module named 'mom_geothermal'")) [debug] DoxygenMethodDocumenter format_signature called ((h, tv, dt, ea, eb, G, GV, US, CS, halo)) [debug] add_directive_header sig((h, tv, dt, ea, eb, G, GV, US, CS, halo)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine geothermal_entraining) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'geothermal_entraining', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_geothermal::geothermal_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_geothermal::geothermal_entraining ~mom_geothermal::geothermal_in_place ~mom_geothermal::geothermal_init ~mom_geothermal::geothermal_end .. _DETAmom_geothermal: -------------------- Detailed Description -------------------- Geothermal heating can be added either in a layered isopycnal mode, in which the heating raises the density of the layer to the target density of the layer above, and then moves the water into that layer, or in a simple Eulerian mode, in which the bottommost GEOTHERMAL_THICKNESS are heated. Geothermal heating will also provide a buoyant source of bottom TKE that can be used to further mix the near-bottom water. In cold fresh water lakes where heating increases density, water should be moved into deeper layers, but this is not implemented yet. ------------------ Type Documentation ------------------ .. f:type:: geothermal_cs Control structure for geothermal heating. :typefield real drcv_dt_inplace: The value of dRcv_dT above which (dRcv_dT is negative) the water is heated in place instead of moving upward between layers [R degC-1 ~> kg m-3 degC-1]. :typefield real(\:,\:) geo_heat [pointer]: The geothermal heat flux [J m-2 T-1 ~> W m-2]. :typefield real geothermal_thick: The thickness over which geothermal heating is applied [H ~> m or kg m-2]. :typefield logical apply_geothermal: If true, geothermal heating will be applied otherwise GEOTHERMAL_SCALE has been set to 0 and there is no heat to apply. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield integer id_internal_heat_heat_tendency: ID for diagnostic of heat tendency. :typefield integer id_internal_heat_temp_tendency: ID for diagnostic of temperature tendency. :typefield integer id_internal_heat_h_tendency: ID for diagnostic of thickness tendency. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine geothermal_entraining(h, tv, dt, ea, eb, G, GV, US, CS, halo) Applies geothermal heating, including the movement of water between isopycnal layers to match the target densities. The heating is applied to the bottommost layers that occur within GEOTHERMAL_THICKNESS of the bottom. If the partial derivative of the coordinate density with temperature is positive or very small, the layers are simply heated in place. Any heat that can not be applied to the ocean is returned (WHERE)? :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [inout] Layer thicknesses [H ~> m or kg m-2] :param tv: [inout] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. :param dt: [in] Time increment [T ~> s]. :param ea: [inout] The amount of fluid moved downward into a layer; this should be increased due to mixed layer detrainment [H ~> m or kg m-2] :param eb: [inout] The amount of fluid moved upward into a layer; this should be increased due to mixed layer entrainment [H ~> m or kg m-2]. :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to geothermal_init. :param halo: [in] Halo width over which to work :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine geothermal_in_place(h, tv, dt, G, GV, US, CS, halo) Applies geothermal heating to the bottommost layers that occur within GEOTHERMAL_THICKNESS of the bottom, by simply heating the water in place. Any heat that can not be applied to the ocean is returned (WHERE)? :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [inout] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. :param dt: [in] Time increment [T ~> s]. :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to geothermal_init. :param halo: [in] Halo width over which to work :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine geothermal_init(Time, G, GV, US, param_file, diag, CS, useALEalgorithm) Initialize parameters and allocate memory associated with the geothermal heating module. :param time: [in] Current model time. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters. :param diag: [inout] Structure used to regulate diagnostic output. :param cs: Pointer pointing to the module control structure. :param usealealgorithm: [in] logical for whether to use ALE remapping :callto: :f:func:`mom_verticalgrid::get_thickness_units ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_diag_mediator::register_static_field ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_driver_init ` .. f:subroutine:: subroutine geothermal_end(CS) Clean up and deallocate memory associated with the geothermal heating module. :param cs: Geothermal heating control structure that will be deallocated in this subroutine. [debug] xpath(./compounddef/compoundname[text()="mom_geothermal::geothermal_cs"]/..) match([('id', 'structmom__geothermal_1_1geothermal__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_geothermal::geothermal_cs', , {}, ['', 'C [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_geothermal::geothermal_cs', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_geothermal::geothermal_cs', , {}, ['', 'C [debug] DoxygenMethodDocumenter format_signature called ((h, tv, dt, ea, eb, G, GV, US, CS, halo)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_geothermal::geothermal_entraining', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_geothermal::geothermal_entraining', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((h, tv, dt, G, GV, US, CS, halo)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_geothermal::geothermal_in_place', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_geothermal::geothermal_in_place', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS, useALEalgorithm)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_geothermal::geothermal_init', , {}, ['', 'I [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_geothermal::geothermal_init', , {}, ['', 'I [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_geothermal::geothermal_end', , {}, ['', 'Cl [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_geothermal::geothermal_end', , {}, ['', 'Cl [fd] run(.. f:type:: geothermal_cs) [fd] sig(geothermal_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(geothermal_cs) arglist(None) [fd] fullname(mom_geothermal/geothermal_cs) ftype(None) [fd] name(('mom_geothermal/geothermal_cs', None)) sig(geothermal_cs) signode(type mom_geothermal/geothermal_cs) [fd] run(.. f:subroutine:: subroutine geothermal_entraining(h, tv, dt, ea, eb, G, GV, US, CS, halo)) [fd] sig(subroutine geothermal_entraining(h, tv, dt, ea, eb, G, GV, US, CS, halo)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(geothermal_entraining) arglist(h, tv, dt, ea, eb, G, GV, US, CS, halo) [fd] fullname(mom_geothermal/geothermal_entraining) ftype(None) [fd] name(('mom_geothermal/geothermal_entraining', None)) sig(subroutine geothermal_entraining(h, tv, dt, ea, eb, G, GV, US, CS, halo)) signode(subroutine mom_geothermal/geothermal_entraininghtvdteaebGGVUSCShalo) [fd] run(.. f:subroutine:: subroutine geothermal_in_place(h, tv, dt, G, GV, US, CS, halo)) [fd] sig(subroutine geothermal_in_place(h, tv, dt, G, GV, US, CS, halo)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(geothermal_in_place) arglist(h, tv, dt, G, GV, US, CS, halo) [fd] fullname(mom_geothermal/geothermal_in_place) ftype(None) [fd] name(('mom_geothermal/geothermal_in_place', None)) sig(subroutine geothermal_in_place(h, tv, dt, G, GV, US, CS, halo)) signode(subroutine mom_geothermal/geothermal_in_placehtvdtGGVUSCShalo) [fd] run(.. f:subroutine:: subroutine geothermal_init(Time, G, GV, US, param_file, diag, CS, useALEalgorithm)) [fd] sig(subroutine geothermal_init(Time, G, GV, US, param_file, diag, CS, useALEalgorithm)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(geothermal_init) arglist(Time, G, GV, US, param_file, diag, CS, useALEalgorithm) [fd] fullname(mom_geothermal/geothermal_init) ftype(None) [fd] name(('mom_geothermal/geothermal_init', None)) sig(subroutine geothermal_init(Time, G, GV, US, param_file, diag, CS, useALEalgorithm)) signode(subroutine mom_geothermal/geothermal_initTimeGGVUSparam_filediagCSuseALEalgorithm) [fd] run(.. f:subroutine:: subroutine geothermal_end(CS)) [fd] sig(subroutine geothermal_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(geothermal_end) arglist(CS) [fd] fullname(mom_geothermal/geothermal_end) ftype(None) [fd] name(('mom_geothermal/geothermal_end', None)) sig(subroutine geothermal_end(CS)) signode(subroutine mom_geothermal/geothermal_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 36%] api/generated/modules/mom_get_input [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_get_inpu [app] emitting event: 'source-read'('api/generated/modules/mom_get_input', ['.. autodoxymodule:: mom_get_input\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_get_input.rst:1: input: .. autodoxymodule:: mom_get_input :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_get_input::directories --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_get_input::get_mom_input [debug] xpath(./compounddef/compoundname[text()="mom_get_input"]/..) match([('id', 'namespacemom__get__input'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_get_input module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_get_input', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_get_input' (exception was: ModuleNotFoundError("No module named 'mom_get_input'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_get_input::directories', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_get_input' (exception was: ModuleNotFoundError("No module named 'mom_get_input'")) [debug] DoxygenMethodDocumenter format_signature called ((param_file, dirs, check_params, default_input_filename, ensemble_num)) [debug] add_directive_header sig((param_file, dirs, check_params, default_input_filename, ensemble_num)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine get_mom_input) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'get_mom_input', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_get_input::directories --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_get_input::get_mom_input .. _DETAmom_get_input: -------------------- Detailed Description -------------------- The name list parameters indicate which directories to use for certain types of input and output, and which files to look in for the full parsable input parameter file(s). ------------------ Type Documentation ------------------ .. f:type:: directories Container for paths and parameter file names. :typefield character (len=240) restart_input_dir: The directory to read restart and input files. :typefield character (len=240) restart_output_dir: The directory into which to write restart files. :typefield character (len=240) output_directory: The directory to use to write the model output. :typefield character (len=2048) input_filename: A string that indicates the input files or how. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine get_mom_input(param_file, dirs, check_params, default_input_filename, ensemble_num) Get the names of the I/O directories and initialization file. Also calls the subroutine that opens run-time parameter files. :param param_file: [out] A structure to parse for run-time parameters. :param dirs: [out] Container for paths and parameter file names. :param check_params: [in] If present and False will stop error checking for run-time parameters. :param default_input_filename: [in] If present, is the value assumed for input_filename if input_filename is not listed in the namelist MOM_input_nml. :param ensemble_num: [in] The ensemble id of the current member :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_file_parser::open_param_file ` :calledfrom: :f:func:`mom_tracer_flow_control::call_tracer_flux_init ` :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` :calledfrom: :f:func:`mom_ice_shelf::initialize_ice_shelf ` :calledfrom: :f:func:`mom::initialize_mom ` :calledfrom: :f:func:`mom_surface_forcing_gfdl::surface_forcing_init ` :calledfrom: :f:func:`mom_surface_forcing::surface_forcing_init ` [debug] xpath(./compounddef/compoundname[text()="mom_get_input::directories"]/..) match([('id', 'structmom__get__input_1_1directories'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_get_input::directories', , {}, ['', 'Cont [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_get_input::directories', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_get_input::directories', , {}, ['', 'Cont [debug] DoxygenMethodDocumenter format_signature called ((param_file, dirs, check_params, default_input_filename, ensemble_num)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_get_input::get_mom_input', , {}, ['', 'Get [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_get_input::get_mom_input', , {}, ['', 'Get [fd] run(.. f:type:: directories) [fd] sig(directories) [fd] ftype(None) objtype(None) modname(None) typename() name(directories) arglist(None) [fd] fullname(mom_get_input/directories) ftype(None) [fd] name(('mom_get_input/directories', None)) sig(directories) signode(type mom_get_input/directories) [fd] run(.. f:subroutine:: subroutine get_mom_input(param_file, dirs, check_params, default_input_filename, ensemble_num)) [fd] sig(subroutine get_mom_input(param_file, dirs, check_params, default_input_filename, ensemble_num)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_mom_input) arglist(param_file, dirs, check_params, default_input_filename, ensemble_num) [fd] fullname(mom_get_input/get_mom_input) ftype(None) [fd] name(('mom_get_input/get_mom_input', None)) sig(subroutine get_mom_input(param_file, dirs, check_params, default_input_filename, ensemble_num)) signode(subroutine mom_get_input/get_mom_inputparam_filedirscheck_paramsdefault_input_filenameensemble_num) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 36%] api/generated/modules/mom_grid [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_grid') [app] emitting event: 'source-read'('api/generated/modules/mom_grid', ['.. autodoxymodule:: mom_grid\n :members:\n :methods:\n :t [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_grid.rst:1: input: .. autodoxymodule:: mom_grid :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_grid::ocean_grid_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_grid::mom_grid_init ~mom_grid::rescale_grid_bathymetry ~mom_grid::set_derived_metrics ~mom_grid::adcroft_reciprocal ~mom_grid::ispointincell ~mom_grid::set_first_direction ~mom_grid::get_global_grid_size ~mom_grid::allocate_metrics ~mom_grid::mom_grid_end [debug] xpath(./compounddef/compoundname[text()="mom_grid"]/..) match([('id', 'namespacemom__grid'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_grid module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_grid', , {'members': , {'members': ]) [debug] ref([('id', 'structmom__grid_1_1ocean__grid__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_computeroutput [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_grid', , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_grid' (exception was: ModuleNotFoundError("No module named 'mom_grid'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_grid::ocean_grid_type', , {'members': ]) [debug] ref([('id', 'namespacemom__grid'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_grid::ocean_grid_type', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('rescale_grid_bathymetry', ), ('set_derived_metrics', ), ('adcroft_reciprocal', ), ('ispointincell', ), ('set_first_direction', ), ('get_global_grid_size', ), ('allocate_metrics', ), ('mom_grid_end', )]) [autodoc] module analyzer failed: error importing 'mom_grid' (exception was: ModuleNotFoundError("No module named 'mom_grid'")) [debug] DoxygenMethodDocumenter format_signature called ((G, param_file, US, HI, global_indexing, bathymetry_at_vel)) [debug] add_directive_header sig((G, param_file, US, HI, global_indexing, bathymetry_at_vel)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine mom_grid_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__grid_1_1ocean__grid__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'allocate_metrics', , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__grid_1_1ocean__grid__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_end', , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_grid::ocean_grid_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_grid::mom_grid_init ~mom_grid::rescale_grid_bathymetry ~mom_grid::set_derived_metrics ~mom_grid::adcroft_reciprocal ~mom_grid::ispointincell ~mom_grid::set_first_direction ~mom_grid::get_global_grid_size ~mom_grid::allocate_metrics ~mom_grid::mom_grid_end .. _DETAmom_grid: -------------------- Detailed Description -------------------- Grid metrics and their inverses are labelled according to their staggered location on a Arakawa C (or B) grid. * Metrics centered on h- or T-points are labelled T, e.g. dxT is the distance across the cell in the x-direction. * Metrics centered on u-points are labelled Cu (C-grid u location). e.g. dyCu is the y-distance between two corners of a T-cell. * Metrics centered on v-points are labelled Cv (C-grid v location). e.g. dyCv is the y-distance between two -points. * Metrics centered on q-points are labelled Bu (B-grid u,v location). e.g. areaBu is the area centered on a q-point. location on an T-cell and around a q-point." Areas centered at T-, u-, v- and q- points are ``areaT``, ``areaCu``, ``areaCv`` and ``areaBu`` respectively. The reciprocal of metrics are pre-calculated and also stored in the :f:func:`ocean_grid_type` with a I prepended to the name. For example, with a I prepended to the name. For example, ``1./areaT`` is called ``IareaT``, and ``1./dyCv`` is ``IdyCv``. Geographic latitude and longitude (or model coordinates if not on a sphere) are stored in ``geoLatT``, ``geoLonT`` for T-points. u-, v- and q- point coordinates are follow same pattern of replacing T with Cu, Cv and Bu respectively. Each location also has a 2D mask indicating whether the entire column is land or ocean. ``mask2dT`` is 1 if the column is wet or 0 if the T-cell is land. ``mask2dCu`` is 1 if both neighboring column are ocean, and 0 if either is land. ------------------ Type Documentation ------------------ .. f:type:: ocean_grid_type Ocean grid type. See :f:func:`mom_grid` for details. for details. :typefield type(mom_domain_type) domain [pointer]: Ocean model domain. :typefield type(mom_domain_type) domain_aux [pointer]: A non-symmetric auxiliary domain type. :typefield type(hor_index_type) hi: Horizontal index ranges. :typefield type(hor_index_type) hid2: Horizontal index ranges for level-2-downsampling. :typefield integer isc: The start i-index of cell centers within the computational domain. :typefield integer iec: The end i-index of cell centers within the computational domain. :typefield integer jsc: The start j-index of cell centers within the computational domain. :typefield integer jec: The end j-index of cell centers within the computational domain. :typefield integer isd: The start i-index of cell centers within the data domain. :typefield integer ied: The end i-index of cell centers within the data domain. :typefield integer jsd: The start j-index of cell centers within the data domain. :typefield integer jed: The end j-index of cell centers within the data domain. :typefield integer isg: The start i-index of cell centers within the global domain. :typefield integer ieg: The end i-index of cell centers within the global domain. :typefield integer jsg: The start j-index of cell centers within the global domain. :typefield integer jeg: The end j-index of cell centers within the global domain. :typefield integer iscb: The start i-index of cell vertices within the computational domain. :typefield integer iecb: The end i-index of cell vertices within the computational domain. :typefield integer jscb: The start j-index of cell vertices within the computational domain. :typefield integer jecb: The end j-index of cell vertices within the computational domain. :typefield integer isdb: The start i-index of cell vertices within the data domain. :typefield integer iedb: The end i-index of cell vertices within the data domain. :typefield integer jsdb: The start j-index of cell vertices within the data domain. :typefield integer jedb: The end j-index of cell vertices within the data domain. :typefield integer isgb: The start i-index of cell vertices within the global domain. :typefield integer iegb: The end i-index of cell vertices within the global domain. :typefield integer jsgb: The start j-index of cell vertices within the global domain. :typefield integer jegb: The end j-index of cell vertices within the global domain. :typefield integer isd_global: The value of isd in the global index space (decompoistion invariant). :typefield integer jsd_global: The value of isd in the global index space (decompoistion invariant). :typefield integer idg_offset: The offset between the corresponding global and local i-indices. :typefield integer jdg_offset: The offset between the corresponding global and local j-indices. :typefield integer ke: The number of layers in the vertical. :typefield logical symmetric: True if symmetric memory is used. :typefield logical nonblocking_updates: If true, non-blocking halo updates are allowed. The default is .false. (for now). :typefield integer first_direction: An integer that indicates which direction is to be updated first in directionally split parts of the calculation. This can be altered during the course of the run via calls to set_first_direction. :typefield real(\: mask2dt [:), allocatable]: 0 for land points and 1 for ocean points on the h-grid [nondim]. :typefield real(\: geolatt [:), allocatable]: The geographic latitude at q points in degrees of latitude or m. :typefield real(\: geolont [:), allocatable]: The geographic longitude at q points in degrees of longitude or m. :typefield real(\: dxt [:), allocatable]: dxT is delta x at h points [L ~> m]. :typefield real(\: idxt [:), allocatable]: 1/dxT [L-1 ~> m-1]. :typefield real(\: dyt [:), allocatable]: dyT is delta y at h points [L ~> m]. :typefield real(\: idyt [:), allocatable]: IdyT is 1/dyT [L-1 ~> m-1]. :typefield real(\: areat [:), allocatable]: The area of an h-cell [L2 ~> m2]. :typefield real(\: iareat [:), allocatable]: 1/areaT [L-2 ~> m-2]. :typefield real(\: sin_rot [:), allocatable]: The sine of the angular rotation between the local model grid's northward. :typefield real(\: cos_rot [:), allocatable]: The cosine of the angular rotation between the local model grid's northward. :typefield real(\: mask2dcu [:), allocatable]: 0 for boundary points and 1 for ocean points on the u grid [nondim]. :typefield real(\: geolatcu [:), allocatable]: The geographic latitude at u points in degrees of latitude or m. :typefield real(\: geoloncu [:), allocatable]: The geographic longitude at u points in degrees of longitude or m. :typefield real(\: dxcu [:), allocatable]: dxCu is delta x at u points [L ~> m]. :typefield real(\: idxcu [:), allocatable]: 1/dxCu [L-1 ~> m-1]. :typefield real(\: dycu [:), allocatable]: dyCu is delta y at u points [L ~> m]. :typefield real(\: idycu [:), allocatable]: 1/dyCu [L-1 ~> m-1]. :typefield real(\: dy_cu [:), allocatable]: The unblocked lengths of the u-faces of the h-cell [L ~> m]. :typefield real(\: iareacu [:), allocatable]: The masked inverse areas of u-grid cells [L-2 ~> m-2]. :typefield real(\: areacu [:), allocatable]: The areas of the u-grid cells [L2 ~> m2]. :typefield real(\: mask2dcv [:), allocatable]: 0 for boundary points and 1 for ocean points on the v grid [nondim]. :typefield real(\: geolatcv [:), allocatable]: The geographic latitude at v points in degrees of latitude or m. :typefield real(\: geoloncv [:), allocatable]: The geographic longitude at v points in degrees of longitude or m. :typefield real(\: dxcv [:), allocatable]: dxCv is delta x at v points [L ~> m]. :typefield real(\: idxcv [:), allocatable]: 1/dxCv [L-1 ~> m-1]. :typefield real(\: dycv [:), allocatable]: dyCv is delta y at v points [L ~> m]. :typefield real(\: idycv [:), allocatable]: 1/dyCv [L-1 ~> m-1]. :typefield real(\: dx_cv [:), allocatable]: The unblocked lengths of the v-faces of the h-cell [L ~> m]. :typefield real(\: iareacv [:), allocatable]: The masked inverse areas of v-grid cells [L-2 ~> m-2]. :typefield real(\: areacv [:), allocatable]: The areas of the v-grid cells [L2 ~> m2]. :typefield real(\: mask2dbu [:), allocatable]: 0 for boundary points and 1 for ocean points on the q grid [nondim]. :typefield real(\: geolatbu [:), allocatable]: The geographic latitude at q points in degrees of latitude or m. :typefield real(\: geolonbu [:), allocatable]: The geographic longitude at q points in degrees of longitude or m. :typefield real(\: dxbu [:), allocatable]: dxBu is delta x at q points [L ~> m]. :typefield real(\: idxbu [:), allocatable]: 1/dxBu [L-1 ~> m-1]. :typefield real(\: dybu [:), allocatable]: dyBu is delta y at q points [L ~> m]. :typefield real(\: idybu [:), allocatable]: 1/dyBu [L-1 ~> m-1]. :typefield real(\: areabu [:), allocatable]: areaBu is the area of a q-cell [L2 ~> m2] :typefield real(\: iareabu [:), allocatable]: IareaBu = 1/areaBu [L-2 ~> m-2]. :typefield real(\:) gridlatt [pointer]: The latitude of T points for the purpose of labeling the output axes. :typefield real(\:) gridlatb [pointer]: The latitude of B points for the purpose of labeling the output axes. :typefield real(\:) gridlont [pointer]: The longitude of T points for the purpose of labeling the output axes. :typefield real(\:) gridlonb [pointer]: The longitude of B points for the purpose of labeling the output axes. :typefield character (len=40) x_axis_units: The units that are used in labeling the x coordinate axes. :typefield character (len=40) y_axis_units: The units that are used in labeling the y coordinate axes. :typefield real(\: bathyt [:), allocatable]: Ocean bottom depth at tracer points, in depth units [Z ~> m]. :typefield real z_ref: A reference value for all geometric height fields, such as bathyT [Z ~> m]. :typefield logical bathymetry_at_vel: If true, there are separate values for the basin depths at velocity points. Otherwise the effects of of topography are entirely determined from thickness points. :typefield real(\: dblock_u [:), allocatable]: Topographic depths at u-points at which the flow is blocked [Z ~> m]. :typefield real(\: dopen_u [:), allocatable]: Topographic depths at u-points at which the flow is open at width dy_Cu [Z ~> m]. :typefield real(\: dblock_v [:), allocatable]: Topographic depths at v-points at which the flow is blocked [Z ~> m]. :typefield real(\: dopen_v [:), allocatable]: Topographic depths at v-points at which the flow is open at width dx_Cv [Z ~> m]. :typefield real(\: coriolisbu [:), allocatable]: The Coriolis parameter at corner points [T-1 ~> s-1]. :typefield real(\: df_dx [:), allocatable]: Derivative d/dx f (Coriolis parameter) at h-points [T-1 L-1 ~> s-1 m-1]. :typefield real(\: df_dy [:), allocatable]: Derivative d/dy f (Coriolis parameter) at h-points [T-1 L-1 ~> s-1 m-1]. :typefield real areat_global: Global sum of h-cell area [m2]. :typefield real iareat_global: Global sum of inverse h-cell area (1/areaT_global) [m-2]. :typefield type(unit_scale_type) us [pointer]: A dimensional unit scaling type. :typefield integer nblocks: The number of sub-PE blocks on this PE. :typefield type(hor_index_type)(\:) block [pointer]: Index ranges for each block. :typefield real south_lat: The latitude (or y-coordinate) of the first v-line. :typefield real west_lon: The longitude (or x-coordinate) of the first u-line. :typefield real len_lat: The latitudinal (or y-coord) extent of physical domain. :typefield real len_lon: The longitudinal (or x-coord) extent of physical domain. :typefield real rad_earth: The radius of the planet [m]. :typefield real max_depth: The maximum depth of the ocean in depth units [Z ~> m]. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine mom_grid_init(G, param_file, US, HI, global_indexing, bathymetry_at_vel) MOM_grid_init initializes the ocean grid array sizes and grid memory. :param g: [inout] The horizontal grid type :param param_file: [in] Parameter file handle :param us: A dimensional unit scaling type :param hi: [in] A hor_index_type for array extents :param global_indexing: [in] If true use global index values instead of having the data domain on each processor start at 1. :param bathymetry_at_vel: [in] If true, there are separate values for the ocean bottom depths at velocity points. Otherwise the effects of topography are entirely determined from thickness points. :callto: :f:func:`allocate_metrics ` :callto: :f:func:`mom_domains::get_domain_extent_dsamp2 ` :callto: :f:func:`mom_hor_index::hor_index_init ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` :calledfrom: :f:func:`mom_ice_shelf::initialize_ice_shelf ` .. f:subroutine:: subroutine rescale_grid_bathymetry(G, m_in_new_units) rescale_grid_bathymetry permits a change in the internal units for the bathymetry on the grid, both rescaling the depths and recording the new internal units. :param g: [inout] The horizontal grid structure :param m_in_new_units: [in] The new internal representation of 1 m depth. :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine set_derived_metrics(G, US) set_derived_metrics calculates metric terms that are derived from other metrics. :param g: [inout] The horizontal grid structure :param us: [in] A dimensional unit scaling type :callto: :f:func:`adcroft_reciprocal ` :calledfrom: :f:func:`mom_transcribe_grid::copy_dyngrid_to_mom_grid ` .. f:function:: real function adcroft_reciprocal(val) Adcroft_reciprocal(x) = 1/x for |x|>0 or 0 for x=0. :param val: [in] The value being inverted. :returns undefined: The Adcroft reciprocal of val. :calledfrom: :f:func:`set_derived_metrics ` .. f:function:: logical function ispointincell(G, i, j, x, y) Returns true if the coordinates (x,y) are within the h-cell (i,j) :param g: [in] Grid type :param i: [in] i index of cell to test :param j: [in] j index of cell to test :param x: [in] x coordinate of point :param y: [in] y coordinate of point .. f:subroutine:: subroutine set_first_direction(G, y_first) Store an integer indicating which direction to work on first. :param g: [inout] The ocean's grid structure :param y_first: [in] The first direction to store :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine get_global_grid_size(G, niglobal, njglobal) Return global shape of horizontal grid. :param g: [inout] The horizontal grid type :param niglobal: [out] i-index global size of grid :param njglobal: [out] j-index global size of grid :callto: :f:func:`mom_domains::get_global_shape ` .. f:subroutine:: subroutine allocate_metrics(G) Allocate memory used by the :f:func:`ocean_grid_type` and related structures. and related structures. :param g: [inout] The horizontal grid type :calledfrom: :f:func:`mom_grid_init ` .. f:subroutine:: subroutine mom_grid_end(G) Release memory used by the :f:func:`ocean_grid_type` and related structures. and related structures. :param g: [inout] The horizontal grid type [debug] xpath(./compounddef/compoundname[text()="mom_grid::ocean_grid_type"]/..) match([('id', 'structmom__grid_1_1ocean__grid__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__grid) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__grid'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_grid::ocean_grid_type', , {}, ['', 'Ocean [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_grid::ocean_grid_type', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_grid::ocean_grid_type', , {}, ['', 'Ocean [debug] DoxygenMethodDocumenter format_signature called ((G, param_file, US, HI, global_indexing, bathymetry_at_vel)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::mom_grid_init', , {}, ['', 'MOM_grid_ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::mom_grid_init', , {}, ['', 'MOM_grid_ [debug] DoxygenMethodDocumenter format_signature called ((G, m_in_new_units)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::rescale_grid_bathymetry', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::rescale_grid_bathymetry', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((G, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::set_derived_metrics', , {}, ['', 'set [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::set_derived_metrics', , {}, ['', 'set [debug] DoxygenMethodDocumenter format_signature called ((val)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::adcroft_reciprocal', , {}, ['', 'Adcr [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::adcroft_reciprocal', , {}, ['', 'Adcr [debug] DoxygenMethodDocumenter format_signature called ((G, i, j, x, y)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::ispointincell', , {}, ['', 'Returns t [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::ispointincell', , {}, ['', 'Returns t [debug] DoxygenMethodDocumenter format_signature called ((G, y_first)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::set_first_direction', , {}, ['', 'Sto [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::set_first_direction', , {}, ['', 'Sto [debug] DoxygenMethodDocumenter format_signature called ((G, niglobal, njglobal)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::get_global_grid_size', , {}, ['', 'Re [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::get_global_grid_size', , {}, ['', 'Re [debug] DoxygenMethodDocumenter format_signature called ((G)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__grid_1_1ocean__grid__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__grid_1_1ocean__grid__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::allocate_metrics', , {}, ['', 'Alloca [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::allocate_metrics', , {}, ['', 'Alloca [debug] DoxygenMethodDocumenter format_signature called ((G)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__grid_1_1ocean__grid__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__grid_1_1ocean__grid__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::mom_grid_end', , {}, ['', 'Release me [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid::mom_grid_end', , {}, ['', 'Release me [fd] run(.. f:type:: ocean_grid_type) [fd] sig(ocean_grid_type) [fd] ftype(None) objtype(None) modname(None) typename() name(ocean_grid_type) arglist(None) [fd] fullname(mom_grid/ocean_grid_type) ftype(None) [fd] name(('mom_grid/ocean_grid_type', None)) sig(ocean_grid_type) signode(type mom_grid/ocean_grid_type) [fd] run(.. f:subroutine:: subroutine mom_grid_init(G, param_file, US, HI, global_indexing, bathymetry_at_vel)) [fd] sig(subroutine mom_grid_init(G, param_file, US, HI, global_indexing, bathymetry_at_vel)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_grid_init) arglist(G, param_file, US, HI, global_indexing, bathymetry_at_vel) [fd] fullname(mom_grid/mom_grid_init) ftype(None) [fd] name(('mom_grid/mom_grid_init', None)) sig(subroutine mom_grid_init(G, param_file, US, HI, global_indexing, bathymetry_at_vel)) signode(subroutine mom_grid/mom_grid_initGparam_fileUSHIglobal_indexingbathymetry_at_vel) [fd] run(.. f:subroutine:: subroutine rescale_grid_bathymetry(G, m_in_new_units)) [fd] sig(subroutine rescale_grid_bathymetry(G, m_in_new_units)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rescale_grid_bathymetry) arglist(G, m_in_new_units) [fd] fullname(mom_grid/rescale_grid_bathymetry) ftype(None) [fd] name(('mom_grid/rescale_grid_bathymetry', None)) sig(subroutine rescale_grid_bathymetry(G, m_in_new_units)) signode(subroutine mom_grid/rescale_grid_bathymetryGm_in_new_units) [fd] run(.. f:subroutine:: subroutine set_derived_metrics(G, US)) [fd] sig(subroutine set_derived_metrics(G, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_derived_metrics) arglist(G, US) [fd] fullname(mom_grid/set_derived_metrics) ftype(None) [fd] name(('mom_grid/set_derived_metrics', None)) sig(subroutine set_derived_metrics(G, US)) signode(subroutine mom_grid/set_derived_metricsGUS) [fd] run(.. f:function:: real function adcroft_reciprocal(val)) [fd] sig(real function adcroft_reciprocal(val)) [fd] ftype(real) objtype(function) modname(None) typename() name(adcroft_reciprocal) arglist(val) [fd] fullname(mom_grid/adcroft_reciprocal) ftype(real) [fd] name(('mom_grid/adcroft_reciprocal', 'real')) sig(real function adcroft_reciprocal(val)) signode(function mom_grid/adcroft_reciprocalval [real]) [fd] run(.. f:function:: logical function ispointincell(G, i, j, x, y)) [fd] sig(logical function ispointincell(G, i, j, x, y)) [fd] ftype(logical) objtype(function) modname(None) typename() name(ispointincell) arglist(G, i, j, x, y) [fd] fullname(mom_grid/ispointincell) ftype(logical) [fd] name(('mom_grid/ispointincell', 'logical')) sig(logical function ispointincell(G, i, j, x, y)) signode(function mom_grid/ispointincellGijxy [logical]) [fd] run(.. f:subroutine:: subroutine set_first_direction(G, y_first)) [fd] sig(subroutine set_first_direction(G, y_first)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_first_direction) arglist(G, y_first) [fd] fullname(mom_grid/set_first_direction) ftype(None) [fd] name(('mom_grid/set_first_direction', None)) sig(subroutine set_first_direction(G, y_first)) signode(subroutine mom_grid/set_first_directionGy_first) [fd] run(.. f:subroutine:: subroutine get_global_grid_size(G, niglobal, njglobal)) [fd] sig(subroutine get_global_grid_size(G, niglobal, njglobal)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_global_grid_size) arglist(G, niglobal, njglobal) [fd] fullname(mom_grid/get_global_grid_size) ftype(None) [fd] name(('mom_grid/get_global_grid_size', None)) sig(subroutine get_global_grid_size(G, niglobal, njglobal)) signode(subroutine mom_grid/get_global_grid_sizeGniglobalnjglobal) [fd] run(.. f:subroutine:: subroutine allocate_metrics(G)) [fd] sig(subroutine allocate_metrics(G)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(allocate_metrics) arglist(G) [fd] fullname(mom_grid/allocate_metrics) ftype(None) [fd] name(('mom_grid/allocate_metrics', None)) sig(subroutine allocate_metrics(G)) signode(subroutine mom_grid/allocate_metricsG) [fd] run(.. f:subroutine:: subroutine mom_grid_end(G)) [fd] sig(subroutine mom_grid_end(G)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_grid_end) arglist(G) [fd] fullname(mom_grid/mom_grid_end) ftype(None) [fd] name(('mom_grid/mom_grid_end', None)) sig(subroutine mom_grid_end(G)) signode(subroutine mom_grid/mom_grid_endG) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 36%] api/generated/modules/mom_grid_initialize [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_grid_ini [app] emitting event: 'source-read'('api/generated/modules/mom_grid_initialize', ['.. autodoxymodule:: mom_grid_initialize\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_grid_initialize.rst:1: input: .. autodoxymodule:: mom_grid_initialize :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_grid_initialize::gps --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_grid_initialize::set_grid_metrics ~mom_grid_initialize::grid_metrics_chksum ~mom_grid_initialize::set_grid_metrics_from_mosaic ~mom_grid_initialize::set_grid_metrics_cartesian ~mom_grid_initialize::set_grid_metrics_spherical ~mom_grid_initialize::set_grid_metrics_mercator ~mom_grid_initialize::ds_di ~mom_grid_initialize::ds_dj ~mom_grid_initialize::dl ~mom_grid_initialize::find_root ~mom_grid_initialize::dx_di ~mom_grid_initialize::int_di_dx ~mom_grid_initialize::dy_dj ~mom_grid_initialize::int_dj_dy ~mom_grid_initialize::extrapolate_metric ~mom_grid_initialize::adcroft_reciprocal ~mom_grid_initialize::initialize_masks [debug] xpath(./compounddef/compoundname[text()="mom_grid_initialize"]/..) match([('id', 'namespacemom__grid__initialize'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_grid_initialize module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_grid_initialize', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_grid_initialize' (exception was: ModuleNotFoundError("No module named 'mom_grid_initialize'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_grid_initialize::gps', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('grid_metrics_chksum', ), ('set_grid_metrics_from_mosaic', ), ('set_grid_metrics_cartesian', ), ('set_grid_metrics_spherical', ), ('set_grid_metrics_mercator', ), ('ds_di', ), ('ds_dj', ), ('dl', ), ('find_root', ), ('dx_di', ), ('int_di_dx', ), ('dy_dj', ), ('int_dj_dy', ), ('extrapolate_metric', ), ('adcroft_reciprocal', ), ('initialize_masks', )]) [autodoc] module analyzer failed: error importing 'mom_grid_initialize' (exception was: ModuleNotFoundError("No module named 'mom_grid_initialize'")) [debug] DoxygenMethodDocumenter format_signature called ((G, param_file, US)) [debug] add_directive_header sig((G, param_file, US)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine set_grid_metrics) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_grid_metrics', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_grid_initialize::gps --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_grid_initialize::set_grid_metrics ~mom_grid_initialize::grid_metrics_chksum ~mom_grid_initialize::set_grid_metrics_from_mosaic ~mom_grid_initialize::set_grid_metrics_cartesian ~mom_grid_initialize::set_grid_metrics_spherical ~mom_grid_initialize::set_grid_metrics_mercator ~mom_grid_initialize::ds_di ~mom_grid_initialize::ds_dj ~mom_grid_initialize::dl ~mom_grid_initialize::find_root ~mom_grid_initialize::dx_di ~mom_grid_initialize::int_di_dx ~mom_grid_initialize::dy_dj ~mom_grid_initialize::int_dj_dy ~mom_grid_initialize::extrapolate_metric ~mom_grid_initialize::adcroft_reciprocal ~mom_grid_initialize::initialize_masks .. _DETAmom_grid_initialize: -------------------- Detailed Description -------------------- The metric terms have the form Dzp, IDzp, or DXDYp, where z can be X or Y, and p can be q, u, v, or h. z describes the direction of the metric, while p describes the location. IDzp is the inverse of Dzp, while DXDYp is the product of DXp and DYp except that areaT is calculated analytically from the latitudes and longitudes of the surrounding q points. On a sphere, a variety of grids can be implemented by defining analytic expressions for dx_di, dy_dj (where x and y are latitude and longitude, and i and j are grid indices) and the expressions for the integrals of their inverses in the four subroutines dy_dj, Int_dj_dy, dx_di, and Int_di_dx. initialize_masks sets up land masks based on the depth field. The one argument is the minimum ocean depth. Depths that are less than this are interpreted as land points. ------------------ Type Documentation ------------------ .. f:type:: gps Global positioning system (aka container for information to describe the grid) :typefield real len_lon: The longitudinal or x-direction length of the domain. :typefield real len_lat: The latitudinal or y-direction length of the domain. :typefield real west_lon: The western longitude of the domain or the equivalent starting value for the x-axis. :typefield real south_lat: The southern latitude of the domain or the equivalent starting value for the y-axis. :typefield real rad_earth: The radius of the Earth [m]. :typefield real lat_enhance_factor: The amount by which the meridional resolution is enhanced within LAT_EQ_ENHANCE of the equator. :typefield real lat_eq_enhance: The latitude range to the north and south of the equator over which the resolution is enhanced, in degrees. :typefield logical isotropic: If true, an isotropic grid on a sphere (also known as a Mercator grid) is used. With an isotropic grid, the meridional extent of the domain (LENLAT), the zonal extent (LENLON), and the number of grid points in each direction are :typefield logical equator_reference: If true, the grid is defined to have the equator at the nearest q- or h- grid point to (-LOWLAT*NJGLOBAL/LENLAT). :typefield integer niglobal: The number of i-points in the global grid computational domain. :typefield integer njglobal: The number of j-points in the global grid computational domain. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine set_grid_metrics(G, param_file, US) set_grid_metrics is used to set the primary values in the model's horizontal grid. The bathymetry, land-sea mask and any restricted channel widths are not known yet, so these are set later. :param g: [inout] The dynamic horizontal grid type :param param_file: [in] Parameter file structure :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`grid_metrics_chksum ` :callto: :f:func:`mom_dyn_horgrid::set_derived_dyn_horgrid ` :callto: :f:func:`set_grid_metrics_cartesian ` :callto: :f:func:`set_grid_metrics_from_mosaic ` :callto: :f:func:`set_grid_metrics_mercator ` :callto: :f:func:`set_grid_metrics_spherical ` :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` :calledfrom: :f:func:`mom_ice_shelf::initialize_ice_shelf ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_fixed ` .. f:subroutine:: subroutine grid_metrics_chksum(parent, G, US) grid_metrics_chksum performs a set of checksums on metrics on the grid for debugging. :param parent: [in] A string identifying the caller :param g: [in] The dynamic horizontal grid type :param us: [in] A dimensional unit scaling type :calledfrom: :f:func:`set_grid_metrics ` .. f:subroutine:: subroutine set_grid_metrics_from_mosaic(G, param_file, US) Sets the grid metrics from a mosaic file. :param g: [inout] The dynamic horizontal grid type :param param_file: [in] Parameter file structure :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`extrapolate_metric ` :calledfrom: :f:func:`set_grid_metrics ` .. f:subroutine:: subroutine set_grid_metrics_cartesian(G, param_file, US) Calculate the values of the metric terms for a Cartesian grid that might be used and save them in arrays. Within this subroutine, the x- and y- grid spacings and their inverses and the cell areas centered on h, q, u, and v points are calculated, as are the geographic locations of each of these 4 sets of points. :param g: [inout] The dynamic horizontal grid type :param param_file: [in] Parameter file structure :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`set_grid_metrics ` .. f:subroutine:: subroutine set_grid_metrics_spherical(G, param_file, US) Calculate the values of the metric terms that might be used and save them in arrays. Within this subroutine, the x- and y- grid spacings and their inverses and the cell areas centered on h, q, u, and v points are calculated, as are the geographic locations of each of these 4 sets of points. :param g: [inout] The dynamic horizontal grid type :param param_file: [in] Parameter file structure :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`set_grid_metrics ` .. f:subroutine:: subroutine set_grid_metrics_mercator(G, param_file, US) Calculate the values of the metric terms that might be used and save them in arrays. Within this subroutine, the x- and y- grid spacings and their inverses and the cell areas centered on h, q, u, and v points are calculated, as are the geographic locations of each of these 4 sets of points. :param g: [inout] The dynamic horizontal grid type :param param_file: [in] Parameter file structure :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`dl
` :callto: :f:func:`ds_di ` :callto: :f:func:`ds_dj ` :callto: :f:func:`dx_di ` :callto: :f:func:`dy_dj ` :callto: :f:func:`find_root ` :callto: :f:func:`int_di_dx ` :callto: :f:func:`int_dj_dy ` :calledfrom: :f:func:`set_grid_metrics ` .. f:function:: real function ds_di(x, y, GP) This function returns the grid spacing in the logical x direction. :param x: [in] The longitude in question :param y: [in] The latitude in question :param gp: [in] A structure of grid parameters :callto: :f:func:`dx_di ` :calledfrom: :f:func:`set_grid_metrics_mercator ` .. f:function:: real function ds_dj(x, y, GP) This function returns the grid spacing in the logical y direction. :param x: [in] The longitude in question :param y: [in] The latitude in question :param gp: [in] A structure of grid parameters :callto: :f:func:`dy_dj ` :calledfrom: :f:func:`set_grid_metrics_mercator ` .. f:function:: real function dl(x1, x2, y1, y2) This function returns the contribution from the line integral along one of the four sides of a cell face to the area of a cell, assuming that the sides follow a linear path in latitude and longitude (i.e., on a Mercator grid). :param x1: [in] Segment starting longitude, in degrees E. :param x2: [in] Segment ending longitude, in degrees E. :param y1: [in] Segment ending latitude, in degrees N. :param y2: [in] Segment ending latitude, in degrees N. :calledfrom: :f:func:`set_grid_metrics_mercator ` .. f:function:: real function find_root(fn, dy_df, GP, fnval, y1, ymin, ymax, ittmax) This subroutine finds and returns the value of y at which the monotonically increasing function fn takes the value fnval, also returning in ittmax the number of iterations of Newton's method that were used to polish the root. :returns undefined: The value of y where fn(y) = fnval that will be returned :param fn: The external function whose root is being sought :param dy_df: The inverse of the derivative of that function :param gp: [in] A structure of grid parameters :param fnval: [in] The value of fn being sought :param y1: [in] A first guess for y :param ymin: [in] The minimum permitted value of y :param ymax: [in] The maximum permitted value of y :param ittmax: [out] The number of iterations used to polish the root :calledfrom: :f:func:`set_grid_metrics_mercator ` .. f:function:: real function dx_di(x, GP) This function calculates and returns the value of dx/di, where x is the longitude in Radians, and i is the integral north-south grid index. :param x: [in] The longitude in question :param gp: [in] A structure of grid parameters :calledfrom: :f:func:`ds_di ` :calledfrom: :f:func:`set_grid_metrics_mercator ` .. f:function:: real function int_di_dx(x, GP) This function calculates and returns the integral of the inverse of dx/di to the point x, in radians. :param x: [in] The longitude in question :param gp: [in] A structure of grid parameters :calledfrom: :f:func:`set_grid_metrics_mercator ` .. f:function:: real function dy_dj(y, GP) This subroutine calculates and returns the value of dy/dj, where y is the latitude in Radians, and j is the integral north-south grid index. :param y: [in] The latitude in question :param gp: [in] A structure of grid parameters :calledfrom: :f:func:`ds_dj ` :calledfrom: :f:func:`set_grid_metrics_mercator ` .. f:function:: real function int_dj_dy(y, GP) This subroutine calculates and returns the integral of the inverse of dy/dj to the point y, in radians. :param y: [in] The latitude in question :param gp: [in] A structure of grid parameters :calledfrom: :f:func:`set_grid_metrics_mercator ` .. f:subroutine:: subroutine extrapolate_metric(var, jh, missing) Extrapolates missing metric data into all the halo regions. :param var: [inout] The array in which to fill in halos :param jh: [in] The size of the halos to be filled :param missing: [in] The missing data fill value, 0 by default. :calledfrom: :f:func:`set_grid_metrics_from_mosaic ` .. f:function:: real function adcroft_reciprocal(val) This function implements Adcroft's rule for reciprocals, namely that Adcroft_Inv(x) = 1/x for |x|>0 or 0 for x=0. :param val: [in] The value being inverted. :returns undefined: The Adcroft reciprocal of val. :calledfrom: :f:func:`initialize_masks ` .. f:subroutine:: subroutine initialize_masks(G, PF, US) Initializes the grid masks and any metrics that come with masks already applied. Initialize_masks sets mask2dT, mask2dCu, mask2dCv, and mask2dBu to mask out flow over any points which are shallower than Dmin and permit an appropriate treatment of the boundary conditions. mask2dCu and mask2dCv are 0.0 at any points adjacent to a land point. mask2dBu is 0.0 at any land or boundary point. For points in the interior, mask2dCu, mask2dCv, and mask2dBu are all 1.0. :param g: [inout] The dynamic horizontal grid type :param pf: [in] Parameter file structure :param us: [in] A dimensional unit scaling type :callto: :f:func:`adcroft_reciprocal ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_fixed ` [debug] xpath(./compounddef/compoundname[text()="mom_grid_initialize::gps"]/..) match([('id', 'structmom__grid__initialize_1_1gps'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_grid_initialize::gps', , {}, ['', 'Global [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_grid_initialize::gps', , {}, ['`More... < [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_grid_initialize::gps', , {}, ['', 'Global [debug] DoxygenMethodDocumenter format_signature called ((G, param_file, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::set_grid_metrics', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::set_grid_metrics', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((parent, G, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::grid_metrics_chksum', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::grid_metrics_chksum', , {} [debug] DoxygenMethodDocumenter format_signature called ((G, param_file, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::set_grid_metrics_from_mosaic', , {}, ['', 'This f [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::ds_di', , {}, ['', 'This f [debug] DoxygenMethodDocumenter format_signature called ((x, y, GP)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::ds_dj', , {}, ['', 'This f [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::ds_dj', , {}, ['', 'This f [debug] DoxygenMethodDocumenter format_signature called ((x1, x2, y1, y2)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::dl', , {}, ['', 'This func [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::dl', , {}, ['', 'This func [debug] DoxygenMethodDocumenter format_signature called ((fn, dy_df, GP, fnval, y1, ymin, ymax, ittmax)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::find_root', , {}, ['', "Th [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::find_root', , {}, ['', "Th [debug] DoxygenMethodDocumenter format_signature called ((x, GP)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::dx_di', , {}, ['', 'This f [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::dx_di', , {}, ['', 'This f [debug] DoxygenMethodDocumenter format_signature called ((x, GP)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::int_di_dx', , {}, ['', 'Th [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::int_di_dx', , {}, ['', 'Th [debug] DoxygenMethodDocumenter format_signature called ((y, GP)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::dy_dj', , {}, ['', 'This s [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::dy_dj', , {}, ['', 'This s [debug] DoxygenMethodDocumenter format_signature called ((y, GP)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::int_dj_dy', , {}, ['', 'Th [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::int_dj_dy', , {}, ['', 'Th [debug] DoxygenMethodDocumenter format_signature called ((var, jh, missing)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::extrapolate_metric', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::extrapolate_metric', , {}, [debug] DoxygenMethodDocumenter format_signature called ((val)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::adcroft_reciprocal', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::adcroft_reciprocal', , {}, [debug] DoxygenMethodDocumenter format_signature called ((G, PF, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::initialize_masks', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_grid_initialize::initialize_masks', , {}, [ [fd] run(.. f:type:: gps) [fd] sig(gps) [fd] ftype(None) objtype(None) modname(None) typename() name(gps) arglist(None) [fd] fullname(mom_grid_initialize/gps) ftype(None) [fd] name(('mom_grid_initialize/gps', None)) sig(gps) signode(type mom_grid_initialize/gps) [fd] run(.. f:subroutine:: subroutine set_grid_metrics(G, param_file, US)) [fd] sig(subroutine set_grid_metrics(G, param_file, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_grid_metrics) arglist(G, param_file, US) [fd] fullname(mom_grid_initialize/set_grid_metrics) ftype(None) [fd] name(('mom_grid_initialize/set_grid_metrics', None)) sig(subroutine set_grid_metrics(G, param_file, US)) signode(subroutine mom_grid_initialize/set_grid_metricsGparam_fileUS) [fd] run(.. f:subroutine:: subroutine grid_metrics_chksum(parent, G, US)) [fd] sig(subroutine grid_metrics_chksum(parent, G, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(grid_metrics_chksum) arglist(parent, G, US) [fd] fullname(mom_grid_initialize/grid_metrics_chksum) ftype(None) [fd] name(('mom_grid_initialize/grid_metrics_chksum', None)) sig(subroutine grid_metrics_chksum(parent, G, US)) signode(subroutine mom_grid_initialize/grid_metrics_chksumparentGUS) [fd] run(.. f:subroutine:: subroutine set_grid_metrics_from_mosaic(G, param_file, US)) [fd] sig(subroutine set_grid_metrics_from_mosaic(G, param_file, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_grid_metrics_from_mosaic) arglist(G, param_file, US) [fd] fullname(mom_grid_initialize/set_grid_metrics_from_mosaic) ftype(None) [fd] name(('mom_grid_initialize/set_grid_metrics_from_mosaic', None)) sig(subroutine set_grid_metrics_from_mosaic(G, param_file, US)) signode(subroutine mom_grid_initialize/set_grid_metrics_from_mosaicGparam_fileUS) [fd] run(.. f:subroutine:: subroutine set_grid_metrics_cartesian(G, param_file, US)) [fd] sig(subroutine set_grid_metrics_cartesian(G, param_file, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_grid_metrics_cartesian) arglist(G, param_file, US) [fd] fullname(mom_grid_initialize/set_grid_metrics_cartesian) ftype(None) [fd] name(('mom_grid_initialize/set_grid_metrics_cartesian', None)) sig(subroutine set_grid_metrics_cartesian(G, param_file, US)) signode(subroutine mom_grid_initialize/set_grid_metrics_cartesianGparam_fileUS) [fd] run(.. f:subroutine:: subroutine set_grid_metrics_spherical(G, param_file, US)) [fd] sig(subroutine set_grid_metrics_spherical(G, param_file, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_grid_metrics_spherical) arglist(G, param_file, US) [fd] fullname(mom_grid_initialize/set_grid_metrics_spherical) ftype(None) [fd] name(('mom_grid_initialize/set_grid_metrics_spherical', None)) sig(subroutine set_grid_metrics_spherical(G, param_file, US)) signode(subroutine mom_grid_initialize/set_grid_metrics_sphericalGparam_fileUS) [fd] run(.. f:subroutine:: subroutine set_grid_metrics_mercator(G, param_file, US)) [fd] sig(subroutine set_grid_metrics_mercator(G, param_file, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_grid_metrics_mercator) arglist(G, param_file, US) [fd] fullname(mom_grid_initialize/set_grid_metrics_mercator) ftype(None) [fd] name(('mom_grid_initialize/set_grid_metrics_mercator', None)) sig(subroutine set_grid_metrics_mercator(G, param_file, US)) signode(subroutine mom_grid_initialize/set_grid_metrics_mercatorGparam_fileUS) [fd] run(.. f:function:: real function ds_di(x, y, GP)) [fd] sig(real function ds_di(x, y, GP)) [fd] ftype(real) objtype(function) modname(None) typename() name(ds_di) arglist(x, y, GP) [fd] fullname(mom_grid_initialize/ds_di) ftype(real) [fd] name(('mom_grid_initialize/ds_di', 'real')) sig(real function ds_di(x, y, GP)) signode(function mom_grid_initialize/ds_dixyGP [real]) [fd] run(.. f:function:: real function ds_dj(x, y, GP)) [fd] sig(real function ds_dj(x, y, GP)) [fd] ftype(real) objtype(function) modname(None) typename() name(ds_dj) arglist(x, y, GP) [fd] fullname(mom_grid_initialize/ds_dj) ftype(real) [fd] name(('mom_grid_initialize/ds_dj', 'real')) sig(real function ds_dj(x, y, GP)) signode(function mom_grid_initialize/ds_djxyGP [real]) [fd] run(.. f:function:: real function dl(x1, x2, y1, y2)) [fd] sig(real function dl(x1, x2, y1, y2)) [fd] ftype(real) objtype(function) modname(None) typename() name(dl) arglist(x1, x2, y1, y2) [fd] fullname(mom_grid_initialize/dl) ftype(real) [fd] name(('mom_grid_initialize/dl', 'real')) sig(real function dl(x1, x2, y1, y2)) signode(function mom_grid_initialize/dlx1x2y1y2 [real]) [fd] run(.. f:function:: real function find_root(fn, dy_df, GP, fnval, y1, ymin, ymax, ittmax)) [fd] sig(real function find_root(fn, dy_df, GP, fnval, y1, ymin, ymax, ittmax)) [fd] ftype(real) objtype(function) modname(None) typename() name(find_root) arglist(fn, dy_df, GP, fnval, y1, ymin, ymax, ittmax) [fd] fullname(mom_grid_initialize/find_root) ftype(real) [fd] name(('mom_grid_initialize/find_root', 'real')) sig(real function find_root(fn, dy_df, GP, fnval, y1, ymin, ymax, ittmax)) signode(function mom_grid_initialize/find_rootfndy_dfGPfnvaly1yminymaxittmax [real]) [fd] run(.. f:function:: real function dx_di(x, GP)) [fd] sig(real function dx_di(x, GP)) [fd] ftype(real) objtype(function) modname(None) typename() name(dx_di) arglist(x, GP) [fd] fullname(mom_grid_initialize/dx_di) ftype(real) [fd] name(('mom_grid_initialize/dx_di', 'real')) sig(real function dx_di(x, GP)) signode(function mom_grid_initialize/dx_dixGP [real]) [fd] run(.. f:function:: real function int_di_dx(x, GP)) [fd] sig(real function int_di_dx(x, GP)) [fd] ftype(real) objtype(function) modname(None) typename() name(int_di_dx) arglist(x, GP) [fd] fullname(mom_grid_initialize/int_di_dx) ftype(real) [fd] name(('mom_grid_initialize/int_di_dx', 'real')) sig(real function int_di_dx(x, GP)) signode(function mom_grid_initialize/int_di_dxxGP [real]) [fd] run(.. f:function:: real function dy_dj(y, GP)) [fd] sig(real function dy_dj(y, GP)) [fd] ftype(real) objtype(function) modname(None) typename() name(dy_dj) arglist(y, GP) [fd] fullname(mom_grid_initialize/dy_dj) ftype(real) [fd] name(('mom_grid_initialize/dy_dj', 'real')) sig(real function dy_dj(y, GP)) signode(function mom_grid_initialize/dy_djyGP [real]) [fd] run(.. f:function:: real function int_dj_dy(y, GP)) [fd] sig(real function int_dj_dy(y, GP)) [fd] ftype(real) objtype(function) modname(None) typename() name(int_dj_dy) arglist(y, GP) [fd] fullname(mom_grid_initialize/int_dj_dy) ftype(real) [fd] name(('mom_grid_initialize/int_dj_dy', 'real')) sig(real function int_dj_dy(y, GP)) signode(function mom_grid_initialize/int_dj_dyyGP [real]) [fd] run(.. f:subroutine:: subroutine extrapolate_metric(var, jh, missing)) [fd] sig(subroutine extrapolate_metric(var, jh, missing)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(extrapolate_metric) arglist(var, jh, missing) [fd] fullname(mom_grid_initialize/extrapolate_metric) ftype(None) [fd] name(('mom_grid_initialize/extrapolate_metric', None)) sig(subroutine extrapolate_metric(var, jh, missing)) signode(subroutine mom_grid_initialize/extrapolate_metricvarjhmissing) [fd] run(.. f:function:: real function adcroft_reciprocal(val)) [fd] sig(real function adcroft_reciprocal(val)) [fd] ftype(real) objtype(function) modname(None) typename() name(adcroft_reciprocal) arglist(val) [fd] fullname(mom_grid_initialize/adcroft_reciprocal) ftype(real) [fd] name(('mom_grid_initialize/adcroft_reciprocal', 'real')) sig(real function adcroft_reciprocal(val)) signode(function mom_grid_initialize/adcroft_reciprocalval [real]) [fd] run(.. f:subroutine:: subroutine initialize_masks(G, PF, US)) [fd] sig(subroutine initialize_masks(G, PF, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_masks) arglist(G, PF, US) [fd] fullname(mom_grid_initialize/initialize_masks) ftype(None) [fd] name(('mom_grid_initialize/initialize_masks', None)) sig(subroutine initialize_masks(G, PF, US)) signode(subroutine mom_grid_initialize/initialize_masksGPFUS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 37%] api/generated/modules/mom_hor_index [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_hor_inde [app] emitting event: 'source-read'('api/generated/modules/mom_hor_index', ['.. autodoxymodule:: mom_hor_index\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_hor_index.rst:1: input: .. autodoxymodule:: mom_hor_index :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_hor_index::hor_index_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_hor_index::hor_index_init ~mom_hor_index::hit_assign ~mom_hor_index::rotate_hor_index [debug] xpath(./compounddef/compoundname[text()="mom_hor_index"]/..) match([('id', 'namespacemom__hor__index'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_hor_index module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__hor__index_1_1hor__index__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__hor__index_1_1hor__index__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_hor_index', , {'members': , {'members': ]) [debug] ref([('id', 'structmom__hor__index_1_1hor__index__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__hor__index_1_1hor__index__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__hor__index_1_1hor__index__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_ref [debug] refid(Horizontal_Indexing) kindref(compound) ref([]) [debug] ref([('id', 'Horizontal_Indexing'), ('kind', 'page')]) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_hor_index', , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_hor_index' (exception was: ModuleNotFoundError("No module named 'mom_hor_index'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_hor_index::hor_index_type', , {'members': < [debug] members([('hor_index_init', ), ('hit_assign', ), ('rotate_hor_index', )]) [autodoc] module analyzer failed: error importing 'mom_hor_index' (exception was: ModuleNotFoundError("No module named 'mom_hor_index'")) [debug] DoxygenMethodDocumenter format_signature called ((Domain, HI, param_file, local_indexing, index_offset)) [debug] add_directive_header sig((Domain, HI, param_file, local_indexing, index_offset)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine hor_index_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__hor__index_1_1hor__index__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__hor__index_1_1hor__index__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'hor_index_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__hor__index_1_1hor__index__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'hit_assign', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_hor_index::hor_index_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_hor_index::hor_index_init ~mom_hor_index::hit_assign ~mom_hor_index::rotate_hor_index .. _DETAmom_hor_index: -------------------- Detailed Description -------------------- The :f:func:`hor_index_type` provides the declarations and loop ranges for almost all data with horizontal extent.provides the declarations and loop ranges for almost all data with horizontal extent. Declarations and loop ranges should always be coded with the symmetric memory model in mind. The non-symmetric memory mode will then also work, albeit with a different (less efficient) communication pattern. Using the :f:func:`hor_index_type` HI:HI: * declaration of h-point data is of the form ``h(HI%isd:HI%ied,HI%jsd:HI%jed)`` * declaration of q-point data is of the form ``q(HI%IsdB:HI%IedB,HI%JsdB:HI%JedB)`` * declaration of u-point data is of the form ``u(HI%IsdB:HI%IedB,HI%jsd:HI%jed)`` * declaration of v-point data is of the form ``v(HI%isd:HI%ied,HI%JsdB:HI%JedB)``. For more detail explanation of horizontal indexing see :ref:`Horizontal_Indexing`. ------------------ Type Documentation ------------------ .. f:type:: hor_index_type Container for horizontal index ranges for data, computational and global domains. :typefield integer isc: The start i-index of cell centers within the computational domain. :typefield integer iec: The end i-index of cell centers within the computational domain. :typefield integer jsc: The start j-index of cell centers within the computational domain. :typefield integer jec: The end j-index of cell centers within the computational domain. :typefield integer isd: The start i-index of cell centers within the data domain. :typefield integer ied: The end i-index of cell centers within the data domain. :typefield integer jsd: The start j-index of cell centers within the data domain. :typefield integer jed: The end j-index of cell centers within the data domain. :typefield integer isg: The start i-index of cell centers within the global domain. :typefield integer ieg: The end i-index of cell centers within the global domain. :typefield integer jsg: The start j-index of cell centers within the global domain. :typefield integer jeg: The end j-index of cell centers within the global domain. :typefield integer iscb: The start i-index of cell vertices within the computational domain. :typefield integer iecb: The end i-index of cell vertices within the computational domain. :typefield integer jscb: The start j-index of cell vertices within the computational domain. :typefield integer jecb: The end j-index of cell vertices within the computational domain. :typefield integer isdb: The start i-index of cell vertices within the data domain. :typefield integer iedb: The end i-index of cell vertices within the data domain. :typefield integer jsdb: The start j-index of cell vertices within the data domain. :typefield integer jedb: The end j-index of cell vertices within the data domain. :typefield integer isgb: The start i-index of cell vertices within the global domain. :typefield integer iegb: The end i-index of cell vertices within the global domain. :typefield integer jsgb: The start j-index of cell vertices within the global domain. :typefield integer jegb: The end j-index of cell vertices within the global domain. :typefield integer idg_offset: The offset between the corresponding global and local i-indices. :typefield integer jdg_offset: The offset between the corresponding global and local j-indices. :typefield logical symmetric: True if symmetric memory is used. :typefield integer niglobal: The global number of h-cells in the i-direction. :typefield integer njglobal: The global number of h-cells in the j-direction. :typefield integer turns: Number of quarter-turn rotations from input to model. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine hor_index_init(Domain, HI, param_file, local_indexing, index_offset) Sets various index values in a :f:func:`hor_index_type`. . :param domain: [in] The MOM domain from which to extract information. :param hi: [inout] A horizontal index type to populate with data :param param_file: [in] Parameter file handle :param local_indexing: [in] If true, all tracer data domains start at 1 :param index_offset: [in] A fixed additional offset to all indices :callto: :f:func:`mom_domains::get_domain_extent ` :callto: :f:func:`mom_domains::get_global_shape ` :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` :calledfrom: :f:func:`mom_grid::mom_grid_init ` .. f:subroutine:: subroutine hit_assign(HI1, HI2) HIT_assign copies one :f:func:`hor_index_type` into another. It is accessed via an assignment (=) operator. into another. It is accessed via an assignment (=) operator. :param hi1: [out] Horizontal index type to copy to :param hi2: [in] Horizontal index type to copy from .. f:subroutine:: subroutine rotate_hor_index(HI_in, turns, HI) Rotate the horizontal index ranges from the input to the output map. :param hi_in: [in] Unrotated horizontal indices :param turns: [in] Number of quarter turns :param hi: [inout] Rotated horizontal indices :calledfrom: :f:func:`mom_checksums::chksum_b_2d ` :calledfrom: :f:func:`mom_checksums::chksum_b_3d ` :calledfrom: :f:func:`mom_checksums::chksum_h_2d ` :calledfrom: :f:func:`mom_checksums::chksum_h_3d ` :calledfrom: :f:func:`mom_checksums::chksum_pair_b_2d ` :calledfrom: :f:func:`mom_checksums::chksum_pair_b_3d ` :calledfrom: :f:func:`mom_checksums::chksum_pair_h_2d ` :calledfrom: :f:func:`mom_checksums::chksum_pair_h_3d ` :calledfrom: :f:func:`mom_checksums::chksum_u_2d ` :calledfrom: :f:func:`mom_checksums::chksum_u_3d ` :calledfrom: :f:func:`mom_checksums::chksum_uv_2d ` :calledfrom: :f:func:`mom_checksums::chksum_uv_3d ` :calledfrom: :f:func:`mom_checksums::chksum_v_2d ` :calledfrom: :f:func:`mom_checksums::chksum_v_3d ` :calledfrom: :f:func:`mom::initialize_mom ` [debug] xpath(./compounddef/compoundname[text()="mom_hor_index::hor_index_type"]/..) match([('id', 'structmom__hor__index_1_1hor__index__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_hor_index::hor_index_type', , {}, ['', 'C [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_hor_index::hor_index_type', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_hor_index::hor_index_type', , {}, ['', 'C [debug] DoxygenMethodDocumenter format_signature called ((Domain, HI, param_file, local_indexing, index_offset)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__hor__index_1_1hor__index__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__hor__index_1_1hor__index__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_hor_index::hor_index_init', , {}, ['', 'Set [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_hor_index::hor_index_init', , {}, ['', 'Set [debug] DoxygenMethodDocumenter format_signature called ((HI1, HI2)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__hor__index_1_1hor__index__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__hor__index_1_1hor__index__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_hor_index::hit_assign', , {}, ['', 'HIT_ass [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_hor_index::hit_assign', , {}, ['', 'HIT_ass [debug] DoxygenMethodDocumenter format_signature called ((HI_in, turns, HI)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_hor_index::rotate_hor_index', , {}, ['', 'R [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_hor_index::rotate_hor_index', , {}, ['', 'R [fd] run(.. f:type:: hor_index_type) [fd] sig(hor_index_type) [fd] ftype(None) objtype(None) modname(None) typename() name(hor_index_type) arglist(None) [fd] fullname(mom_hor_index/hor_index_type) ftype(None) [fd] name(('mom_hor_index/hor_index_type', None)) sig(hor_index_type) signode(type mom_hor_index/hor_index_type) [fd] run(.. f:subroutine:: subroutine hor_index_init(Domain, HI, param_file, local_indexing, index_offset)) [fd] sig(subroutine hor_index_init(Domain, HI, param_file, local_indexing, index_offset)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(hor_index_init) arglist(Domain, HI, param_file, local_indexing, index_offset) [fd] fullname(mom_hor_index/hor_index_init) ftype(None) [fd] name(('mom_hor_index/hor_index_init', None)) sig(subroutine hor_index_init(Domain, HI, param_file, local_indexing, index_offset)) signode(subroutine mom_hor_index/hor_index_initDomainHIparam_filelocal_indexingindex_offset) [fd] run(.. f:subroutine:: subroutine hit_assign(HI1, HI2)) [fd] sig(subroutine hit_assign(HI1, HI2)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(hit_assign) arglist(HI1, HI2) [fd] fullname(mom_hor_index/hit_assign) ftype(None) [fd] name(('mom_hor_index/hit_assign', None)) sig(subroutine hit_assign(HI1, HI2)) signode(subroutine mom_hor_index/hit_assignHI1HI2) [fd] run(.. f:subroutine:: subroutine rotate_hor_index(HI_in, turns, HI)) [fd] sig(subroutine rotate_hor_index(HI_in, turns, HI)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_hor_index) arglist(HI_in, turns, HI) [fd] fullname(mom_hor_index/rotate_hor_index) ftype(None) [fd] name(('mom_hor_index/rotate_hor_index', None)) sig(subroutine rotate_hor_index(HI_in, turns, HI)) signode(subroutine mom_hor_index/rotate_hor_indexHI_inturnsHI) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 37%] api/generated/modules/mom_hor_visc [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_hor_visc [app] emitting event: 'source-read'('api/generated/modules/mom_hor_visc', ['.. autodoxymodule:: mom_hor_visc\n :members:\n :methods [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_hor_visc.rst:1: input: .. autodoxymodule:: mom_hor_visc :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_hor_visc::hor_visc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_hor_visc::horizontal_viscosity ~mom_hor_visc::hor_visc_init ~mom_hor_visc::align_aniso_tensor_to_grid ~mom_hor_visc::smooth_gme ~mom_hor_visc::hor_visc_end [debug] xpath(./compounddef/compoundname[text()="mom_hor_visc"]/..) match([('id', 'namespacemom__hor__visc'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_hor_visc module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_hor_visc', , {'members': , {'members': ]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__hor__visc_1ab3a26095634db15095b980e45137e1f1'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_hor_visc::horizontal_viscosity) node_name(None) [debug] method=visit_ref [debug] refid(namespacemom__hor__visc_1ab3a26095634db15095b980e45137e1f1) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__hor__visc_1ab3a26095634db15095b980e45137e1f1'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_hor_visc::horizontal_viscosity) node_name(None) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_sect1 [debug] visit_sect id(namespacemom__hor__visc_1section_horizontal_viscosity) title(Horizontal viscosity in MOM) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_sect2 [debug] visit_sect id(namespacemom__hor__visc_1section_laplacian_viscosity_coefficient) title(Laplacian viscosity coefficient) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_computeroutput [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_sect2 [debug] visit_sect id(namespacemom__hor__visc_1section_viscous_boundary_conditions) title(Viscous boundary conditions) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_sect2 [debug] visit_sect id(namespacemom__hor__visc_1section_anisotropic_viscosity) title(Anisotropic viscosity) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_sect2 [debug] visit_sect id(namespacemom__hor__visc_1section_viscous_discretization) title(Discretization) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_computeroutput [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_computeroutput [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_computeroutput [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_formula [debug] method=visit_sect2 [debug] visit_sect id(namespacemom__hor__visc_1section_viscous_refs) title(References) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_para [debug] method=visit_para [debug] method=visit_ulink [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_hor_visc', , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_hor_visc' (exception was: ModuleNotFoundError("No module named 'mom_hor_visc'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_hor_visc::hor_visc_cs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('hor_visc_init', ), ('align_aniso_tensor_to_grid', ), ('smooth_gme', ), ('hor_visc_end', )]) [autodoc] module analyzer failed: error importing 'mom_hor_visc' (exception was: ModuleNotFoundError("No module named 'mom_hor_visc'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, diffu, diffv, MEKE, VarMix, G, GV, US, CS, OBC, BT, TD, ADp)) [debug] add_directive_header sig((u, v, h, diffu, diffv, MEKE, VarMix, G, GV, US, CS, OBC, BT, TD, ADp)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine horizontal_viscosity) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'horizontal_viscosity', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__hor__visc_1ab3a26095634db15095b980e45137e1f1'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_hor_visc::horizontal_viscosity) node_name(None) [debug] method=visit_ref [debug] refid(namespacemom__hor__visc_1ab3a26095634db15095b980e45137e1f1) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__hor__visc_1ab3a26095634db15095b980e45137e1f1'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_hor_visc::horizontal_viscosity) node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'hor_visc_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_hor_visc::hor_visc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_hor_visc::horizontal_viscosity ~mom_hor_visc::hor_visc_init ~mom_hor_visc::align_aniso_tensor_to_grid ~mom_hor_visc::smooth_gme ~mom_hor_visc::hor_visc_end .. _DETAmom_hor_visc: -------------------- Detailed Description -------------------- This module contains the subroutine :f:func:`horizontal_viscosity() ` that calculates the effects of horizontal viscosity, including parameterizations of the value of the viscosity itself. that calculates the effects of horizontal viscosity, including parameterizations of the value of the viscosity itself. :f:func:`horizontal_viscosity() ` calculates the acceleration due to some combination of a biharmonic viscosity and a Laplacian viscosity. Either or both may use a coefficient that depends on the shear and strain of the flow. All metric terms are retained. The Laplacian is calculated as the divergence of a stress tensor, using the form suggested by Smagorinsky (1993). The biharmonic is calculated by twice applying the divergence of the stress tensor that is used to calculate the Laplacian, but without the dependence on thickness in the first pass. This form permits a variable viscosity, and indicates no acceleration for either resting fluid or solid body rotation.calculates the acceleration due to some combination of a biharmonic viscosity and a Laplacian viscosity. Either or both may use a coefficient that depends on the shear and strain of the flow. All metric terms are retained. The Laplacian is calculated as the divergence of a stress tensor, using the form suggested by Smagorinsky (1993). The biharmonic is calculated by twice applying the divergence of the stress tensor that is used to calculate the Laplacian, but without the dependence on thickness in the first pass. This form permits a variable viscosity, and indicates no acceleration for either resting fluid or solid body rotation. The form of the viscous accelerations is discussed extensively in Griffies and Hallberg (2000), and the implementation here follows that discussion closely. We use the notation of Smith and McWilliams (2003) with the exception that the isotropic viscosity is :math:`\kappa_h`. .. _namespacemom__hor__visc_1section_horizontal_viscosity: Horizontal viscosity in MOM =========================== In general, the horizontal stress tensor can be written as .. math:: {\bf \sigma} = \begin{pmatrix} \frac{1}{2} \left( \sigma_D + \sigma_T \right) & \frac{1}{2} \sigma_S \\\\ \frac{1}{2} \sigma_S & \frac{1}{2} \left( \sigma_D - \sigma_T \right) \end{pmatrix} where :math:`\sigma_D`, :math:`\sigma_T` and :math:`\sigma_S` are stresses associated with invariant factors in the strain-rate tensor. For a Newtonian fluid, the stress tensor is usually linearly related to the strain-rate tensor. The horizontal strain-rate tensor is .. math:: \dot{\bf e} = \begin{pmatrix} \frac{1}{2} \left( \dot{e}_D + \dot{e}_T \right) & \frac{1}{2} \dot{e}_S \\\\ \frac{1}{2} \dot{e}_S & \frac{1}{2} \left( \dot{e}_D - \dot{e}_T \right) \end{pmatrix} where :math:`\dot{e}_D = \partial_x u + \partial_y v` is the horizontal divergence, :math:`\dot{e}_T = \partial_x u - \partial_y v` is the horizontal tension, and :math:`\dot{e}_S = \partial_y u + \partial_x v` is the horizontal shear strain. The trace of the stress tensor, :math:`tr(\bf \sigma) = \sigma_D`, is usually absorbed into the pressure and only the deviatoric stress tensor considered. From here on, we drop :math:`\sigma_D`. The trace of the strain tensor, :math:`tr(\bf e) = \dot{e}_D` is non-zero for horizontally divergent flow but only enters the stress tensor through :math:`\sigma_D` and so we will drop :math:`\sigma_D` from calculations of the strain tensor in the code. Therefore the horizontal stress tensor can be considered to be .. math:: {\bf \sigma} = \begin{pmatrix} \frac{1}{2} \sigma_T & \frac{1}{2} \sigma_S \\\\ \frac{1}{2} \sigma_S & - \frac{1}{2} \sigma_T \end{pmatrix} . The stresses above are linearly related to the strain through a viscosity coefficient, :math:`\kappa_h`: .. math:: \begin{eqnarray*} \sigma_T & = & 2 \kappa_h \dot{e}_T \\\\ \sigma_S & = & 2 \kappa_h \dot{e}_S . \end{eqnarray*} The viscosity :math:`\kappa_h` may either be a constant or variable. For example, :math:`\kappa_h` may vary with the shear, as proposed by Smagorinsky (1993). The accelerations resulting form the divergence of the stress tensor are .. math:: \begin{eqnarray*} \hat{\bf x} \cdot \left( \nabla \cdot {\bf \sigma} \right) & = & \partial_x \left( \frac{1}{2} \sigma_T \right) + \partial_y \left( \frac{1}{2} \sigma_S \right) \\\\ & = & \partial_x \left( \kappa_h \dot{e}_T \right) + \partial_y \left( \kappa_h \dot{e}_S \right) \\\\ \hat{\bf y} \cdot \left( \nabla \cdot {\bf \sigma} \right) & = & \partial_x \left( \frac{1}{2} \sigma_S \right) + \partial_y \left( \frac{1}{2} \sigma_T \right) \\\\ & = & \partial_x \left( \kappa_h \dot{e}_S \right) + \partial_y \left( - \kappa_h \dot{e}_T \right) . \end{eqnarray*} The form of the Laplacian viscosity in general coordinates is: .. math:: \begin{eqnarray*} \hat{\bf x} \cdot \left( \nabla \cdot \sigma \right) & = & \frac{1}{h} \left[ \partial_x \left( \kappa_h h \dot{e}_T \right) + \partial_y \left( \kappa_h h \dot{e}_S \right) \right] \\\\ \hat{\bf y} \cdot \left( \nabla \cdot \sigma \right) & = & \frac{1}{h} \left[ \partial_x \left( \kappa_h h \dot{e}_S \right) - \partial_y \left( \kappa_h h \dot{e}_T \right) \right] . \end{eqnarray*} .. _namespacemom__hor__visc_1section_laplacian_viscosity_coefficient: Laplacian viscosity coefficient ------------------------------- The horizontal viscosity coefficient, :math:`\kappa_h`, can have multiple components. The isotropic components are: * A uniform background component, :math:`\kappa_{bg}`. * A constant but spatially variable 2D map, :math:`\kappa_{2d}(x,y)`. * A ''MICOM'' viscosity, :math:`U_\nu \Delta(x,y)`, which uses a constant velocity scale, :math:`U_\nu` and a measure of the grid-spacing :math:`\Delta(x,y)^2 = \frac{2 \Delta x^2 \Delta y^2}{\Delta x^2 + \Delta y^2}`. * A function of latitude, :math:`\kappa_{\phi}(x,y) = \kappa_{\pi/2} |\sin(\phi)|^n`. * A dynamic Smagorinsky viscosity, :math:`\kappa_{Sm}(x,y,t) = C_{Sm} \Delta^2 \sqrt{\dot{e}_T^2 + \dot{e}_S^2}`. * A dynamic Leith viscosity, :math:`\kappa_{Lth}(x,y,t) = C_{Lth} \Delta^3 \sqrt{|\nabla \zeta|^2 + |\nabla \dot{e}_D|^2}`. A maximum stable viscosity, :math:`\kappa_{max}(x,y)` is calculated based on the grid-spacing and time-step and used to clip calculated viscosities. The static components of :math:`\kappa_h` are first combined as follows: .. math:: \kappa_{static} = \min \left[ \max\left( \kappa_{bg}, U_\nu \Delta(x,y), \kappa_{2d}(x,y), \kappa_\phi(x,y) \right) , \kappa_{max}(x,y) \right] and stored in the module control structure as variables ``Kh_bg_xx`` and ``Kh_bg_xy`` for the tension (h-points) and shear (q-points) components respectively. The full viscosity includes the dynamic components as follows: .. math:: \kappa_h(x,y,t) = r(\Delta,L_d) \max \left( \kappa_{static}, \kappa_{Sm}, \kappa_{Lth} \right) where :math:`r(\Delta,L_d)` is a resolution function. The dynamic Smagorinsky and Leith viscosity schemes are exclusive with each other. .. _namespacemom__hor__visc_1section_viscous_boundary_conditions: Viscous boundary conditions --------------------------- Free slip boundary conditions have been coded, although no slip boundary conditions can be used with the Laplacian viscosity based on the 2D land-sea mask. For a western boundary, for example, the boundary conditions with the biharmonic operator would be written as: .. math:: \partial_x v = 0 ; \partial_x^3 v = 0 ; u = 0 ; \partial_x^2 u = 0 , while for a Laplacian operator, they are simply .. math:: \partial_x v = 0 ; u = 0 . These boundary conditions are largely dictated by the use of an Arakawa C-grid and by the varying layer thickness. .. _namespacemom__hor__visc_1section_anisotropic_viscosity: Anisotropic viscosity --------------------- Large et al., 2001, proposed enhancing viscosity in a particular direction and the approach was generalized in Smith and McWilliams, 2003. We use the second form of their two coefficient anisotropic viscosity (section 4.3). We also replace their :math:`A^\prime` and $D$ such that :math:`2A^\prime = 2 \kappa_h + D` and :math:`\kappa_a = D` so that :math:`\kappa_h` can be considered the isotropic viscosity and :math:`\kappa_a=D` can be consider the anisotropic viscosity. The direction of anisotropy is defined by a unit vector :math:`\hat{\bf n}=(n_1,n_2)`. The contributions to the stress tensor are .. math:: \begin{pmatrix} \sigma_T \\\\ \sigma_S \end{pmatrix} = \left[ \begin{pmatrix} 2 \kappa_h + \kappa_a & 0 \\\\ 0 & 2 \kappa_h \end{pmatrix} + 2 \kappa_a n_1 n_2 \begin{pmatrix} - 2 n_1 n_2 & n_1^2 - n_2^2 \\\\ n_1^2 - n_2^2 & 2 n_1 n_2 \end{pmatrix} \right] \begin{pmatrix} \dot{e}_T \\\\ \dot{e}_S \end{pmatrix} Dissipation of kinetic energy requires :math:`\kappa_h \geq 0` and :math:`2 \kappa_h + \kappa_a \geq 0`. Note that when anisotropy is aligned with the x-direction, :math:`n_1 = \pm 1`, then :math:`n_2 = 0` and the cross terms vanish. The accelerations in this aligned limit with constant coefficients become .. math:: \begin{eqnarray*} \hat{\bf x} \cdot \nabla \cdot {\bf \sigma} & = & \partial_x \left( \left( \kappa_h + \frac{1}{2} \kappa_a \right) \dot{e}_T \right) + \partial_y \left( \kappa_h \dot{e}_S \right) \\\\ & = & \left( \kappa_h + \kappa_a \right) \partial_{xx} u + \kappa_h \partial_{yy} u - \frac{1}{2} \kappa_a \partial_x \left( \partial_x u + \partial_y v \right) \\\\ \hat{\bf y} \cdot \nabla \cdot {\bf \sigma} & = & \partial_x \left( \kappa_h \dot{e}_S \right) - \partial_y \left( \left( \kappa_h + \frac{1}{2} \kappa_a \right) \dot{e}_T \right) \\\\ & = & \kappa_h \partial_{xx} v + \left( \kappa_h + \kappa_a \right) \partial_{yy} v - \frac{1}{2} \kappa_a \partial_y \left( \partial_x u + \partial_y v \right) \end{eqnarray*} which has contributions akin to a negative divergence damping (a divergence enhancement?) but which is weaker than the enhanced tension terms by half. .. _namespacemom__hor__visc_1section_viscous_discretization: Discretization -------------- The horizontal tension, :math:`\dot{e}_T`, is stored in variable ``sh_xx`` and discretized as .. math:: \dot{e}_T = \frac{\Delta y}{\Delta x} \delta_i \left( \frac{1}{\Delta y} u \right) - \frac{\Delta x}{\Delta y} \delta_j \left( \frac{1}{\Delta x} v \right) . The horizontal divergent strain, :math:`\dot{e}_D`, is stored in variable ``div_xx`` and discretized as .. math:: \dot{e}_D = \frac{1}{h A} \left( \delta_i \left( \overline{h}^i \Delta y \, u \right) + \delta_j \left( \overline{h}^j\Delta x \, v \right) \right) . Note that for expediency this is the exact discretization used in the continuity equation. The horizontal shear strain, :math:`\dot{e}_S`, is stored in variable ``sh_xy`` and discretized as .. math:: \dot{e}_S = v_x + u_y where .. math:: \begin{align*} v_x &= \frac{\Delta y}{\Delta x} \delta_i \left( \frac{1}{\Delta y} v \right) \\\\ u_y &= \frac{\Delta x}{\Delta y} \delta_j \left( \frac{1}{\Delta x} u \right) \end{align*} which are calculated separately so that no-slip or free-slip boundary conditions can be applied to :math:`v_x` and :math:`u_y` where appropriate. The tendency for the x-component of the divergence of stress is stored in variable ``diffu`` and discretized as .. math:: \hat{\bf x} \cdot \left( \nabla \cdot {\bf \sigma} \right) = \frac{1}{A \overline{h}^i} \left( \frac{1}{\Delta y} \delta_i \left( h \Delta y^2 \kappa_h \dot{e}_T \right) + \frac{1}{\Delta x} \delta_j \left( \tilde{h}^{ij} \Delta x^2 \kappa_h \dot{e}_S \right) \right) . The tendency for the y-component of the divergence of stress is stored in variable ``diffv`` and discretized as .. math:: \hat{\bf y} \cdot \left( \nabla \cdot {\bf \sigma} \right) = \frac{1}{A \overline{h}^j} \left( \frac{1}{\Delta y} \delta_i \left( \tilde{h}^{ij} \Delta y^2 A_M \dot{e}_S \right) - \frac{1}{\Delta x} \delta_j \left( h \Delta x^2 A_M \dot{e}_T \right) \right) . .. _namespacemom__hor__visc_1section_viscous_refs: References ---------- Griffies, S.M., and Hallberg, R.W., 2000: Biharmonic friction with a Smagorinsky-like viscosity for use in large-scale eddy-permitting ocean models. Monthly Weather Review, 128(8), 2935-2946. `https://doi.org/10.1175/1520-0493(2000)128%3C2935:BFWASL%3E2.0.CO;2 `_ Large, W.G., Danabasoglu, G., McWilliams, J.C., Gent, P.R. and Bryan, F.O., 2001: Equatorial circulation of a global ocean climate model with anisotropic horizontal viscosity. Journal of Physical Oceanography, 31(2), pp.518-536. `https://doi.org/10.1175/1520-0485(2001)031%3C0518:ECOAGO%3E2.0.CO;2 `_ Smagorinsky, J., 1993: Some historical remarks on the use of nonlinear viscosities. Large eddy simulation of complex engineering and geophysical flows, 1, 69-106. Smith, R.D., and McWilliams, J.C., 2003: Anisotropic horizontal viscosity for ocean models. Ocean Modelling, 5(2), 129-156. `https://doi.org/10.1016/S1463-5003(02)00016-1 `_ ------------------ Type Documentation ------------------ .. f:type:: hor_visc_cs Control structure for horizontal viscosity. :typefield integer id_grid_re_ah: Diagnostic id. :typefield integer id_grid_re_kh: Diagnostic id. :typefield integer id_diffu: Diagnostic id. :typefield integer id_diffv: Diagnostic id. :typefield integer id_hf_diffu_2d: Diagnostic id. :typefield integer id_hf_diffv_2d: Diagnostic id. :typefield integer id_ah_h: Diagnostic id. :typefield integer id_ah_q: Diagnostic id. :typefield integer id_kh_h: Diagnostic id. :typefield integer id_kh_q: Diagnostic id. :typefield integer id_gme_coeff_h: Diagnostic id. :typefield integer id_gme_coeff_q: Diagnostic id. :typefield integer id_vort_xy_q: Diagnostic id. :typefield integer id_div_xx_h: Diagnostic id. :typefield integer id_sh_xy_q: Diagnostic id. :typefield integer id_sh_xx_h: Diagnostic id. :typefield integer id_frictwork: Diagnostic id. :typefield integer id_frictworkintz: Diagnostic id. :typefield integer id_frictwork_gme: Diagnostic id. :typefield logical laplacian: Use a Laplacian horizontal viscosity if true. :typefield logical biharmonic: Use a biharmonic horizontal viscosity if true. :typefield logical debug: If true, write verbose checksums for debugging purposes. :typefield logical no_slip: If true, no slip boundary conditions are used. Otherwise free slip boundary conditions are assumed. The implementation of the free slip boundary conditions on a C-grid is much cleaner than the no slip boundary conditions. The use of free slip b.c.s is strongly encouraged. The no slip b.c.s are not implemented with the biharmonic viscosity. :typefield logical bound_kh: If true, the Laplacian coefficient is locally limited to guarantee stability. :typefield logical better_bound_kh: If true, use a more careful bounding of the Laplacian viscosity to guarantee stability. :typefield logical bound_ah: If true, the biharmonic coefficient is locally limited to guarantee stability. :typefield logical better_bound_ah: If true, use a more careful bounding of the biharmonic viscosity to guarantee stability. :typefield real re_ah: so that the biharmonic Reynolds number is equal to this. :typefield real bound_coef: The nondimensional coefficient of the ratio of the viscosity bounds to the theoretical maximum for stability without considering other terms [nondim]. The default is 0.8. :typefield logical smagorinsky_kh: If true, use Smagorinsky nonlinear eddy viscosity. KH is the background value. :typefield logical smagorinsky_ah: If true, use a biharmonic form of Smagorinsky nonlinear eddy viscosity. AH is the background. :typefield logical leith_kh: If true, use 2D Leith nonlinear eddy viscosity. KH is the background value. :typefield logical modified_leith: If true, use extra component of Leith viscosity to damp divergent flow. To use, still set Leith_Kh=.TRUE. :typefield logical use_beta_in_leith: If true, includes the beta term in the Leith viscosity. :typefield logical leith_ah: If true, use a biharmonic form of 2D Leith nonlinear eddy viscosity. AH is the background. :typefield logical use_qg_leith_visc: If true, use QG Leith nonlinear eddy viscosity. KH is the background value. :typefield logical bound_coriolis: If true & SMAGORINSKY_AH is used, the biharmonic viscosity is modified to include a term that scales quadratically with the velocity shears. :typefield logical use_kh_bg_2d: Read 2d background viscosity from a file. :typefield real kh_bg_min: The minimum value allowed for Laplacian horizontal viscosity [L2 T-1 ~> m2 s-1]. The default is 0.0. :typefield logical use_land_mask: Use the land mask for the computation of thicknesses at velocity locations. This eliminates the dependence on arbitrary values over land or outside of the domain. Default is False to maintain answers with legacy experiments but should be changed to True for new experiments. :typefield logical anisotropic: If true, allow anisotropic component to the viscosity. :typefield logical add_les_viscosity: If true, adds the viscosity from Smagorinsky and Leith to the background viscosity instead of taking the maximum. :typefield real kh_aniso: The anisotropic viscosity [L2 T-1 ~> m2 s-1]. :typefield logical dynamic_aniso: If true, the anisotropic viscosity is recomputed as a function of state. This is set depending on ANISOTROPIC_MODE. :typefield logical res_scale_meke: If true, the viscosity contribution from MEKE is scaled by the resolution function. :typefield logical use_gme: If true, use GME backscatter scheme. :typefield logical answers_2018: If true, use the order of arithmetic and expressions that recover the answers from the end of 2018. Otherwise, use updated and more robust forms of the same expressions. :typefield real gme_h0: The strength of GME tapers quadratically to zero when the bathymetric depth is shallower than GME_H0 [Z ~> m]. :typefield real gme_efficiency: The nondimensional prefactor multiplying the GME coefficient [nondim]. :typefield real gme_limiter: The absolute maximum value the GME coefficient is allowed to take [L2 T-1 ~> m2 s-1]. :typefield real min_grid_kh: Minimum horizontal Laplacian viscosity used to limit the grid Reynolds number [L2 T-1 ~> m2 s-1]. :typefield real min_grid_ah: Minimun horizontal biharmonic viscosity used to limit grid Reynolds number [L4 T-1 ~> m4 s-1]. :typefield real(\: kh_bg_xx [:), allocatable]: The background Laplacian viscosity at h points [L2 T-1 ~> m2 s-1]. The actual viscosity may be the larger of this viscosity and the Smagorinsky and Leith viscosities. :typefield real(\: kh_bg_2d [:), allocatable]: The background Laplacian viscosity at h points [L2 T-1 ~> m2 s-1]. The actual viscosity may be the larger of this viscosity and the Smagorinsky and Leith viscosities. :typefield real(\: ah_bg_xx [:), allocatable]: The background biharmonic viscosity at h points [L4 T-1 ~> m4 s-1]. The actual viscosity may be the larger of this viscosity and the Smagorinsky and Leith viscosities. :typefield real(\: reduction_xx [:), allocatable]: The amount by which stresses through h points are reduced due to partial barriers [nondim]. :typefield real(\: kh_max_xx [:), allocatable]: The maximum permitted Laplacian viscosity [L2 T-1 ~> m2 s-1]. :typefield real(\: ah_max_xx [:), allocatable]: The maximum permitted biharmonic viscosity [L4 T-1 ~> m4 s-1]. :typefield real(\: n1n2_h [:), allocatable]: Factor n1*n2 in the anisotropic direction tensor at h-points. :typefield real(\: n1n1_m_n2n2_h [:), allocatable]: Factor n1**2-n2**2 in the anisotropic direction tensor at h-points. :typefield real(\: grid_sp_h2 [:), allocatable]: Harmonic mean of the squares of the grid [L2 ~> m2]. :typefield real(\: grid_sp_h3 [:), allocatable]: Harmonic mean of the squares of the grid^(3/2) [L3 ~> m3]. :typefield real(\: kh_bg_xy [:), allocatable]: The background Laplacian viscosity at q points [L2 T-1 ~> m2 s-1]. The actual viscosity may be the larger of this viscosity and the Smagorinsky and Leith viscosities. :typefield real(\: ah_bg_xy [:), allocatable]: The background biharmonic viscosity at q points [L4 T-1 ~> m4 s-1]. The actual viscosity may be the larger of this viscosity and the Smagorinsky and Leith viscosities. :typefield real(\: reduction_xy [:), allocatable]: The amount by which stresses through q points are reduced due to partial barriers [nondim]. :typefield real(\: kh_max_xy [:), allocatable]: The maximum permitted Laplacian viscosity [L2 T-1 ~> m2 s-1]. :typefield real(\: ah_max_xy [:), allocatable]: The maximum permitted biharmonic viscosity [L4 T-1 ~> m4 s-1]. :typefield real(\: n1n2_q [:), allocatable]: Factor n1*n2 in the anisotropic direction tensor at q-points. :typefield real(\: n1n1_m_n2n2_q [:), allocatable]: Factor n1**2-n2**2 in the anisotropic direction tensor at q-points. :typefield real(\: dx2h [:), allocatable]: Pre-calculated dx^2 at h points [L2 ~> m2]. :typefield real(\: dy2h [:), allocatable]: Pre-calculated dy^2 at h points [L2 ~> m2]. :typefield real(\: dx_dyt [:), allocatable]: Pre-calculated dx/dy at h points [nondim]. :typefield real(\: dy_dxt [:), allocatable]: Pre-calculated dy/dx at h points [nondim]. :typefield real(\: dx2q [:), allocatable]: Pre-calculated dx^2 at q points [L2 ~> m2]. :typefield real(\: dy2q [:), allocatable]: Pre-calculated dy^2 at q points [L2 ~> m2]. :typefield real(\: dx_dybu [:), allocatable]: Pre-calculated dx/dy at q points [nondim]. :typefield real(\: dy_dxbu [:), allocatable]: Pre-calculated dy/dx at q points [nondim]. :typefield real(\: idx2dycu [:), allocatable]: 1/(dx^2 dy) at u points [L-3 ~> m-3] :typefield real(\: idxdy2u [:), allocatable]: 1/(dx dy^2) at u points [L-3 ~> m-3] :typefield real(\: idx2dycv [:), allocatable]: 1/(dx^2 dy) at v points [L-3 ~> m-3] :typefield real(\: idxdy2v [:), allocatable]: 1/(dx dy^2) at v points [L-3 ~> m-3] :typefield real(\: laplac2_const_xx [:), allocatable]: Laplacian metric-dependent constants [L2 ~> m2]. :typefield real(\: biharm6_const_xx [:), allocatable]: Biharmonic metric-dependent constants [L6 ~> m6]. :typefield real(\: laplac3_const_xx [:), allocatable]: Laplacian metric-dependent constants [L3 ~> m3]. :typefield real(\: biharm_const_xx [:), allocatable]: Biharmonic metric-dependent constants [L4 ~> m4]. :typefield real(\: biharm_const2_xx [:), allocatable]: Biharmonic metric-dependent constants [T L4 ~> s m4]. :typefield real(\: re_ah_const_xx [:), allocatable]: Biharmonic metric-dependent constants [L3 ~> m3]. :typefield real(\: laplac2_const_xy [:), allocatable]: Laplacian metric-dependent constants [L2 ~> m2]. :typefield real(\: biharm6_const_xy [:), allocatable]: Biharmonic metric-dependent constants [L6 ~> m6]. :typefield real(\: laplac3_const_xy [:), allocatable]: Laplacian metric-dependent constants [L3 ~> m3]. :typefield real(\: biharm_const_xy [:), allocatable]: Biharmonic metric-dependent constants [L4 ~> m4]. :typefield real(\: biharm_const2_xy [:), allocatable]: Biharmonic metric-dependent constants [T L4 ~> s m4]. :typefield real(\: re_ah_const_xy [:), allocatable]: Biharmonic metric-dependent constants [L3 ~> m3]. :typefield type(diag_ctrl) diag [pointer]: structure to regulate diagnostics --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine horizontal_viscosity(u, v, h, diffu, diffv, MEKE, VarMix, G, GV, US, CS, OBC, BT, TD, ADp) Calculates the acceleration due to the horizontal viscosity. A combination of biharmonic and Laplacian forms can be used. The coefficient may either be a constant or a shear-dependent form. The biharmonic is determined by twice taking the divergence of an appropriately defined stress tensor. The Laplacian is determined by doing so once. To work, the following fields must be set outside of the usual is:ie range before this subroutine is called: u[is-2:ie+2,js-2:je+2] v[is-2:ie+2,js-2:je+2] h[is-1:ie+1,js-1:je+1] :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param u: [in] The zonal velocity [L T-1 ~> m s-1]. :param v: [in] The meridional velocity [L T-1 ~> m s-1]. :param h: [inout] Layer thicknesses [H ~> m or kg m-2]. :param diffu: [out] Zonal acceleration due to convergence of :param diffv: [out] Meridional acceleration due to convergence :param meke: Pointer to a structure containing fields related to Mesoscale Eddy Kinetic Energy. :param varmix: Pointer to a structure with fields that specify the spatially variable viscosities :param us: [in] A dimensional unit scaling type :param cs: Control structure returned by a previous call to hor_visc_init. :param obc: Pointer to an open boundary condition type :param bt: Pointer to a structure containing barotropic velocities. :param td: Pointer to a structure containing thickness diffusivities. :param adp: Acceleration diagnostic pointers :callto: :f:func:`mom_barotropic::barotropic_get_tav ` :callto: :f:func:`mom_lateral_mixing_coeffs::calc_qg_leith_viscosity ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_open_boundary::obc_direction_n ` :callto: :f:func:`mom_open_boundary::obc_direction_s ` :callto: :f:func:`smooth_gme ` :callto: :f:func:`mom_thickness_diffuse::thickness_diffuse_get_kh ` :calledfrom: :f:func:`mom_dynamics_split_rk2::initialize_dyn_split_rk2 ` :calledfrom: :f:func:`mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ` :calledfrom: :f:func:`mom_dynamics_unsplit::step_mom_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2 ` .. f:subroutine:: subroutine hor_visc_init(Time, G, US, param_file, diag, CS, MEKE, ADp) Allocates space for and calculates static variables used by :f:func:`horizontal_viscosity() `. hor_visc_init calculates and stores the values of a number of metric functions that are used in . hor_visc_init calculates and stores the values of a number of metric functions that are used in :f:func:`horizontal_viscosity() `. . :param time: [in] Current model time. :param g: [inout] The ocean's grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters. :param diag: [inout] Structure to regulate diagnostic output. :param cs: Pointer to the control structure for this module :param meke: MEKE data :param adp: Acceleration diagnostic pointers :callto: :f:func:`align_aniso_tensor_to_grid ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_dynamics_split_rk2::initialize_dyn_split_rk2 ` :calledfrom: :f:func:`mom_dynamics_unsplit::initialize_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::initialize_dyn_unsplit_rk2 ` .. f:subroutine:: subroutine align_aniso_tensor_to_grid(CS, n1, n2) Calculates factors in the anisotropic orientation tensor to be align with the grid. With n1=1 and n2=0, this recovers the approach of Large et al, 2001. :param cs: Control structure for horizontal viscosity :param n1: [in] i-component of direction vector [nondim] :param n2: [in] j-component of direction vector [nondim] :calledfrom: :f:func:`hor_visc_init ` .. f:subroutine:: subroutine smooth_gme(CS, G, GME_flux_h, GME_flux_q) Apply a 1-1-4-1-1 Laplacian filter one time on GME diffusive flux to reduce any horizontal two-grid-point noise. :param cs: Control structure :param g: [in] Ocean grid :param gme_flux_h: [inout] GME diffusive flux at h points :param gme_flux_q: [inout] GME diffusive flux at q points :calledfrom: :f:func:`horizontal_viscosity ` .. f:subroutine:: subroutine hor_visc_end(CS) Deallocates any variables allocated in hor_visc_init. :param cs: The control structure returned by a previous call to hor_visc_init. [debug] xpath(./compounddef/compoundname[text()="mom_hor_visc::hor_visc_cs"]/..) match([('id', 'structmom__hor__visc_1_1hor__visc__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_hor_visc::hor_visc_cs', , {}, ['', 'Contr [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_hor_visc::hor_visc_cs', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_hor_visc::hor_visc_cs', , {}, ['', 'Contr [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, diffu, diffv, MEKE, VarMix, G, GV, US, CS, OBC, BT, TD, ADp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_hor_visc::horizontal_viscosity', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_hor_visc::horizontal_viscosity', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((Time, G, US, param_file, diag, CS, MEKE, ADp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__hor__visc_1ab3a26095634db15095b980e45137e1f1) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__hor__visc_1ab3a26095634db15095b980e45137e1f1'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_hor_visc::horizontal_viscosity) node_name(None) [debug] method=visit_ref [debug] refid(namespacemom__hor__visc_1ab3a26095634db15095b980e45137e1f1) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__hor__visc_1ab3a26095634db15095b980e45137e1f1'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_hor_visc::horizontal_viscosity) node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_hor_visc::hor_visc_init', , {}, ['', 'Alloc [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_hor_visc::hor_visc_init', , {}, ['', 'Alloc [debug] DoxygenMethodDocumenter format_signature called ((CS, n1, n2)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_hor_visc::align_aniso_tensor_to_grid', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_hor_visc::align_aniso_tensor_to_grid', , {} [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GME_flux_h, GME_flux_q)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_hor_visc::smooth_gme', , {}, ['', 'Apply a [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_hor_visc::smooth_gme', , {}, ['', 'Apply a [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_hor_visc::hor_visc_end', , {}, ['', 'Deallo [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_hor_visc::hor_visc_end', , {}, ['', 'Deallo [fd] run(.. f:type:: hor_visc_cs) [fd] sig(hor_visc_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(hor_visc_cs) arglist(None) [fd] fullname(mom_hor_visc/hor_visc_cs) ftype(None) [fd] name(('mom_hor_visc/hor_visc_cs', None)) sig(hor_visc_cs) signode(type mom_hor_visc/hor_visc_cs) [fd] run(.. f:subroutine:: subroutine horizontal_viscosity(u, v, h, diffu, diffv, MEKE, VarMix, G, GV, US, CS, OBC, BT, TD, ADp)) [fd] sig(subroutine horizontal_viscosity(u, v, h, diffu, diffv, MEKE, VarMix, G, GV, US, CS, OBC, BT, TD, ADp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(horizontal_viscosity) arglist(u, v, h, diffu, diffv, MEKE, VarMix, G, GV, US, CS, OBC, BT, TD, ADp) [fd] fullname(mom_hor_visc/horizontal_viscosity) ftype(None) [fd] name(('mom_hor_visc/horizontal_viscosity', None)) sig(subroutine horizontal_viscosity(u, v, h, diffu, diffv, MEKE, VarMix, G, GV, US, CS, OBC, BT, TD, ADp)) signode(subroutine mom_hor_visc/horizontal_viscosityuvhdiffudiffvMEKEVarMixGGVUSCSOBCBTTDADp) [fd] run(.. f:subroutine:: subroutine hor_visc_init(Time, G, US, param_file, diag, CS, MEKE, ADp)) [fd] sig(subroutine hor_visc_init(Time, G, US, param_file, diag, CS, MEKE, ADp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(hor_visc_init) arglist(Time, G, US, param_file, diag, CS, MEKE, ADp) [fd] fullname(mom_hor_visc/hor_visc_init) ftype(None) [fd] name(('mom_hor_visc/hor_visc_init', None)) sig(subroutine hor_visc_init(Time, G, US, param_file, diag, CS, MEKE, ADp)) signode(subroutine mom_hor_visc/hor_visc_initTimeGUSparam_filediagCSMEKEADp) [fd] run(.. f:subroutine:: subroutine align_aniso_tensor_to_grid(CS, n1, n2)) [fd] sig(subroutine align_aniso_tensor_to_grid(CS, n1, n2)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(align_aniso_tensor_to_grid) arglist(CS, n1, n2) [fd] fullname(mom_hor_visc/align_aniso_tensor_to_grid) ftype(None) [fd] name(('mom_hor_visc/align_aniso_tensor_to_grid', None)) sig(subroutine align_aniso_tensor_to_grid(CS, n1, n2)) signode(subroutine mom_hor_visc/align_aniso_tensor_to_gridCSn1n2) [fd] run(.. f:subroutine:: subroutine smooth_gme(CS, G, GME_flux_h, GME_flux_q)) [fd] sig(subroutine smooth_gme(CS, G, GME_flux_h, GME_flux_q)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(smooth_gme) arglist(CS, G, GME_flux_h, GME_flux_q) [fd] fullname(mom_hor_visc/smooth_gme) ftype(None) [fd] name(('mom_hor_visc/smooth_gme', None)) sig(subroutine smooth_gme(CS, G, GME_flux_h, GME_flux_q)) signode(subroutine mom_hor_visc/smooth_gmeCSGGME_flux_hGME_flux_q) [fd] run(.. f:subroutine:: subroutine hor_visc_end(CS)) [fd] sig(subroutine hor_visc_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(hor_visc_end) arglist(CS) [fd] fullname(mom_hor_visc/hor_visc_end) ftype(None) [fd] name(('mom_hor_visc/hor_visc_end', None)) sig(subroutine hor_visc_end(CS)) signode(subroutine mom_hor_visc/hor_visc_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 38%] api/generated/modules/mom_horizontal_regridding [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_horizont [app] emitting event: 'source-read'('api/generated/modules/mom_horizontal_regridding', ['.. autodoxymodule:: mom_horizontal_regridding\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_horizontal_regridding.rst:1: input: .. autodoxymodule:: mom_horizontal_regridding :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_horizontal_regridding::mystats ~mom_horizontal_regridding::fill_miss_2d ~mom_horizontal_regridding::horiz_interp_and_extrap_tracer_record ~mom_horizontal_regridding::horiz_interp_and_extrap_tracer_fms_id ~mom_horizontal_regridding::meshgrid ~mom_horizontal_regridding::fill_boundaries_int ~mom_horizontal_regridding::fill_boundaries_real ~mom_horizontal_regridding::smooth_heights [debug] xpath(./compounddef/compoundname[text()="mom_horizontal_regridding"]/..) match([('id', 'namespacemom__horizontal__regridding'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_horizontal_regridding module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_horizontal_regridding', , {'members': , {'members': , {'members': ), ('fill_miss_2d', ), ('horiz_interp_and_extrap_tracer_record', ), ('horiz_interp_and_extrap_tracer_fms_id', ), ('meshgrid', ), ('fill_boundaries_int', ), ('fill_boundaries_real', ), ('smooth_heights', )]) [autodoc] module analyzer failed: error importing 'mom_horizontal_regridding' (exception was: ModuleNotFoundError("No module named 'mom_horizontal_regridding'")) [debug] DoxygenMethodDocumenter format_signature called ((array, missing, is, ie, js, je, k, mesg)) [debug] add_directive_header sig((array, missing, is, ie, js, je, k, mesg)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine mystats) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mystats', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'horiz_interp_and_extrap_tracer_record', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'horiz_interp_and_extrap_tracer_record', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'horiz_interp_and_extrap_tracer_record', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'horiz_interp_and_extrap_tracer_record', , {'mem [autodoc] module analyzer failed: error importing 'mom_horizontal_regridding' (exception was: ModuleNotFoundError("No module named 'mom_horizontal_regridding'")) [debug] DoxygenMethodDocumenter format_signature called ((fms_id, Time, conversion, G, tr_z, mask_z, z_in, z_edges_in, missing_value, reentrant_x, tripolar_n, homogenize, spongeOngrid, m_to_Z, answers_2018)) [debug] add_directive_header sig((fms_id, Time, conversion, G, tr_z, mask_z, z_in, z_edges_in, missing_value, reentrant_x, tripolar_n, homogenize, spongeOngrid, m_to_Z, answers_2018)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine horiz_interp_and_extrap_tracer_fms_id) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'horiz_interp_and_extrap_tracer_fms_id', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'horiz_interp_and_extrap_tracer_fms_id', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'horiz_interp_and_extrap_tracer_fms_id', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'horiz_interp_and_extrap_tracer_fms_id', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'horiz_interp_and_extrap_tracer_fms_id', , {'mem [autodoc] module analyzer failed: error importing 'mom_horizontal_regridding' (exception was: ModuleNotFoundError("No module named 'mom_horizontal_regridding'")) [debug] DoxygenMethodDocumenter format_signature called ((x, y, x_T, y_T)) [debug] add_directive_header sig((x, y, x_T, y_T)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine meshgrid) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'meshgrid', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_horizontal_regridding::mystats ~mom_horizontal_regridding::fill_miss_2d ~mom_horizontal_regridding::horiz_interp_and_extrap_tracer_record ~mom_horizontal_regridding::horiz_interp_and_extrap_tracer_fms_id ~mom_horizontal_regridding::meshgrid ~mom_horizontal_regridding::fill_boundaries_int ~mom_horizontal_regridding::fill_boundaries_real ~mom_horizontal_regridding::smooth_heights .. _DETAmom_horizontal_regridding: -------------------- Detailed Description -------------------- Horizontal interpolation. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine mystats(array, missing, is, ie, js, je, k, mesg) Write to the terminal some basic statistics about the k-th level of an array. :param array: [in] input array (ND) :param missing: [in] missing value (ND) :param is: Start index in i :param ie: End index in i :param js: Start index in j :param je: End index in j :param k: Level to calculate statistics for :param mesg: Label to use in message :calledfrom: :f:func:`horiz_interp_and_extrap_tracer_fms_id ` :calledfrom: :f:func:`horiz_interp_and_extrap_tracer_record ` :calledfrom: :f:func:`mom_tracer_initialization_from_z::mom_initialize_tracer_from_z ` .. f:subroutine:: subroutine fill_miss_2d(aout, good, fill, prev, G, smooth, num_pass, relc, crit, debug, answers_2018) Use ICE-9 algorithm to populate points (fill=1) with valid data (good=1). If no information is available, Then use a previous guess (prev). Optionally (smooth) blend the filled points to achieve a more desirable result. :param g: [inout] The ocean's grid structure. :param aout: [inout] The array with missing values to fill :param good: [in] Valid data mask for incoming array :param fill: [in] Same shape array of points which need :param prev: [in] First guess where isolated holes exist. :param smooth: [in] If present and true, apply a number of Laplacian iterations to the interpolated data :param num_pass: [in] The maximum number of iterations :param relc: [in] A relaxation coefficient for Laplacian (ND) :param crit: [in] A minimal value for deltas between iterations. :param debug: [in] If true, write verbose debugging messages. :param answers_2018: [in] If true, use expressions that give the same answers as the code did in late 2018. Otherwise add parentheses for rotational symmetry. :calledfrom: :f:func:`horiz_interp_and_extrap_tracer_fms_id ` :calledfrom: :f:func:`horiz_interp_and_extrap_tracer_record ` .. f:subroutine:: subroutine horiz_interp_and_extrap_tracer_record(filename, varnam, conversion, recnum, G, tr_z, mask_z, z_in, z_edges_in, missing_value, reentrant_x, tripolar_n, homogenize, m_to_Z, answers_2018, ongrid) Extrapolate and interpolate from a file record. :param filename: [in] Path to file containing tracer to be interpolated. :param varnam: [in] Name of tracer in filee. :param conversion: [in] Conversion factor for tracer. :param recnum: [in] Record number of tracer to be read. :param g: [inout] Grid object :param tr_z: pointer to allocatable tracer array on local model grid and input-file vertical levels. :param mask_z: pointer to allocatable tracer mask array on local model grid and input-file vertical levels. :param z_in: Cell grid values for input data. :param z_edges_in: Cell grid edge values for input data. :param missing_value: [out] The missing value in the returned array. :param reentrant_x: [in] If true, this grid is reentrant in the x-direction :param tripolar_n: [in] If true, this is a northern tripolar grid :param homogenize: [in] If present and true, horizontally homogenize data to produce perfectly "flat" initial conditions :param m_to_z: [in] A conversion factor from meters to the units of depth. If missing, GbathyT must be in m. :param answers_2018: [in] If true, use expressions that give the same answers as the code did in late 2018. Otherwise add parentheses for rotational symmetry. :param ongrid: [in] If true, then data are assumed to have been interpolated to the model horizontal grid. In this case, only extrapolation is performed by this routine :callto: :f:func:`fill_miss_2d ` :callto: :f:func:`meshgrid ` :callto: :f:func:`mystats ` .. f:subroutine:: subroutine horiz_interp_and_extrap_tracer_fms_id(fms_id, Time, conversion, G, tr_z, mask_z, z_in, z_edges_in, missing_value, reentrant_x, tripolar_n, homogenize, spongeOngrid, m_to_Z, answers_2018) Extrapolate and interpolate using a FMS time interpolation handle. :param fms_id: [in] A unique id used by the FMS time interpolator :param time: [in] A FMS time type :param conversion: [in] Conversion factor for tracer. :param g: [inout] Grid object :param tr_z: pointer to allocatable tracer array on local model grid and native vertical levels. :param mask_z: pointer to allocatable tracer mask array on local model grid and native vertical levels. :param z_in: Cell grid values for input data. :param z_edges_in: Cell grid edge values for input data. (Intent out) :param missing_value: [out] The missing value in the returned array. :param reentrant_x: [in] If true, this grid is reentrant in the x-direction :param tripolar_n: [in] If true, this is a northern tripolar grid :param homogenize: [in] If present and true, horizontally homogenize data to produce perfectly "flat" initial conditions :param spongeongrid: [in] If present and true, the sponge data are on the model grid :param m_to_z: [in] A conversion factor from meters to the units of depth. If missing, GbathyT must be in m. :param answers_2018: [in] If true, use expressions that give the same answers as the code did in late 2018. Otherwise add parentheses for rotational symmetry. :callto: :f:func:`fill_miss_2d ` :callto: :f:func:`meshgrid ` :callto: :f:func:`mystats ` .. f:subroutine:: subroutine meshgrid(x, y, x_T, y_T) Create a 2d-mesh of grid coordinates from 1-d arrays. :param x: [in] input 1-dimensional vector :param y: [in] input 1-dimensional vector :param x_t: [inout] output 2-dimensional array :param y_t: [inout] output 2-dimensional array :calledfrom: :f:func:`horiz_interp_and_extrap_tracer_fms_id ` :calledfrom: :f:func:`horiz_interp_and_extrap_tracer_record ` .. f:function:: integer function fill_boundaries_int(m, cyclic_x, tripolar_n) Fill grid edges for integer data. :param m: [in] input array (ND) :param cyclic_x: [in] True if domain is zonally re-entrant :param tripolar_n: [in] True if domain has an Arctic fold :callto: :f:func:`fill_boundaries_real ` .. f:function:: real function fill_boundaries_real(m, cyclic_x, tripolar_n) Fill grid edges for real data. :param m: [in] input array (ND) :param cyclic_x: [in] True if domain is zonally re-entrant :param tripolar_n: [in] True if domain has an Arctic fold :calledfrom: :f:func:`fill_boundaries_int ` .. f:subroutine:: subroutine smooth_heights(zi, fill, bad, sor, niter, cyclic_x, tripolar_n) Solve del2 (zi) = 0 using successive iterations with a 5 point stencil. Only points fill==1 are modified. Except where bad==1, information propagates isotropically in index space. The resulting solution in each region is an approximation to del2(zi)=0 subject to boundary conditions along the valid points curve bounding this region. :param zi: [inout] input and output array (ND) :param fill: [in] same shape as zi, 1=fill :param bad: [in] same shape as zi, 1=bad data :param sor: [in] relaxation coefficient (ND) :param niter: [in] maximum number of iterations :param cyclic_x: [in] true if domain is zonally reentrant :param tripolar_n: [in] true if domain has an Arctic fold [debug] DoxygenMethodDocumenter format_signature called ((array, missing, is, ie, js, je, k, mesg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_horizontal_regridding::mystats', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_horizontal_regridding::mystats', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((aout, good, fill, prev, G, smooth, num_pass, relc, crit, debug, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_horizontal_regridding::fill_miss_2d', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_horizontal_regridding::fill_miss_2d', , {}, [debug] DoxygenMethodDocumenter format_signature called ((filename, varnam, conversion, recnum, G, tr_z, mask_z, z_in, z_edges_in, missing_value, reentrant_x, tripolar_n, homogenize, m_to_Z, answers_2018, ongrid)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_horizontal_regridding::horiz_interp_and_extrap_tracer_record', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_horizontal_regridding::meshgrid', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((m, cyclic_x, tripolar_n)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_horizontal_regridding::fill_boundaries_int', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_horizontal_regridding::smooth_heights', , { [fd] run(.. f:subroutine:: subroutine mystats(array, missing, is, ie, js, je, k, mesg)) [fd] sig(subroutine mystats(array, missing, is, ie, js, je, k, mesg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mystats) arglist(array, missing, is, ie, js, je, k, mesg) [fd] fullname(mom_horizontal_regridding/mystats) ftype(None) [fd] name(('mom_horizontal_regridding/mystats', None)) sig(subroutine mystats(array, missing, is, ie, js, je, k, mesg)) signode(subroutine mom_horizontal_regridding/mystatsarraymissingisiejsjekmesg) [fd] run(.. f:subroutine:: subroutine fill_miss_2d(aout, good, fill, prev, G, smooth, num_pass, relc, crit, debug, answers_2018)) [fd] sig(subroutine fill_miss_2d(aout, good, fill, prev, G, smooth, num_pass, relc, crit, debug, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(fill_miss_2d) arglist(aout, good, fill, prev, G, smooth, num_pass, relc, crit, debug, answers_2018) [fd] fullname(mom_horizontal_regridding/fill_miss_2d) ftype(None) [fd] name(('mom_horizontal_regridding/fill_miss_2d', None)) sig(subroutine fill_miss_2d(aout, good, fill, prev, G, smooth, num_pass, relc, crit, debug, answers_2018)) signode(subroutine mom_horizontal_regridding/fill_miss_2daoutgoodfillprevGsmoothnum_passrelccritdebuganswers_2018) [fd] run(.. f:subroutine:: subroutine horiz_interp_and_extrap_tracer_record(filename, varnam, conversion, recnum, G, tr_z, mask_z, z_in, z_edges_in, missing_value, reentrant_x, tripolar_n, homogenize, m_to_Z, answers_2018, ongrid)) [fd] sig(subroutine horiz_interp_and_extrap_tracer_record(filename, varnam, conversion, recnum, G, tr_z, mask_z, z_in, z_edges_in, missing_value, reentrant_x, tripolar_n, homogenize, m_to_Z, answers_2018, ongrid)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(horiz_interp_and_extrap_tracer_record) arglist(filename, varnam, conversion, recnum, G, tr_z, mask_z, z_in, z_edges_in, missing_value, reentrant_x, tripolar_n, homogenize, m_to_Z, answers_2018, ongrid) [fd] fullname(mom_horizontal_regridding/horiz_interp_and_extrap_tracer_record) ftype(None) [fd] name(('mom_horizontal_regridding/horiz_interp_and_extrap_tracer_record', None)) sig(subroutine horiz_interp_and_extrap_tracer_record(filename, varnam, conversion, recnum, G, tr_z, mask_z, z_in, z_edges_in, missing_value, reentrant_x, tripolar_n, homogenize, m_to_Z, answers_2018, ongrid)) signode(subroutine mom_horizontal_regridding/horiz_interp_and_extrap_tracer_recordfilenamevarnamconversionrecnumGtr_zmask_zz_inz_edges_inmissing_valuereentrant_xtripolar_nhomogenizem_to_Zanswers_2018ongrid) [fd] run(.. f:subroutine:: subroutine horiz_interp_and_extrap_tracer_fms_id(fms_id, Time, conversion, G, tr_z, mask_z, z_in, z_edges_in, missing_value, reentrant_x, tripolar_n, homogenize, spongeOngrid, m_to_Z, answers_2018)) [fd] sig(subroutine horiz_interp_and_extrap_tracer_fms_id(fms_id, Time, conversion, G, tr_z, mask_z, z_in, z_edges_in, missing_value, reentrant_x, tripolar_n, homogenize, spongeOngrid, m_to_Z, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(horiz_interp_and_extrap_tracer_fms_id) arglist(fms_id, Time, conversion, G, tr_z, mask_z, z_in, z_edges_in, missing_value, reentrant_x, tripolar_n, homogenize, spongeOngrid, m_to_Z, answers_2018) [fd] fullname(mom_horizontal_regridding/horiz_interp_and_extrap_tracer_fms_id) ftype(None) [fd] name(('mom_horizontal_regridding/horiz_interp_and_extrap_tracer_fms_id', None)) sig(subroutine horiz_interp_and_extrap_tracer_fms_id(fms_id, Time, conversion, G, tr_z, mask_z, z_in, z_edges_in, missing_value, reentrant_x, tripolar_n, homogenize, spongeOngrid, m_to_Z, answers_2018)) signode(subroutine mom_horizontal_regridding/horiz_interp_and_extrap_tracer_fms_idfms_idTimeconversionGtr_zmask_zz_inz_edges_inmissing_valuereentrant_xtripolar_nhomogenizespongeOngridm_to_Zanswers_2018) [fd] run(.. f:subroutine:: subroutine meshgrid(x, y, x_T, y_T)) [fd] sig(subroutine meshgrid(x, y, x_T, y_T)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(meshgrid) arglist(x, y, x_T, y_T) [fd] fullname(mom_horizontal_regridding/meshgrid) ftype(None) [fd] name(('mom_horizontal_regridding/meshgrid', None)) sig(subroutine meshgrid(x, y, x_T, y_T)) signode(subroutine mom_horizontal_regridding/meshgridxyx_Ty_T) [fd] run(.. f:function:: integer function fill_boundaries_int(m, cyclic_x, tripolar_n)) [fd] sig(integer function fill_boundaries_int(m, cyclic_x, tripolar_n)) [fd] ftype(integer) objtype(function) modname(None) typename() name(fill_boundaries_int) arglist(m, cyclic_x, tripolar_n) [fd] fullname(mom_horizontal_regridding/fill_boundaries_int) ftype(integer) [fd] name(('mom_horizontal_regridding/fill_boundaries_int', 'integer')) sig(integer function fill_boundaries_int(m, cyclic_x, tripolar_n)) signode(function mom_horizontal_regridding/fill_boundaries_intmcyclic_xtripolar_n [integer]) [fd] run(.. f:function:: real function fill_boundaries_real(m, cyclic_x, tripolar_n)) [fd] sig(real function fill_boundaries_real(m, cyclic_x, tripolar_n)) [fd] ftype(real) objtype(function) modname(None) typename() name(fill_boundaries_real) arglist(m, cyclic_x, tripolar_n) [fd] fullname(mom_horizontal_regridding/fill_boundaries_real) ftype(real) [fd] name(('mom_horizontal_regridding/fill_boundaries_real', 'real')) sig(real function fill_boundaries_real(m, cyclic_x, tripolar_n)) signode(function mom_horizontal_regridding/fill_boundaries_realmcyclic_xtripolar_n [real]) [fd] run(.. f:subroutine:: subroutine smooth_heights(zi, fill, bad, sor, niter, cyclic_x, tripolar_n)) [fd] sig(subroutine smooth_heights(zi, fill, bad, sor, niter, cyclic_x, tripolar_n)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(smooth_heights) arglist(zi, fill, bad, sor, niter, cyclic_x, tripolar_n) [fd] fullname(mom_horizontal_regridding/smooth_heights) ftype(None) [fd] name(('mom_horizontal_regridding/smooth_heights', None)) sig(subroutine smooth_heights(zi, fill, bad, sor, niter, cyclic_x, tripolar_n)) signode(subroutine mom_horizontal_regridding/smooth_heightszifillbadsornitercyclic_xtripolar_n) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 38%] api/generated/modules/mom_ice_shelf [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_ice_shel [app] emitting event: 'source-read'('api/generated/modules/mom_ice_shelf', ['.. autodoxymodule:: mom_ice_shelf\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_ice_shelf.rst:1: input: .. autodoxymodule:: mom_ice_shelf :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_ice_shelf::ice_shelf_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_ice_shelf::shelf_calc_flux ~mom_ice_shelf::change_thickness_using_melt ~mom_ice_shelf::add_shelf_forces ~mom_ice_shelf::add_shelf_pressure ~mom_ice_shelf::add_shelf_flux ~mom_ice_shelf::initialize_ice_shelf ~mom_ice_shelf::initialize_shelf_mass ~mom_ice_shelf::update_shelf_mass ~mom_ice_shelf::ice_shelf_save_restart ~mom_ice_shelf::ice_shelf_end ~mom_ice_shelf::solo_step_ice_shelf [debug] xpath(./compounddef/compoundname[text()="mom_ice_shelf"]/..) match([('id', 'namespacemom__ice__shelf'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_ice_shelf module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_ice_shelf' (exception was: ModuleNotFoundError("No module named 'mom_ice_shelf'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_ice_shelf::ice_shelf_cs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('change_thickness_using_melt', ), ('add_shelf_forces', ), ('add_shelf_pressure', ), ('add_shelf_flux', ), ('initialize_ice_shelf', ), ('initialize_shelf_mass', ), ('update_shelf_mass', ), ('ice_shelf_save_restart', ), ('ice_shelf_end', ), ('solo_step_ice_shelf', )]) [autodoc] module analyzer failed: error importing 'mom_ice_shelf' (exception was: ModuleNotFoundError("No module named 'mom_ice_shelf'")) [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, fluxes, Time, time_step, CS, forces)) [debug] add_directive_header sig((sfc_state, fluxes, Time, time_step, CS, forces)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine shelf_calc_flux) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__ice__shelf_1section_ICE_SHELF_equations) kindref(member) ref([]) [debug] ref([('id', 'namespacemom__ice__shelf_1section_ICE_SHELF_equations')]) [debug] refid2(section_ICE_SHELF_equations) reftext(ICE_SHELF equations) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'shelf_calc_flux', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_ice_shelf::ice_shelf_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_ice_shelf::shelf_calc_flux ~mom_ice_shelf::change_thickness_using_melt ~mom_ice_shelf::add_shelf_forces ~mom_ice_shelf::add_shelf_pressure ~mom_ice_shelf::add_shelf_flux ~mom_ice_shelf::initialize_ice_shelf ~mom_ice_shelf::initialize_shelf_mass ~mom_ice_shelf::update_shelf_mass ~mom_ice_shelf::ice_shelf_save_restart ~mom_ice_shelf::ice_shelf_end ~mom_ice_shelf::solo_step_ice_shelf .. _DETAmom_ice_shelf: -------------------- Detailed Description -------------------- .. _namespacemom__ice__shelf_1section_ICE_SHELF: section_ICE_SHELF ================= This module implements the thermodynamic aspects of ocean/ice-shelf inter-actions using the MOM framework and coding style. Derived from code by Chris Little, early 2010. The ice-sheet dynamics subroutines do the following: initialize_shelf_mass - Initializes the ice shelf mass distribution. * Initializes h_shelf, h_mask, area_shelf_h * CURRENTLY: initializes mass_shelf as well, but this is unnecessary, as mass_shelf is initialized based on h_shelf and density_ice immediately afterwards. Possibly subroutine should be renamed update_shelf_mass - updates ice shelf mass via netCDF file USER_update_shelf_mass (TODO). solo_step_ice_shelf - called only in ice-only mode. shelf_calc_flux - after melt rate & fluxes are calculated, ice dynamics are done. currently mass_shelf is updated immediately after ice_shelf_advect in fully dynamic mode. NOTES: be aware that hmask(:,:) has a number of functions; it is used for front advancement, for subroutines in the velocity solve, and for thickness boundary conditions (this last one may be removed). in other words, interfering with its updates will have implications you might not expect. Overall issues: Many variables need better documentation and units and the subgrid on which they are discretized. .. _namespacemom__ice__shelf_1section_ICE_SHELF_equations: ICE_SHELF equations ------------------- The three fundamental equations are: Heat flux .. math:: \qquad \rho_w C_{pw} \gamma_T (T_w - T_b) = \rho_i \dot{m} L_f Salt flux .. math:: \qquad \rho_w \gamma_s (S_w - S_b) = \rho_i \dot{m} S_b Freezing temperature .. math:: \qquad T_b = a S_b + b + c P where .... .. _namespacemom__ice__shelf_1section_ICE_SHELF_references: References ---------- Asay-Davis, Xylar S., Stephen L. Cornford, Benjamin K. Galton-Fenzi, Rupert M. Gladstone, G. Hilmar Gudmundsson, David M. Holland, Paul R. Holland, and Daniel F. Martin. Experimental design for three interrelated marine ice sheet and ocean model intercomparison projects: MISMIP v. 3 (MISMIP+), ISOMIP v. 2 (ISOMIP+) and MISOMIP v. 1 (MISOMIP1). Geoscientific Model Development 9, no. 7 (2016): 2471. Goldberg, D. N., et al. Investigation of land ice-ocean interaction with a fully coupled ice-ocean model: 1. Model description and behavior. Journal of Geophysical Research: Earth Surface 117.F2 (2012). Goldberg, D. N., et al. Investigation of land ice-ocean interaction with a fully coupled ice-ocean model: 2. Sensitivity to external forcings. Journal of Geophysical Research: Earth Surface 117.F2 (2012). Holland, David M., and Adrian Jenkins. Modeling thermodynamic ice-ocean interactions at the base of an ice shelf. Journal of Physical Oceanography 29.8 (1999): 1787-1800. ------------------ Type Documentation ------------------ .. f:type:: ice_shelf_cs Control structure that contains ice shelf parameters and diagnostics handles. :typefield integer id_melt: Diagnostic handles. :typefield integer id_exch_vel_s: Diagnostic handles. :typefield integer id_exch_vel_t: Diagnostic handles. :typefield integer id_tfreeze: Diagnostic handles. :typefield integer id_tfl_shelf: Diagnostic handles. :typefield integer id_thermal_driving: Diagnostic handles. :typefield integer id_haline_driving: Diagnostic handles. :typefield integer id_u_ml: Diagnostic handles. :typefield integer id_v_ml: Diagnostic handles. :typefield integer id_sbdry: Diagnostic handles. :typefield integer id_h_shelf: Diagnostic handles. :typefield integer id_h_mask: Diagnostic handles. :typefield integer id_surf_elev: Diagnostic handles. :typefield integer id_bathym: Diagnostic handles. :typefield integer id_area_shelf_h: Diagnostic handles. :typefield integer id_ustar_shelf: Diagnostic handles. :typefield integer id_shelf_mass: Diagnostic handles. :typefield integer id_mass_flux: Diagnostic handles. :typefield type(mom_restart_cs) restart_csp [pointer]: A pointer to the restart control structure for the ice shelves. :typefield type(ocean_grid_type) grid: Grid for the ice-shelf model. :typefield type(unit_scale_type) us [pointer]: A structure containing various unit conversion factors. :typefield type(ocean_grid_type) ocn_grid [pointer]: A pointer to the ocean model grid The rest is private. :typefield real flux_factor: A factor that can be used to turn off ice shelf melting (flux_factor = 0) [nondim]. :typefield character (len=128) restart_output_dir: The directory in which to write restart files. :typefield type(ice_shelf_state) iss [pointer]: A structure with elements that describe the ice-shelf state. :typefield type(ice_shelf_dyn_cs) dcs [pointer]: The control structure for the ice-shelf dynamics. :typefield real(\:,\:) utide [pointer]: An unresolved tidal velocity [L T-1 ~> m s-1]. :typefield real ustar_bg: A minimum value for ustar under ice shelves [Z T-1 ~> m s-1]. :typefield real cdrag: drag coefficient under ice shelves [nondim]. :typefield real g_earth: The gravitational acceleration [L2 Z-1 T-2 ~> m s-2]. :typefield real cp: The heat capacity of sea water [Q degC-1 ~> J kg-1 degC-1]. :typefield real rho_ocn: A reference ocean density [R ~> kg m-3]. :typefield real cp_ice: The heat capacity of fresh ice [Q degC-1 ~> J kg-1 degC-1]. :typefield real gamma_t: The (fixed) turbulent exchange velocity in the 2-equation formulation [Z T-1 ~> m s-1]. :typefield real salin_ice: The salinity of shelf ice [ppt]. :typefield real temp_ice: The core temperature of shelf ice [degC]. :typefield real kv_ice: The viscosity of ice [L4 Z-2 T-1 ~> m2 s-1]. :typefield real density_ice: A typical density of ice [R ~> kg m-3]. :typefield real kv_molec: The molecular kinematic viscosity of sea water [Z2 T-1 ~> m2 s-1]. :typefield real kd_molec_salt: The molecular diffusivity of salt [Z2 T-1 ~> m2 s-1]. :typefield real kd_molec_temp: The molecular diffusivity of heat [Z2 T-1 ~> m2 s-1]. :typefield real lat_fusion: The latent heat of fusion [Q ~> J kg-1]. :typefield real gamma_t_3eq: Nondimensional heat-transfer coefficient, used in the 3Eq. formulation. :typefield real gamma_s_3eq: Nondimensional salt-transfer coefficient, used in the 3Eq. formulation This number should be specified by the user. :typefield real col_mass_melt_threshold: An ocean column mass below the iceshelf below which melting does not occur [R Z ~> kg m-2]. :typefield logical mass_from_file: Read the ice shelf mass from a file every dt. :typefield real time_step: this is the shortest timestep that the ice shelf sees, and is equal to the forcing timestep (it is passed in when the shelf is initialized - so need to reorganize MOM driver. it will be the prognistic timestep ... maybe. :typefield logical solo_ice_sheet: whether the ice model is running without being coupled to the ocean :typefield logical gl_regularize: whether to regularize the floatation condition at the grounding line a la Goldberg Holland Schoof 2009 :typefield logical gl_couple: whether to let the floatation condition be determined by ocean column thickness means update_OD_ffrac will be called (note: GL_regularize and GL_couple should be exclusive) :typefield logical calve_to_mask: If true, calve any ice that passes outside of a masked area. :typefield real min_thickness_simple_calve: min. ice shelf thickness criteria for calving [Z ~> m]. :typefield real t0: temperature at ocean surface in the restoring region [degC] :typefield real s0: Salinity at ocean surface in the restoring region [ppt]. :typefield real input_flux: Ice volume flux at an upstream open boundary [m3 s-1]. :typefield real input_thickness: Ice thickness at an upstream open boundary [m]. :typefield type(time_type) time: The component's time. :typefield type(eos_type) eqn_of_state [pointer]: Type that indicates the equation of state to use. :typefield logical active_shelf_dynamics: True if the ice shelf mass changes as a result the dynamic ice-shelf model. :typefield logical override_shelf_movement: If true, user code specifies the shelf movement instead of using the dynamic ice-shelf mode. :typefield logical isthermo: True if the ice shelf can exchange heat and mass with the underlying ocean. :typefield logical threeeq: If true, the 3 equation consistency equations are used to calculate the flux at the ocean-ice interface. :typefield logical insulator: If true, ice shelf is a perfect insulator. :typefield logical const_gamma: If true, gamma_T is specified by the user. :typefield logical constant_sea_level: if true, apply an evaporative, heat and salt fluxes. It will avoid large increase in sea level. :typefield real min_ocean_mass_float: The minimum ocean mass per unit area before the ice shelf is considered to float when constant_sea_level is used [R Z ~> kg m-2]. :typefield real cutoff_depth: Depth above which melt is set to zero (>= 0) [Z ~> m]. :typefield logical find_salt_root: If true, if true find Sbdry using a quadratic eq. :typefield real tfr_0_0: The freezing point at 0 pressure and 0 salinity [degC]. :typefield real dtfr_ds: Partial derivative of freezing temperature with salinity [degC ppt-1]. :typefield real dtfr_dp: Partial derivative of freezing temperature with pressure [degC T2 R-1 L-2 ~> degC Pa-1]. :typefield integer id_read_mass: An integer handle used in time interpolation of the ice shelf mass read from a file. :typefield integer id_read_area: An integer handle used in time interpolation of the ice shelf mass read from a file. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to control diagnostic output. :typefield type(user_ice_shelf_cs) user_cs [pointer]: A pointer to the control structure for user-supplied modifications to the ice shelf code. :typefield logical debug: If true, write verbose checksums for debugging purposes and use reproducible sums. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine shelf_calc_flux(sfc_state, fluxes, Time, time_step, CS, forces) Calculates fluxes between the ocean and ice-shelf using the three-equations formulation (optional to use just two equations). See :ref:`ICE_SHELF equations`. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. The intent is only inout to allow for halo updates. :param fluxes: [inout] structure containing pointers to any possible thermodynamic or mass-flux forcing fields. :param time: [in] Start time of the fluxes. :param time_step: [in] Length of time over which these fluxes will be applied [s]. :param cs: A pointer to the control structure returned by a previous call to initialize_ice_shelf. :param forces: [inout] A structure with the driving mechanical forces :callto: :f:func:`add_shelf_flux ` :callto: :f:func:`add_shelf_forces ` :callto: :f:func:`change_thickness_using_melt ` :callto: :f:func:`mom_diag_mediator::disable_averaging ` :callto: :f:func:`mom_diag_mediator::enable_averaging ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_shelf ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_domains::to_all ` :callto: :f:func:`update_shelf_mass ` :calledfrom: :f:func:`mom_main ` .. f:subroutine:: subroutine change_thickness_using_melt(ISS, G, US, time_step, fluxes, density_ice, debug) Changes the thickness (mass) of the ice shelf based on sub-ice-shelf melting. :param g: [inout] The ocean's grid structure. :param iss: [inout] A structure with elements that describe the ice-shelf state :param us: [in] A dimensional unit scaling type :param time_step: [in] The time step for this update [T ~> s]. :param fluxes: [inout] structure containing pointers to any possible thermodynamic or mass-flux forcing fields. :param density_ice: [in] The density of ice-shelf ice [R ~> kg m-3]. :param debug: [in] If present and true, write chksums :calledfrom: :f:func:`shelf_calc_flux ` .. f:subroutine:: subroutine add_shelf_forces(G, US, CS, forces, do_shelf_area) This subroutine adds the mechanical forcing fields and perhaps shelf areas, based on the ice state in ice_shelf_CS. :param g: [inout] The ocean's grid structure. :param us: [in] A dimensional unit scaling type :param cs: This module's control structure. :param forces: [inout] A structure with the driving mechanical forces :param do_shelf_area: [in] If true find the shelf-covered areas. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_domains::to_all ` :calledfrom: :f:func:`initialize_ice_shelf ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`shelf_calc_flux ` :calledfrom: :f:func:`ocean_model_mod::update_ocean_model ` .. f:subroutine:: subroutine add_shelf_pressure(G, US, CS, fluxes) This subroutine adds the ice shelf pressure to the fluxes type. :param g: [inout] The ocean's grid structure. :param us: [in] A dimensional unit scaling type :param cs: [in] This module's control structure. :param fluxes: [inout] A structure of surface fluxes that may be updated. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`add_shelf_flux ` :calledfrom: :f:func:`initialize_ice_shelf ` .. f:subroutine:: subroutine add_shelf_flux(G, US, CS, sfc_state, fluxes) Updates surface fluxes that are influenced by sub-ice-shelf melting. :param g: [inout] The ocean's grid structure. :param us: [in] A dimensional unit scaling type :param cs: This module's control structure. :param sfc_state: [inout] Surface ocean state :param fluxes: [inout] A structure of surface fluxes that may be used/updated. :callto: :f:func:`add_shelf_pressure ` :callto: :f:func:`mom_spatial_means::global_area_integral ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`mom_time_manager::real_to_time ` :calledfrom: :f:func:`shelf_calc_flux ` .. f:subroutine:: subroutine initialize_ice_shelf(param_file, ocn_grid, Time, CS, diag, forces, fluxes, Time_in, solo_ice_sheet_in) Initializes shelf model data, parameters and diagnostics. :param param_file: [in] A structure to parse for run-time parameters :param ocn_grid: The calling ocean model's horizontal grid structure :param time: [inout] The clock that that will indicate the model time :param cs: A pointer to the ice shelf control structure :param diag: [in] A structure that is used to regulate the diagnostic output. :param fluxes: [inout] A structure containing pointers to any possible thermodynamic or mass-flux forcing fields. :param forces: [inout] A structure with the driving mechanical forces :param time_in: [in] The time at initialization. :param solo_ice_sheet_in: [in] If present, this indicates whether a solo ice-sheet driver. :callto: :f:func:`add_shelf_forces ` :callto: :f:func:`add_shelf_pressure ` :callto: :f:func:`mom_transcribe_grid::copy_dyngrid_to_mom_grid ` :callto: :f:func:`mom_eos::eos_init ` :callto: :f:func:`mom_unit_scaling::fix_restart_unit_scaling ` :callto: :f:func:`mom_get_input::get_mom_input ` :callto: :f:func:`mom_ice_shelf_state::ice_shelf_state_init ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_shelf ` :callto: :f:func:`mom_ice_shelf_initialize::initialize_ice_thickness ` :callto: :f:func:`initialize_shelf_mass ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_grid::mom_grid_init ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`mom_dyn_horgrid::rescale_dyn_horgrid_bathymetry ` :callto: :f:func:`mom_restart::restart_init ` :callto: :f:func:`mom_restart::restore_state ` :callto: :f:func:`mom_grid_initialize::set_grid_metrics ` :callto: :f:func:`mom_unit_scaling::unit_scaling_init ` :calledfrom: :f:func:`mom_main ` .. f:subroutine:: subroutine initialize_shelf_mass(G, param_file, CS, ISS, new_sim) Initializes shelf mass based on three options (file, zero and user) :param g: [in] The ocean's grid structure. :param param_file: [in] A structure to parse for run-time parameters :param cs: A pointer to the ice shelf control structure :param iss: [inout] The ice shelf state type that is being updated :param new_sim: [in] If present and false, this run is being restarted :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`initialize_ice_shelf ` .. f:subroutine:: subroutine update_shelf_mass(G, US, CS, ISS, Time) Updates the ice shelf mass using data from a file. :param g: [inout] The ocean's grid structure. :param us: [in] A dimensional unit scaling type :param cs: [in] A pointer to the ice shelf control structure :param iss: [inout] The ice shelf state type that is being updated :param time: [in] The current model time :calledfrom: :f:func:`shelf_calc_flux ` .. f:subroutine:: subroutine ice_shelf_save_restart(CS, Time, directory, time_stamped, filename_suffix) Save the ice shelf restart file. :param cs: ice shelf control structure :param time: [in] model time at this call :param directory: [in] An optional directory into which to write these restart files. :param time_stamped: [in] f true, the restart file names include a unique time stamp. The default is false. :param filename_suffix: [in] An optional suffix (e.g., a time-stamp) to append to the restart file names. :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`ocean_model_mod::ocean_model_restart ` :calledfrom: :f:func:`ocean_model_mod::ocean_model_save_restart ` .. f:subroutine:: subroutine ice_shelf_end(CS) Deallocates all memory associated with this module. :param cs: A pointer to the ice shelf control structure :callto: :f:func:`mom_ice_shelf_dynamics::ice_shelf_dyn_end ` :callto: :f:func:`mom_ice_shelf_state::ice_shelf_state_end ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`ocean_model_mod::ocean_model_end ` .. f:subroutine:: subroutine solo_step_ice_shelf(CS, time_interval, nsteps, Time, min_time_step_in) This routine is for stepping a stand-alone ice shelf model without an ocean. :param cs: A pointer to the ice shelf control structure :param time_interval: [in] The time interval for this update [s]. :param nsteps: [inout] The running number of ice shelf steps. :param time: [inout] The current model time :param min_time_step_in: [in] The minimum permitted time step [T ~> s]. :callto: :f:func:`mom_diag_mediator::disable_averaging ` :callto: :f:func:`mom_diag_mediator::enable_averages ` :callto: :f:func:`mom_ice_shelf_dynamics::ice_time_step_cfl ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` [debug] xpath(./compounddef/compoundname[text()="mom_ice_shelf::ice_shelf_cs"]/..) match([('id', 'structmom__ice__shelf_1_1ice__shelf__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf::ice_shelf_cs', , {}, ['', 'Con [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf::ice_shelf_cs', , {}, ['`More.. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf::ice_shelf_cs', , {}, ['', 'Con [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, fluxes, Time, time_step, CS, forces)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__ice__shelf_1section_ICE_SHELF_equations) kindref(member) ref([]) [debug] ref([('id', 'namespacemom__ice__shelf_1section_ICE_SHELF_equations')]) [debug] refid2(section_ICE_SHELF_equations) reftext(ICE_SHELF equations) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::shelf_calc_flux', , {}, ['', 'Ca [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::shelf_calc_flux', , {}, ['', 'Ca [debug] DoxygenMethodDocumenter format_signature called ((ISS, G, US, time_step, fluxes, density_ice, debug)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::change_thickness_using_melt', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::change_thickness_using_melt', , [debug] DoxygenMethodDocumenter format_signature called ((G, US, CS, forces, do_shelf_area)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::add_shelf_forces', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::add_shelf_forces', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((G, US, CS, fluxes)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::add_shelf_pressure', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::add_shelf_pressure', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((G, US, CS, sfc_state, fluxes)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::add_shelf_flux', , {}, ['', 'Upd [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::add_shelf_flux', , {}, ['', 'Upd [debug] DoxygenMethodDocumenter format_signature called ((param_file, ocn_grid, Time, CS, diag, forces, fluxes, Time_in, solo_ice_sheet_in)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::initialize_ice_shelf', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::initialize_ice_shelf', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((G, param_file, CS, ISS, new_sim)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::initialize_shelf_mass', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::initialize_shelf_mass', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((G, US, CS, ISS, Time)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::update_shelf_mass', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::update_shelf_mass', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((CS, Time, directory, time_stamped, filename_suffix)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::ice_shelf_save_restart', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::ice_shelf_save_restart', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::ice_shelf_end', , {}, ['', 'Deal [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::ice_shelf_end', , {}, ['', 'Deal [debug] DoxygenMethodDocumenter format_signature called ((CS, time_interval, nsteps, Time, min_time_step_in)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::solo_step_ice_shelf', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf::solo_step_ice_shelf', , {}, ['', [fd] run(.. f:type:: ice_shelf_cs) [fd] sig(ice_shelf_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(ice_shelf_cs) arglist(None) [fd] fullname(mom_ice_shelf/ice_shelf_cs) ftype(None) [fd] name(('mom_ice_shelf/ice_shelf_cs', None)) sig(ice_shelf_cs) signode(type mom_ice_shelf/ice_shelf_cs) [fd] run(.. f:subroutine:: subroutine shelf_calc_flux(sfc_state, fluxes, Time, time_step, CS, forces)) [fd] sig(subroutine shelf_calc_flux(sfc_state, fluxes, Time, time_step, CS, forces)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(shelf_calc_flux) arglist(sfc_state, fluxes, Time, time_step, CS, forces) [fd] fullname(mom_ice_shelf/shelf_calc_flux) ftype(None) [fd] name(('mom_ice_shelf/shelf_calc_flux', None)) sig(subroutine shelf_calc_flux(sfc_state, fluxes, Time, time_step, CS, forces)) signode(subroutine mom_ice_shelf/shelf_calc_fluxsfc_statefluxesTimetime_stepCSforces) [fd] run(.. f:subroutine:: subroutine change_thickness_using_melt(ISS, G, US, time_step, fluxes, density_ice, debug)) [fd] sig(subroutine change_thickness_using_melt(ISS, G, US, time_step, fluxes, density_ice, debug)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(change_thickness_using_melt) arglist(ISS, G, US, time_step, fluxes, density_ice, debug) [fd] fullname(mom_ice_shelf/change_thickness_using_melt) ftype(None) [fd] name(('mom_ice_shelf/change_thickness_using_melt', None)) sig(subroutine change_thickness_using_melt(ISS, G, US, time_step, fluxes, density_ice, debug)) signode(subroutine mom_ice_shelf/change_thickness_using_meltISSGUStime_stepfluxesdensity_icedebug) [fd] run(.. f:subroutine:: subroutine add_shelf_forces(G, US, CS, forces, do_shelf_area)) [fd] sig(subroutine add_shelf_forces(G, US, CS, forces, do_shelf_area)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(add_shelf_forces) arglist(G, US, CS, forces, do_shelf_area) [fd] fullname(mom_ice_shelf/add_shelf_forces) ftype(None) [fd] name(('mom_ice_shelf/add_shelf_forces', None)) sig(subroutine add_shelf_forces(G, US, CS, forces, do_shelf_area)) signode(subroutine mom_ice_shelf/add_shelf_forcesGUSCSforcesdo_shelf_area) [fd] run(.. f:subroutine:: subroutine add_shelf_pressure(G, US, CS, fluxes)) [fd] sig(subroutine add_shelf_pressure(G, US, CS, fluxes)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(add_shelf_pressure) arglist(G, US, CS, fluxes) [fd] fullname(mom_ice_shelf/add_shelf_pressure) ftype(None) [fd] name(('mom_ice_shelf/add_shelf_pressure', None)) sig(subroutine add_shelf_pressure(G, US, CS, fluxes)) signode(subroutine mom_ice_shelf/add_shelf_pressureGUSCSfluxes) [fd] run(.. f:subroutine:: subroutine add_shelf_flux(G, US, CS, sfc_state, fluxes)) [fd] sig(subroutine add_shelf_flux(G, US, CS, sfc_state, fluxes)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(add_shelf_flux) arglist(G, US, CS, sfc_state, fluxes) [fd] fullname(mom_ice_shelf/add_shelf_flux) ftype(None) [fd] name(('mom_ice_shelf/add_shelf_flux', None)) sig(subroutine add_shelf_flux(G, US, CS, sfc_state, fluxes)) signode(subroutine mom_ice_shelf/add_shelf_fluxGUSCSsfc_statefluxes) [fd] run(.. f:subroutine:: subroutine initialize_ice_shelf(param_file, ocn_grid, Time, CS, diag, forces, fluxes, Time_in, solo_ice_sheet_in)) [fd] sig(subroutine initialize_ice_shelf(param_file, ocn_grid, Time, CS, diag, forces, fluxes, Time_in, solo_ice_sheet_in)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_ice_shelf) arglist(param_file, ocn_grid, Time, CS, diag, forces, fluxes, Time_in, solo_ice_sheet_in) [fd] fullname(mom_ice_shelf/initialize_ice_shelf) ftype(None) [fd] name(('mom_ice_shelf/initialize_ice_shelf', None)) sig(subroutine initialize_ice_shelf(param_file, ocn_grid, Time, CS, diag, forces, fluxes, Time_in, solo_ice_sheet_in)) signode(subroutine mom_ice_shelf/initialize_ice_shelfparam_fileocn_gridTimeCSdiagforcesfluxesTime_insolo_ice_sheet_in) [fd] run(.. f:subroutine:: subroutine initialize_shelf_mass(G, param_file, CS, ISS, new_sim)) [fd] sig(subroutine initialize_shelf_mass(G, param_file, CS, ISS, new_sim)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_shelf_mass) arglist(G, param_file, CS, ISS, new_sim) [fd] fullname(mom_ice_shelf/initialize_shelf_mass) ftype(None) [fd] name(('mom_ice_shelf/initialize_shelf_mass', None)) sig(subroutine initialize_shelf_mass(G, param_file, CS, ISS, new_sim)) signode(subroutine mom_ice_shelf/initialize_shelf_massGparam_fileCSISSnew_sim) [fd] run(.. f:subroutine:: subroutine update_shelf_mass(G, US, CS, ISS, Time)) [fd] sig(subroutine update_shelf_mass(G, US, CS, ISS, Time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_shelf_mass) arglist(G, US, CS, ISS, Time) [fd] fullname(mom_ice_shelf/update_shelf_mass) ftype(None) [fd] name(('mom_ice_shelf/update_shelf_mass', None)) sig(subroutine update_shelf_mass(G, US, CS, ISS, Time)) signode(subroutine mom_ice_shelf/update_shelf_massGUSCSISSTime) [fd] run(.. f:subroutine:: subroutine ice_shelf_save_restart(CS, Time, directory, time_stamped, filename_suffix)) [fd] sig(subroutine ice_shelf_save_restart(CS, Time, directory, time_stamped, filename_suffix)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ice_shelf_save_restart) arglist(CS, Time, directory, time_stamped, filename_suffix) [fd] fullname(mom_ice_shelf/ice_shelf_save_restart) ftype(None) [fd] name(('mom_ice_shelf/ice_shelf_save_restart', None)) sig(subroutine ice_shelf_save_restart(CS, Time, directory, time_stamped, filename_suffix)) signode(subroutine mom_ice_shelf/ice_shelf_save_restartCSTimedirectorytime_stampedfilename_suffix) [fd] run(.. f:subroutine:: subroutine ice_shelf_end(CS)) [fd] sig(subroutine ice_shelf_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ice_shelf_end) arglist(CS) [fd] fullname(mom_ice_shelf/ice_shelf_end) ftype(None) [fd] name(('mom_ice_shelf/ice_shelf_end', None)) sig(subroutine ice_shelf_end(CS)) signode(subroutine mom_ice_shelf/ice_shelf_endCS) [fd] run(.. f:subroutine:: subroutine solo_step_ice_shelf(CS, time_interval, nsteps, Time, min_time_step_in)) [fd] sig(subroutine solo_step_ice_shelf(CS, time_interval, nsteps, Time, min_time_step_in)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(solo_step_ice_shelf) arglist(CS, time_interval, nsteps, Time, min_time_step_in) [fd] fullname(mom_ice_shelf/solo_step_ice_shelf) ftype(None) [fd] name(('mom_ice_shelf/solo_step_ice_shelf', None)) sig(subroutine solo_step_ice_shelf(CS, time_interval, nsteps, Time, min_time_step_in)) signode(subroutine mom_ice_shelf/solo_step_ice_shelfCStime_intervalnstepsTimemin_time_step_in) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 38%] api/generated/modules/mom_ice_shelf_dynamics [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_ice_shel [app] emitting event: 'source-read'('api/generated/modules/mom_ice_shelf_dynamics', ['.. autodoxymodule:: mom_ice_shelf_dynamics\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_ice_shelf_dynamics.rst:1: input: .. autodoxymodule:: mom_ice_shelf_dynamics :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_ice_shelf_dynamics::ice_shelf_dyn_cs ~mom_ice_shelf_dynamics::loop_bounds_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_ice_shelf_dynamics::slope_limiter ~mom_ice_shelf_dynamics::quad_area ~mom_ice_shelf_dynamics::register_ice_shelf_dyn_restarts ~mom_ice_shelf_dynamics::initialize_ice_shelf_dyn ~mom_ice_shelf_dynamics::initialize_diagnostic_fields ~mom_ice_shelf_dynamics::ice_time_step_cfl ~mom_ice_shelf_dynamics::update_ice_shelf ~mom_ice_shelf_dynamics::ice_shelf_advect ~mom_ice_shelf_dynamics::ice_shelf_solve_outer ~mom_ice_shelf_dynamics::ice_shelf_solve_inner ~mom_ice_shelf_dynamics::ice_shelf_advect_thickness_x ~mom_ice_shelf_dynamics::ice_shelf_advect_thickness_y ~mom_ice_shelf_dynamics::shelf_advance_front ~mom_ice_shelf_dynamics::ice_shelf_min_thickness_calve ~mom_ice_shelf_dynamics::calve_to_mask ~mom_ice_shelf_dynamics::calc_shelf_driving_stress ~mom_ice_shelf_dynamics::init_boundary_values ~mom_ice_shelf_dynamics::cg_action ~mom_ice_shelf_dynamics::cg_action_subgrid_basal ~mom_ice_shelf_dynamics::matrix_diagonal ~mom_ice_shelf_dynamics::cg_diagonal_subgrid_basal ~mom_ice_shelf_dynamics::apply_boundary_values ~mom_ice_shelf_dynamics::calc_shelf_visc ~mom_ice_shelf_dynamics::update_od_ffrac ~mom_ice_shelf_dynamics::update_od_ffrac_uncoupled ~mom_ice_shelf_dynamics::bilinear_shape_functions ~mom_ice_shelf_dynamics::bilinear_shape_fn_grid ~mom_ice_shelf_dynamics::bilinear_shape_functions_subgrid ~mom_ice_shelf_dynamics::update_velocity_masks ~mom_ice_shelf_dynamics::interpolate_h_to_b ~mom_ice_shelf_dynamics::ice_shelf_dyn_end ~mom_ice_shelf_dynamics::ice_shelf_temp ~mom_ice_shelf_dynamics::ice_shelf_advect_temp_x ~mom_ice_shelf_dynamics::ice_shelf_advect_temp_y [debug] xpath(./compounddef/compoundname[text()="mom_ice_shelf_dynamics"]/..) match([('id', 'namespacemom__ice__shelf__dynamics'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_ice_shelf_dynamics module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_dynamics', , {'members': , {'members': , {'members': ), ('mom_ice_shelf_dynamics::loop_bounds_type', )]) [autodoc] module analyzer failed: error importing 'mom_ice_shelf_dynamics' (exception was: ModuleNotFoundError("No module named 'mom_ice_shelf_dynamics'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , {' [autodoc] module analyzer failed: error importing 'mom_ice_shelf_dynamics' (exception was: ModuleNotFoundError("No module named 'mom_ice_shelf_dynamics'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_ice_shelf_dynamics::loop_bounds_type', , {' [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::loop_bounds_type', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::loop_bounds_type', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::loop_bounds_type', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::loop_bounds_type', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_dynamics::loop_bounds_type', , {' [debug] members([('slope_limiter', ), ('quad_area', ), ('register_ice_shelf_dyn_restarts', ), ('initialize_ice_shelf_dyn', ), ('initialize_diagnostic_fields', ), ('ice_time_step_cfl', ), ('update_ice_shelf', ), ('ice_shelf_advect', ), ('ice_shelf_solve_outer', ), ('ice_shelf_solve_inner', ), ('ice_shelf_advect_thickness_x', ), ('ice_shelf_advect_thickness_y', ), ('shelf_advance_front', ), ('ice_shelf_min_thickness_calve', ), ('calve_to_mask', ), ('calc_shelf_driving_stress', ), ('init_boundary_values', ), ('cg_action', ), ('cg_action_subgrid_basal', ), ('matrix_diagonal', ), ('cg_diagonal_subgrid_basal', ), ('apply_boundary_values', ), ('calc_shelf_visc', ), ('update_od_ffrac', ), ('update_od_ffrac_uncoupled', ), ('bilinear_shape_functions', ), ('bilinear_shape_fn_grid', ), ('bilinear_shape_functions_subgrid', ), ('update_velocity_masks', ), ('interpolate_h_to_b', ), ('ice_shelf_dyn_end', ), ('ice_shelf_temp', ), ('ice_shelf_advect_temp_x', ), ('ice_shelf_advect_temp_y', )]) [autodoc] module analyzer failed: error importing 'mom_ice_shelf_dynamics' (exception was: ModuleNotFoundError("No module named 'mom_ice_shelf_dynamics'")) [debug] DoxygenMethodDocumenter format_signature called ((num, denom)) [debug] add_directive_header sig((num, denom)) [debug] DoxygenMethodDocumenter directive(function) name(real function slope_limiter) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'slope_limiter', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_ice_shelf_dyn_restarts', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_ice_shelf_dyn_restarts', , {'members': [autodoc] module analyzer failed: error importing 'mom_ice_shelf_dynamics' (exception was: ModuleNotFoundError("No module named 'mom_ice_shelf_dynamics'")) [debug] DoxygenMethodDocumenter format_signature called ((param_file, Time, ISS, CS, G, US, diag, new_sim, solo_ice_sheet_in)) [debug] add_directive_header sig((param_file, Time, ISS, CS, G, US, diag, new_sim, solo_ice_sheet_in)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine initialize_ice_shelf_dyn) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_ice_shelf_dyn', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ice_shelf_min_thickness_calve', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ice_shelf_min_thickness_calve', , {'members': < [autodoc] module analyzer failed: error importing 'mom_ice_shelf_dynamics' (exception was: ModuleNotFoundError("No module named 'mom_ice_shelf_dynamics'")) [debug] DoxygenMethodDocumenter format_signature called ((G, h_shelf, area_shelf_h, hmask, calve_mask)) [debug] add_directive_header sig((G, h_shelf, area_shelf_h, hmask, calve_mask)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calve_to_mask) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calve_to_mask', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bilinear_shape_functions_subgrid', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bilinear_shape_functions_subgrid', , {'members' [autodoc] module analyzer failed: error importing 'mom_ice_shelf_dynamics' (exception was: ModuleNotFoundError("No module named 'mom_ice_shelf_dynamics'")) [debug] DoxygenMethodDocumenter format_signature called ((CS, G, hmask, umask, vmask, u_face_mask, v_face_mask)) [debug] add_directive_header sig((CS, G, hmask, umask, vmask, u_face_mask, v_face_mask)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine update_velocity_masks) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'update_velocity_masks', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_ice_shelf_dynamics::ice_shelf_dyn_cs ~mom_ice_shelf_dynamics::loop_bounds_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_ice_shelf_dynamics::slope_limiter ~mom_ice_shelf_dynamics::quad_area ~mom_ice_shelf_dynamics::register_ice_shelf_dyn_restarts ~mom_ice_shelf_dynamics::initialize_ice_shelf_dyn ~mom_ice_shelf_dynamics::initialize_diagnostic_fields ~mom_ice_shelf_dynamics::ice_time_step_cfl ~mom_ice_shelf_dynamics::update_ice_shelf ~mom_ice_shelf_dynamics::ice_shelf_advect ~mom_ice_shelf_dynamics::ice_shelf_solve_outer ~mom_ice_shelf_dynamics::ice_shelf_solve_inner ~mom_ice_shelf_dynamics::ice_shelf_advect_thickness_x ~mom_ice_shelf_dynamics::ice_shelf_advect_thickness_y ~mom_ice_shelf_dynamics::shelf_advance_front ~mom_ice_shelf_dynamics::ice_shelf_min_thickness_calve ~mom_ice_shelf_dynamics::calve_to_mask ~mom_ice_shelf_dynamics::calc_shelf_driving_stress ~mom_ice_shelf_dynamics::init_boundary_values ~mom_ice_shelf_dynamics::cg_action ~mom_ice_shelf_dynamics::cg_action_subgrid_basal ~mom_ice_shelf_dynamics::matrix_diagonal ~mom_ice_shelf_dynamics::cg_diagonal_subgrid_basal ~mom_ice_shelf_dynamics::apply_boundary_values ~mom_ice_shelf_dynamics::calc_shelf_visc ~mom_ice_shelf_dynamics::update_od_ffrac ~mom_ice_shelf_dynamics::update_od_ffrac_uncoupled ~mom_ice_shelf_dynamics::bilinear_shape_functions ~mom_ice_shelf_dynamics::bilinear_shape_fn_grid ~mom_ice_shelf_dynamics::bilinear_shape_functions_subgrid ~mom_ice_shelf_dynamics::update_velocity_masks ~mom_ice_shelf_dynamics::interpolate_h_to_b ~mom_ice_shelf_dynamics::ice_shelf_dyn_end ~mom_ice_shelf_dynamics::ice_shelf_temp ~mom_ice_shelf_dynamics::ice_shelf_advect_temp_x ~mom_ice_shelf_dynamics::ice_shelf_advect_temp_y .. _DETAmom_ice_shelf_dynamics: -------------------- Detailed Description -------------------- Implements a crude placeholder for a later implementation of full ice shelf dynamics. ------------------ Type Documentation ------------------ .. f:type:: ice_shelf_dyn_cs The control structure for the ice shelf dynamics. :typefield integer id_u_shelf: Diagnostic handles. :typefield integer id_v_shelf: Diagnostic handles. :typefield integer id_t_shelf: Diagnostic handles. :typefield integer id_ground_frac: Diagnostic handles. :typefield integer id_col_thick: Diagnostic handles. :typefield integer id_od_av: Diagnostic handles. :typefield integer id_u_mask: Diagnostic handles. :typefield integer id_v_mask: Diagnostic handles. :typefield integer id_t_mask: Diagnostic handles. :typefield real(\:,\:) u_shelf [pointer]: the zonal velocity of the ice shelf/sheet on q-points (B grid) [L T-1 ~> m s-1] :typefield real(\:,\:) v_shelf [pointer]: the meridional velocity of the ice shelf/sheet on q-points (B grid) [L T-1 ~> m s-1] :typefield real(\:,\:) u_face_mask [pointer]: mask for velocity boundary conditions on the C-grid u-face - this is because the FEM cares about FACES THAT GET INTEGRATED OVER, not vertices. Will represent boundary conditions on computational boundary (or permanent boundary between fast-moving and near-stagnant ice FOR NOW: 1=interior bdry, 0=no-flow boundary, 2=stress bdry condition, 3=inhomogeneous Dirichlet boundary, 4=flux boundary: at these faces a flux will be specified which will override velocities; a homogeneous velocity condition will be specified (this seems to give the solver less difficulty) :typefield real(\:,\:) v_face_mask [pointer]: A mask for velocity boundary conditions on the C-grid v-face, with valued defined similarly to u_face_mask. :typefield real(\:,\:) u_face_mask_bdry [pointer]: A duplicate copy of u_face_mask? :typefield real(\:,\:) v_face_mask_bdry [pointer]: A duplicate copy of v_face_mask? :typefield real(\:,\:) u_flux_bdry_val [pointer]: The ice volume flux per unit face length into the cell through open boundary u-faces (where u_face_mask=4) [Z L T-1 ~> m2 s-1]. :typefield real(\:,\:) v_flux_bdry_val [pointer]: The ice volume flux per unit face length into the cell through open boundary v-faces (where v_face_mask=4) [Z L T-1 ~> m2 s-1]?? :typefield real(\:,\:) umask [pointer]: u-mask on the actual degrees of freedom (B grid) 1=normal node, 3=inhomogeneous boundary node, 0 - no flow node (will also get ice-free nodes) :typefield real(\:,\:) vmask [pointer]: v-mask on the actual degrees of freedom (B grid) 1=normal node, 3=inhomogeneous boundary node, 0 - no flow node (will also get ice-free nodes) :typefield real(\:,\:) calve_mask [pointer]: a mask to prevent the ice shelf front from advancing past its initial position (but it may retreat) :typefield real(\:,\:) t_shelf [pointer]: Vertically integrated temperature in the ice shelf/stream, on corner-points (B grid) [degC]. :typefield real(\:,\:) tmask [pointer]: A mask on tracer points that is 1 where there is ice. :typefield real(\:,\:) ice_visc [pointer]: Glen's law ice viscosity, often in [R L4 Z T-1 ~> kg m2 s-1]. :typefield real(\:,\:) thickness_bdry_val [pointer]: The ice thickness at an inflowing boundary [Z ~> m]. :typefield real(\:,\:) u_bdry_val [pointer]: The zonal ice velocity at inflowing boundaries [L yr-1 ~> m yr-1]. :typefield real(\:,\:) v_bdry_val [pointer]: The meridional ice velocity at inflowing boundaries [L yr-1 ~> m yr-1]. :typefield real(\:,\:) h_bdry_val [pointer]: The ice thickness at inflowing boundaries [m]. :typefield real(\:,\:) t_bdry_val [pointer]: The ice temperature at inflowing boundaries [degC]. :typefield real(\:,\:) basal_traction [pointer]: The area integrated nonlinear part of "linearized" basal stress [R Z L2 T-1 ~> kg s-1]. The exact form depends on basal law exponent and/or whether flow is "hybridized" a la Goldberg 2011. :typefield real(\:,\:) od_rt [pointer]: A running total for calculating OD_av. :typefield real(\:,\:) ground_frac_rt [pointer]: A running total for calculating ground_frac. :typefield real(\:,\:) od_av [pointer]: The time average open ocean depth [Z ~> m]. :typefield real(\:,\:) ground_frac [pointer]: Fraction of the time a cell is "exposed", i.e. the column thickness is below a threshold and interacting with the rock [nondim]. When this is 1, the ice-shelf is grounded. :typefield integer od_rt_counter: A counter of the number of contributions to OD_rt. :typefield real velocity_update_time_step: The time interval over which to update the ice shelf velocity using the nonlinear elliptic equation, or 0 to update every timestep [T ~> s]. :typefield real elapsed_velocity_time: The elapsed time since the ice velocities were last updated [T ~> s]. :typefield real g_earth: The gravitational acceleration [L2 Z-1 T-2 ~> m s-2]. :typefield real density_ice: A typical density of ice [R ~> kg m-3]. :typefield logical gl_regularize: Specifies whether to regularize the floatation condition at the grounding line as in Goldberg Holland Schoof 2009. :typefield integer n_sub_regularize: partition of cell over which to integrate for interpolated grounding line the (rectangular) is divided into nxn equally-sized rectangles, over which basal contribution is integrated (iterative quadrature) :typefield logical gl_couple: whether to let the floatation condition be determined by ocean column thickness means update_OD_ffrac will be called (note: GL_regularize and GL_couple should be exclusive) :typefield real cfl_factor: A factor used to limit subcycled advective timestep in uncoupled runs i.e. dt <= CFL_factor * min(dx / u) :typefield real a_glen_isothermal: Ice viscosity parameter in Glen's Law, [Pa-3 s-1]. :typefield real n_glen: Nonlinearity exponent in Glen's Law. :typefield real eps_glen_min: Min. strain rate to avoid infinite Glen's law viscosity, [year-1]. :typefield real c_basal_friction: Coefficient in sliding law tau_b = C u^(n_basal_fric), in units= Pa (m yr-1)-(n_basal_fric) :typefield real n_basal_fric: Exponent in sliding law tau_b = C u^(m_slide) :typefield real density_ocean_avg: A typical ocean density [R ~> kg m-3]. This does not affect ocean circulation or thermodynamics. It is used to estimate the gravitational driving force at the shelf front (until we think of a better way to do it, but any difference will be negligible). :typefield real thresh_float_col_depth: The water column depth over which the shelf if considered to be floating. :typefield logical moving_shelf_front: Specify whether to advance shelf front (and calve). :typefield logical calve_to_mask: If true, calve off the ice shelf when it passes the edge of a mask. :typefield real min_thickness_simple_calve: min. ice shelf thickness criteria for calving [Z ~> m]. :typefield real cg_tolerance: The tolerance in the CG solver, relative to initial residual, that determines when to stop the conjugate gradient iterations. :typefield real nonlinear_tolerance: The fractional nonlinear tolerance, relative to the initial error, that sets when to stop the iterative velocity solver. :typefield integer cg_max_iterations: The maximum number of iterations that can be used in the CG solver. :typefield integer nonlin_solve_err_mode: 1: exit vel solve based on nonlin residual 2: exit based on "fixed point" metric (|u - u_last| / |u| < tol) where | | is infty-norm :typefield logical debug: If true, write verbose checksums for debugging purposes and use reproducible sums. :typefield logical module_is_initialized: True if this module has been initialized. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to control diagnostic output. .. f:type:: loop_bounds_type A container for loop bounds. :typefield integer ish [private]: Loop bounds. :typefield integer ieh [private]: Loop bounds. :typefield integer jsh [private]: Loop bounds. :typefield integer jeh [private]: Loop bounds. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: real function slope_limiter(num, denom) used for flux limiting in advective subroutines Van Leer limiter (source: Wikipedia) The return value is between 0 and 2 [nondim]. :param num: [in] The numerator of the ratio used in the Van Leer slope limiter :param denom: [in] The denominator of the ratio used in the Van Leer slope limiter :calledfrom: :f:func:`ice_shelf_advect_temp_x ` :calledfrom: :f:func:`ice_shelf_advect_temp_y ` :calledfrom: :f:func:`ice_shelf_advect_thickness_x ` :calledfrom: :f:func:`ice_shelf_advect_thickness_y ` .. f:function:: real function quad_area(X, Y) Calculate area of quadrilateral. :param x: [in] The x-positions of the vertices of the quadrilateral [L ~> m]. :param y: [in] The y-positions of the vertices of the quadrilateral [L ~> m]. :calledfrom: :f:func:`bilinear_shape_functions ` .. f:subroutine:: subroutine register_ice_shelf_dyn_restarts(G, param_file, CS, restart_CS) This subroutine is used to register any fields related to the ice shelf dynamics that should be written to or read from the restart file. :param g: [inout] The grid type describing the ice shelf grid. :param param_file: [in] A structure to parse for run-time parameters :param cs: A pointer to the ice shelf dynamics control structure :param restart_cs: A pointer to the restart control structure. :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine initialize_ice_shelf_dyn(param_file, Time, ISS, CS, G, US, diag, new_sim, solo_ice_sheet_in) Initializes shelf model data, parameters and diagnostics. :param param_file: [in] A structure to parse for run-time parameters :param time: [inout] The clock that that will indicate the model time :param iss: [in] A structure with elements that describe the ice-shelf state :param cs: A pointer to the ice shelf dynamics control structure :param g: [inout] The grid type describing the ice shelf grid. :param us: [in] A structure containing unit conversion factors :param diag: [in] A structure that is used to regulate the diagnostic output. :param new_sim: [in] If true this is a new simulation, otherwise has been started from a restart file. :param solo_ice_sheet_in: [in] If present, this indicates whether a solo ice-sheet driver. :callto: :f:func:`ice_shelf_solve_outer ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`mom_domains::to_all ` :callto: :f:func:`update_od_ffrac_uncoupled ` :callto: :f:func:`update_velocity_masks ` .. f:subroutine:: subroutine initialize_diagnostic_fields(CS, ISS, G, US, Time) :param cs: [inout] A pointer to the ice shelf control structure :param iss: [in] A structure with elements that describe the ice-shelf state :param g: [inout] The grid structure used by the ice shelf. :param us: [in] A structure containing unit conversion factors :param time: [in] The current model time :callto: :f:func:`ice_shelf_solve_outer ` .. f:function:: real function ice_time_step_cfl(CS, ISS, G) This function returns the global maximum advective timestep that can be taken based on the current ice velocities. Because it involves finding a global minimum, it can be surprisingly expensive. :param cs: [inout] The ice shelf dynamics control structure :param iss: [inout] A structure with elements that describe the ice-shelf state :param g: [inout] The grid structure used by the ice shelf. :returns undefined: The maximum permitted timestep based on the ice velocities [T ~> s]. :calledfrom: :f:func:`mom_ice_shelf::solo_step_ice_shelf ` .. f:subroutine:: subroutine update_ice_shelf(CS, ISS, G, US, time_step, Time, ocean_mass, coupled_grounding, must_update_vel) This subroutine updates the ice shelf velocities, mass, stresses and properties due to the ice shelf dynamics. :param cs: [inout] The ice shelf dynamics control structure :param iss: [inout] A structure with elements that describe the ice-shelf state :param g: [inout] The grid structure used by the ice shelf. :param us: [in] A structure containing unit conversion factors :param time_step: [in] time step [T ~> s] :param time: [in] The current model time :param ocean_mass: [in] If present this is the mass per unit area :param coupled_grounding: [in] If true, the grounding line is determined by coupled ice-ocean dynamics :param must_update_vel: [in] Always update the ice velocities if true. :callto: :f:func:`mom_diag_mediator::disable_averaging ` :callto: :f:func:`mom_diag_mediator::enable_averages ` :callto: :f:func:`ice_shelf_advect ` :callto: :f:func:`ice_shelf_solve_outer ` :callto: :f:func:`ice_shelf_temp ` :callto: :f:func:`update_od_ffrac ` :callto: :f:func:`update_od_ffrac_uncoupled ` .. f:subroutine:: subroutine ice_shelf_advect(CS, ISS, G, time_step, Time) This subroutine takes the velocity (on the Bgrid) and timesteps h_t = - div (uh) once. Additionally, it will update the volume of ice in partially-filled cells, and update hmask accordingly. :param cs: [inout] The ice shelf dynamics control structure :param iss: [inout] A structure with elements that describe the ice-shelf state :param g: [inout] The grid structure used by the ice shelf. :param time_step: [in] time step [T ~> s] :param time: [in] The current model time :callto: :f:func:`calve_to_mask ` :callto: :f:func:`ice_shelf_advect_thickness_x ` :callto: :f:func:`ice_shelf_advect_thickness_y ` :callto: :f:func:`ice_shelf_min_thickness_calve ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`shelf_advance_front ` :callto: :f:func:`update_velocity_masks ` :calledfrom: :f:func:`update_ice_shelf ` .. f:subroutine:: subroutine ice_shelf_solve_outer(CS, ISS, G, US, u_shlf, v_shlf, iters, time) :param cs: [inout] The ice shelf dynamics control structure :param iss: [in] A structure with elements that describe the ice-shelf state :param g: [inout] The grid structure used by the ice shelf. :param us: [in] A structure containing unit conversion factors :param u_shlf: [inout] The zonal ice shelf velocity at vertices [L T-1 ~> m s-1] :param v_shlf: [inout] The meridional ice shelf velocity at vertices [L T-1 ~> m s-1] :param iters: [out] The number of iterations used in the solver. :param time: [in] The current model time :callto: :f:func:`apply_boundary_values ` :callto: :f:func:`bilinear_shape_fn_grid ` :callto: :f:func:`bilinear_shape_functions_subgrid ` :callto: :f:func:`calc_shelf_driving_stress ` :callto: :f:func:`calc_shelf_visc ` :callto: :f:func:`cg_action ` :callto: :f:func:`ice_shelf_solve_inner ` :callto: :f:func:`interpolate_h_to_b ` :callto: :f:func:`mom_error_handler::mom_mesg ` :calledfrom: :f:func:`initialize_diagnostic_fields ` :calledfrom: :f:func:`initialize_ice_shelf_dyn ` :calledfrom: :f:func:`update_ice_shelf ` .. f:subroutine:: subroutine ice_shelf_solve_inner(CS, ISS, G, US, u_shlf, v_shlf, taudx, taudy, H_node, float_cond, hmask, conv_flag, iters, time, Phi, Phisub) :param cs: [in] A pointer to the ice shelf control structure :param iss: [in] A structure with elements that describe the ice-shelf state :param g: [inout] The grid structure used by the ice shelf. :param us: [in] A structure containing unit conversion factors :param u_shlf: [inout] The zonal ice shelf velocity at vertices [L T-1 ~> m s-1] :param v_shlf: [inout] The meridional ice shelf velocity at vertices [L T-1 ~> m s-1] :param taudx: [in] The x-direction driving stress [R L3 Z T-2 ~> kg m s-2] :param taudy: [in] The y-direction driving stress [R L3 Z T-2 ~> kg m s-2] :param h_node: [in] The ice shelf thickness at nodal (corner) :param float_cond: [in] An array indicating where the ice :param hmask: [in] A mask indicating which tracer points are :param conv_flag: [out] A flag indicating whether (1) or not (0) the iterations have converged to the specified tolerance :param iters: [out] The number of iterations used in the solver. :param time: [in] The current model time :param phi: [in] The gradients of bilinear basis elements at Gaussian :param phisub: [in] Quadrature structure weights at subgridscale :callto: :f:func:`apply_boundary_values ` :callto: :f:func:`cg_action ` :callto: :f:func:`matrix_diagonal ` :callto: :f:func:`mom_domains::to_all ` :calledfrom: :f:func:`ice_shelf_solve_outer ` .. f:subroutine:: subroutine ice_shelf_advect_thickness_x(CS, G, LB, time_step, hmask, h0, h_after_uflux, uh_ice) :param cs: [in] A pointer to the ice shelf control structure :param g: [in] The grid structure used by the ice shelf. :param lb: [in] Loop bounds structure. :param time_step: [in] The time step for this update [T ~> s]. :param hmask: [inout] A mask indicating which tracer points are :param h0: [in] The initial ice shelf thicknesses [Z ~> m]. :param h_after_uflux: [inout] The ice shelf thicknesses after :param uh_ice: [inout] The accumulated zonal ice volume flux [Z L2 ~> m3] :callto: :f:func:`slope_limiter ` :calledfrom: :f:func:`ice_shelf_advect ` .. f:subroutine:: subroutine ice_shelf_advect_thickness_y(CS, G, LB, time_step, hmask, h0, h_after_vflux, vh_ice) :param cs: [in] A pointer to the ice shelf control structure :param g: [in] The grid structure used by the ice shelf. :param lb: [in] Loop bounds structure. :param time_step: [in] The time step for this update [T ~> s]. :param hmask: [inout] A mask indicating which tracer points are :param h0: [in] The initial ice shelf thicknesses [Z ~> m]. :param h_after_vflux: [inout] The ice shelf thicknesses after :param vh_ice: [inout] The accumulated meridional ice volume flux [Z L2 ~> m3] :callto: :f:func:`slope_limiter ` :calledfrom: :f:func:`ice_shelf_advect ` .. f:subroutine:: subroutine shelf_advance_front(CS, ISS, G, hmask, uh_ice, vh_ice) :param cs: [in] A pointer to the ice shelf control structure :param iss: [inout] A structure with elements that describe the ice-shelf state :param g: [in] The grid structure used by the ice shelf. :param hmask: [inout] A mask indicating which tracer points are :param uh_ice: [inout] The accumulated zonal ice volume flux [Z L2 ~> m3] :param vh_ice: [inout] The accumulated meridional ice volume flux [Z L2 ~> m3] :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_mesg ` :calledfrom: :f:func:`ice_shelf_advect ` .. f:subroutine:: subroutine ice_shelf_min_thickness_calve(G, h_shelf, area_shelf_h, hmask, thickness_calve, halo) Apply a very simple calving law using a minimum thickness rule. :param g: [in] The grid structure used by the ice shelf. :param h_shelf: [inout] The ice shelf thickness [Z ~> m]. :param area_shelf_h: [inout] The area per cell covered by the ice shelf [L2 ~> m2]. :param hmask: [inout] A mask indicating which tracer points are partly or fully covered by an ice-shelf :param thickness_calve: [in] The thickness at which to trigger calving [Z ~> m]. :param halo: [in] The number of halo points to use. If not present, work on the entire data domain. :calledfrom: :f:func:`ice_shelf_advect ` .. f:subroutine:: subroutine calve_to_mask(G, h_shelf, area_shelf_h, hmask, calve_mask) :param g: [in] The grid structure used by the ice shelf. :param h_shelf: [inout] The ice shelf thickness [Z ~> m]. :param area_shelf_h: [inout] The area per cell covered by the ice shelf [L2 ~> m2]. :param hmask: [inout] A mask indicating which tracer points are partly or fully covered by an ice-shelf :param calve_mask: [in] A mask that indicates where the ice shelf can exist, and where it will calve. :calledfrom: :f:func:`ice_shelf_advect ` .. f:subroutine:: subroutine calc_shelf_driving_stress(CS, ISS, G, US, taudx, taudy, OD) :param cs: [in] A pointer to the ice shelf control structure :param iss: [in] A structure with elements that describe the ice-shelf state :param g: [inout] The grid structure used by the ice shelf. :param us: [in] A structure containing unit conversion factors :param od: [in] ocean floor depth at tracer points [Z ~> m]. :param taudx: [inout] X-direction driving stress at q-points [kg L s-2 ~> kg m s-2] :param taudy: [inout] Y-direction driving stress at q-points [kg L s-2 ~> kg m s-2] :calledfrom: :f:func:`ice_shelf_solve_outer ` .. f:subroutine:: subroutine init_boundary_values(CS, G, time, hmask, input_flux, input_thick, new_sim) :param cs: [inout] A pointer to the ice shelf control structure :param g: [inout] The grid structure used by the ice shelf. :param time: [in] The current model time :param hmask: [in] A mask indicating which tracer points are :param input_flux: [in] The integrated inward ice thickness flux per unit face length [Z L T-1 ~> m2 s-1] :param input_thick: [in] The ice thickness at boundaries [Z ~> m]. :param new_sim: [in] If present and false, this run is being restarted .. f:subroutine:: subroutine cg_action(uret, vret, u_shlf, v_shlf, Phi, Phisub, umask, vmask, hmask, H_node, ice_visc, float_cond, bathyT, basal_trac, G, US, is, ie, js, je, dens_ratio) :param g: [in] The grid structure used by the ice shelf. :param uret: [inout] The retarding stresses working at u-points [R L3 Z T-2 ~> kg m s-2]. :param vret: [inout] The retarding stresses working at v-points [R L3 Z T-2 ~> kg m s-2]. :param phi: [in] The gradients of bilinear basis elements at Gaussian :param phisub: [in] Quadrature structure weights at subgridscale :param u_shlf: [in] The zonal ice shelf velocity at vertices [L T-1 ~> m s-1] :param v_shlf: [in] The meridional ice shelf velocity at vertices [L T-1 ~> m s-1] :param umask: [in] A coded mask indicating the nature of the :param vmask: [in] A coded mask indicating the nature of the :param h_node: [in] The ice shelf thickness at nodal (corner) :param hmask: [in] A mask indicating which tracer points are :param ice_visc: [in] A field related to the ice viscosity from Glen's :param float_cond: [in] An array indicating where the ice :param bathyt: [in] The depth of ocean bathymetry at tracer points [Z ~> m]. :param basal_trac: [in] A field related to the nonlinear part of the :param dens_ratio: [in] The density of ice divided by the density of seawater, nondimensional :param us: [in] A structure containing unit conversion factors :param is: [in] The starting i-index to work on :param ie: [in] The ending i-index to work on :param js: [in] The starting j-index to work on :param je: [in] The ending j-index to work on :callto: :f:func:`cg_action_subgrid_basal ` :calledfrom: :f:func:`ice_shelf_solve_inner ` :calledfrom: :f:func:`ice_shelf_solve_outer ` .. f:subroutine:: subroutine cg_action_subgrid_basal(Phisub, H, U, V, bathyT, dens_ratio, Ucontr, Vcontr) :param phisub: [in] Quadrature structure weights at subgridscale :param h: [in] The ice shelf thickness at nodal (corner) points [Z ~> m]. :param u: [in] The zonal ice shelf velocity at vertices [L T-1 ~> m s-1] :param v: [in] The meridional ice shelf velocity at vertices [L T-1 ~> m s-1] :param bathyt: [in] The depth of ocean bathymetry at tracer points [Z ~> m]. :param dens_ratio: [in] The density of ice divided by the density of seawater [nondim] :param ucontr: [out] The areal average of u-velocities where the ice shelf is grounded, or 0 where it is floating [L T-1 ~> m s-1]. :param vcontr: [out] The areal average of v-velocities where the ice shelf is grounded, or 0 where it is floating [L T-1 ~> m s-1]. :calledfrom: :f:func:`apply_boundary_values ` :calledfrom: :f:func:`cg_action ` .. f:subroutine:: subroutine matrix_diagonal(CS, G, US, float_cond, H_node, ice_visc, basal_trac, hmask, dens_ratio, Phisub, u_diagonal, v_diagonal) returns the diagonal entries of the matrix for a Jacobi preconditioning :param cs: [in] A pointer to the ice shelf control structure :param g: [in] The grid structure used by the ice shelf. :param us: [in] A structure containing unit conversion factors :param float_cond: [in] An array indicating where the ice :param h_node: [in] The ice shelf thickness at nodal :param ice_visc: [in] A field related to the ice viscosity from Glen's :param basal_trac: [in] A field related to the nonlinear part of the :param hmask: [in] A mask indicating which tracer points are :param dens_ratio: [in] The density of ice divided by the density of seawater [nondim] :param phisub: [in] Quadrature structure weights at subgridscale locations for finite element calculations [nondim] :param u_diagonal: [inout] The diagonal elements of the u-velocity :param v_diagonal: [inout] The diagonal elements of the v-velocity :callto: :f:func:`bilinear_shape_fn_grid ` :callto: :f:func:`cg_diagonal_subgrid_basal ` :calledfrom: :f:func:`ice_shelf_solve_inner ` .. f:subroutine:: subroutine cg_diagonal_subgrid_basal(Phisub, H_node, bathyT, dens_ratio, sub_grnd) :param phisub: [in] Quadrature structure weights at subgridscale :param h_node: [in] The ice shelf thickness at nodal (corner) points [Z ~> m]. :param bathyt: [in] The depth of ocean bathymetry at tracer points [Z ~> m]. :param dens_ratio: [in] The density of ice divided by the density of seawater [nondim] :param sub_grnd: [out] The weighted fraction of the sub-cell where the ice shelf is grounded [nondim] :calledfrom: :f:func:`matrix_diagonal ` .. f:subroutine:: subroutine apply_boundary_values(CS, ISS, G, US, time, Phisub, H_node, ice_visc, basal_trac, float_cond, dens_ratio, u_bdry_contr, v_bdry_contr) :param cs: [in] A pointer to the ice shelf control structure :param iss: [in] A structure with elements that describe the ice-shelf state :param g: [in] The grid structure used by the ice shelf. :param us: [in] A structure containing unit conversion factors :param time: [in] The current model time :param phisub: [in] Quadrature structure weights at subgridscale :param h_node: [in] The ice shelf thickness at nodal :param ice_visc: [in] A field related to the ice viscosity from Glen's :param basal_trac: [in] A field related to the nonlinear part of the :param float_cond: [in] An array indicating where the ice :param dens_ratio: [in] The density of ice divided by the density of seawater, nondimensional :param u_bdry_contr: [inout] Zonal force contributions due to the :param v_bdry_contr: [inout] Meridional force contributions due to the :callto: :f:func:`bilinear_shape_fn_grid ` :callto: :f:func:`cg_action_subgrid_basal ` :calledfrom: :f:func:`ice_shelf_solve_inner ` :calledfrom: :f:func:`ice_shelf_solve_outer ` .. f:subroutine:: subroutine calc_shelf_visc(CS, ISS, G, US, u_shlf, v_shlf) Update depth integrated viscosity, based on horizontal strain rates, and also update the nonlinear part of the basal traction. :param cs: [inout] A pointer to the ice shelf control structure :param iss: [in] A structure with elements that describe the ice-shelf state :param g: [in] The grid structure used by the ice shelf. :param us: [in] A structure containing unit conversion factors :param u_shlf: [inout] The zonal ice shelf velocity [L T-1 ~> m s-1]. :param v_shlf: [inout] The meridional ice shelf velocity [L T-1 ~> m s-1]. :calledfrom: :f:func:`ice_shelf_solve_outer ` .. f:subroutine:: subroutine update_od_ffrac(CS, G, US, ocean_mass, find_avg) :param cs: [inout] A pointer to the ice shelf control structure :param g: [inout] The grid structure used by the ice shelf. :param us: [in] A structure containing unit conversion factors :param ocean_mass: [in] The mass per unit area of the ocean [kg m-2]. :param find_avg: [in] If true, find the average of OD and ffrac, and reset the underlying running sums to 0. :calledfrom: :f:func:`update_ice_shelf ` .. f:subroutine:: subroutine update_od_ffrac_uncoupled(CS, G, h_shelf) :param cs: [inout] A pointer to the ice shelf control structure :param g: [in] The grid structure used by the ice shelf. :param h_shelf: [in] the thickness of the ice shelf [Z ~> m]. :calledfrom: :f:func:`initialize_ice_shelf_dyn ` :calledfrom: :f:func:`update_ice_shelf ` .. f:subroutine:: subroutine bilinear_shape_functions(X, Y, Phi, area) This subroutine calculates the gradients of bilinear basis elements that that are centered at the vertices of the cell. Values are calculated at points of gaussian quadrature. :param x: [in] The x-positions of the vertices of the quadrilateral [L ~> m]. :param y: [in] The y-positions of the vertices of the quadrilateral [L ~> m]. :param phi: [inout] The gradients of bilinear basis elements at Gaussian quadrature points surrounding the cell vertices [L-1 ~> m-1]. :param area: [out] The quadrilateral cell area [L2 ~> m2]. :callto: :f:func:`quad_area ` .. f:subroutine:: subroutine bilinear_shape_fn_grid(G, i, j, Phi) This subroutine calculates the gradients of bilinear basis elements that are centered at the vertices of the cell using a locally orthogoal MOM6 grid. Values are calculated at points of gaussian quadrature. :param g: [in] The grid structure used by the ice shelf. :param i: [in] The i-index in the grid to work on. :param j: [in] The j-index in the grid to work on. :param phi: [inout] The gradients of bilinear basis elements at Gaussian quadrature points surrounding the cell vertices [L-1 ~> m-1]. :calledfrom: :f:func:`apply_boundary_values ` :calledfrom: :f:func:`ice_shelf_solve_outer ` :calledfrom: :f:func:`matrix_diagonal ` .. f:subroutine:: subroutine bilinear_shape_functions_subgrid(Phisub, nsub) :param phisub: [inout] Quadrature structure weights at subgridscale :param nsub: [in] The number of subgridscale quadrature locations in each direction :calledfrom: :f:func:`ice_shelf_solve_outer ` .. f:subroutine:: subroutine update_velocity_masks(CS, G, hmask, umask, vmask, u_face_mask, v_face_mask) :param cs: [in] A pointer to the ice shelf dynamics control structure :param g: [inout] The grid structure used by the ice shelf. :param hmask: [in] A mask indicating which tracer points are :param umask: [out] A coded mask indicating the nature of the :param vmask: [out] A coded mask indicating the nature of the :param u_face_mask: [out] A coded mask for velocities at the C-grid u-face :param v_face_mask: [out] A coded mask for velocities at the C-grid v-face :callto: :f:func:`mom_domains::to_all ` :calledfrom: :f:func:`ice_shelf_advect ` :calledfrom: :f:func:`initialize_ice_shelf_dyn ` .. f:subroutine:: subroutine interpolate_h_to_b(G, h_shelf, hmask, H_node) Interpolate the ice shelf thickness from tracer point to nodal points, subject to a mask. :param g: [inout] The grid structure used by the ice shelf. :param h_shelf: [in] The ice shelf thickness at tracer points [Z ~> m]. :param hmask: [in] A mask indicating which tracer points are :param h_node: [inout] The ice shelf thickness at nodal (corner) :calledfrom: :f:func:`ice_shelf_solve_outer ` .. f:subroutine:: subroutine ice_shelf_dyn_end(CS) Deallocates all memory associated with the ice shelf dynamics module. :param cs: A pointer to the ice shelf dynamics control structure :calledfrom: :f:func:`mom_ice_shelf::ice_shelf_end ` .. f:subroutine:: subroutine ice_shelf_temp(CS, ISS, G, US, time_step, melt_rate, Time) This subroutine updates the vertically averaged ice shelf temperature. :param cs: [inout] A pointer to the ice shelf control structure :param iss: [in] A structure with elements that describe the ice-shelf state :param g: [inout] The grid structure used by the ice shelf. :param us: [in] A structure containing unit conversion factors :param time_step: [in] The time step for this update [T ~> s]. :param melt_rate: [in] basal melt rate [R Z T-1 ~> kg m-2 s-1] :param time: [in] The current model time :callto: :f:func:`ice_shelf_advect_temp_x ` :callto: :f:func:`ice_shelf_advect_temp_y ` :calledfrom: :f:func:`update_ice_shelf ` .. f:subroutine:: subroutine ice_shelf_advect_temp_x(CS, G, time_step, hmask, h0, h_after_uflux) :param cs: [in] A pointer to the ice shelf control structure :param g: [inout] The grid structure used by the ice shelf. :param time_step: [in] The time step for this update [T ~> s]. :param hmask: [in] A mask indicating which tracer points are :param h0: [in] The initial ice shelf thicknesses [Z ~> m]. :param h_after_uflux: [inout] The ice shelf thicknesses after :callto: :f:func:`slope_limiter ` :calledfrom: :f:func:`ice_shelf_temp ` .. f:subroutine:: subroutine ice_shelf_advect_temp_y(CS, G, time_step, hmask, h_after_uflux, h_after_vflux) :param cs: [in] A pointer to the ice shelf control structure :param g: [in] The grid structure used by the ice shelf. :param time_step: [in] The time step for this update [T ~> s]. :param hmask: [in] A mask indicating which tracer points are :param h_after_uflux: [in] The ice shelf thicknesses after :param h_after_vflux: [inout] The ice shelf thicknesses after :callto: :f:func:`slope_limiter ` :calledfrom: :f:func:`ice_shelf_temp ` [debug] xpath(./compounddef/compoundname[text()="mom_ice_shelf_dynamics::ice_shelf_dyn_cs"]/..) match([('id', 'structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_dynamics::ice_shelf_dyn_cs', , [debug] xpath(./compounddef/compoundname[text()="mom_ice_shelf_dynamics::loop_bounds_type"]/..) match([('id', 'structmom__ice__shelf__dynamics_1_1loop__bounds__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_dynamics::loop_bounds_type', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_dynamics::loop_bounds_type', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_dynamics::loop_bounds_type', , [debug] DoxygenMethodDocumenter format_signature called ((num, denom)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::slope_limiter', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::slope_limiter', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((X, Y)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::quad_area', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::quad_area', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((G, param_file, CS, restart_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::register_ice_shelf_dyn_restarts', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::ice_time_step_cfl', , { [debug] DoxygenMethodDocumenter format_signature called ((CS, ISS, G, US, time_step, Time, ocean_mass, coupled_grounding, must_update_vel)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::update_ice_shelf', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::update_ice_shelf', , {} [debug] DoxygenMethodDocumenter format_signature called ((CS, ISS, G, time_step, Time)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::ice_shelf_advect', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::ice_shelf_advect', , {} [debug] DoxygenMethodDocumenter format_signature called ((CS, ISS, G, US, u_shlf, v_shlf, iters, time)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::ice_shelf_solve_outer', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::shelf_advance_front', , [debug] DoxygenMethodDocumenter format_signature called ((G, h_shelf, area_shelf_h, hmask, thickness_calve, halo)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::ice_shelf_min_thickness_calve', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::calve_to_mask', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((CS, ISS, G, US, taudx, taudy, OD)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::calc_shelf_driving_stress', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::init_boundary_values', [debug] DoxygenMethodDocumenter format_signature called ((uret, vret, u_shlf, v_shlf, Phi, Phisub, umask, vmask, hmask, H_node, ice_visc, float_cond, bathyT, basal_trac, G, US, is, ie, js, je, dens_ratio)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::cg_action', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::cg_action', , {}, ['']) [debug] DoxygenMethodDocumenter format_signature called ((Phisub, H, U, V, bathyT, dens_ratio, Ucontr, Vcontr)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::cg_action_subgrid_basal', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::matrix_diagonal', , {}, [debug] DoxygenMethodDocumenter format_signature called ((Phisub, H_node, bathyT, dens_ratio, sub_grnd)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::cg_diagonal_subgrid_basal', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::calc_shelf_visc', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS, G, US, ocean_mass, find_avg)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::update_od_ffrac', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::update_od_ffrac', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS, G, h_shelf)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::update_od_ffrac_uncoupled', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::interpolate_h_to_b', , [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::ice_shelf_dyn_end', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::ice_shelf_dyn_end', , { [debug] DoxygenMethodDocumenter format_signature called ((CS, ISS, G, US, time_step, melt_rate, Time)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::ice_shelf_temp', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::ice_shelf_temp', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS, G, time_step, hmask, h0, h_after_uflux)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_dynamics::ice_shelf_advect_temp_x', type mom_ice_shelf_dynamics/ice_shelf_dyn_cs) [fd] run(.. f:type:: loop_bounds_type) [fd] sig(loop_bounds_type) [fd] ftype(None) objtype(None) modname(None) typename() name(loop_bounds_type) arglist(None) [fd] fullname(mom_ice_shelf_dynamics/loop_bounds_type) ftype(None) [fd] name(('mom_ice_shelf_dynamics/loop_bounds_type', None)) sig(loop_bounds_type) signode(type mom_ice_shelf_dynamics/loop_bounds_type) [fd] run(.. f:function:: real function slope_limiter(num, denom)) [fd] sig(real function slope_limiter(num, denom)) [fd] ftype(real) objtype(function) modname(None) typename() name(slope_limiter) arglist(num, denom) [fd] fullname(mom_ice_shelf_dynamics/slope_limiter) ftype(real) [fd] name(('mom_ice_shelf_dynamics/slope_limiter', 'real')) sig(real function slope_limiter(num, denom)) signode(function mom_ice_shelf_dynamics/slope_limiternumdenom [real]) [fd] run(.. f:function:: real function quad_area(X, Y)) [fd] sig(real function quad_area(X, Y)) [fd] ftype(real) objtype(function) modname(None) typename() name(quad_area) arglist(X, Y) [fd] fullname(mom_ice_shelf_dynamics/quad_area) ftype(real) [fd] name(('mom_ice_shelf_dynamics/quad_area', 'real')) sig(real function quad_area(X, Y)) signode(function mom_ice_shelf_dynamics/quad_areaXY [real]) [fd] run(.. f:subroutine:: subroutine register_ice_shelf_dyn_restarts(G, param_file, CS, restart_CS)) [fd] sig(subroutine register_ice_shelf_dyn_restarts(G, param_file, CS, restart_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_ice_shelf_dyn_restarts) arglist(G, param_file, CS, restart_CS) [fd] fullname(mom_ice_shelf_dynamics/register_ice_shelf_dyn_restarts) ftype(None) [fd] name(('mom_ice_shelf_dynamics/register_ice_shelf_dyn_restarts', None)) sig(subroutine register_ice_shelf_dyn_restarts(G, param_file, CS, restart_CS)) signode(subroutine mom_ice_shelf_dynamics/register_ice_shelf_dyn_restartsGparam_fileCSrestart_CS) [fd] run(.. f:subroutine:: subroutine initialize_ice_shelf_dyn(param_file, Time, ISS, CS, G, US, diag, new_sim, solo_ice_sheet_in)) [fd] sig(subroutine initialize_ice_shelf_dyn(param_file, Time, ISS, CS, G, US, diag, new_sim, solo_ice_sheet_in)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_ice_shelf_dyn) arglist(param_file, Time, ISS, CS, G, US, diag, new_sim, solo_ice_sheet_in) [fd] fullname(mom_ice_shelf_dynamics/initialize_ice_shelf_dyn) ftype(None) [fd] name(('mom_ice_shelf_dynamics/initialize_ice_shelf_dyn', None)) sig(subroutine initialize_ice_shelf_dyn(param_file, Time, ISS, CS, G, US, diag, new_sim, solo_ice_sheet_in)) signode(subroutine mom_ice_shelf_dynamics/initialize_ice_shelf_dynparam_fileTimeISSCSGUSdiagnew_simsolo_ice_sheet_in) [fd] run(.. f:subroutine:: subroutine initialize_diagnostic_fields(CS, ISS, G, US, Time)) [fd] sig(subroutine initialize_diagnostic_fields(CS, ISS, G, US, Time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_diagnostic_fields) arglist(CS, ISS, G, US, Time) [fd] fullname(mom_ice_shelf_dynamics/initialize_diagnostic_fields) ftype(None) [fd] name(('mom_ice_shelf_dynamics/initialize_diagnostic_fields', None)) sig(subroutine initialize_diagnostic_fields(CS, ISS, G, US, Time)) signode(subroutine mom_ice_shelf_dynamics/initialize_diagnostic_fieldsCSISSGUSTime) [fd] run(.. f:function:: real function ice_time_step_cfl(CS, ISS, G)) [fd] sig(real function ice_time_step_cfl(CS, ISS, G)) [fd] ftype(real) objtype(function) modname(None) typename() name(ice_time_step_cfl) arglist(CS, ISS, G) [fd] fullname(mom_ice_shelf_dynamics/ice_time_step_cfl) ftype(real) [fd] name(('mom_ice_shelf_dynamics/ice_time_step_cfl', 'real')) sig(real function ice_time_step_cfl(CS, ISS, G)) signode(function mom_ice_shelf_dynamics/ice_time_step_cflCSISSG [real]) [fd] run(.. f:subroutine:: subroutine update_ice_shelf(CS, ISS, G, US, time_step, Time, ocean_mass, coupled_grounding, must_update_vel)) [fd] sig(subroutine update_ice_shelf(CS, ISS, G, US, time_step, Time, ocean_mass, coupled_grounding, must_update_vel)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_ice_shelf) arglist(CS, ISS, G, US, time_step, Time, ocean_mass, coupled_grounding, must_update_vel) [fd] fullname(mom_ice_shelf_dynamics/update_ice_shelf) ftype(None) [fd] name(('mom_ice_shelf_dynamics/update_ice_shelf', None)) sig(subroutine update_ice_shelf(CS, ISS, G, US, time_step, Time, ocean_mass, coupled_grounding, must_update_vel)) signode(subroutine mom_ice_shelf_dynamics/update_ice_shelfCSISSGUStime_stepTimeocean_masscoupled_groundingmust_update_vel) [fd] run(.. f:subroutine:: subroutine ice_shelf_advect(CS, ISS, G, time_step, Time)) [fd] sig(subroutine ice_shelf_advect(CS, ISS, G, time_step, Time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ice_shelf_advect) arglist(CS, ISS, G, time_step, Time) [fd] fullname(mom_ice_shelf_dynamics/ice_shelf_advect) ftype(None) [fd] name(('mom_ice_shelf_dynamics/ice_shelf_advect', None)) sig(subroutine ice_shelf_advect(CS, ISS, G, time_step, Time)) signode(subroutine mom_ice_shelf_dynamics/ice_shelf_advectCSISSGtime_stepTime) [fd] run(.. f:subroutine:: subroutine ice_shelf_solve_outer(CS, ISS, G, US, u_shlf, v_shlf, iters, time)) [fd] sig(subroutine ice_shelf_solve_outer(CS, ISS, G, US, u_shlf, v_shlf, iters, time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ice_shelf_solve_outer) arglist(CS, ISS, G, US, u_shlf, v_shlf, iters, time) [fd] fullname(mom_ice_shelf_dynamics/ice_shelf_solve_outer) ftype(None) [fd] name(('mom_ice_shelf_dynamics/ice_shelf_solve_outer', None)) sig(subroutine ice_shelf_solve_outer(CS, ISS, G, US, u_shlf, v_shlf, iters, time)) signode(subroutine mom_ice_shelf_dynamics/ice_shelf_solve_outerCSISSGUSu_shlfv_shlfiterstime) [fd] run(.. f:subroutine:: subroutine ice_shelf_solve_inner(CS, ISS, G, US, u_shlf, v_shlf, taudx, taudy, H_node, float_cond, hmask, conv_flag, iters, time, Phi, Phisub)) [fd] sig(subroutine ice_shelf_solve_inner(CS, ISS, G, US, u_shlf, v_shlf, taudx, taudy, H_node, float_cond, hmask, conv_flag, iters, time, Phi, Phisub)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ice_shelf_solve_inner) arglist(CS, ISS, G, US, u_shlf, v_shlf, taudx, taudy, H_node, float_cond, hmask, conv_flag, iters, time, Phi, Phisub) [fd] fullname(mom_ice_shelf_dynamics/ice_shelf_solve_inner) ftype(None) [fd] name(('mom_ice_shelf_dynamics/ice_shelf_solve_inner', None)) sig(subroutine ice_shelf_solve_inner(CS, ISS, G, US, u_shlf, v_shlf, taudx, taudy, H_node, float_cond, hmask, conv_flag, iters, time, Phi, Phisub)) signode(subroutine mom_ice_shelf_dynamics/ice_shelf_solve_innerCSISSGUSu_shlfv_shlftaudxtaudyH_nodefloat_condhmaskconv_flagiterstimePhiPhisub) [fd] run(.. f:subroutine:: subroutine ice_shelf_advect_thickness_x(CS, G, LB, time_step, hmask, h0, h_after_uflux, uh_ice)) [fd] sig(subroutine ice_shelf_advect_thickness_x(CS, G, LB, time_step, hmask, h0, h_after_uflux, uh_ice)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ice_shelf_advect_thickness_x) arglist(CS, G, LB, time_step, hmask, h0, h_after_uflux, uh_ice) [fd] fullname(mom_ice_shelf_dynamics/ice_shelf_advect_thickness_x) ftype(None) [fd] name(('mom_ice_shelf_dynamics/ice_shelf_advect_thickness_x', None)) sig(subroutine ice_shelf_advect_thickness_x(CS, G, LB, time_step, hmask, h0, h_after_uflux, uh_ice)) signode(subroutine mom_ice_shelf_dynamics/ice_shelf_advect_thickness_xCSGLBtime_stephmaskh0h_after_ufluxuh_ice) [fd] run(.. f:subroutine:: subroutine ice_shelf_advect_thickness_y(CS, G, LB, time_step, hmask, h0, h_after_vflux, vh_ice)) [fd] sig(subroutine ice_shelf_advect_thickness_y(CS, G, LB, time_step, hmask, h0, h_after_vflux, vh_ice)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ice_shelf_advect_thickness_y) arglist(CS, G, LB, time_step, hmask, h0, h_after_vflux, vh_ice) [fd] fullname(mom_ice_shelf_dynamics/ice_shelf_advect_thickness_y) ftype(None) [fd] name(('mom_ice_shelf_dynamics/ice_shelf_advect_thickness_y', None)) sig(subroutine ice_shelf_advect_thickness_y(CS, G, LB, time_step, hmask, h0, h_after_vflux, vh_ice)) signode(subroutine mom_ice_shelf_dynamics/ice_shelf_advect_thickness_yCSGLBtime_stephmaskh0h_after_vfluxvh_ice) [fd] run(.. f:subroutine:: subroutine shelf_advance_front(CS, ISS, G, hmask, uh_ice, vh_ice)) [fd] sig(subroutine shelf_advance_front(CS, ISS, G, hmask, uh_ice, vh_ice)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(shelf_advance_front) arglist(CS, ISS, G, hmask, uh_ice, vh_ice) [fd] fullname(mom_ice_shelf_dynamics/shelf_advance_front) ftype(None) [fd] name(('mom_ice_shelf_dynamics/shelf_advance_front', None)) sig(subroutine shelf_advance_front(CS, ISS, G, hmask, uh_ice, vh_ice)) signode(subroutine mom_ice_shelf_dynamics/shelf_advance_frontCSISSGhmaskuh_icevh_ice) [fd] run(.. f:subroutine:: subroutine ice_shelf_min_thickness_calve(G, h_shelf, area_shelf_h, hmask, thickness_calve, halo)) [fd] sig(subroutine ice_shelf_min_thickness_calve(G, h_shelf, area_shelf_h, hmask, thickness_calve, halo)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ice_shelf_min_thickness_calve) arglist(G, h_shelf, area_shelf_h, hmask, thickness_calve, halo) [fd] fullname(mom_ice_shelf_dynamics/ice_shelf_min_thickness_calve) ftype(None) [fd] name(('mom_ice_shelf_dynamics/ice_shelf_min_thickness_calve', None)) sig(subroutine ice_shelf_min_thickness_calve(G, h_shelf, area_shelf_h, hmask, thickness_calve, halo)) signode(subroutine mom_ice_shelf_dynamics/ice_shelf_min_thickness_calveGh_shelfarea_shelf_hhmaskthickness_calvehalo) [fd] run(.. f:subroutine:: subroutine calve_to_mask(G, h_shelf, area_shelf_h, hmask, calve_mask)) [fd] sig(subroutine calve_to_mask(G, h_shelf, area_shelf_h, hmask, calve_mask)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calve_to_mask) arglist(G, h_shelf, area_shelf_h, hmask, calve_mask) [fd] fullname(mom_ice_shelf_dynamics/calve_to_mask) ftype(None) [fd] name(('mom_ice_shelf_dynamics/calve_to_mask', None)) sig(subroutine calve_to_mask(G, h_shelf, area_shelf_h, hmask, calve_mask)) signode(subroutine mom_ice_shelf_dynamics/calve_to_maskGh_shelfarea_shelf_hhmaskcalve_mask) [fd] run(.. f:subroutine:: subroutine calc_shelf_driving_stress(CS, ISS, G, US, taudx, taudy, OD)) [fd] sig(subroutine calc_shelf_driving_stress(CS, ISS, G, US, taudx, taudy, OD)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calc_shelf_driving_stress) arglist(CS, ISS, G, US, taudx, taudy, OD) [fd] fullname(mom_ice_shelf_dynamics/calc_shelf_driving_stress) ftype(None) [fd] name(('mom_ice_shelf_dynamics/calc_shelf_driving_stress', None)) sig(subroutine calc_shelf_driving_stress(CS, ISS, G, US, taudx, taudy, OD)) signode(subroutine mom_ice_shelf_dynamics/calc_shelf_driving_stressCSISSGUStaudxtaudyOD) [fd] run(.. f:subroutine:: subroutine init_boundary_values(CS, G, time, hmask, input_flux, input_thick, new_sim)) [fd] sig(subroutine init_boundary_values(CS, G, time, hmask, input_flux, input_thick, new_sim)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(init_boundary_values) arglist(CS, G, time, hmask, input_flux, input_thick, new_sim) [fd] fullname(mom_ice_shelf_dynamics/init_boundary_values) ftype(None) [fd] name(('mom_ice_shelf_dynamics/init_boundary_values', None)) sig(subroutine init_boundary_values(CS, G, time, hmask, input_flux, input_thick, new_sim)) signode(subroutine mom_ice_shelf_dynamics/init_boundary_valuesCSGtimehmaskinput_fluxinput_thicknew_sim) [fd] run(.. f:subroutine:: subroutine cg_action(uret, vret, u_shlf, v_shlf, Phi, Phisub, umask, vmask, hmask, H_node, ice_visc, float_cond, bathyT, basal_trac, G, US, is, ie, js, je, dens_ratio)) [fd] sig(subroutine cg_action(uret, vret, u_shlf, v_shlf, Phi, Phisub, umask, vmask, hmask, H_node, ice_visc, float_cond, bathyT, basal_trac, G, US, is, ie, js, je, dens_ratio)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(cg_action) arglist(uret, vret, u_shlf, v_shlf, Phi, Phisub, umask, vmask, hmask, H_node, ice_visc, float_cond, bathyT, basal_trac, G, US, is, ie, js, je, dens_ratio) [fd] fullname(mom_ice_shelf_dynamics/cg_action) ftype(None) [fd] name(('mom_ice_shelf_dynamics/cg_action', None)) sig(subroutine cg_action(uret, vret, u_shlf, v_shlf, Phi, Phisub, umask, vmask, hmask, H_node, ice_visc, float_cond, bathyT, basal_trac, G, US, is, ie, js, je, dens_ratio)) signode(subroutine mom_ice_shelf_dynamics/cg_actionuretvretu_shlfv_shlfPhiPhisubumaskvmaskhmaskH_nodeice_viscfloat_condbathyTbasal_tracGUSisiejsjedens_ratio) [fd] run(.. f:subroutine:: subroutine cg_action_subgrid_basal(Phisub, H, U, V, bathyT, dens_ratio, Ucontr, Vcontr)) [fd] sig(subroutine cg_action_subgrid_basal(Phisub, H, U, V, bathyT, dens_ratio, Ucontr, Vcontr)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(cg_action_subgrid_basal) arglist(Phisub, H, U, V, bathyT, dens_ratio, Ucontr, Vcontr) [fd] fullname(mom_ice_shelf_dynamics/cg_action_subgrid_basal) ftype(None) [fd] name(('mom_ice_shelf_dynamics/cg_action_subgrid_basal', None)) sig(subroutine cg_action_subgrid_basal(Phisub, H, U, V, bathyT, dens_ratio, Ucontr, Vcontr)) signode(subroutine mom_ice_shelf_dynamics/cg_action_subgrid_basalPhisubHUVbathyTdens_ratioUcontrVcontr) [fd] run(.. f:subroutine:: subroutine matrix_diagonal(CS, G, US, float_cond, H_node, ice_visc, basal_trac, hmask, dens_ratio, Phisub, u_diagonal, v_diagonal)) [fd] sig(subroutine matrix_diagonal(CS, G, US, float_cond, H_node, ice_visc, basal_trac, hmask, dens_ratio, Phisub, u_diagonal, v_diagonal)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(matrix_diagonal) arglist(CS, G, US, float_cond, H_node, ice_visc, basal_trac, hmask, dens_ratio, Phisub, u_diagonal, v_diagonal) [fd] fullname(mom_ice_shelf_dynamics/matrix_diagonal) ftype(None) [fd] name(('mom_ice_shelf_dynamics/matrix_diagonal', None)) sig(subroutine matrix_diagonal(CS, G, US, float_cond, H_node, ice_visc, basal_trac, hmask, dens_ratio, Phisub, u_diagonal, v_diagonal)) signode(subroutine mom_ice_shelf_dynamics/matrix_diagonalCSGUSfloat_condH_nodeice_viscbasal_trachmaskdens_ratioPhisubu_diagonalv_diagonal) [fd] run(.. f:subroutine:: subroutine cg_diagonal_subgrid_basal(Phisub, H_node, bathyT, dens_ratio, sub_grnd)) [fd] sig(subroutine cg_diagonal_subgrid_basal(Phisub, H_node, bathyT, dens_ratio, sub_grnd)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(cg_diagonal_subgrid_basal) arglist(Phisub, H_node, bathyT, dens_ratio, sub_grnd) [fd] fullname(mom_ice_shelf_dynamics/cg_diagonal_subgrid_basal) ftype(None) [fd] name(('mom_ice_shelf_dynamics/cg_diagonal_subgrid_basal', None)) sig(subroutine cg_diagonal_subgrid_basal(Phisub, H_node, bathyT, dens_ratio, sub_grnd)) signode(subroutine mom_ice_shelf_dynamics/cg_diagonal_subgrid_basalPhisubH_nodebathyTdens_ratiosub_grnd) [fd] run(.. f:subroutine:: subroutine apply_boundary_values(CS, ISS, G, US, time, Phisub, H_node, ice_visc, basal_trac, float_cond, dens_ratio, u_bdry_contr, v_bdry_contr)) [fd] sig(subroutine apply_boundary_values(CS, ISS, G, US, time, Phisub, H_node, ice_visc, basal_trac, float_cond, dens_ratio, u_bdry_contr, v_bdry_contr)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(apply_boundary_values) arglist(CS, ISS, G, US, time, Phisub, H_node, ice_visc, basal_trac, float_cond, dens_ratio, u_bdry_contr, v_bdry_contr) [fd] fullname(mom_ice_shelf_dynamics/apply_boundary_values) ftype(None) [fd] name(('mom_ice_shelf_dynamics/apply_boundary_values', None)) sig(subroutine apply_boundary_values(CS, ISS, G, US, time, Phisub, H_node, ice_visc, basal_trac, float_cond, dens_ratio, u_bdry_contr, v_bdry_contr)) signode(subroutine mom_ice_shelf_dynamics/apply_boundary_valuesCSISSGUStimePhisubH_nodeice_viscbasal_tracfloat_conddens_ratiou_bdry_contrv_bdry_contr) [fd] run(.. f:subroutine:: subroutine calc_shelf_visc(CS, ISS, G, US, u_shlf, v_shlf)) [fd] sig(subroutine calc_shelf_visc(CS, ISS, G, US, u_shlf, v_shlf)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calc_shelf_visc) arglist(CS, ISS, G, US, u_shlf, v_shlf) [fd] fullname(mom_ice_shelf_dynamics/calc_shelf_visc) ftype(None) [fd] name(('mom_ice_shelf_dynamics/calc_shelf_visc', None)) sig(subroutine calc_shelf_visc(CS, ISS, G, US, u_shlf, v_shlf)) signode(subroutine mom_ice_shelf_dynamics/calc_shelf_viscCSISSGUSu_shlfv_shlf) [fd] run(.. f:subroutine:: subroutine update_od_ffrac(CS, G, US, ocean_mass, find_avg)) [fd] sig(subroutine update_od_ffrac(CS, G, US, ocean_mass, find_avg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_od_ffrac) arglist(CS, G, US, ocean_mass, find_avg) [fd] fullname(mom_ice_shelf_dynamics/update_od_ffrac) ftype(None) [fd] name(('mom_ice_shelf_dynamics/update_od_ffrac', None)) sig(subroutine update_od_ffrac(CS, G, US, ocean_mass, find_avg)) signode(subroutine mom_ice_shelf_dynamics/update_od_ffracCSGUSocean_massfind_avg) [fd] run(.. f:subroutine:: subroutine update_od_ffrac_uncoupled(CS, G, h_shelf)) [fd] sig(subroutine update_od_ffrac_uncoupled(CS, G, h_shelf)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_od_ffrac_uncoupled) arglist(CS, G, h_shelf) [fd] fullname(mom_ice_shelf_dynamics/update_od_ffrac_uncoupled) ftype(None) [fd] name(('mom_ice_shelf_dynamics/update_od_ffrac_uncoupled', None)) sig(subroutine update_od_ffrac_uncoupled(CS, G, h_shelf)) signode(subroutine mom_ice_shelf_dynamics/update_od_ffrac_uncoupledCSGh_shelf) [fd] run(.. f:subroutine:: subroutine bilinear_shape_functions(X, Y, Phi, area)) [fd] sig(subroutine bilinear_shape_functions(X, Y, Phi, area)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(bilinear_shape_functions) arglist(X, Y, Phi, area) [fd] fullname(mom_ice_shelf_dynamics/bilinear_shape_functions) ftype(None) [fd] name(('mom_ice_shelf_dynamics/bilinear_shape_functions', None)) sig(subroutine bilinear_shape_functions(X, Y, Phi, area)) signode(subroutine mom_ice_shelf_dynamics/bilinear_shape_functionsXYPhiarea) [fd] run(.. f:subroutine:: subroutine bilinear_shape_fn_grid(G, i, j, Phi)) [fd] sig(subroutine bilinear_shape_fn_grid(G, i, j, Phi)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(bilinear_shape_fn_grid) arglist(G, i, j, Phi) [fd] fullname(mom_ice_shelf_dynamics/bilinear_shape_fn_grid) ftype(None) [fd] name(('mom_ice_shelf_dynamics/bilinear_shape_fn_grid', None)) sig(subroutine bilinear_shape_fn_grid(G, i, j, Phi)) signode(subroutine mom_ice_shelf_dynamics/bilinear_shape_fn_gridGijPhi) [fd] run(.. f:subroutine:: subroutine bilinear_shape_functions_subgrid(Phisub, nsub)) [fd] sig(subroutine bilinear_shape_functions_subgrid(Phisub, nsub)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(bilinear_shape_functions_subgrid) arglist(Phisub, nsub) [fd] fullname(mom_ice_shelf_dynamics/bilinear_shape_functions_subgrid) ftype(None) [fd] name(('mom_ice_shelf_dynamics/bilinear_shape_functions_subgrid', None)) sig(subroutine bilinear_shape_functions_subgrid(Phisub, nsub)) signode(subroutine mom_ice_shelf_dynamics/bilinear_shape_functions_subgridPhisubnsub) [fd] run(.. f:subroutine:: subroutine update_velocity_masks(CS, G, hmask, umask, vmask, u_face_mask, v_face_mask)) [fd] sig(subroutine update_velocity_masks(CS, G, hmask, umask, vmask, u_face_mask, v_face_mask)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_velocity_masks) arglist(CS, G, hmask, umask, vmask, u_face_mask, v_face_mask) [fd] fullname(mom_ice_shelf_dynamics/update_velocity_masks) ftype(None) [fd] name(('mom_ice_shelf_dynamics/update_velocity_masks', None)) sig(subroutine update_velocity_masks(CS, G, hmask, umask, vmask, u_face_mask, v_face_mask)) signode(subroutine mom_ice_shelf_dynamics/update_velocity_masksCSGhmaskumaskvmasku_face_maskv_face_mask) [fd] run(.. f:subroutine:: subroutine interpolate_h_to_b(G, h_shelf, hmask, H_node)) [fd] sig(subroutine interpolate_h_to_b(G, h_shelf, hmask, H_node)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(interpolate_h_to_b) arglist(G, h_shelf, hmask, H_node) [fd] fullname(mom_ice_shelf_dynamics/interpolate_h_to_b) ftype(None) [fd] name(('mom_ice_shelf_dynamics/interpolate_h_to_b', None)) sig(subroutine interpolate_h_to_b(G, h_shelf, hmask, H_node)) signode(subroutine mom_ice_shelf_dynamics/interpolate_h_to_bGh_shelfhmaskH_node) [fd] run(.. f:subroutine:: subroutine ice_shelf_dyn_end(CS)) [fd] sig(subroutine ice_shelf_dyn_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ice_shelf_dyn_end) arglist(CS) [fd] fullname(mom_ice_shelf_dynamics/ice_shelf_dyn_end) ftype(None) [fd] name(('mom_ice_shelf_dynamics/ice_shelf_dyn_end', None)) sig(subroutine ice_shelf_dyn_end(CS)) signode(subroutine mom_ice_shelf_dynamics/ice_shelf_dyn_endCS) [fd] run(.. f:subroutine:: subroutine ice_shelf_temp(CS, ISS, G, US, time_step, melt_rate, Time)) [fd] sig(subroutine ice_shelf_temp(CS, ISS, G, US, time_step, melt_rate, Time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ice_shelf_temp) arglist(CS, ISS, G, US, time_step, melt_rate, Time) [fd] fullname(mom_ice_shelf_dynamics/ice_shelf_temp) ftype(None) [fd] name(('mom_ice_shelf_dynamics/ice_shelf_temp', None)) sig(subroutine ice_shelf_temp(CS, ISS, G, US, time_step, melt_rate, Time)) signode(subroutine mom_ice_shelf_dynamics/ice_shelf_tempCSISSGUStime_stepmelt_rateTime) [fd] run(.. f:subroutine:: subroutine ice_shelf_advect_temp_x(CS, G, time_step, hmask, h0, h_after_uflux)) [fd] sig(subroutine ice_shelf_advect_temp_x(CS, G, time_step, hmask, h0, h_after_uflux)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ice_shelf_advect_temp_x) arglist(CS, G, time_step, hmask, h0, h_after_uflux) [fd] fullname(mom_ice_shelf_dynamics/ice_shelf_advect_temp_x) ftype(None) [fd] name(('mom_ice_shelf_dynamics/ice_shelf_advect_temp_x', None)) sig(subroutine ice_shelf_advect_temp_x(CS, G, time_step, hmask, h0, h_after_uflux)) signode(subroutine mom_ice_shelf_dynamics/ice_shelf_advect_temp_xCSGtime_stephmaskh0h_after_uflux) [fd] run(.. f:subroutine:: subroutine ice_shelf_advect_temp_y(CS, G, time_step, hmask, h_after_uflux, h_after_vflux)) [fd] sig(subroutine ice_shelf_advect_temp_y(CS, G, time_step, hmask, h_after_uflux, h_after_vflux)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ice_shelf_advect_temp_y) arglist(CS, G, time_step, hmask, h_after_uflux, h_after_vflux) [fd] fullname(mom_ice_shelf_dynamics/ice_shelf_advect_temp_y) ftype(None) [fd] name(('mom_ice_shelf_dynamics/ice_shelf_advect_temp_y', None)) sig(subroutine ice_shelf_advect_temp_y(CS, G, time_step, hmask, h_after_uflux, h_after_vflux)) signode(subroutine mom_ice_shelf_dynamics/ice_shelf_advect_temp_yCSGtime_stephmaskh_after_ufluxh_after_vflux) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 39%] api/generated/modules/mom_ice_shelf_initialize [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_ice_shel [app] emitting event: 'source-read'('api/generated/modules/mom_ice_shelf_initialize', ['.. autodoxymodule:: mom_ice_shelf_initialize\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_ice_shelf_initialize.rst:1: input: .. autodoxymodule:: mom_ice_shelf_initialize :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_ice_shelf_initialize::initialize_ice_thickness ~mom_ice_shelf_initialize::initialize_ice_thickness_from_file ~mom_ice_shelf_initialize::initialize_ice_thickness_channel [debug] xpath(./compounddef/compoundname[text()="mom_ice_shelf_initialize"]/..) match([('id', 'namespacemom__ice__shelf__initialize'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_ice_shelf_initialize module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_initialize', , {'members': , {'members': , {'members': ), ('initialize_ice_thickness_from_file', ), ('initialize_ice_thickness_channel', )]) [autodoc] module analyzer failed: error importing 'mom_ice_shelf_initialize' (exception was: ModuleNotFoundError("No module named 'mom_ice_shelf_initialize'")) [debug] DoxygenMethodDocumenter format_signature called ((h_shelf, area_shelf_h, hmask, G, US, PF)) [debug] add_directive_header sig((h_shelf, area_shelf_h, hmask, G, US, PF)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine initialize_ice_thickness) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_ice_thickness', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'member [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_ice_thickness_from_file', , {'member [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_ice_thickness_from_file', , {'member [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_ice_thickness_from_file', , {'member [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_ice_thickness_from_file', , {'member [autodoc] module analyzer failed: error importing 'mom_ice_shelf_initialize' (exception was: ModuleNotFoundError("No module named 'mom_ice_shelf_initialize'")) [debug] DoxygenMethodDocumenter format_signature called ((h_shelf, area_shelf_h, hmask, G, US, PF)) [debug] add_directive_header sig((h_shelf, area_shelf_h, hmask, G, US, PF)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine initialize_ice_thickness_channel) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_ice_thickness_channel', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_ice_thickness_channel', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_ice_thickness_channel', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_ice_thickness_channel', , {'members' [autodoc] output: ========================================= mom_ice_shelf_initialize module reference ========================================= .. f:module:: mom_ice_shelf_initialize Initialize ice shelf variables. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_ice_shelf_initialize::initialize_ice_thickness ~mom_ice_shelf_initialize::initialize_ice_thickness_from_file ~mom_ice_shelf_initialize::initialize_ice_thickness_channel .. _DETAmom_ice_shelf_initialize: -------------------- Detailed Description -------------------- Initialize ice shelf variables. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine initialize_ice_thickness(h_shelf, area_shelf_h, hmask, G, US, PF) Initialize ice shelf thickness. :param g: [in] The ocean's grid structure :param h_shelf: [inout] The ice shelf thickness [Z ~> m]. :param area_shelf_h: [inout] The area per cell covered by the ice shelf [L2 ~> m2]. :param hmask: [inout] A mask indicating which tracer points are :param us: [in] A structure containing unit conversion factors :param pf: [in] A structure to parse for run-time parameters :callto: :f:func:`initialize_ice_thickness_channel ` :callto: :f:func:`initialize_ice_thickness_from_file ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`user_shelf_init::user_init_ice_thickness ` :calledfrom: :f:func:`mom_ice_shelf::initialize_ice_shelf ` .. f:subroutine:: subroutine initialize_ice_thickness_from_file(h_shelf, area_shelf_h, hmask, G, US, PF) Initialize ice shelf thickness from file. :param g: [in] The ocean's grid structure :param h_shelf: [inout] The ice shelf thickness [Z ~> m]. :param area_shelf_h: [inout] The area per cell covered by the ice shelf [L2 ~> m2]. :param hmask: [inout] A mask indicating which tracer points are :param us: [in] A structure containing unit conversion factors :param pf: [in] A structure to parse for run-time parameters :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :calledfrom: :f:func:`initialize_ice_thickness ` .. f:subroutine:: subroutine initialize_ice_thickness_channel(h_shelf, area_shelf_h, hmask, G, US, PF) Initialize ice shelf thickness for a channel configuration. :param g: [in] The ocean's grid structure :param h_shelf: [inout] The ice shelf thickness [Z ~> m]. :param area_shelf_h: [inout] The area per cell covered by the ice shelf [L2 ~> m2]. :param hmask: [inout] A mask indicating which tracer points are :param us: [in] A structure containing unit conversion factors :param pf: [in] A structure to parse for run-time parameters :callto: :f:func:`mom_error_handler::mom_mesg ` :calledfrom: :f:func:`initialize_ice_thickness ` [debug] DoxygenMethodDocumenter format_signature called ((h_shelf, area_shelf_h, hmask, G, US, PF)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_initialize::initialize_ice_thickness', subroutine mom_ice_shelf_initialize/initialize_ice_thicknessh_shelfarea_shelf_hhmaskGUSPF) [fd] run(.. f:subroutine:: subroutine initialize_ice_thickness_from_file(h_shelf, area_shelf_h, hmask, G, US, PF)) [fd] sig(subroutine initialize_ice_thickness_from_file(h_shelf, area_shelf_h, hmask, G, US, PF)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_ice_thickness_from_file) arglist(h_shelf, area_shelf_h, hmask, G, US, PF) [fd] fullname(mom_ice_shelf_initialize/initialize_ice_thickness_from_file) ftype(None) [fd] name(('mom_ice_shelf_initialize/initialize_ice_thickness_from_file', None)) sig(subroutine initialize_ice_thickness_from_file(h_shelf, area_shelf_h, hmask, G, US, PF)) signode(subroutine mom_ice_shelf_initialize/initialize_ice_thickness_from_fileh_shelfarea_shelf_hhmaskGUSPF) [fd] run(.. f:subroutine:: subroutine initialize_ice_thickness_channel(h_shelf, area_shelf_h, hmask, G, US, PF)) [fd] sig(subroutine initialize_ice_thickness_channel(h_shelf, area_shelf_h, hmask, G, US, PF)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_ice_thickness_channel) arglist(h_shelf, area_shelf_h, hmask, G, US, PF) [fd] fullname(mom_ice_shelf_initialize/initialize_ice_thickness_channel) ftype(None) [fd] name(('mom_ice_shelf_initialize/initialize_ice_thickness_channel', None)) sig(subroutine initialize_ice_thickness_channel(h_shelf, area_shelf_h, hmask, G, US, PF)) signode(subroutine mom_ice_shelf_initialize/initialize_ice_thickness_channelh_shelfarea_shelf_hhmaskGUSPF) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 39%] api/generated/modules/mom_ice_shelf_state [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_ice_shel [app] emitting event: 'source-read'('api/generated/modules/mom_ice_shelf_state', ['.. autodoxymodule:: mom_ice_shelf_state\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_ice_shelf_state.rst:1: input: .. autodoxymodule:: mom_ice_shelf_state :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_ice_shelf_state::ice_shelf_state --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_ice_shelf_state::ice_shelf_state_init ~mom_ice_shelf_state::ice_shelf_state_end [debug] xpath(./compounddef/compoundname[text()="mom_ice_shelf_state"]/..) match([('id', 'namespacemom__ice__shelf__state'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_ice_shelf_state module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_state', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_ice_shelf_state' (exception was: ModuleNotFoundError("No module named 'mom_ice_shelf_state'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_ice_shelf_state::ice_shelf_state', , {'memb [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_state::ice_shelf_state', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_state::ice_shelf_state', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_state::ice_shelf_state', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_state::ice_shelf_state', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_state::ice_shelf_state', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_state::ice_shelf_state', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_state::ice_shelf_state', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_state::ice_shelf_state', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_state::ice_shelf_state', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ice_shelf_state::ice_shelf_state', , {'memb [debug] members([('ice_shelf_state_init', ), ('ice_shelf_state_end', )]) [autodoc] module analyzer failed: error importing 'mom_ice_shelf_state' (exception was: ModuleNotFoundError("No module named 'mom_ice_shelf_state'")) [debug] DoxygenMethodDocumenter format_signature called ((ISS, G)) [debug] add_directive_header sig((ISS, G)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine ice_shelf_state_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ice_shelf_state_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_ice_shelf_state::ice_shelf_state --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_ice_shelf_state::ice_shelf_state_init ~mom_ice_shelf_state::ice_shelf_state_end .. _DETAmom_ice_shelf_state: -------------------- Detailed Description -------------------- Implements the thermodynamic aspects of ocean / ice-shelf interactions, along with a crude placeholder for a later implementation of full ice shelf dynamics, all using the MOM framework and coding style. ------------------ Type Documentation ------------------ .. f:type:: ice_shelf_state Structure that describes the ice shelf state. :typefield real(\:,\:) mass_shelf [pointer]: The mass per unit area of the ice shelf or sheet [R Z ~> kg m-2]. :typefield real(\:,\:) area_shelf_h [pointer]: The area per cell covered by the ice shelf [L2 ~> m2]. :typefield real(\:,\:) h_shelf [pointer]: the thickness of the shelf [Z ~> m], redundant with mass but may :typefield real(\:,\:) hmask [pointer]: Mask used to indicate ice-covered or partiall-covered cells. :typefield real(\:,\:) tflux_ocn [pointer]: The downward sensible ocean heat flux at the. :typefield real(\:,\:) salt_flux [pointer]: The downward salt flux at the ocean-ice. :typefield real(\:,\:) water_flux [pointer]: The net downward liquid water flux at the. :typefield real(\:,\:) tflux_shelf [pointer]: The downward diffusive heat flux in the ice. :typefield real(\:,\:) tfreeze [pointer]: The freezing point potential temperature. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine ice_shelf_state_init(ISS, G) Deallocates all memory associated with this module. :param iss: A pointer to the ice shelf state structure :param g: [in] The grid structure used by the ice shelf. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_ice_shelf::initialize_ice_shelf ` .. f:subroutine:: subroutine ice_shelf_state_end(ISS) Deallocates all memory associated with this module. :param iss: A pointer to the ice shelf state structure :calledfrom: :f:func:`mom_ice_shelf::ice_shelf_end ` [debug] xpath(./compounddef/compoundname[text()="mom_ice_shelf_state::ice_shelf_state"]/..) match([('id', 'structmom__ice__shelf__state_1_1ice__shelf__state'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_state::ice_shelf_state', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_state::ice_shelf_state', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_state::ice_shelf_state', , {}, [debug] DoxygenMethodDocumenter format_signature called ((ISS, G)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_state::ice_shelf_state_init', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_state::ice_shelf_state_init', , { [debug] DoxygenMethodDocumenter format_signature called ((ISS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_state::ice_shelf_state_end', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ice_shelf_state::ice_shelf_state_end', , {} [fd] run(.. f:type:: ice_shelf_state) [fd] sig(ice_shelf_state) [fd] ftype(None) objtype(None) modname(None) typename() name(ice_shelf_state) arglist(None) [fd] fullname(mom_ice_shelf_state/ice_shelf_state) ftype(None) [fd] name(('mom_ice_shelf_state/ice_shelf_state', None)) sig(ice_shelf_state) signode(type mom_ice_shelf_state/ice_shelf_state) [fd] run(.. f:subroutine:: subroutine ice_shelf_state_init(ISS, G)) [fd] sig(subroutine ice_shelf_state_init(ISS, G)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ice_shelf_state_init) arglist(ISS, G) [fd] fullname(mom_ice_shelf_state/ice_shelf_state_init) ftype(None) [fd] name(('mom_ice_shelf_state/ice_shelf_state_init', None)) sig(subroutine ice_shelf_state_init(ISS, G)) signode(subroutine mom_ice_shelf_state/ice_shelf_state_initISSG) [fd] run(.. f:subroutine:: subroutine ice_shelf_state_end(ISS)) [fd] sig(subroutine ice_shelf_state_end(ISS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ice_shelf_state_end) arglist(ISS) [fd] fullname(mom_ice_shelf_state/ice_shelf_state_end) ftype(None) [fd] name(('mom_ice_shelf_state/ice_shelf_state_end', None)) sig(subroutine ice_shelf_state_end(ISS)) signode(subroutine mom_ice_shelf_state/ice_shelf_state_endISS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 39%] api/generated/modules/mom_int_tide_input [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_int_tide [app] emitting event: 'source-read'('api/generated/modules/mom_int_tide_input', ['.. autodoxymodule:: mom_int_tide_input\n :members:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_int_tide_input.rst:1: input: .. autodoxymodule:: mom_int_tide_input :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_int_tide_input::int_tide_input_cs ~mom_int_tide_input::int_tide_input_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_int_tide_input::set_int_tide_input ~mom_int_tide_input::find_n2_bottom ~mom_int_tide_input::int_tide_input_init ~mom_int_tide_input::int_tide_input_end [debug] xpath(./compounddef/compoundname[text()="mom_int_tide_input"]/..) match([('id', 'namespacemom__int__tide__input'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_int_tide_input module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_int_tide_input', , {'members': , {'members': , {'members': ), ('mom_int_tide_input::int_tide_input_type', )]) [autodoc] module analyzer failed: error importing 'mom_int_tide_input' (exception was: ModuleNotFoundError("No module named 'mom_int_tide_input'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_int_tide_input::int_tide_input_cs', , {'mem [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_cs', , {'mem [autodoc] module analyzer failed: error importing 'mom_int_tide_input' (exception was: ModuleNotFoundError("No module named 'mom_int_tide_input'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_int_tide_input::int_tide_input_type', , {'m [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_type', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_type', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_type', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_type', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_int_tide_input::int_tide_input_type', , {'m [debug] members([('set_int_tide_input', ), ('find_n2_bottom', ), ('int_tide_input_init', ), ('int_tide_input_end', )]) [autodoc] module analyzer failed: error importing 'mom_int_tide_input' (exception was: ModuleNotFoundError("No module named 'mom_int_tide_input'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, tv, fluxes, itide, dt, G, GV, US, CS)) [debug] add_directive_header sig((u, v, h, tv, fluxes, itide, dt, G, GV, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine set_int_tide_input) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_int_tide_input', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_int_tide_input::int_tide_input_cs ~mom_int_tide_input::int_tide_input_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_int_tide_input::set_int_tide_input ~mom_int_tide_input::find_n2_bottom ~mom_int_tide_input::int_tide_input_init ~mom_int_tide_input::int_tide_input_end .. _DETAmom_int_tide_input: -------------------- Detailed Description -------------------- Calculates energy input to the internal tides. ------------------ Type Documentation ------------------ .. f:type:: int_tide_input_cs This control structure holds parameters that regulate internal tide energy inputs. :typefield integer id_tke_itidal: Diagnostic IDs. :typefield integer id_nb: Diagnostic IDs. :typefield integer id_n2_bot: Diagnostic IDs. :typefield logical debug: If true, write verbose checksums for debugging. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield real tke_itide_max: Maximum Internal tide conversion available to mix above the BBL [R Z3 T-3 ~> W m-2]. :typefield real kappa_fill: Vertical diffusivity used to interpolate sensible values of T & S into thin layers [Z2 T-1 ~> m2 s-1]. :typefield real(\:,\:) tke_itidal_coef [allocatable]: The time-invariant field that enters the TKE_itidal input calculation [R Z3 T-2 ~> J m-2]. :typefield character (len=200) inputdir: The directory for input files. :typefield logical int_tide_source_test: If true, apply an arbitrary generation site for internal tide testing (BDM) :typefield type(time_type) time_max_source: A time for use in testing internal tides. :typefield real int_tide_source_x: X Location of generation site for internal tide for testing (BDM) :typefield real int_tide_source_y: Y Location of generation site for internal tide for testing (BDM) .. f:type:: int_tide_input_type This type is used to exchange fields related to the internal tides. :typefield real(\:,\:) tke_itidal_input [allocatable]: The internal tide TKE input at the bottom of the ocean [R Z3 T-3 ~> W m-2]. :typefield real(\:,\:) h2 [allocatable]: The squared topographic roughness height [Z2 ~> m2]. :typefield real(\:,\:) tideamp [allocatable]: The amplitude of the tidal velocities [Z T-1 ~> m s-1]. :typefield real(\:,\:) nb [allocatable]: The bottom stratification [T-1 ~> s-1]. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine set_int_tide_input(u, v, h, tv, fluxes, itide, dt, G, GV, US, CS) Sets the model-state dependent internal tide energy sources. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param u: [in] The zonal velocity [L T-1 ~> m s-1] :param v: [in] The meridional velocity [L T-1 ~> m s-1] :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [in] A structure containing pointers to the thermodynamic fields :param fluxes: [in] A structure of thermodynamic surface fluxes :param itide: [inout] A structure containing fields related to the internal tide sources. :param dt: [in] The time increment [T ~> s]. :param cs: This module's control structure. :callto: :f:func:`find_n2_bottom ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_isopycnal_slopes::vert_fill_ts ` .. f:subroutine:: subroutine find_n2_bottom(h, tv, T_f, S_f, h2, fluxes, G, GV, US, N2_bot) Estimates the near-bottom buoyancy frequency (N^2). :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [in] A structure containing pointers to the thermodynamic fields :param t_f: [in] Temperature after vertical filtering to smooth out the values in thin layers [degC]. :param s_f: [in] Salinity after vertical filtering to smooth out the values in thin layers [ppt]. :param h2: [in] Bottom topographic roughness [Z2 ~> m2]. :param fluxes: [in] A structure of thermodynamic surface fluxes :param n2_bot: [out] The squared buoyancy freqency at the ocean bottom [T-2 ~> s-2]. :callto: :f:func:`mom_eos::eos_domain ` :calledfrom: :f:func:`set_int_tide_input ` .. f:subroutine:: subroutine int_tide_input_init(Time, G, GV, US, param_file, diag, CS, itide) Initializes the data related to the internal tide input module. :param time: [in] The current model time :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :param diag: [inout] structure used to regulate diagnostic output. :param cs: This module's control structure, which is initialized here. :param itide: A structure containing fields related to the internal tide sources. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_diag_mediator::register_diag_field ` .. f:subroutine:: subroutine int_tide_input_end(CS) Deallocates any memory related to the internal tide input module. :param cs: This module's control structure, which is deallocated here. [debug] xpath(./compounddef/compoundname[text()="mom_int_tide_input::int_tide_input_cs"]/..) match([('id', 'structmom__int__tide__input_1_1int__tide__input__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_int_tide_input::int_tide_input_cs', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_int_tide_input::int_tide_input_cs', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_int_tide_input::int_tide_input_cs', , {}, [debug] xpath(./compounddef/compoundname[text()="mom_int_tide_input::int_tide_input_type"]/..) match([('id', 'structmom__int__tide__input_1_1int__tide__input__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_int_tide_input::int_tide_input_type', , { [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_int_tide_input::int_tide_input_type', , { [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_int_tide_input::int_tide_input_type', , { [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, tv, fluxes, itide, dt, G, GV, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_int_tide_input::set_int_tide_input', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_int_tide_input::set_int_tide_input', , {}, [debug] DoxygenMethodDocumenter format_signature called ((h, tv, T_f, S_f, h2, fluxes, G, GV, US, N2_bot)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_int_tide_input::find_n2_bottom', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_int_tide_input::find_n2_bottom', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS, itide)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_int_tide_input::int_tide_input_init', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_int_tide_input::int_tide_input_init', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_int_tide_input::int_tide_input_end', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_int_tide_input::int_tide_input_end', , {}, [fd] run(.. f:type:: int_tide_input_cs) [fd] sig(int_tide_input_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(int_tide_input_cs) arglist(None) [fd] fullname(mom_int_tide_input/int_tide_input_cs) ftype(None) [fd] name(('mom_int_tide_input/int_tide_input_cs', None)) sig(int_tide_input_cs) signode(type mom_int_tide_input/int_tide_input_cs) [fd] run(.. f:type:: int_tide_input_type) [fd] sig(int_tide_input_type) [fd] ftype(None) objtype(None) modname(None) typename() name(int_tide_input_type) arglist(None) [fd] fullname(mom_int_tide_input/int_tide_input_type) ftype(None) [fd] name(('mom_int_tide_input/int_tide_input_type', None)) sig(int_tide_input_type) signode(type mom_int_tide_input/int_tide_input_type) [fd] run(.. f:subroutine:: subroutine set_int_tide_input(u, v, h, tv, fluxes, itide, dt, G, GV, US, CS)) [fd] sig(subroutine set_int_tide_input(u, v, h, tv, fluxes, itide, dt, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_int_tide_input) arglist(u, v, h, tv, fluxes, itide, dt, G, GV, US, CS) [fd] fullname(mom_int_tide_input/set_int_tide_input) ftype(None) [fd] name(('mom_int_tide_input/set_int_tide_input', None)) sig(subroutine set_int_tide_input(u, v, h, tv, fluxes, itide, dt, G, GV, US, CS)) signode(subroutine mom_int_tide_input/set_int_tide_inputuvhtvfluxesitidedtGGVUSCS) [fd] run(.. f:subroutine:: subroutine find_n2_bottom(h, tv, T_f, S_f, h2, fluxes, G, GV, US, N2_bot)) [fd] sig(subroutine find_n2_bottom(h, tv, T_f, S_f, h2, fluxes, G, GV, US, N2_bot)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_n2_bottom) arglist(h, tv, T_f, S_f, h2, fluxes, G, GV, US, N2_bot) [fd] fullname(mom_int_tide_input/find_n2_bottom) ftype(None) [fd] name(('mom_int_tide_input/find_n2_bottom', None)) sig(subroutine find_n2_bottom(h, tv, T_f, S_f, h2, fluxes, G, GV, US, N2_bot)) signode(subroutine mom_int_tide_input/find_n2_bottomhtvT_fS_fh2fluxesGGVUSN2_bot) [fd] run(.. f:subroutine:: subroutine int_tide_input_init(Time, G, GV, US, param_file, diag, CS, itide)) [fd] sig(subroutine int_tide_input_init(Time, G, GV, US, param_file, diag, CS, itide)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(int_tide_input_init) arglist(Time, G, GV, US, param_file, diag, CS, itide) [fd] fullname(mom_int_tide_input/int_tide_input_init) ftype(None) [fd] name(('mom_int_tide_input/int_tide_input_init', None)) sig(subroutine int_tide_input_init(Time, G, GV, US, param_file, diag, CS, itide)) signode(subroutine mom_int_tide_input/int_tide_input_initTimeGGVUSparam_filediagCSitide) [fd] run(.. f:subroutine:: subroutine int_tide_input_end(CS)) [fd] sig(subroutine int_tide_input_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(int_tide_input_end) arglist(CS) [fd] fullname(mom_int_tide_input/int_tide_input_end) ftype(None) [fd] name(('mom_int_tide_input/int_tide_input_end', None)) sig(subroutine int_tide_input_end(CS)) signode(subroutine mom_int_tide_input/int_tide_input_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 40%] api/generated/modules/mom_interface_heights [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_interfac [app] emitting event: 'source-read'('api/generated/modules/mom_interface_heights', ['.. autodoxymodule:: mom_interface_heights\n :mem [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_interface_heights.rst:1: input: .. autodoxymodule:: mom_interface_heights :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_interface_heights::find_eta_3d ~mom_interface_heights::find_eta_2d [debug] xpath(./compounddef/compoundname[text()="mom_interface_heights"]/..) match([('id', 'namespacemom__interface__heights'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_interface_heights module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_interface_heights', , {'members': , {'members': , {'members': ), ('find_eta_2d', )]) [autodoc] module analyzer failed: error importing 'mom_interface_heights' (exception was: ModuleNotFoundError("No module named 'mom_interface_heights'")) [debug] DoxygenMethodDocumenter format_signature called ((h, tv, G, GV, US, eta, eta_bt, halo_size, eta_to_m)) [debug] add_directive_header sig((h, tv, G, GV, US, eta, eta_bt, halo_size, eta_to_m)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine find_eta_3d) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_eta_3d', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_interface_heights::find_eta_3d ~mom_interface_heights::find_eta_2d .. _DETAmom_interface_heights: -------------------- Detailed Description -------------------- Functions for calculating interface heights, including free surface height. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine find_eta_3d(h, tv, G, GV, US, eta, eta_bt, halo_size, eta_to_m) Calculates the heights of all interfaces between layers, using the appropriate form for consistency with the calculation of the pressure gradient forces. Additionally, these height may be dilated for consistency with the corresponding time-average quantity from the barotropic calculation. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [in] A structure pointing to various thermodynamic variables. :param eta: [out] layer interface heights [Z ~> m] or 1/eta_to_m m). :param eta_bt: [in] optional barotropic variable that gives the "correct" free surface height (Boussinesq) or total water column mass per unit area (non-Boussinesq). This is used to dilate the layer. thicknesses when calculating interfaceheights [H ~> m or kg m-2]. :param halo_size: [in] width of halo points on which to calculate eta. :param eta_to_m: [in] The conversion factor from the units of eta to m; by default this is USZ_to_m. :callto: :f:func:`mom_density_integrals::int_specific_vol_dp ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine find_eta_2d(h, tv, G, GV, US, eta, eta_bt, halo_size, eta_to_m) Calculates the free surface height, using the appropriate form for consistency with the calculation of the pressure gradient forces. Additionally, the sea surface height may be adjusted for consistency with the corresponding time-average quantity from the barotropic calculation. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [in] A structure pointing to various thermodynamic variables. :param eta: [out] free surface height relative to mean sea level (z=0) often [Z ~> m]. :param eta_bt: [in] optional barotropic variable that gives the "correct" free surface height (Boussinesq) or total water column mass per unit area (non-Boussinesq) [H ~> m or kg m-2]. :param halo_size: [in] width of halo points on which to calculate eta. :param eta_to_m: [in] The conversion factor from the units of eta to m; by default this is USZ_to_m. :callto: :f:func:`mom_density_integrals::int_specific_vol_dp ` [debug] DoxygenMethodDocumenter format_signature called ((h, tv, G, GV, US, eta, eta_bt, halo_size, eta_to_m)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_interface_heights::find_eta_3d', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_interface_heights::find_eta_3d', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((h, tv, G, GV, US, eta, eta_bt, halo_size, eta_to_m)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_interface_heights::find_eta_2d', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_interface_heights::find_eta_2d', , {}, ['', [fd] run(.. f:subroutine:: subroutine find_eta_3d(h, tv, G, GV, US, eta, eta_bt, halo_size, eta_to_m)) [fd] sig(subroutine find_eta_3d(h, tv, G, GV, US, eta, eta_bt, halo_size, eta_to_m)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_eta_3d) arglist(h, tv, G, GV, US, eta, eta_bt, halo_size, eta_to_m) [fd] fullname(mom_interface_heights/find_eta_3d) ftype(None) [fd] name(('mom_interface_heights/find_eta_3d', None)) sig(subroutine find_eta_3d(h, tv, G, GV, US, eta, eta_bt, halo_size, eta_to_m)) signode(subroutine mom_interface_heights/find_eta_3dhtvGGVUSetaeta_bthalo_sizeeta_to_m) [fd] run(.. f:subroutine:: subroutine find_eta_2d(h, tv, G, GV, US, eta, eta_bt, halo_size, eta_to_m)) [fd] sig(subroutine find_eta_2d(h, tv, G, GV, US, eta, eta_bt, halo_size, eta_to_m)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_eta_2d) arglist(h, tv, G, GV, US, eta, eta_bt, halo_size, eta_to_m) [fd] fullname(mom_interface_heights/find_eta_2d) ftype(None) [fd] name(('mom_interface_heights/find_eta_2d', None)) sig(subroutine find_eta_2d(h, tv, G, GV, US, eta, eta_bt, halo_size, eta_to_m)) signode(subroutine mom_interface_heights/find_eta_2dhtvGGVUSetaeta_bthalo_sizeeta_to_m) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 40%] api/generated/modules/mom_internal_tides [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_internal [app] emitting event: 'source-read'('api/generated/modules/mom_internal_tides', ['.. autodoxymodule:: mom_internal_tides\n :members:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_internal_tides.rst:1: input: .. autodoxymodule:: mom_internal_tides :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_internal_tides::int_tide_cs ~mom_internal_tides::loop_bounds_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_internal_tides::propagate_int_tide ~mom_internal_tides::sum_en ~mom_internal_tides::itidal_lowmode_loss ~mom_internal_tides::get_lowmode_loss ~mom_internal_tides::refract ~mom_internal_tides::ppm_angular_advect ~mom_internal_tides::propagate ~mom_internal_tides::propagate_corner_spread ~mom_internal_tides::propagate_x ~mom_internal_tides::propagate_y ~mom_internal_tides::zonal_flux_en ~mom_internal_tides::merid_flux_en ~mom_internal_tides::reflect ~mom_internal_tides::teleport ~mom_internal_tides::correct_halo_rotation ~mom_internal_tides::ppm_reconstruction_x ~mom_internal_tides::ppm_reconstruction_y ~mom_internal_tides::ppm_limit_pos ~mom_internal_tides::internal_tides_init ~mom_internal_tides::internal_tides_end [debug] xpath(./compounddef/compoundname[text()="mom_internal_tides"]/..) match([('id', 'namespacemom__internal__tides'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_internal_tides module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_internal_tides', , {'members': , {'members': , {'members': , {'members': ), ('mom_internal_tides::loop_bounds_type', )]) [autodoc] module analyzer failed: error importing 'mom_internal_tides' (exception was: ModuleNotFoundError("No module named 'mom_internal_tides'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::int_tide_cs', , {'members': [autodoc] module analyzer failed: error importing 'mom_internal_tides' (exception was: ModuleNotFoundError("No module named 'mom_internal_tides'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_internal_tides::loop_bounds_type', , {'memb [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::loop_bounds_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::loop_bounds_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::loop_bounds_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::loop_bounds_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_internal_tides::loop_bounds_type', , {'memb [debug] members([('propagate_int_tide', ), ('sum_en', ), ('itidal_lowmode_loss', ), ('get_lowmode_loss', ), ('refract', ), ('ppm_angular_advect', ), ('propagate', ), ('propagate_corner_spread', ), ('propagate_x', ), ('propagate_y', ), ('zonal_flux_en', ), ('merid_flux_en', ), ('reflect', ), ('teleport', ), ('correct_halo_rotation', ), ('ppm_reconstruction_x', ), ('ppm_reconstruction_y', ), ('ppm_limit_pos', ), ('internal_tides_init', ), ('internal_tides_end', )]) [autodoc] module analyzer failed: error importing 'mom_internal_tides' (exception was: ModuleNotFoundError("No module named 'mom_internal_tides'")) [debug] DoxygenMethodDocumenter format_signature called ((h, tv, cn, TKE_itidal_input, vel_btTide, Nb, dt, G, GV, US, CS)) [debug] add_directive_header sig((h, tv, cn, TKE_itidal_input, vel_btTide, Nb, dt, G, GV, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine propagate_int_tide) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'propagate_int_tide', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_internal_tides::int_tide_cs ~mom_internal_tides::loop_bounds_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_internal_tides::propagate_int_tide ~mom_internal_tides::sum_en ~mom_internal_tides::itidal_lowmode_loss ~mom_internal_tides::get_lowmode_loss ~mom_internal_tides::refract ~mom_internal_tides::ppm_angular_advect ~mom_internal_tides::propagate ~mom_internal_tides::propagate_corner_spread ~mom_internal_tides::propagate_x ~mom_internal_tides::propagate_y ~mom_internal_tides::zonal_flux_en ~mom_internal_tides::merid_flux_en ~mom_internal_tides::reflect ~mom_internal_tides::teleport ~mom_internal_tides::correct_halo_rotation ~mom_internal_tides::ppm_reconstruction_x ~mom_internal_tides::ppm_reconstruction_y ~mom_internal_tides::ppm_limit_pos ~mom_internal_tides::internal_tides_init ~mom_internal_tides::internal_tides_end .. _DETAmom_internal_tides: -------------------- Detailed Description -------------------- ------------------ Type Documentation ------------------ .. f:type:: int_tide_cs This control structure has parameters for the MOM_internal_tides module. :typefield integer id_tot_en: Diag handles. :typefield integer id_tke_itidal_input: Diag handles. :typefield integer id_itide_drag: Diag handles. :typefield integer id_refl_pref: Diag handles. :typefield integer id_refl_ang: Diag handles. :typefield integer id_land_mask: Diag handles. :typefield integer id_dx_cv: Diag handles. :typefield integer id_dy_cu: Diag handles. :typefield integer id_tot_leak_loss: Diag handles. :typefield integer id_tot_quad_loss: Diag handles. :typefield integer id_tot_itidal_loss: Diag handles. :typefield integer id_tot_froude_loss: Diag handles. :typefield integer id_tot_allprocesses_loss: Diag handles. :typefield integer(\:,\:) id_en_mode [allocatable]: Diag handles. :typefield integer(\:,\:) id_itidal_loss_mode [allocatable]: Diag handles. :typefield integer(\:,\:) id_allprocesses_loss_mode [allocatable]: Diag handles. :typefield integer(\:,\:) id_ub_mode [allocatable]: Diag handles. :typefield integer(\:,\:) id_cp_mode [allocatable]: Diag handles. :typefield integer(\:,\:) id_en_ang_mode [allocatable]: Diag handles. :typefield integer(\:,\:) id_itidal_loss_ang_mode [allocatable]: Diag handles. :typefield logical do_int_tides: If true, use the internal tide code. :typefield integer nfreq: The number of internal tide frequency bands. :typefield integer nmode: The number of internal tide vertical modes. :typefield integer nangle: The number of internal tide angular orientations. :typefield integer energized_angle: If positive, only this angular band is energized for debugging purposes. :typefield logical corner_adv: If true, use a corner advection rather than PPM. :typefield logical upwind_1st: If true, use a first-order upwind scheme. :typefield logical simple_2nd: If true, use a simple second order (arithmetic mean) interpolation of the edge values instead of the higher order interpolation. :typefield logical vol_cfl: If true, use the ratio of the open face lengths to the tracer cell areas when estimating CFL numbers. Without aggress_adjust, the default is false; it is always true with aggress_adjust. :typefield logical use_ppmang: If true, use PPM for advection of energy in angular space. :typefield real(\:,\:) refl_angle [allocatable]: local coastline/ridge/shelf angles read from file :typefield real nullangle: placeholder value in cells with no reflection :typefield real(\:,\:) refl_pref [allocatable]: partial reflection coeff for each "coast cell" :typefield logical(\:,\:) refl_pref_logical [allocatable]: true if reflecting cell with partial reflection :typefield logical(\:,\:) refl_dbl [allocatable]: identifies reflection cells where double reflection is possible (i.e. ridge cells) :typefield real(\:,\:,\:,\:) cp [allocatable]: horizontal phase speed [L T-1 ~> m s-1] :typefield real(\:,\:,\:,\:,\:) tke_leak_loss [allocatable]: energy lost due to misc background processes [R Z3 T-3 ~> W m-2] :typefield real(\:,\:,\:,\:,\:) tke_quad_loss [allocatable]: energy lost due to quadratic bottom drag [R Z3 T-3 ~> W m-2] :typefield real(\:,\:,\:,\:,\:) tke_froude_loss [allocatable]: energy lost due to wave breaking [R Z3 T-3 ~> W m-2] :typefield real(\:,\:) tke_itidal_loss_fixed [allocatable]: Fixed part of the energy lost due to small-scale drag [R L-2 Z3 ~> kg m-2] here; This will be multiplied by N and the squared near-bottom velocity to get the energy losses in [R Z3 T-3 ~> W m-2]. :typefield real(\:,\:,\:,\:,\:) tke_itidal_loss [allocatable]: energy lost due to small-scale wave drag [R Z3 T-3 ~> W m-2] :typefield real(\:,\:) tot_leak_loss [allocatable]: Energy loss rates due to misc bakground processes, summed over angle, frequency and mode [R Z3 T-3 ~> W m-2]. :typefield real(\:,\:) tot_quad_loss [allocatable]: Energy loss rates due to quadratic bottom drag, summed over angle, frequency and mode [R Z3 T-3 ~> W m-2]. :typefield real(\:,\:) tot_itidal_loss [allocatable]: Energy loss rates due to small-scale drag, summed over angle, frequency and mode [R Z3 T-3 ~> W m-2]. :typefield real(\:,\:) tot_froude_loss [allocatable]: Energy loss rates due to wave breaking, summed over angle, frequency and mode [R Z3 T-3 ~> W m-2]. :typefield real(\:,\:) tot_allprocesses_loss [allocatable]: Energy loss rates due to all processes, summed over angle, frequency and mode [R Z3 T-3 ~> W m-2]. :typefield real q_itides: fraction of local dissipation [nondim] :typefield real en_sum: global sum of energy for use in debugging [R Z3 T-2 ~> J m-2] :typefield type(time_type) time [pointer]: A pointer to the model's clock. :typefield character (len=200) inputdir: directory to look for coastline angle file :typefield real decay_rate: A constant rate at which internal tide energy is lost to the interior ocean internal wave field. :typefield real cdrag: The bottom drag coefficient [nondim]. :typefield logical apply_background_drag: If true, apply a drag due to background processes as a sink. :typefield logical apply_bottom_drag: If true, apply a quadratic bottom drag as a sink. :typefield logical apply_wave_drag: If true, apply scattering due to small-scale roughness as a sink. :typefield logical apply_froude_drag: If true, apply wave breaking as a sink. :typefield real(\:,\:,\:,\:,\:) en [pointer]: The internal wave energy density as a function of (i,j,angle,frequency,mode) integrated within an angular and frequency band [R Z3 T-2 ~> J m-2]. :typefield real(\:,\:,\:) en_restart [pointer]: The internal wave energy density as a function of (i,j,angle); temporary for restart. :typefield real(\:) frequency [allocatable]: The frequency of each band [T-1 ~> s-1]. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(wave_structure_cs) wave_structure_csp [pointer]: A pointer to the wave_structure module control structure. .. f:type:: loop_bounds_type A structure with the active energy loop bounds. :typefield integer ish [private]: The active loop bounds. :typefield integer ieh [private]: The active loop bounds. :typefield integer jsh [private]: The active loop bounds. :typefield integer jeh [private]: The active loop bounds. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine propagate_int_tide(h, tv, cn, TKE_itidal_input, vel_btTide, Nb, dt, G, GV, US, CS) Calls subroutines in this file that are needed to refract, propagate, and dissipate energy density of the internal tide. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [in] Pointer to thermodynamic variables (needed for wave structure). :param tke_itidal_input: [in] The energy input to the internal waves [R Z3 T-3 ~> W m-2]. :param vel_bttide: [in] Barotropic velocity read from file [L T-1 ~> m s-1]. :param nb: [in] Near-bottom buoyancy frequency [T-1 ~> s-1]. :param dt: [in] Length of time over which to advance the internal tides [T ~> s]. :param cs: The control structure returned by a previous call to int_tide_init. :param cn: [in] The internal wave speeds of each :callto: :f:func:`mom_domains::complete_group_pass ` :callto: :f:func:`correct_halo_rotation ` :callto: :f:func:`itidal_lowmode_loss ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`propagate ` :callto: :f:func:`refract ` :callto: :f:func:`mom_domains::start_group_pass ` :callto: :f:func:`sum_en ` :callto: :f:func:`mom_wave_structure::wave_structure ` .. f:subroutine:: subroutine sum_en(G, CS, En, label) Checks for energy conservation on computational domain. :param g: [in] The ocean's grid structure. :param cs: The control structure returned by a previous call to int_tide_init. :param en: [in] The energy density of the internal tides [R Z3 T-2 ~> J m-2]. :param label: [in] A label to use in error messages :callto: :f:func:`mom_spatial_means::global_area_mean ` :calledfrom: :f:func:`propagate_int_tide ` .. f:subroutine:: subroutine itidal_lowmode_loss(G, US, CS, Nb, Ub, En, TKE_loss_fixed, TKE_loss, dt, full_halos) Calculates the energy lost from the propagating internal tide due to scattering over small-scale roughness along the lines of Jayne & St. Laurent (2001). :param g: [in] The ocean's grid structure. :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to int_tide_init. :param nb: [in] Near-bottom stratification [T-1 ~> s-1]. :param ub: [inout] RMS (over one period) near-bottom horizontal :param tke_loss_fixed: [in] Fixed part of energy loss [R L-2 Z3 ~> kg m-2] :param en: [inout] Energy density of the internal waves [R Z3 T-2 ~> J m-2]. :param tke_loss: [out] Energy loss rate [R Z3 T-3 ~> W m-2] :param dt: [in] Time increment [T ~> s]. :param full_halos: [in] If true, do the calculation over the entirecomputational domain. :calledfrom: :f:func:`propagate_int_tide ` .. f:subroutine:: subroutine get_lowmode_loss(i, j, G, CS, mechanism, TKE_loss_sum) This subroutine extracts the energy lost from the propagating internal which has been summed across all angles, frequencies, and modes for a given mechanism and location. It can be called from another module to get values from this module's (private) CS. :param i: [in] The i-index of the value to be reported. :param j: [in] The j-index of the value to be reported. :param g: [in] The ocean's grid structure :param cs: The control structure returned by a previous call to int_tide_init. :param mechanism: [in] The named mechanism of loss to return :param tke_loss_sum: [out] Total energy loss rate due to specified mechanism [R Z3 T-3 ~> W m-2]. .. f:subroutine:: subroutine refract(En, cn, freq, dt, G, US, NAngle, use_PPMang) Implements refraction on the internal waves at a single frequency. :param g: [in] The ocean's grid structure. :param nangle: [in] The number of wave orientations in the discretized wave energy spectrum. :param en: [inout] The internal gravity wave energy density as a :param cn: [in] Baroclinic mode speed [L T-1 ~> m s-1]. :param freq: [in] Wave frequency [T-1 ~> s-1]. :param dt: [in] Time step [T ~> s]. :param us: [in] A dimensional unit scaling type :param use_ppmang: [in] If true, use PPM for advection rather than upwind. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ppm_angular_advect ` :calledfrom: :f:func:`propagate_int_tide ` .. f:subroutine:: subroutine ppm_angular_advect(En2d, CFL_ang, Flux_En, NAngle, dt, halo_ang) This subroutine calculates the 1-d flux for advection in angular space using a monotonic piecewise parabolic scheme. This needs to be called from within i and j spatial loops. :param nangle: [in] The number of wave orientations in the discretized wave energy spectrum. :param dt: [in] Time increment [T ~> s]. :param halo_ang: [in] The halo size in angular space :param en2d: [in] The internal gravity wave energy density as a :param cfl_ang: [in] The CFL number of the energy advection across angles :param flux_en: [out] The time integrated internal wave energy flux across angles [R Z3 T-2 ~> J m-2]. :calledfrom: :f:func:`refract ` .. f:subroutine:: subroutine propagate(En, cn, freq, dt, G, US, CS, NAngle) Propagates internal waves at a single frequency. :param g: [inout] The ocean's grid structure. :param nangle: [in] The number of wave orientations in the discretized wave energy spectrum. :param en: [inout] The internal gravity wave energy density as a :param cn: [in] Baroclinic mode speed [L T-1 ~> m s-1]. :param freq: [in] Wave frequency [T-1 ~> s-1]. :param dt: [in] Time step [T ~> s]. :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to int_tide_init. :callto: :f:func:`propagate_corner_spread ` :callto: :f:func:`propagate_x ` :callto: :f:func:`propagate_y ` :calledfrom: :f:func:`propagate_int_tide ` .. f:subroutine:: subroutine propagate_corner_spread(En, energized_wedge, NAngle, speed, dt, G, CS, LB) This subroutine does first-order corner advection. It was written with the hopes of smoothing out the garden sprinkler effect, but is too numerically diffusive to be of much use as of yet. It is not yet compatible with reflection schemes (BDM). :param g: [in] The ocean's grid structure. :param en: [inout] The energy density integrated over an angular :param speed: [in] The magnitude of the group velocity at the cell :param energized_wedge: [in] Index of current ray direction. :param nangle: [in] The number of wave orientations in the discretized wave energy spectrum. :param dt: [in] Time increment [T ~> s]. :param cs: The control structure returned by a previous call to continuity_PPM_init. :param lb: [in] A structure with the active energy loop bounds. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`propagate ` .. f:subroutine:: subroutine propagate_x(En, speed_x, Cgx_av, dCgx, dt, G, US, Nangle, CS, LB) Propagates the internal wave energy in the logical x-direction. :param g: [in] The ocean's grid structure. :param nangle: [in] The number of wave orientations in the discretized wave energy spectrum. :param en: [inout] The energy density integrated over an angular :param speed_x: [in] The magnitude of the group velocity at the :param cgx_av: [in] The average x-projection in each angular band. :param dcgx: [in] The difference in x-projections between the edges of each angular band. :param dt: [in] Time increment [T ~> s]. :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to continuity_PPM_init. :param lb: [in] A structure with the active energy loop bounds. :callto: :f:func:`ppm_reconstruction_x ` :callto: :f:func:`reflect ` :callto: :f:func:`teleport ` :callto: :f:func:`zonal_flux_en ` :calledfrom: :f:func:`propagate ` .. f:subroutine:: subroutine propagate_y(En, speed_y, Cgy_av, dCgy, dt, G, US, Nangle, CS, LB) Propagates the internal wave energy in the logical y-direction. :param g: [in] The ocean's grid structure. :param nangle: [in] The number of wave orientations in the discretized wave energy spectrum. :param en: [inout] The energy density integrated over an angular :param speed_y: [in] The magnitude of the group velocity at the :param cgy_av: [in] The average y-projection in each angular band. :param dcgy: [in] The difference in y-projections between the edges of each angular band. :param dt: [in] Time increment [T ~> s]. :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to continuity_PPM_init. :param lb: [in] A structure with the active energy loop bounds. :callto: :f:func:`merid_flux_en ` :callto: :f:func:`ppm_reconstruction_y ` :callto: :f:func:`reflect ` :callto: :f:func:`teleport ` :calledfrom: :f:func:`propagate ` .. f:subroutine:: subroutine zonal_flux_en(u, h, hL, hR, uh, dt, G, US, j, ish, ieh, vol_CFL) Evaluates the zonal mass or volume fluxes in a layer. :param g: [in] The ocean's grid structure. :param u: [in] The zonal velocity [L T-1 ~> m s-1]. :param h: [in] Energy density used to calculate the fluxes [R Z3 T-2 ~> J m-2]. :param hl: [in] Left- Energy densities in the reconstruction [R Z3 T-2 ~> J m-2]. :param hr: [in] Right- Energy densities in the reconstruction [R Z3 T-2 ~> J m-2]. :param uh: [inout] The zonal energy transport [R Z3 L2 T-3 ~> J s-1]. :param dt: [in] Time increment [T ~> s]. :param us: [in] A dimensional unit scaling type :param j: [in] The j-index to work on. :param ish: [in] The start i-index range to work on. :param ieh: [in] The end i-index range to work on. :param vol_cfl: [in] If true, rescale the ratio of face areas to the cell areas when estimating the CFL number. :calledfrom: :f:func:`propagate_x ` .. f:subroutine:: subroutine merid_flux_en(v, h, hL, hR, vh, dt, G, US, J, ish, ieh, vol_CFL) Evaluates the meridional mass or volume fluxes in a layer. :param g: [in] The ocean's grid structure. :param v: [in] The meridional velocity [L T-1 ~> m s-1]. :param h: [in] Energy density used to calculate the fluxes [R Z3 T-2 ~> J m-2]. :param hl: [in] Left- Energy densities in the reconstruction [R Z3 T-2 ~> J m-2]. :param hr: [in] Right- Energy densities in the reconstruction [R Z3 T-2 ~> J m-2]. :param vh: [inout] The meridional energy transport [R Z3 L2 T-3 ~> J s-1]. :param dt: [in] Time increment [T ~> s]. :param us: [in] A dimensional unit scaling type :param j: [in] The j-index to work on. :param ish: [in] The start i-index range to work on. :param ieh: [in] The end i-index range to work on. :param vol_cfl: [in] If true, rescale the ratio of face areas to the cell areas when estimating the CFL number. :calledfrom: :f:func:`propagate_y ` .. f:subroutine:: subroutine reflect(En, NAngle, CS, G, LB) Reflection of the internal waves at a single frequency. :param g: [in] The ocean's grid structure :param nangle: [in] The number of wave orientations in the discretized wave energy spectrum. :param en: [inout] The internal gravity wave energy density as a :param cs: The control structure returned by a previous call to int_tide_init. :param lb: [in] A structure with the active energy loop bounds. :calledfrom: :f:func:`propagate_x ` :calledfrom: :f:func:`propagate_y ` .. f:subroutine:: subroutine teleport(En, NAngle, CS, G, LB) Moves energy across lines of partial reflection to prevent reflection of energy that is supposed to get across. :param g: [in] The ocean's grid structure. :param nangle: [in] The number of wave orientations in the discretized wave energy spectrum. :param en: [inout] The internal gravity wave energy density as a :param cs: The control structure returned by a previous call to int_tide_init. :param lb: [in] A structure with the active energy loop bounds. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`propagate_x ` :calledfrom: :f:func:`propagate_y ` .. f:subroutine:: subroutine correct_halo_rotation(En, test, G, NAngle) Rotates points in the halos where required to accommodate changes in grid orientation, such as at the tripolar fold. :param g: [in] The ocean's grid structure :param en: [inout] The internal gravity wave energy density as a function of space, angular orientation, frequency, and vertical mode [R Z3 T-2 ~> J m-2]. :param test: [in] An x-unit vector that has been passed through :param nangle: [in] The number of wave orientations in the discretized wave energy spectrum. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`propagate_int_tide ` .. f:subroutine:: subroutine ppm_reconstruction_x(h_in, h_l, h_r, G, LB, simple_2nd) Calculates left/right edge values for PPM reconstruction in x-direction. :param g: [in] The ocean's grid structure. :param h_in: [in] Energy density in a sector (2D). :param h_l: [out] Left edge value of reconstruction (2D). :param h_r: [out] Right edge value of reconstruction (2D). :param lb: [in] A structure with the active loop bounds. :param simple_2nd: [in] If true, use the arithmetic mean energy densities as default edge values for a simple 2nd order scheme. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ppm_limit_pos ` :calledfrom: :f:func:`propagate_x ` .. f:subroutine:: subroutine ppm_reconstruction_y(h_in, h_l, h_r, G, LB, simple_2nd) Calculates left/right edge valus for PPM reconstruction in y-direction. :param g: [in] The ocean's grid structure. :param h_in: [in] Energy density in a sector (2D). :param h_l: [out] Left edge value of reconstruction (2D). :param h_r: [out] Right edge value of reconstruction (2D). :param lb: [in] A structure with the active loop bounds. :param simple_2nd: [in] If true, use the arithmetic mean energy densities as default edge values for a simple 2nd order scheme. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ppm_limit_pos ` :calledfrom: :f:func:`propagate_y ` .. f:subroutine:: subroutine ppm_limit_pos(h_in, h_L, h_R, h_min, G, iis, iie, jis, jie) Limits the left/right edge values of the PPM reconstruction to give a reconstruction that is positive-definite. Here this is reinterpreted as giving a constant thickness if the mean thickness is less than h_min, with a minimum of h_min otherwise. :param g: [in] The ocean's grid structure. :param h_in: [in] Thickness of layer (2D). :param h_l: [inout] Left edge value (2D). :param h_r: [inout] Right edge value (2D). :param h_min: [in] The minimum thickness that can be obtained by a concave parabolic fit. :param iis: [in] Start i-index for computations :param iie: [in] End i-index for computations :param jis: [in] Start j-index for computations :param jie: [in] End j-index for computations :calledfrom: :f:func:`ppm_reconstruction_x ` :calledfrom: :f:func:`ppm_reconstruction_y ` .. f:subroutine:: subroutine internal_tides_init(Time, G, GV, US, param_file, diag, CS) This subroutine initializes the internal tides module. :param time: [in] The current model time. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters. :param diag: [in] A structure that is used to regulate diagnostic output. :param cs: A pointer that is set to point to the control structure for this module. :callto: :f:func:`mom_diag_mediator::define_axes_group ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`mom_wave_structure::wave_structure_init ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_driver_init ` .. f:subroutine:: subroutine internal_tides_end(CS) This subroutine deallocates the memory associated with the internal tides control structure. :param cs: A pointer to the control structure returned by a previous call to internal_tides_init, it will be deallocated here. [debug] xpath(./compounddef/compoundname[text()="mom_internal_tides::int_tide_cs"]/..) match([('id', 'structmom__internal__tides_1_1int__tide__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_internal_tides::int_tide_cs', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_internal_tides::int_tide_cs', , {}, ['`Mo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_internal_tides::int_tide_cs', , {}, ['', [debug] xpath(./compounddef/compoundname[text()="mom_internal_tides::loop_bounds_type"]/..) match([('id', 'structmom__internal__tides_1_1loop__bounds__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_internal_tides::loop_bounds_type', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_internal_tides::loop_bounds_type', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_internal_tides::loop_bounds_type', , {}, [debug] DoxygenMethodDocumenter format_signature called ((h, tv, cn, TKE_itidal_input, vel_btTide, Nb, dt, G, GV, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::propagate_int_tide', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::propagate_int_tide', , {}, [debug] DoxygenMethodDocumenter format_signature called ((G, CS, En, label)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::sum_en', , {}, ['', 'Checks [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::sum_en', , {}, ['', 'Checks [debug] DoxygenMethodDocumenter format_signature called ((G, US, CS, Nb, Ub, En, TKE_loss_fixed, TKE_loss, dt, full_halos)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::itidal_lowmode_loss', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::itidal_lowmode_loss', , {}, [debug] DoxygenMethodDocumenter format_signature called ((i, j, G, CS, mechanism, TKE_loss_sum)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::get_lowmode_loss', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::get_lowmode_loss', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((En, cn, freq, dt, G, US, NAngle, use_PPMang)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::refract', , {}, ['', 'Imple [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::refract', , {}, ['', 'Imple [debug] DoxygenMethodDocumenter format_signature called ((En2d, CFL_ang, Flux_En, NAngle, dt, halo_ang)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::ppm_angular_advect', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::ppm_angular_advect', , {}, [debug] DoxygenMethodDocumenter format_signature called ((En, cn, freq, dt, G, US, CS, NAngle)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::propagate', , {}, ['', 'Pro [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::propagate', , {}, ['', 'Pro [debug] DoxygenMethodDocumenter format_signature called ((En, energized_wedge, NAngle, speed, dt, G, CS, LB)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::propagate_corner_spread', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::propagate_corner_spread', , [debug] DoxygenMethodDocumenter format_signature called ((En, speed_x, Cgx_av, dCgx, dt, G, US, Nangle, CS, LB)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::propagate_x', , {}, ['', 'P [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::propagate_x', , {}, ['', 'P [debug] DoxygenMethodDocumenter format_signature called ((En, speed_y, Cgy_av, dCgy, dt, G, US, Nangle, CS, LB)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::propagate_y', , {}, ['', 'P [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::propagate_y', , {}, ['', 'P [debug] DoxygenMethodDocumenter format_signature called ((u, h, hL, hR, uh, dt, G, US, j, ish, ieh, vol_CFL)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::zonal_flux_en', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::zonal_flux_en', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((v, h, hL, hR, vh, dt, G, US, J, ish, ieh, vol_CFL)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::merid_flux_en', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::merid_flux_en', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((En, NAngle, CS, G, LB)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::reflect', , {}, ['', 'Refle [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::reflect', , {}, ['', 'Refle [debug] DoxygenMethodDocumenter format_signature called ((En, NAngle, CS, G, LB)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::teleport', , {}, ['', 'Move [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::teleport', , {}, ['', 'Move [debug] DoxygenMethodDocumenter format_signature called ((En, test, G, NAngle)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::correct_halo_rotation', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::correct_halo_rotation', , { [debug] DoxygenMethodDocumenter format_signature called ((h_in, h_l, h_r, G, LB, simple_2nd)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::ppm_reconstruction_x', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::ppm_reconstruction_x', , {} [debug] DoxygenMethodDocumenter format_signature called ((h_in, h_l, h_r, G, LB, simple_2nd)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::ppm_reconstruction_y', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::ppm_reconstruction_y', , {} [debug] DoxygenMethodDocumenter format_signature called ((h_in, h_L, h_R, h_min, G, iis, iie, jis, jie)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::ppm_limit_pos', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::ppm_limit_pos', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::internal_tides_init', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::internal_tides_init', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::internal_tides_end', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_internal_tides::internal_tides_end', , {}, [fd] run(.. f:type:: int_tide_cs) [fd] sig(int_tide_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(int_tide_cs) arglist(None) [fd] fullname(mom_internal_tides/int_tide_cs) ftype(None) [fd] name(('mom_internal_tides/int_tide_cs', None)) sig(int_tide_cs) signode(type mom_internal_tides/int_tide_cs) [fd] run(.. f:type:: loop_bounds_type) [fd] sig(loop_bounds_type) [fd] ftype(None) objtype(None) modname(None) typename() name(loop_bounds_type) arglist(None) [fd] fullname(mom_internal_tides/loop_bounds_type) ftype(None) [fd] name(('mom_internal_tides/loop_bounds_type', None)) sig(loop_bounds_type) signode(type mom_internal_tides/loop_bounds_type) [fd] run(.. f:subroutine:: subroutine propagate_int_tide(h, tv, cn, TKE_itidal_input, vel_btTide, Nb, dt, G, GV, US, CS)) [fd] sig(subroutine propagate_int_tide(h, tv, cn, TKE_itidal_input, vel_btTide, Nb, dt, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(propagate_int_tide) arglist(h, tv, cn, TKE_itidal_input, vel_btTide, Nb, dt, G, GV, US, CS) [fd] fullname(mom_internal_tides/propagate_int_tide) ftype(None) [fd] name(('mom_internal_tides/propagate_int_tide', None)) sig(subroutine propagate_int_tide(h, tv, cn, TKE_itidal_input, vel_btTide, Nb, dt, G, GV, US, CS)) signode(subroutine mom_internal_tides/propagate_int_tidehtvcnTKE_itidal_inputvel_btTideNbdtGGVUSCS) [fd] run(.. f:subroutine:: subroutine sum_en(G, CS, En, label)) [fd] sig(subroutine sum_en(G, CS, En, label)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(sum_en) arglist(G, CS, En, label) [fd] fullname(mom_internal_tides/sum_en) ftype(None) [fd] name(('mom_internal_tides/sum_en', None)) sig(subroutine sum_en(G, CS, En, label)) signode(subroutine mom_internal_tides/sum_enGCSEnlabel) [fd] run(.. f:subroutine:: subroutine itidal_lowmode_loss(G, US, CS, Nb, Ub, En, TKE_loss_fixed, TKE_loss, dt, full_halos)) [fd] sig(subroutine itidal_lowmode_loss(G, US, CS, Nb, Ub, En, TKE_loss_fixed, TKE_loss, dt, full_halos)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(itidal_lowmode_loss) arglist(G, US, CS, Nb, Ub, En, TKE_loss_fixed, TKE_loss, dt, full_halos) [fd] fullname(mom_internal_tides/itidal_lowmode_loss) ftype(None) [fd] name(('mom_internal_tides/itidal_lowmode_loss', None)) sig(subroutine itidal_lowmode_loss(G, US, CS, Nb, Ub, En, TKE_loss_fixed, TKE_loss, dt, full_halos)) signode(subroutine mom_internal_tides/itidal_lowmode_lossGUSCSNbUbEnTKE_loss_fixedTKE_lossdtfull_halos) [fd] run(.. f:subroutine:: subroutine get_lowmode_loss(i, j, G, CS, mechanism, TKE_loss_sum)) [fd] sig(subroutine get_lowmode_loss(i, j, G, CS, mechanism, TKE_loss_sum)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_lowmode_loss) arglist(i, j, G, CS, mechanism, TKE_loss_sum) [fd] fullname(mom_internal_tides/get_lowmode_loss) ftype(None) [fd] name(('mom_internal_tides/get_lowmode_loss', None)) sig(subroutine get_lowmode_loss(i, j, G, CS, mechanism, TKE_loss_sum)) signode(subroutine mom_internal_tides/get_lowmode_lossijGCSmechanismTKE_loss_sum) [fd] run(.. f:subroutine:: subroutine refract(En, cn, freq, dt, G, US, NAngle, use_PPMang)) [fd] sig(subroutine refract(En, cn, freq, dt, G, US, NAngle, use_PPMang)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(refract) arglist(En, cn, freq, dt, G, US, NAngle, use_PPMang) [fd] fullname(mom_internal_tides/refract) ftype(None) [fd] name(('mom_internal_tides/refract', None)) sig(subroutine refract(En, cn, freq, dt, G, US, NAngle, use_PPMang)) signode(subroutine mom_internal_tides/refractEncnfreqdtGUSNAngleuse_PPMang) [fd] run(.. f:subroutine:: subroutine ppm_angular_advect(En2d, CFL_ang, Flux_En, NAngle, dt, halo_ang)) [fd] sig(subroutine ppm_angular_advect(En2d, CFL_ang, Flux_En, NAngle, dt, halo_ang)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ppm_angular_advect) arglist(En2d, CFL_ang, Flux_En, NAngle, dt, halo_ang) [fd] fullname(mom_internal_tides/ppm_angular_advect) ftype(None) [fd] name(('mom_internal_tides/ppm_angular_advect', None)) sig(subroutine ppm_angular_advect(En2d, CFL_ang, Flux_En, NAngle, dt, halo_ang)) signode(subroutine mom_internal_tides/ppm_angular_advectEn2dCFL_angFlux_EnNAngledthalo_ang) [fd] run(.. f:subroutine:: subroutine propagate(En, cn, freq, dt, G, US, CS, NAngle)) [fd] sig(subroutine propagate(En, cn, freq, dt, G, US, CS, NAngle)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(propagate) arglist(En, cn, freq, dt, G, US, CS, NAngle) [fd] fullname(mom_internal_tides/propagate) ftype(None) [fd] name(('mom_internal_tides/propagate', None)) sig(subroutine propagate(En, cn, freq, dt, G, US, CS, NAngle)) signode(subroutine mom_internal_tides/propagateEncnfreqdtGUSCSNAngle) [fd] run(.. f:subroutine:: subroutine propagate_corner_spread(En, energized_wedge, NAngle, speed, dt, G, CS, LB)) [fd] sig(subroutine propagate_corner_spread(En, energized_wedge, NAngle, speed, dt, G, CS, LB)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(propagate_corner_spread) arglist(En, energized_wedge, NAngle, speed, dt, G, CS, LB) [fd] fullname(mom_internal_tides/propagate_corner_spread) ftype(None) [fd] name(('mom_internal_tides/propagate_corner_spread', None)) sig(subroutine propagate_corner_spread(En, energized_wedge, NAngle, speed, dt, G, CS, LB)) signode(subroutine mom_internal_tides/propagate_corner_spreadEnenergized_wedgeNAnglespeeddtGCSLB) [fd] run(.. f:subroutine:: subroutine propagate_x(En, speed_x, Cgx_av, dCgx, dt, G, US, Nangle, CS, LB)) [fd] sig(subroutine propagate_x(En, speed_x, Cgx_av, dCgx, dt, G, US, Nangle, CS, LB)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(propagate_x) arglist(En, speed_x, Cgx_av, dCgx, dt, G, US, Nangle, CS, LB) [fd] fullname(mom_internal_tides/propagate_x) ftype(None) [fd] name(('mom_internal_tides/propagate_x', None)) sig(subroutine propagate_x(En, speed_x, Cgx_av, dCgx, dt, G, US, Nangle, CS, LB)) signode(subroutine mom_internal_tides/propagate_xEnspeed_xCgx_avdCgxdtGUSNangleCSLB) [fd] run(.. f:subroutine:: subroutine propagate_y(En, speed_y, Cgy_av, dCgy, dt, G, US, Nangle, CS, LB)) [fd] sig(subroutine propagate_y(En, speed_y, Cgy_av, dCgy, dt, G, US, Nangle, CS, LB)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(propagate_y) arglist(En, speed_y, Cgy_av, dCgy, dt, G, US, Nangle, CS, LB) [fd] fullname(mom_internal_tides/propagate_y) ftype(None) [fd] name(('mom_internal_tides/propagate_y', None)) sig(subroutine propagate_y(En, speed_y, Cgy_av, dCgy, dt, G, US, Nangle, CS, LB)) signode(subroutine mom_internal_tides/propagate_yEnspeed_yCgy_avdCgydtGUSNangleCSLB) [fd] run(.. f:subroutine:: subroutine zonal_flux_en(u, h, hL, hR, uh, dt, G, US, j, ish, ieh, vol_CFL)) [fd] sig(subroutine zonal_flux_en(u, h, hL, hR, uh, dt, G, US, j, ish, ieh, vol_CFL)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(zonal_flux_en) arglist(u, h, hL, hR, uh, dt, G, US, j, ish, ieh, vol_CFL) [fd] fullname(mom_internal_tides/zonal_flux_en) ftype(None) [fd] name(('mom_internal_tides/zonal_flux_en', None)) sig(subroutine zonal_flux_en(u, h, hL, hR, uh, dt, G, US, j, ish, ieh, vol_CFL)) signode(subroutine mom_internal_tides/zonal_flux_enuhhLhRuhdtGUSjishiehvol_CFL) [fd] run(.. f:subroutine:: subroutine merid_flux_en(v, h, hL, hR, vh, dt, G, US, J, ish, ieh, vol_CFL)) [fd] sig(subroutine merid_flux_en(v, h, hL, hR, vh, dt, G, US, J, ish, ieh, vol_CFL)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(merid_flux_en) arglist(v, h, hL, hR, vh, dt, G, US, J, ish, ieh, vol_CFL) [fd] fullname(mom_internal_tides/merid_flux_en) ftype(None) [fd] name(('mom_internal_tides/merid_flux_en', None)) sig(subroutine merid_flux_en(v, h, hL, hR, vh, dt, G, US, J, ish, ieh, vol_CFL)) signode(subroutine mom_internal_tides/merid_flux_envhhLhRvhdtGUSJishiehvol_CFL) [fd] run(.. f:subroutine:: subroutine reflect(En, NAngle, CS, G, LB)) [fd] sig(subroutine reflect(En, NAngle, CS, G, LB)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(reflect) arglist(En, NAngle, CS, G, LB) [fd] fullname(mom_internal_tides/reflect) ftype(None) [fd] name(('mom_internal_tides/reflect', None)) sig(subroutine reflect(En, NAngle, CS, G, LB)) signode(subroutine mom_internal_tides/reflectEnNAngleCSGLB) [fd] run(.. f:subroutine:: subroutine teleport(En, NAngle, CS, G, LB)) [fd] sig(subroutine teleport(En, NAngle, CS, G, LB)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(teleport) arglist(En, NAngle, CS, G, LB) [fd] fullname(mom_internal_tides/teleport) ftype(None) [fd] name(('mom_internal_tides/teleport', None)) sig(subroutine teleport(En, NAngle, CS, G, LB)) signode(subroutine mom_internal_tides/teleportEnNAngleCSGLB) [fd] run(.. f:subroutine:: subroutine correct_halo_rotation(En, test, G, NAngle)) [fd] sig(subroutine correct_halo_rotation(En, test, G, NAngle)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(correct_halo_rotation) arglist(En, test, G, NAngle) [fd] fullname(mom_internal_tides/correct_halo_rotation) ftype(None) [fd] name(('mom_internal_tides/correct_halo_rotation', None)) sig(subroutine correct_halo_rotation(En, test, G, NAngle)) signode(subroutine mom_internal_tides/correct_halo_rotationEntestGNAngle) [fd] run(.. f:subroutine:: subroutine ppm_reconstruction_x(h_in, h_l, h_r, G, LB, simple_2nd)) [fd] sig(subroutine ppm_reconstruction_x(h_in, h_l, h_r, G, LB, simple_2nd)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ppm_reconstruction_x) arglist(h_in, h_l, h_r, G, LB, simple_2nd) [fd] fullname(mom_internal_tides/ppm_reconstruction_x) ftype(None) [fd] name(('mom_internal_tides/ppm_reconstruction_x', None)) sig(subroutine ppm_reconstruction_x(h_in, h_l, h_r, G, LB, simple_2nd)) signode(subroutine mom_internal_tides/ppm_reconstruction_xh_inh_lh_rGLBsimple_2nd) [fd] run(.. f:subroutine:: subroutine ppm_reconstruction_y(h_in, h_l, h_r, G, LB, simple_2nd)) [fd] sig(subroutine ppm_reconstruction_y(h_in, h_l, h_r, G, LB, simple_2nd)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ppm_reconstruction_y) arglist(h_in, h_l, h_r, G, LB, simple_2nd) [fd] fullname(mom_internal_tides/ppm_reconstruction_y) ftype(None) [fd] name(('mom_internal_tides/ppm_reconstruction_y', None)) sig(subroutine ppm_reconstruction_y(h_in, h_l, h_r, G, LB, simple_2nd)) signode(subroutine mom_internal_tides/ppm_reconstruction_yh_inh_lh_rGLBsimple_2nd) [fd] run(.. f:subroutine:: subroutine ppm_limit_pos(h_in, h_L, h_R, h_min, G, iis, iie, jis, jie)) [fd] sig(subroutine ppm_limit_pos(h_in, h_L, h_R, h_min, G, iis, iie, jis, jie)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ppm_limit_pos) arglist(h_in, h_L, h_R, h_min, G, iis, iie, jis, jie) [fd] fullname(mom_internal_tides/ppm_limit_pos) ftype(None) [fd] name(('mom_internal_tides/ppm_limit_pos', None)) sig(subroutine ppm_limit_pos(h_in, h_L, h_R, h_min, G, iis, iie, jis, jie)) signode(subroutine mom_internal_tides/ppm_limit_posh_inh_Lh_Rh_minGiisiiejisjie) [fd] run(.. f:subroutine:: subroutine internal_tides_init(Time, G, GV, US, param_file, diag, CS)) [fd] sig(subroutine internal_tides_init(Time, G, GV, US, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(internal_tides_init) arglist(Time, G, GV, US, param_file, diag, CS) [fd] fullname(mom_internal_tides/internal_tides_init) ftype(None) [fd] name(('mom_internal_tides/internal_tides_init', None)) sig(subroutine internal_tides_init(Time, G, GV, US, param_file, diag, CS)) signode(subroutine mom_internal_tides/internal_tides_initTimeGGVUSparam_filediagCS) [fd] run(.. f:subroutine:: subroutine internal_tides_end(CS)) [fd] sig(subroutine internal_tides_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(internal_tides_end) arglist(CS) [fd] fullname(mom_internal_tides/internal_tides_end) ftype(None) [fd] name(('mom_internal_tides/internal_tides_end', None)) sig(subroutine internal_tides_end(CS)) signode(subroutine mom_internal_tides/internal_tides_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 41%] api/generated/modules/mom_intrinsic_functions [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_intrinsi [app] emitting event: 'source-read'('api/generated/modules/mom_intrinsic_functions', ['.. autodoxymodule:: mom_intrinsic_functions\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_intrinsic_functions.rst:1: input: .. autodoxymodule:: mom_intrinsic_functions :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_intrinsic_functions::invcosh [debug] xpath(./compounddef/compoundname[text()="mom_intrinsic_functions"]/..) match([('id', 'namespacemom__intrinsic__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_intrinsic_functions module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_intrinsic_functions', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_intrinsic_functions' (exception was: ModuleNotFoundError("No module named 'mom_intrinsic_functions'")) [debug] DoxygenMethodDocumenter format_signature called ((x)) [debug] add_directive_header sig((x)) [debug] DoxygenMethodDocumenter directive(function) name(real function invcosh) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'invcosh', , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_intrinsic_functions::invcosh .. _DETAmom_intrinsic_functions: -------------------- Detailed Description -------------------- A module with intrinsic functions that are used by MOM but are not supported by some compilers. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: real function invcosh(x) Evaluate the inverse cosh, either using a math library or an equivalent expression. :param x: [in] The argument of the inverse of cosh. NaNs will occur if x<1, but there is no error checking :calledfrom: :f:func:`mom_bkgnd_mixing::calculate_bkgnd_mixing ` [debug] DoxygenMethodDocumenter format_signature called ((x)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_intrinsic_functions::invcosh', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_intrinsic_functions::invcosh', , {}, ['', ' [fd] run(.. f:function:: real function invcosh(x)) [fd] sig(real function invcosh(x)) [fd] ftype(real) objtype(function) modname(None) typename() name(invcosh) arglist(x) [fd] fullname(mom_intrinsic_functions/invcosh) ftype(real) [fd] name(('mom_intrinsic_functions/invcosh', 'real')) sig(real function invcosh(x)) signode(function mom_intrinsic_functions/invcoshx [real]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 41%] api/generated/modules/mom_io [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_io') [app] emitting event: 'source-read'('api/generated/modules/mom_io', ['.. autodoxymodule:: mom_io\n :members:\n :methods:\n :types [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_io.rst:1: input: .. autodoxymodule:: mom_io :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_io::vardesc --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_io::create_file ~mom_io::reopen_file ~mom_io::read_axis_data ~mom_io::num_timelevels ~mom_io::var_desc ~mom_io::modify_vardesc ~mom_io::cmor_long_std ~mom_io::query_vardesc ~mom_io::safe_string_copy ~mom_io::ensembler ~mom_io::mom_file_exists ~mom_io::fms_file_exists ~mom_io::mom_read_data_1d ~mom_io::mom_read_data_2d ~mom_io::mom_read_data_3d ~mom_io::mom_read_data_4d ~mom_io::mom_read_vector_2d ~mom_io::mom_read_vector_3d ~mom_io::mom_io_init [debug] xpath(./compounddef/compoundname[text()="mom_io"]/..) match([('id', 'namespacemom__io'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_io module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_io', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_io' (exception was: ModuleNotFoundError("No module named 'mom_io'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_io::vardesc', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('reopen_file', ), ('read_axis_data', ), ('num_timelevels', ), ('var_desc', ), ('modify_vardesc', ), ('cmor_long_std', ), ('query_vardesc', ), ('safe_string_copy', ), ('ensembler', ), ('mom_file_exists', ), ('fms_file_exists', ), ('mom_read_data_1d', ), ('mom_read_data_2d', ), ('mom_read_data_3d', ), ('mom_read_data_4d', ), ('mom_read_vector_2d', ), ('mom_read_vector_3d', ), ('mom_io_init', )]) [autodoc] module analyzer failed: error importing 'mom_io' (exception was: ModuleNotFoundError("No module named 'mom_io'")) [debug] DoxygenMethodDocumenter format_signature called ((unit, filename, vars, novars, fields, threading, timeunit, G, dG, GV, checksums)) [debug] add_directive_header sig((unit, filename, vars, novars, fields, threading, timeunit, G, dG, GV, checksums)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine create_file) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'create_file', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_io::vardesc --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_io::create_file ~mom_io::reopen_file ~mom_io::read_axis_data ~mom_io::num_timelevels ~mom_io::var_desc ~mom_io::modify_vardesc ~mom_io::cmor_long_std ~mom_io::query_vardesc ~mom_io::safe_string_copy ~mom_io::ensembler ~mom_io::mom_file_exists ~mom_io::fms_file_exists ~mom_io::mom_read_data_1d ~mom_io::mom_read_data_2d ~mom_io::mom_read_data_3d ~mom_io::mom_read_data_4d ~mom_io::mom_read_vector_2d ~mom_io::mom_read_vector_3d ~mom_io::mom_io_init .. _DETAmom_io: -------------------- Detailed Description -------------------- This file contains a number of subroutines that manipulate NetCDF files and handle input and output of fields. These subroutines, along with their purpose, are: * create_file: create a new file and set up structures that are needed for subsequent output and write out the coordinates. * reopen_file: reopen an existing file for writing and set up structures that are needed for subsequent output. * open_input_file: open the indicated file for reading only. * close_file: close an open file. * synch_file: flush the buffers, completing all pending output. * write_field: write a field to an open file. * write_time: write a value of the time axis to an open file. * read_data: read a variable from an open file. * read_time: read a time from an open file. * name_output_file: provide a name for an output file based on a name root and the time of the output. * find_input_file: find a file that has been previously written by MOM and named by name_output_file and open it for reading. * handle_error: write an error code and quit. ------------------ Type Documentation ------------------ .. f:type:: vardesc Type for describing a variable, typically a tracer. :typefield character (len=64) name: Variable name in a NetCDF file. :typefield character (len=48) units: Physical dimensions of the variable. :typefield character (len=240) longname: Long name of the variable. :typefield character (len=8) hor_grid: Horizontal grid: u, v, h, q, Cu, Cv, T, Bu, or 1. :typefield character (len=8) z_grid: Vertical grid: L, i, or 1. :typefield character (len=8) t_grid: Time description: s, p, or 1. :typefield character (len=64) cmor_field_name: CMOR name. :typefield character (len=64) cmor_units: CMOR physical dimensions of the variable. :typefield character (len=240) cmor_longname: CMOR long name of the variable. :typefield real conversion: for unit conversions, such as needed to convert from intensive to extensive --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine create_file(unit, filename, vars, novars, fields, threading, timeunit, G, dG, GV, checksums) Routine creates a new NetCDF file. It also sets up structures that describe this file and variables that will later be written to this file. Type for describing a variable, typically a tracer. :param unit: [out] unit id of an open file or -1 on a nonwriting PE with single file output :param filename: [in] full path to the file to create :param vars: [in] structures describing fields written to filename :param novars: [in] number of fields written to filename :param fields: [inout] array of fieldtypes for each variable :param threading: [in] SINGLE_FILE or MULTIPLE :param timeunit: [in] length of the units for time [s]. The default value is 86400.0, for 1 day. :param g: [in] ocean horizontal grid structure; G or dG is required if the new file uses any horizontal grid axes. :param dg: [in] dynamic horizontal grid structure; G or dG is required if the new file uses any horizontal grid axes. :param gv: [in] ocean vertical grid structure, which is required if the new file uses any vertical grid axes. :param checksums: [in] checksums of vars :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_ale::ale_writecoordinatefile ` :calledfrom: :f:func:`reopen_file ` .. f:subroutine:: subroutine reopen_file(unit, filename, vars, novars, fields, threading, timeunit, G, dG, GV) This routine opens an existing NetCDF file for output. If it does not find the file, a new file is created. It also sets up structures that describe this file and the variables that will later be written to this file. :param unit: [out] unit id of an open file or -1 on a nonwriting PE with single file output :param filename: [in] full path to the file to create :param vars: [in] structures describing fields written to filename :param novars: [in] number of fields written to filename :param fields: [inout] array of fieldtypes for each variable :param threading: [in] SINGLE_FILE or MULTIPLE :param timeunit: [in] length of the units for time [s]. The default value is 86400.0, for 1 day. :param g: [in] ocean horizontal grid structure; G or dG is required if a new file uses any horizontal grid axes. :param dg: [in] dynamic horizontal grid structure; G or dG is required if a new file uses any horizontal grid axes. :param gv: [in] ocean vertical grid structure, which is required if a new file uses any vertical grid axes. :callto: :f:func:`create_file ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine read_axis_data(filename, axis_name, var) Read the data associated with a named axis in a file. :param filename: [in] Name of the file to read :param axis_name: [in] Name of the axis to read :param var: [out] The axis location data :callto: :f:func:`mom_error_handler::mom_error ` .. f:function:: integer function num_timelevels(filename, varname, min_dims) This function determines how many time levels a variable has. :param filename: [in] name of the file to read :param varname: [in] variable whose number of time levels are to be returned :param min_dims: [in] The minimum number of dimensions a variable must have if it has a time dimension. If the variable has 1 less dimension than this, then 0 is returned. :returns undefined: number of time levels varname has in filename :callto: :f:func:`mom_string_functions::lowercase ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_surface_forcing::surface_forcing_init ` .. f:function:: type(vardesc) function var_desc(name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller) Returns a vardesc type whose elements have been filled with the provided fields. The argument name is required, while the others are optional and have default values that are empty strings or are appropriate for a 3-d tracer field at the tracer cell centers. :param name: [in] variable name :param units: [in] variable units :param longname: [in] variable long name :param hor_grid: [in] variable horizonal staggering :param z_grid: [in] variable vertical staggering :param t_grid: [in] time description: s, p, or 1 :param cmor_field_name: [in] CMOR name :param cmor_units: [in] CMOR physical dimensions of variable :param cmor_longname: [in] CMOR long name :param conversion: [in] for unit conversions, such as needed to convert from intensive to extensive :param caller: [in] calling routine? :returns undefined: vardesc type that is created :callto: :f:func:`modify_vardesc ` :callto: :f:func:`safe_string_copy ` :calledfrom: :f:func:`mom_meke::meke_alloc_register_restart ` :calledfrom: :f:func:`mom_mixed_layer_restrat::mixedlayer_restrat_register_restarts ` :calledfrom: :f:func:`advection_test_tracer::register_advection_test_tracer ` :calledfrom: :f:func:`mom_barotropic::register_barotropic_restarts ` :calledfrom: :f:func:`boundary_impulse_tracer::register_boundary_impulse_tracer ` :calledfrom: :f:func:`mom_controlled_forcing::register_ctrl_forcing_restarts ` :calledfrom: :f:func:`dome_tracer::register_dome_tracer ` :calledfrom: :f:func:`regional_dyes::register_dye_tracer ` :calledfrom: :f:func:`dyed_obc_tracer::register_dyed_obc_tracer ` :calledfrom: :f:func:`ideal_age_example::register_ideal_age_tracer ` :calledfrom: :f:func:`isomip_tracer::register_isomip_tracer ` :calledfrom: :f:func:`mom_ocmip2_cfc::register_ocmip2_cfc ` :calledfrom: :f:func:`oil_tracer::register_oil_tracer ` :calledfrom: :f:func:`pseudo_salt_tracer::register_pseudo_salt_tracer ` :calledfrom: :f:func:`mom_dynamics_split_rk2::register_restarts_dyn_split_rk2 ` :calledfrom: :f:func:`rgc_tracer::register_rgc_tracer ` :calledfrom: :f:func:`user_tracer_example::user_register_tracer_example ` :calledfrom: :f:func:`mom_coord_initialization::write_vertgrid_file ` .. f:subroutine:: subroutine modify_vardesc(vd, name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller) This routine modifies the named elements of a vardesc type. All arguments are optional, except the vardesc type to be modified. :param vd: [inout] vardesc type that is modified :param name: [in] name of variable :param units: [in] units of variable :param longname: [in] long name of variable :param hor_grid: [in] horizonal staggering of variable :param z_grid: [in] vertical staggering of variable :param t_grid: [in] time description: s, p, or 1 :param cmor_field_name: [in] CMOR name :param cmor_units: [in] CMOR physical dimensions of variable :param cmor_longname: [in] CMOR long name :param conversion: [in] for unit conversions, such as needed to convert from intensive to extensive :param caller: [in] calling routine? :callto: :f:func:`safe_string_copy ` :calledfrom: :f:func:`var_desc ` .. f:function:: character(len=len(longname)) function cmor_long_std(longname) This function returns the CMOR standard name given a CMOR longname, based on the standard pattern of character conversions. :param longname: [in] The CMOR longname being converted :returns undefined: The CMOR standard name generated from longname :callto: :f:func:`mom_string_functions::lowercase ` :calledfrom: :f:func:`mom_tracer_registry::register_tracer_diagnostics ` .. f:subroutine:: subroutine query_vardesc(vd, name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller) This routine queries vardesc. :param vd: [in] vardesc type that is queried :param name: [out] name of variable :param units: [out] units of variable :param longname: [out] long name of variable :param hor_grid: [out] horiz staggering of variable :param z_grid: [out] vert staggering of variable :param t_grid: [out] time description: s, p, or 1 :param cmor_field_name: [out] CMOR name :param cmor_units: [out] CMOR physical dimensions of variable :param cmor_longname: [out] CMOR long name :param conversion: [out] for unit conversions, such as needed to convert from intensive to extensive :param caller: [in] calling routine? :callto: :f:func:`safe_string_copy ` :calledfrom: :f:func:`advection_test_tracer::advection_test_stock ` :calledfrom: :f:func:`boundary_impulse_tracer::boundary_impulse_stock ` :calledfrom: :f:func:`regional_dyes::dye_stock ` :calledfrom: :f:func:`ideal_age_example::ideal_age_stock ` :calledfrom: :f:func:`advection_test_tracer::initialize_advection_test_tracer ` :calledfrom: :f:func:`boundary_impulse_tracer::initialize_boundary_impulse_tracer ` :calledfrom: :f:func:`dome_tracer::initialize_dome_tracer ` :calledfrom: :f:func:`dyed_obc_tracer::initialize_dyed_obc_tracer ` :calledfrom: :f:func:`ideal_age_example::initialize_ideal_age_tracer ` :calledfrom: :f:func:`isomip_tracer::initialize_isomip_tracer ` :calledfrom: :f:func:`oil_tracer::initialize_oil_tracer ` :calledfrom: :f:func:`pseudo_salt_tracer::initialize_pseudo_salt_tracer ` :calledfrom: :f:func:`rgc_tracer::initialize_rgc_tracer ` :calledfrom: :f:func:`mom_ocmip2_cfc::ocmip2_cfc_stock ` :calledfrom: :f:func:`oil_tracer::oil_stock ` :calledfrom: :f:func:`pseudo_salt_tracer::pseudo_salt_stock ` :calledfrom: :f:func:`boundary_impulse_tracer::register_boundary_impulse_tracer ` :calledfrom: :f:func:`regional_dyes::register_dye_tracer ` :calledfrom: :f:func:`ideal_age_example::register_ideal_age_tracer ` :calledfrom: :f:func:`oil_tracer::register_oil_tracer ` :calledfrom: :f:func:`pseudo_salt_tracer::register_pseudo_salt_tracer ` :calledfrom: :f:func:`mom_tracer_registry::register_tracer ` :calledfrom: :f:func:`user_tracer_example::user_initialize_tracer ` :calledfrom: :f:func:`user_tracer_example::user_tracer_stock ` .. f:subroutine:: subroutine safe_string_copy(str1, str2, fieldnm, caller) Copies a string. :param str1: [in] The string being copied :param str2: [out] The string being copied into :param fieldnm: [in] The name of the field for error messages :param caller: [in] The calling routine for error messages :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`modify_vardesc ` :calledfrom: :f:func:`query_vardesc ` :calledfrom: :f:func:`var_desc ` .. f:function:: character(len=len(name)) function ensembler(name, ens_no_in) Returns a name with "%#E" or "%E" replaced with the ensemble member number. :param name: [in] The name to be modified :param ens_no_in: [in] The number of the current ensemble member :returns undefined: The name encoded with the ensemble number :callto: :f:func:`mom_error_handler::mom_error ` .. f:function:: logical function mom_file_exists(filename, MOM_Domain) Returns true if the named file or its domain-decomposed variant exists. :param filename: [in] The name of the file being inquired about :param mom_domain: [in] The MOM_Domain that describes the decomposition .. f:function:: logical function fms_file_exists(filename, domain, no_domain) Returns true if the named file or its domain-decomposed variant exists. :param filename: [in] The name of the file being inquired about :param domain: [in] The mpp domain2d that describes the decomposition :param no_domain: [in] This file does not use domain decomposition .. f:subroutine:: subroutine mom_read_data_1d(filename, fieldname, data, timelevel, scale) This function uses the fms_io function read_data to read 1-D data field named "fieldname" from file "filename". :param filename: [in] The name of the file to read :param fieldname: [in] The variable name of the data in the file :param data: [inout] The 1-dimensional array into which the data :param timelevel: [in] The time level in the file to read :param scale: [in] A scaling factor that the field is multiplied by before they are returned. .. f:subroutine:: subroutine mom_read_data_2d(filename, fieldname, data, MOM_Domain, timelevel, position, scale) This function uses the fms_io function read_data to read a distributed 2-D data field named "fieldname" from file "filename". Valid values for "position" include CORNER, CENTER, EAST_FACE and NORTH_FACE. :param filename: [in] The name of the file to read :param fieldname: [in] The variable name of the data in the file :param data: [inout] The 2-dimensional array into which the data should be read :param mom_domain: [in] The MOM_Domain that describes the decomposition :param timelevel: [in] The time level in the file to read :param position: [in] A flag indicating where this data is located :param scale: [in] A scaling factor that the field is multiplied by before they are returned. :callto: :f:func:`mom_domains::get_simple_array_i_ind ` :callto: :f:func:`mom_domains::get_simple_array_j_ind ` .. f:subroutine:: subroutine mom_read_data_3d(filename, fieldname, data, MOM_Domain, timelevel, position, scale) This function uses the fms_io function read_data to read a distributed 3-D data field named "fieldname" from file "filename". Valid values for "position" include CORNER, CENTER, EAST_FACE and NORTH_FACE. :param filename: [in] The name of the file to read :param fieldname: [in] The variable name of the data in the file :param data: [inout] The 3-dimensional array into which the data should be read :param mom_domain: [in] The MOM_Domain that describes the decomposition :param timelevel: [in] The time level in the file to read :param position: [in] A flag indicating where this data is located :param scale: [in] A scaling factor that the field is multiplied by before they are returned. :callto: :f:func:`mom_domains::get_simple_array_i_ind ` :callto: :f:func:`mom_domains::get_simple_array_j_ind ` .. f:subroutine:: subroutine mom_read_data_4d(filename, fieldname, data, MOM_Domain, timelevel, position, scale) This function uses the fms_io function read_data to read a distributed 4-D data field named "fieldname" from file "filename". Valid values for "position" include CORNER, CENTER, EAST_FACE and NORTH_FACE. :param filename: [in] The name of the file to read :param fieldname: [in] The variable name of the data in the file :param data: [inout] The 4-dimensional array into which the data should be read :param mom_domain: [in] The MOM_Domain that describes the decomposition :param timelevel: [in] The time level in the file to read :param position: [in] A flag indicating where this data is located :param scale: [in] A scaling factor that the field is multiplied by before they are returned. :callto: :f:func:`mom_domains::get_simple_array_i_ind ` :callto: :f:func:`mom_domains::get_simple_array_j_ind ` .. f:subroutine:: subroutine mom_read_vector_2d(filename, u_fieldname, v_fieldname, u_data, v_data, MOM_Domain, timelevel, stagger, scalar_pair, scale) This function uses the fms_io function read_data to read a pair of distributed 2-D data fields with names given by "[uv]_fieldname" from file "filename". Valid values for "stagger" include CGRID_NE, BGRID_NE, and AGRID. :param filename: [in] The name of the file to read :param u_fieldname: [in] The variable name of the u data in the file :param v_fieldname: [in] The variable name of the v data in the file :param u_data: [inout] The 2 dimensional array into which the u-component of the data should be read :param v_data: [inout] The 2 dimensional array into which the v-component of the data should be read :param mom_domain: [in] The MOM_Domain that describes the decomposition :param timelevel: [in] The time level in the file to read :param stagger: [in] A flag indicating where this vector is discretized :param scalar_pair: [in] If true, a pair of scalars are to be read.cretized :param scale: [in] A scaling factor that the fields are multiplied by before they are returned. :callto: :f:func:`mom_domains::get_simple_array_i_ind ` :callto: :f:func:`mom_domains::get_simple_array_j_ind ` .. f:subroutine:: subroutine mom_read_vector_3d(filename, u_fieldname, v_fieldname, u_data, v_data, MOM_Domain, timelevel, stagger, scalar_pair, scale) This function uses the fms_io function read_data to read a pair of distributed 3-D data fields with names given by "[uv]_fieldname" from file "filename". Valid values for "stagger" include CGRID_NE, BGRID_NE, and AGRID. :param filename: [in] The name of the file to read :param u_fieldname: [in] The variable name of the u data in the file :param v_fieldname: [in] The variable name of the v data in the file :param u_data: [inout] The 3 dimensional array into which the u-component of the data should be read :param v_data: [inout] The 3 dimensional array into which the v-component of the data should be read :param mom_domain: [in] The MOM_Domain that describes the decomposition :param timelevel: [in] The time level in the file to read :param stagger: [in] A flag indicating where this vector is discretized :param scalar_pair: [in] If true, a pair of scalars are to be read.cretized :param scale: [in] A scaling factor that the fields are multiplied by before they are returned. :callto: :f:func:`mom_domains::get_simple_array_i_ind ` :callto: :f:func:`mom_domains::get_simple_array_j_ind ` .. f:subroutine:: subroutine mom_io_init(param_file) Initialize the MOM_io module. :param param_file: [in] structure indicating the open file to parse for model parameter values. [debug] xpath(./compounddef/compoundname[text()="mom_io::vardesc"]/..) match([('id', 'structmom__io_1_1vardesc'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_io::vardesc', , {}, ['', 'Type for descri [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_io::vardesc', , {}, ['`More... , {}, ['', 'Type for descri [debug] DoxygenMethodDocumenter format_signature called ((unit, filename, vars, novars, fields, threading, timeunit, G, dG, GV, checksums)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::create_file', , {}, ['', 'Routine creat [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::create_file', , {}, ['', 'Routine creat [debug] DoxygenMethodDocumenter format_signature called ((unit, filename, vars, novars, fields, threading, timeunit, G, dG, GV)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::reopen_file', , {}, ['', 'This routine [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::reopen_file', , {}, ['', 'This routine [debug] DoxygenMethodDocumenter format_signature called ((filename, axis_name, var)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::read_axis_data', , {}, ['', 'Read the d [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::read_axis_data', , {}, ['', 'Read the d [debug] DoxygenMethodDocumenter format_signature called ((filename, varname, min_dims)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::num_timelevels', , {}, ['', 'This funct [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::num_timelevels', , {}, ['', 'This funct [debug] DoxygenMethodDocumenter format_signature called ((name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::var_desc', , {}, ['', 'Returns a vardes [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::var_desc', , {}, ['', 'Returns a vardes [debug] DoxygenMethodDocumenter format_signature called ((vd, name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::modify_vardesc', , {}, ['', 'This routi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::modify_vardesc', , {}, ['', 'This routi [debug] DoxygenMethodDocumenter format_signature called ((longname)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::cmor_long_std', , {}, ['', 'This functi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::cmor_long_std', , {}, ['', 'This functi [debug] DoxygenMethodDocumenter format_signature called ((vd, name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::query_vardesc', , {}, ['', 'This routin [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::query_vardesc', , {}, ['', 'This routin [debug] DoxygenMethodDocumenter format_signature called ((str1, str2, fieldnm, caller)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::safe_string_copy', , {}, ['', 'Copies a [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::safe_string_copy', , {}, ['', 'Copies a [debug] DoxygenMethodDocumenter format_signature called ((name, ens_no_in)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::ensembler', , {}, ['', 'Returns a name [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::ensembler', , {}, ['', 'Returns a name [debug] DoxygenMethodDocumenter format_signature called ((filename, MOM_Domain)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::mom_file_exists', , {}, ['', 'Returns t [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::mom_file_exists', , {}, ['', 'Returns t [debug] DoxygenMethodDocumenter format_signature called ((filename, domain, no_domain)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::fms_file_exists', , {}, ['', 'Returns t [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::fms_file_exists', , {}, ['', 'Returns t [debug] DoxygenMethodDocumenter format_signature called ((filename, fieldname, data, timelevel, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::mom_read_data_1d', , {}, ['', 'This fun [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::mom_read_data_1d', , {}, ['', 'This fun [debug] DoxygenMethodDocumenter format_signature called ((filename, fieldname, data, MOM_Domain, timelevel, position, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::mom_read_data_2d', , {}, ['', 'This fun [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::mom_read_data_2d', , {}, ['', 'This fun [debug] DoxygenMethodDocumenter format_signature called ((filename, fieldname, data, MOM_Domain, timelevel, position, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::mom_read_data_3d', , {}, ['', 'This fun [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::mom_read_data_3d', , {}, ['', 'This fun [debug] DoxygenMethodDocumenter format_signature called ((filename, fieldname, data, MOM_Domain, timelevel, position, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::mom_read_data_4d', , {}, ['', 'This fun [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::mom_read_data_4d', , {}, ['', 'This fun [debug] DoxygenMethodDocumenter format_signature called ((filename, u_fieldname, v_fieldname, u_data, v_data, MOM_Domain, timelevel, stagger, scalar_pair, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::mom_read_vector_2d', , {}, ['', 'This f [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::mom_read_vector_2d', , {}, ['', 'This f [debug] DoxygenMethodDocumenter format_signature called ((filename, u_fieldname, v_fieldname, u_data, v_data, MOM_Domain, timelevel, stagger, scalar_pair, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::mom_read_vector_3d', , {}, ['', 'This f [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::mom_read_vector_3d', , {}, ['', 'This f [debug] DoxygenMethodDocumenter format_signature called ((param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::mom_io_init', , {}, ['', 'Initialize th [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_io::mom_io_init', , {}, ['', 'Initialize th [fd] run(.. f:type:: vardesc) [fd] sig(vardesc) [fd] ftype(None) objtype(None) modname(None) typename() name(vardesc) arglist(None) [fd] fullname(mom_io/vardesc) ftype(None) [fd] name(('mom_io/vardesc', None)) sig(vardesc) signode(type mom_io/vardesc) [fd] run(.. f:subroutine:: subroutine create_file(unit, filename, vars, novars, fields, threading, timeunit, G, dG, GV, checksums)) [fd] sig(subroutine create_file(unit, filename, vars, novars, fields, threading, timeunit, G, dG, GV, checksums)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(create_file) arglist(unit, filename, vars, novars, fields, threading, timeunit, G, dG, GV, checksums) [fd] fullname(mom_io/create_file) ftype(None) [fd] name(('mom_io/create_file', None)) sig(subroutine create_file(unit, filename, vars, novars, fields, threading, timeunit, G, dG, GV, checksums)) signode(subroutine mom_io/create_fileunitfilenamevarsnovarsfieldsthreadingtimeunitGdGGVchecksums) [fd] run(.. f:subroutine:: subroutine reopen_file(unit, filename, vars, novars, fields, threading, timeunit, G, dG, GV)) [fd] sig(subroutine reopen_file(unit, filename, vars, novars, fields, threading, timeunit, G, dG, GV)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(reopen_file) arglist(unit, filename, vars, novars, fields, threading, timeunit, G, dG, GV) [fd] fullname(mom_io/reopen_file) ftype(None) [fd] name(('mom_io/reopen_file', None)) sig(subroutine reopen_file(unit, filename, vars, novars, fields, threading, timeunit, G, dG, GV)) signode(subroutine mom_io/reopen_fileunitfilenamevarsnovarsfieldsthreadingtimeunitGdGGV) [fd] run(.. f:subroutine:: subroutine read_axis_data(filename, axis_name, var)) [fd] sig(subroutine read_axis_data(filename, axis_name, var)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(read_axis_data) arglist(filename, axis_name, var) [fd] fullname(mom_io/read_axis_data) ftype(None) [fd] name(('mom_io/read_axis_data', None)) sig(subroutine read_axis_data(filename, axis_name, var)) signode(subroutine mom_io/read_axis_datafilenameaxis_namevar) [fd] run(.. f:function:: integer function num_timelevels(filename, varname, min_dims)) [fd] sig(integer function num_timelevels(filename, varname, min_dims)) [fd] ftype(integer) objtype(function) modname(None) typename() name(num_timelevels) arglist(filename, varname, min_dims) [fd] fullname(mom_io/num_timelevels) ftype(integer) [fd] name(('mom_io/num_timelevels', 'integer')) sig(integer function num_timelevels(filename, varname, min_dims)) signode(function mom_io/num_timelevelsfilenamevarnamemin_dims [integer]) [fd] run(.. f:function:: type(vardesc) function var_desc(name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller)) [fd] sig(type(vardesc) function var_desc(name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller)) [fd] ftype(type(vardesc)) objtype(function) modname(None) typename() name(var_desc) arglist(name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller) [fd] fullname(mom_io/var_desc) ftype(type(vardesc)) [fd] name(('mom_io/var_desc', 'type(vardesc)')) sig(type(vardesc) function var_desc(name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller)) signode(function mom_io/var_descnameunitslongnamehor_gridz_gridt_gridcmor_field_namecmor_unitscmor_longnameconversioncaller [type(vardesc)]) [fd] run(.. f:subroutine:: subroutine modify_vardesc(vd, name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller)) [fd] sig(subroutine modify_vardesc(vd, name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(modify_vardesc) arglist(vd, name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller) [fd] fullname(mom_io/modify_vardesc) ftype(None) [fd] name(('mom_io/modify_vardesc', None)) sig(subroutine modify_vardesc(vd, name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller)) signode(subroutine mom_io/modify_vardescvdnameunitslongnamehor_gridz_gridt_gridcmor_field_namecmor_unitscmor_longnameconversioncaller) [fd] run(.. f:function:: character(len=len(longname)) function cmor_long_std(longname)) [fd] sig(character(len=len(longname)) function cmor_long_std(longname)) [fd] ftype(character(len=len(longname))) objtype(function) modname(None) typename() name(cmor_long_std) arglist(longname) [fd] fullname(mom_io/cmor_long_std) ftype(character(len=len(longname))) [fd] name(('mom_io/cmor_long_std', 'character(len=len(longname))')) sig(character(len=len(longname)) function cmor_long_std(longname)) signode(function mom_io/cmor_long_stdlongname [character(len=len(longname))]) [fd] run(.. f:subroutine:: subroutine query_vardesc(vd, name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller)) [fd] sig(subroutine query_vardesc(vd, name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(query_vardesc) arglist(vd, name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller) [fd] fullname(mom_io/query_vardesc) ftype(None) [fd] name(('mom_io/query_vardesc', None)) sig(subroutine query_vardesc(vd, name, units, longname, hor_grid, z_grid, t_grid, cmor_field_name, cmor_units, cmor_longname, conversion, caller)) signode(subroutine mom_io/query_vardescvdnameunitslongnamehor_gridz_gridt_gridcmor_field_namecmor_unitscmor_longnameconversioncaller) [fd] run(.. f:subroutine:: subroutine safe_string_copy(str1, str2, fieldnm, caller)) [fd] sig(subroutine safe_string_copy(str1, str2, fieldnm, caller)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(safe_string_copy) arglist(str1, str2, fieldnm, caller) [fd] fullname(mom_io/safe_string_copy) ftype(None) [fd] name(('mom_io/safe_string_copy', None)) sig(subroutine safe_string_copy(str1, str2, fieldnm, caller)) signode(subroutine mom_io/safe_string_copystr1str2fieldnmcaller) [fd] run(.. f:function:: character(len=len(name)) function ensembler(name, ens_no_in)) [fd] sig(character(len=len(name)) function ensembler(name, ens_no_in)) [fd] ftype(character(len=len(name))) objtype(function) modname(None) typename() name(ensembler) arglist(name, ens_no_in) [fd] fullname(mom_io/ensembler) ftype(character(len=len(name))) [fd] name(('mom_io/ensembler', 'character(len=len(name))')) sig(character(len=len(name)) function ensembler(name, ens_no_in)) signode(function mom_io/ensemblernameens_no_in [character(len=len(name))]) [fd] run(.. f:function:: logical function mom_file_exists(filename, MOM_Domain)) [fd] sig(logical function mom_file_exists(filename, MOM_Domain)) [fd] ftype(logical) objtype(function) modname(None) typename() name(mom_file_exists) arglist(filename, MOM_Domain) [fd] fullname(mom_io/mom_file_exists) ftype(logical) [fd] name(('mom_io/mom_file_exists', 'logical')) sig(logical function mom_file_exists(filename, MOM_Domain)) signode(function mom_io/mom_file_existsfilenameMOM_Domain [logical]) [fd] run(.. f:function:: logical function fms_file_exists(filename, domain, no_domain)) [fd] sig(logical function fms_file_exists(filename, domain, no_domain)) [fd] ftype(logical) objtype(function) modname(None) typename() name(fms_file_exists) arglist(filename, domain, no_domain) [fd] fullname(mom_io/fms_file_exists) ftype(logical) [fd] name(('mom_io/fms_file_exists', 'logical')) sig(logical function fms_file_exists(filename, domain, no_domain)) signode(function mom_io/fms_file_existsfilenamedomainno_domain [logical]) [fd] run(.. f:subroutine:: subroutine mom_read_data_1d(filename, fieldname, data, timelevel, scale)) [fd] sig(subroutine mom_read_data_1d(filename, fieldname, data, timelevel, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_read_data_1d) arglist(filename, fieldname, data, timelevel, scale) [fd] fullname(mom_io/mom_read_data_1d) ftype(None) [fd] name(('mom_io/mom_read_data_1d', None)) sig(subroutine mom_read_data_1d(filename, fieldname, data, timelevel, scale)) signode(subroutine mom_io/mom_read_data_1dfilenamefieldnamedatatimelevelscale) [fd] run(.. f:subroutine:: subroutine mom_read_data_2d(filename, fieldname, data, MOM_Domain, timelevel, position, scale)) [fd] sig(subroutine mom_read_data_2d(filename, fieldname, data, MOM_Domain, timelevel, position, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_read_data_2d) arglist(filename, fieldname, data, MOM_Domain, timelevel, position, scale) [fd] fullname(mom_io/mom_read_data_2d) ftype(None) [fd] name(('mom_io/mom_read_data_2d', None)) sig(subroutine mom_read_data_2d(filename, fieldname, data, MOM_Domain, timelevel, position, scale)) signode(subroutine mom_io/mom_read_data_2dfilenamefieldnamedataMOM_Domaintimelevelpositionscale) [fd] run(.. f:subroutine:: subroutine mom_read_data_3d(filename, fieldname, data, MOM_Domain, timelevel, position, scale)) [fd] sig(subroutine mom_read_data_3d(filename, fieldname, data, MOM_Domain, timelevel, position, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_read_data_3d) arglist(filename, fieldname, data, MOM_Domain, timelevel, position, scale) [fd] fullname(mom_io/mom_read_data_3d) ftype(None) [fd] name(('mom_io/mom_read_data_3d', None)) sig(subroutine mom_read_data_3d(filename, fieldname, data, MOM_Domain, timelevel, position, scale)) signode(subroutine mom_io/mom_read_data_3dfilenamefieldnamedataMOM_Domaintimelevelpositionscale) [fd] run(.. f:subroutine:: subroutine mom_read_data_4d(filename, fieldname, data, MOM_Domain, timelevel, position, scale)) [fd] sig(subroutine mom_read_data_4d(filename, fieldname, data, MOM_Domain, timelevel, position, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_read_data_4d) arglist(filename, fieldname, data, MOM_Domain, timelevel, position, scale) [fd] fullname(mom_io/mom_read_data_4d) ftype(None) [fd] name(('mom_io/mom_read_data_4d', None)) sig(subroutine mom_read_data_4d(filename, fieldname, data, MOM_Domain, timelevel, position, scale)) signode(subroutine mom_io/mom_read_data_4dfilenamefieldnamedataMOM_Domaintimelevelpositionscale) [fd] run(.. f:subroutine:: subroutine mom_read_vector_2d(filename, u_fieldname, v_fieldname, u_data, v_data, MOM_Domain, timelevel, stagger, scalar_pair, scale)) [fd] sig(subroutine mom_read_vector_2d(filename, u_fieldname, v_fieldname, u_data, v_data, MOM_Domain, timelevel, stagger, scalar_pair, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_read_vector_2d) arglist(filename, u_fieldname, v_fieldname, u_data, v_data, MOM_Domain, timelevel, stagger, scalar_pair, scale) [fd] fullname(mom_io/mom_read_vector_2d) ftype(None) [fd] name(('mom_io/mom_read_vector_2d', None)) sig(subroutine mom_read_vector_2d(filename, u_fieldname, v_fieldname, u_data, v_data, MOM_Domain, timelevel, stagger, scalar_pair, scale)) signode(subroutine mom_io/mom_read_vector_2dfilenameu_fieldnamev_fieldnameu_datav_dataMOM_Domaintimelevelstaggerscalar_pairscale) [fd] run(.. f:subroutine:: subroutine mom_read_vector_3d(filename, u_fieldname, v_fieldname, u_data, v_data, MOM_Domain, timelevel, stagger, scalar_pair, scale)) [fd] sig(subroutine mom_read_vector_3d(filename, u_fieldname, v_fieldname, u_data, v_data, MOM_Domain, timelevel, stagger, scalar_pair, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_read_vector_3d) arglist(filename, u_fieldname, v_fieldname, u_data, v_data, MOM_Domain, timelevel, stagger, scalar_pair, scale) [fd] fullname(mom_io/mom_read_vector_3d) ftype(None) [fd] name(('mom_io/mom_read_vector_3d', None)) sig(subroutine mom_read_vector_3d(filename, u_fieldname, v_fieldname, u_data, v_data, MOM_Domain, timelevel, stagger, scalar_pair, scale)) signode(subroutine mom_io/mom_read_vector_3dfilenameu_fieldnamev_fieldnameu_datav_dataMOM_Domaintimelevelstaggerscalar_pairscale) [fd] run(.. f:subroutine:: subroutine mom_io_init(param_file)) [fd] sig(subroutine mom_io_init(param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_io_init) arglist(param_file) [fd] fullname(mom_io/mom_io_init) ftype(None) [fd] name(('mom_io/mom_io_init', None)) sig(subroutine mom_io_init(param_file)) signode(subroutine mom_io/mom_io_initparam_file) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 41%] api/generated/modules/mom_isopycnal_slopes [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_isopycna [app] emitting event: 'source-read'('api/generated/modules/mom_isopycnal_slopes', ['.. autodoxymodule:: mom_isopycnal_slopes\n :membe [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_isopycnal_slopes.rst:1: input: .. autodoxymodule:: mom_isopycnal_slopes :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_isopycnal_slopes::calc_isoneutral_slopes ~mom_isopycnal_slopes::vert_fill_ts [debug] xpath(./compounddef/compoundname[text()="mom_isopycnal_slopes"]/..) match([('id', 'namespacemom__isopycnal__slopes'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_isopycnal_slopes module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_isopycnal_slopes', , {'members': , {'members': , {'members': ), ('vert_fill_ts', )]) [autodoc] module analyzer failed: error importing 'mom_isopycnal_slopes' (exception was: ModuleNotFoundError("No module named 'mom_isopycnal_slopes'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, h, e, tv, dt_kappa_smooth, slope_x, slope_y, N2_u, N2_v, halo, OBC)) [debug] add_directive_header sig((G, GV, US, h, e, tv, dt_kappa_smooth, slope_x, slope_y, N2_u, N2_v, halo, OBC)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calc_isoneutral_slopes) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calc_isoneutral_slopes', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_isopycnal_slopes::calc_isoneutral_slopes ~mom_isopycnal_slopes::vert_fill_ts .. _DETAmom_isopycnal_slopes: -------------------- Detailed Description -------------------- Calculations of isoneutral slopes and stratification. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine calc_isoneutral_slopes(G, GV, US, h, e, tv, dt_kappa_smooth, slope_x, slope_y, N2_u, N2_v, halo, OBC) Calculate isopycnal slopes, and optionally return N2 used in calculation. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param e: [in] Interface heights [Z ~> m] or units given by 1/eta_to_m) :param tv: [in] A structure pointing to various thermodynamic variables :param dt_kappa_smooth: [in] A smoothing vertical diffusivity times a smoothing timescale [Z2 ~> m2]. :param slope_x: [inout] Isopycnal slope in i-direction [nondim] :param slope_y: [inout] Isopycnal slope in j-direction [nondim] :param n2_u: [inout] Brunt-Vaisala frequency squared at :param n2_v: [inout] Brunt-Vaisala frequency squared at :param halo: [in] Halo width over which to compute :param obc: Open boundaries control structure. :callto: :f:func:`vert_fill_ts ` :calledfrom: :f:func:`mom_lateral_mixing_coeffs::calc_slope_functions ` .. f:subroutine:: subroutine vert_fill_ts(h, T_in, S_in, kappa_dt, T_f, S_f, G, GV, halo_here, larger_h_denom) Returns tracer arrays (nominally T and S) with massless layers filled with sensible values, by diffusing vertically with a small but constant diffusivity. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param t_in: [in] Input temperature [degC] :param s_in: [in] Input salinity [ppt] :param kappa_dt: [in] A vertical diffusivity to use for smoothing times a smoothing timescale [Z2 ~> m2]. :param t_f: [out] Filled temperature [degC] :param s_f: [out] Filled salinity [ppt] :param halo_here: [in] Number of halo points to work on, 0 by default :param larger_h_denom: [in] Present and true, add a large enough minimal thickness in the denominator of the flux calculations so that the fluxes are never so large as eliminate the transmission of information across groups of massless layers. :calledfrom: :f:func:`calc_isoneutral_slopes ` :calledfrom: :f:func:`mom_set_diffusivity::set_diffusivity ` :calledfrom: :f:func:`mom_int_tide_input::set_int_tide_input ` :calledfrom: :f:func:`mom_thickness_diffuse::thickness_diffuse_full ` [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, h, e, tv, dt_kappa_smooth, slope_x, slope_y, N2_u, N2_v, halo, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_isopycnal_slopes::calc_isoneutral_slopes', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_isopycnal_slopes::calc_isoneutral_slopes', [debug] DoxygenMethodDocumenter format_signature called ((h, T_in, S_in, kappa_dt, T_f, S_f, G, GV, halo_here, larger_h_denom)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_isopycnal_slopes::vert_fill_ts', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_isopycnal_slopes::vert_fill_ts', , {}, ['', [fd] run(.. f:subroutine:: subroutine calc_isoneutral_slopes(G, GV, US, h, e, tv, dt_kappa_smooth, slope_x, slope_y, N2_u, N2_v, halo, OBC)) [fd] sig(subroutine calc_isoneutral_slopes(G, GV, US, h, e, tv, dt_kappa_smooth, slope_x, slope_y, N2_u, N2_v, halo, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calc_isoneutral_slopes) arglist(G, GV, US, h, e, tv, dt_kappa_smooth, slope_x, slope_y, N2_u, N2_v, halo, OBC) [fd] fullname(mom_isopycnal_slopes/calc_isoneutral_slopes) ftype(None) [fd] name(('mom_isopycnal_slopes/calc_isoneutral_slopes', None)) sig(subroutine calc_isoneutral_slopes(G, GV, US, h, e, tv, dt_kappa_smooth, slope_x, slope_y, N2_u, N2_v, halo, OBC)) signode(subroutine mom_isopycnal_slopes/calc_isoneutral_slopesGGVUShetvdt_kappa_smoothslope_xslope_yN2_uN2_vhaloOBC) [fd] run(.. f:subroutine:: subroutine vert_fill_ts(h, T_in, S_in, kappa_dt, T_f, S_f, G, GV, halo_here, larger_h_denom)) [fd] sig(subroutine vert_fill_ts(h, T_in, S_in, kappa_dt, T_f, S_f, G, GV, halo_here, larger_h_denom)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(vert_fill_ts) arglist(h, T_in, S_in, kappa_dt, T_f, S_f, G, GV, halo_here, larger_h_denom) [fd] fullname(mom_isopycnal_slopes/vert_fill_ts) ftype(None) [fd] name(('mom_isopycnal_slopes/vert_fill_ts', None)) sig(subroutine vert_fill_ts(h, T_in, S_in, kappa_dt, T_f, S_f, G, GV, halo_here, larger_h_denom)) signode(subroutine mom_isopycnal_slopes/vert_fill_tshT_inS_inkappa_dtT_fS_fGGVhalo_herelarger_h_denom) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 42%] api/generated/modules/mom_kappa_shear [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_kappa_sh [app] emitting event: 'source-read'('api/generated/modules/mom_kappa_shear', ['.. autodoxymodule:: mom_kappa_shear\n :members:\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_kappa_shear.rst:1: input: .. autodoxymodule:: mom_kappa_shear :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_kappa_shear::kappa_shear_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_kappa_shear::calculate_kappa_shear ~mom_kappa_shear::calc_kappa_shear_vertex ~mom_kappa_shear::kappa_shear_column ~mom_kappa_shear::calculate_projected_state ~mom_kappa_shear::find_kappa_tke ~mom_kappa_shear::kappa_shear_init ~mom_kappa_shear::kappa_shear_is_used ~mom_kappa_shear::kappa_shear_at_vertex [debug] xpath(./compounddef/compoundname[text()="mom_kappa_shear"]/..) match([('id', 'namespacemom__kappa__shear'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_kappa_shear module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_kappa_shear', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_kappa_shear' (exception was: ModuleNotFoundError("No module named 'mom_kappa_shear'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_kappa_shear::kappa_shear_cs', , {'members': [debug] members([('calculate_kappa_shear', ), ('calc_kappa_shear_vertex', ), ('kappa_shear_column', ), ('calculate_projected_state', ), ('find_kappa_tke', ), ('kappa_shear_init', ), ('kappa_shear_is_used', ), ('kappa_shear_at_vertex', )]) [autodoc] module analyzer failed: error importing 'mom_kappa_shear' (exception was: ModuleNotFoundError("No module named 'mom_kappa_shear'")) [debug] DoxygenMethodDocumenter format_signature called ((u_in, v_in, h, tv, p_surf, kappa_io, tke_io, kv_io, dt, G, GV, US, CS, initialize_all)) [debug] add_directive_header sig((u_in, v_in, h, tv, p_surf, kappa_io, tke_io, kv_io, dt, G, GV, US, CS, initialize_all)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_kappa_shear) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_kappa_shear', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_kappa_shear::kappa_shear_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_kappa_shear::calculate_kappa_shear ~mom_kappa_shear::calc_kappa_shear_vertex ~mom_kappa_shear::kappa_shear_column ~mom_kappa_shear::calculate_projected_state ~mom_kappa_shear::find_kappa_tke ~mom_kappa_shear::kappa_shear_init ~mom_kappa_shear::kappa_shear_is_used ~mom_kappa_shear::kappa_shear_at_vertex .. _DETAmom_kappa_shear: -------------------- Detailed Description -------------------- By Laura Jackson and Robert Hallberg, 2006-2008 This file contains the subroutines that determine the diapycnal diffusivity driven by resolved shears, as specified by the parameterizations described in Jackson and Hallberg (JPO, 2008). The technique by which the 6 equations (for kappa, TKE, u, v, T, and S) are solved simultaneously has been dramatically revised from the previous version. The previous version was not converging in some cases, especially near the surface mixed layer, while the revised version does. The revised version solves for kappa and TKE with shear and stratification fixed, then marches the density and velocities forward with an adaptive (and aggressive) time step in a predictor-corrector-corrector emulation of a trapezoidal scheme. Run-time-settable parameters determine the tolerence to which the kappa and TKE equations are solved and the minimum time step that can be taken. ------------------ Type Documentation ------------------ .. f:type:: kappa_shear_cs This control structure holds the parameters that regulate shear mixing. :typefield integer id_kd_shear: Diagnostic IDs. :typefield integer id_tke: Diagnostic IDs. :typefield integer id_ild2: Diagnostic IDs. :typefield integer id_dz_int: Diagnostic IDs. :typefield real rino_crit: The critical shear Richardson number for shear-entrainment [nondim]. The theoretical value is 0.25. The values found by Jackson et al. are 0.25-0.35. :typefield real shearmix_rate: A nondimensional rate scale for shear-driven entrainment [nondim]. The value given by Jackson et al. is 0.085-0.089. :typefield real fri_curvature: A constant giving the curvature of the function of the Richardson number that relates shear to sources in the kappa equation [nondim]. The values found by Jackson et al. are -0.97 - -0.89. :typefield real c_n: The coefficient for the decay of TKE due to stratification (i.e. proportional to N*tke) [nondim]. The values found by Jackson et al. are 0.24-0.28. :typefield real c_s: The coefficient for the decay of TKE due to shear (i.e. proportional to |S|*tke) [nondim]. The values found by Jackson et al. are 0.14-0.12. :typefield real lambda: The coefficient for the buoyancy length scale in the kappa equation [nondim]. The values found by Jackson et al. are 0.82-0.81. :typefield real lambda2_n_s: The square of the ratio of the coefficients of the buoyancy and shear scales in the diffusivity equation, 0 to eliminate the shear scale [nondim]. :typefield real tke_bg: The background level of TKE [Z2 T-2 ~> m2 s-2]. :typefield real kappa_0: The background diapycnal diffusivity [Z2 T-1 ~> m2 s-1]. :typefield real kappa_trunc: Diffusivities smaller than this are rounded to 0 [Z2 T-1 ~> m2 s-1]. :typefield real kappa_tol_err: The fractional error in kappa that is tolerated [nondim]. :typefield real prandtl_turb: Prandtl number used to convert Kd_shear into viscosity [nondim]. :typefield integer nkml: The number of layers in the mixed layer, as treated in this routine. If the pieces of the mixed layer are not to be treated collectively, nkml is set to 1. :typefield integer max_rino_it: The maximum number of iterations that may be used to estimate the instantaneous shear-driven mixing. :typefield integer max_ks_it: The maximum number of iterations that may be used to estimate the time-averaged diffusivity. :typefield logical dkdq_iteration_bug: If true. use an older, dimensionally inconsistent estimate of the derivative of diffusivity with energy in the Newton's method iteration. The bug causes undercorrections when dz > 1m. :typefield logical ks_at_vertex: If true, do the calculations of the shear-driven mixing at the cell vertices (i.e., the vorticity points). :typefield logical eliminate_massless: If true, massless layers are merged with neighboring massive layers in this calculation. :typefield real vel_underflow: Velocity components smaller than vel_underflow are set to 0 [L T-1 ~> m s-1]. :typefield real kappa_src_max_chg: The maximum permitted increase in the kappa source within an iteration relative to the local source [nondim]. This must be greater than 1. The lower limit for the permitted fractional decrease is (1 - 0.5/kappa_src_max_chg). These limits could perhaps be made dynamic with an improved iterative solver. :typefield logical psurf_bug: If true, do a simple average of the cell surface pressures to get a surface pressure at the corner if VERTEX_SHEAR=True. Otherwise mask out any land points in the average. :typefield logical all_layer_tke_bug: If true, report back the latest estimate of TKE instead of the time average TKE when there is mass in all layers. Otherwise always report the time-averaged TKE, as is currently done when there are some massless layers. :typefield logical restrictive_tolerance_check: If false, uses the less restrictive tolerance check to determine if a timestep is acceptable for the KS_it outer iteration loop, as the code was originally written. True uses the more restrictive check. :typefield logical debug: If true, write verbose debugging messages. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine calculate_kappa_shear(u_in, v_in, h, tv, p_surf, kappa_io, tke_io, kv_io, dt, G, GV, US, CS, initialize_all) Subroutine for calculating shear-driven diffusivity and TKE in tracer columns. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param u_in: [in] Initial zonal velocity [L T-1 ~> m s-1]. :param v_in: [in] Initial meridional velocity [L T-1 ~> m s-1]. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param tv: [in] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. :param p_surf: The pressure at the ocean surface [R L2 T-2 ~> Pa] (or NULL). :param kappa_io: [inout] The diapycnal diffusivity at each interface :param tke_io: [out] The turbulent kinetic energy per unit mass at :param kv_io: [inout] The vertical viscosity at each interface :param dt: [in] Time increment [T ~> s]. :param cs: The control structure returned by a previous call to kappa_shear_init. :param initialize_all: [in] If present and false, the previous value of kappa is used to start the iterations :callto: :f:func:`kappa_shear_column ` .. f:subroutine:: subroutine calc_kappa_shear_vertex(u_in, v_in, h, T_in, S_in, tv, p_surf, kappa_io, tke_io, kv_io, dt, G, GV, US, CS, initialize_all) Subroutine for calculating shear-driven diffusivity and TKE in corner columns. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param u_in: [in] Initial zonal velocity [L T-1 ~> m s-1]. :param v_in: [in] Initial meridional velocity [L T-1 ~> m s-1]. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param t_in: [in] Layer potential temperatures [degC] :param s_in: [in] Layer salinities in ppt. :param tv: [in] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. :param p_surf: The pressure at the ocean surface [R L2 T-2 ~> Pa] (or NULL). :param kappa_io: [out] The diapycnal diffusivity at each interface :param tke_io: [out] The turbulent kinetic energy per unit mass at :param kv_io: [inout] The vertical viscosity at each interface [Z2 T-1 ~> m2 s-1]. :param dt: [in] Time increment [T ~> s]. :param cs: The control structure returned by a previous call to kappa_shear_init. :param initialize_all: [in] If present and false, the previous value of kappa is used to start the iterations :callto: :f:func:`kappa_shear_column ` :calledfrom: :f:func:`mom_set_diffusivity::set_diffusivity ` .. f:subroutine:: subroutine kappa_shear_column(kappa, tke, dt, nzc, f2, surface_pres, dz, u0xdz, v0xdz, T0xdz, S0xdz, kappa_avg, tke_avg, tv, CS, GV, US, I_Ld2_1d, dz_Int_1d) This subroutine calculates shear-driven diffusivity and TKE in a single column. :param gv: [in] The ocean's vertical grid structure. :param kappa: [inout] The time-weighted average of kappa [Z2 T-1 ~> m2 s-1]. :param tke: [out] The Turbulent Kinetic Energy per unit mass at :param nzc: [in] The number of active layers in the column. :param f2: [in] The square of the Coriolis parameter [T-2 ~> s-2]. :param surface_pres: [in] The surface pressure [R L2 T-2 ~> Pa]. :param dz: [in] The layer thickness [Z ~> m]. :param u0xdz: [in] The initial zonal velocity times dz [Z L T-1 ~> m2 s-1]. :param v0xdz: [in] The initial meridional velocity times dz [Z L T-1 ~> m2 s-1]. :param t0xdz: [in] The initial temperature times dz [degC Z ~> degC m]. :param s0xdz: [in] The initial salinity times dz [ppt Z ~> ppt m]. :param kappa_avg: [out] The time-weighted average of kappa [Z2 T-1 ~> m2 s-1]. :param tke_avg: [out] The time-weighted average of TKE [Z2 T-2 ~> m2 s-2]. :param dt: [in] Time increment [T ~> s]. :param tv: [in] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. :param cs: The control structure returned by a previous call to kappa_shear_init. :param us: [in] A dimensional unit scaling type :param i_ld2_1d: [out] The inverse of the squared mixing length [Z-2 ~> m-2]. :param dz_int_1d: [out] The extent of a finite-volume space surrounding an interface, :callto: :f:func:`calculate_projected_state ` :callto: :f:func:`find_kappa_tke ` :calledfrom: :f:func:`calc_kappa_shear_vertex ` :calledfrom: :f:func:`calculate_kappa_shear ` .. f:subroutine:: subroutine calculate_projected_state(kappa, u0, v0, T0, S0, dt, nz, dz, I_dz_int, dbuoy_dT, dbuoy_dS, u, v, T, Sal, GV, US, N2, S2, ks_int, ke_int, vel_underflow) This subroutine calculates the velocities, temperature and salinity that the water column will have after mixing for dt with diffusivities kappa. It may also calculate the projected buoyancy frequency and shear. :param nz: [in] The number of layers (after eliminating massless layers?). :param kappa: [in] The diapycnal diffusivity at interfaces, [Z2 T-1 ~> m2 s-1]. :param u0: [in] The initial zonal velocity [L T-1 ~> m s-1]. :param v0: [in] The initial meridional velocity [L T-1 ~> m s-1]. :param t0: [in] The initial temperature [degC]. :param s0: [in] The initial salinity [ppt]. :param dz: [in] The grid spacing of layers [Z ~> m]. :param i_dz_int: [in] The inverse of the layer's thicknesses [Z-1 ~> m-1]. :param dbuoy_dt: [in] The partial derivative of buoyancy with temperature [Z T-2 degC-1 ~> m s-2 degC-1]. :param dbuoy_ds: [in] The partial derivative of buoyancy with salinity [Z T-2 ppt-1 ~> m s-2 ppt-1]. :param dt: [in] The time step [T ~> s]. :param u: [inout] The zonal velocity after dt [L T-1 ~> m s-1]. :param v: [inout] The meridional velocity after dt [L T-1 ~> m s-1]. :param t: [inout] The temperature after dt [degC]. :param sal: [inout] The salinity after dt [ppt]. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param n2: [inout] The buoyancy frequency squared at interfaces [T-2 ~> s-2]. :param s2: [inout] The squared shear at interfaces [T-2 ~> s-2]. :param ks_int: [in] The topmost k-index with a non-zero diffusivity. :param ke_int: [in] The bottommost k-index with a non-zero diffusivity. :param vel_underflow: [in] If present and true, any velocities that are smaller in magnitude than this value are set to 0 [L T-1 ~> m s-1]. :calledfrom: :f:func:`kappa_shear_column ` .. f:subroutine:: subroutine find_kappa_tke(N2, S2, kappa_in, Idz, dz_Int, I_L2_bdry, f2, nz, CS, GV, US, K_Q, tke, kappa, kappa_src, local_src) This subroutine calculates new, consistent estimates of TKE and kappa. :param nz: [in] The number of layers to work on. :param n2: [in] The buoyancy frequency squared at interfaces [T-2 ~> s-2]. :param s2: [in] The squared shear at interfaces [T-2 ~> s-2]. :param kappa_in: [in] The initial guess at the diffusivity [Z2 T-1 ~> m2 s-1]. :param dz_int: [in] The thicknesses associated with interfaces [Z-1 ~> m-1]. :param i_l2_bdry: [in] The inverse of the squared distance to boundaries [Z-2 ~> m-2]. :param idz: [in] The inverse grid spacing of layers [Z-1 ~> m-1]. :param f2: [in] The squared Coriolis parameter [T-2 ~> s-2]. :param cs: A pointer to this module's control structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param k_q: [inout] The shear-driven diapycnal diffusivity divided by the turbulent kinetic energy per unit mass at interfaces [T ~> s]. :param tke: [out] The turbulent kinetic energy per unit mass at interfaces [Z2 T-2 ~> m2 s-2]. :param kappa: [out] The diapycnal diffusivity at interfaces [Z2 T-1 ~> m2 s-1]. :param kappa_src: [out] The source term for kappa [T-1 ~> s-1]. :param local_src: [out] The sum of all local sources for kappa, :calledfrom: :f:func:`kappa_shear_column ` .. f:function:: logical function kappa_shear_init(Time, G, GV, US, param_file, diag, CS) This subroutine initializes the parameters that regulate shear-driven mixing. :param time: [in] The current model time. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters. :param diag: [inout] A structure that is used to regulate diagnostic output. :param cs: A pointer that is set to point to the control structure for this module :returns undefined: True if module is to be used, False otherwise :callto: :f:func:`mom_error_handler::mom_error ` .. f:function:: logical function kappa_shear_is_used(param_file) This function indicates to other modules whether the Jackson et al shear mixing parameterization will be used without needing to duplicate the log entry. :param param_file: [in] A structure to parse for run-time parameters :calledfrom: :f:func:`mom_cvmix_shear::cvmix_shear_init ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_driver_init ` :calledfrom: :f:func:`mom_set_visc::set_visc_init ` :calledfrom: :f:func:`mom_set_visc::set_visc_register_restarts ` .. f:function:: logical function kappa_shear_at_vertex(param_file) This function indicates to other modules whether the Jackson et al shear mixing parameterization will be used at the vertices without needing to duplicate the log entry. It returns false if the Jackson et al scheme is not used or if it is used via calculations at the tracer points. :param param_file: [in] A structure to parse for run-time parameters :calledfrom: :f:func:`mom_set_diffusivity::set_diffusivity_init ` :calledfrom: :f:func:`mom_set_visc::set_visc_init ` :calledfrom: :f:func:`mom_set_visc::set_visc_register_restarts ` [debug] xpath(./compounddef/compoundname[text()="mom_kappa_shear::kappa_shear_cs"]/..) match([('id', 'structmom__kappa__shear_1_1kappa__shear__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_kappa_shear::kappa_shear_cs', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_kappa_shear::kappa_shear_cs', , {}, ['`Mo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_kappa_shear::kappa_shear_cs', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((u_in, v_in, h, tv, p_surf, kappa_io, tke_io, kv_io, dt, G, GV, US, CS, initialize_all)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_kappa_shear::calculate_kappa_shear', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_kappa_shear::calculate_kappa_shear', , {}, [debug] DoxygenMethodDocumenter format_signature called ((u_in, v_in, h, T_in, S_in, tv, p_surf, kappa_io, tke_io, kv_io, dt, G, GV, US, CS, initialize_all)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_kappa_shear::calc_kappa_shear_vertex', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_kappa_shear::calc_kappa_shear_vertex', , {} [debug] DoxygenMethodDocumenter format_signature called ((kappa, tke, dt, nzc, f2, surface_pres, dz, u0xdz, v0xdz, T0xdz, S0xdz, kappa_avg, tke_avg, tv, CS, GV, US, I_Ld2_1d, dz_Int_1d)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_kappa_shear::kappa_shear_column', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_kappa_shear::kappa_shear_column', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((kappa, u0, v0, T0, S0, dt, nz, dz, I_dz_int, dbuoy_dT, dbuoy_dS, u, v, T, Sal, GV, US, N2, S2, ks_int, ke_int, vel_underflow)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_kappa_shear::calculate_projected_state', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_kappa_shear::calculate_projected_state', , [debug] DoxygenMethodDocumenter format_signature called ((N2, S2, kappa_in, Idz, dz_Int, I_L2_bdry, f2, nz, CS, GV, US, K_Q, tke, kappa, kappa_src, local_src)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_kappa_shear::find_kappa_tke', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_kappa_shear::find_kappa_tke', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_kappa_shear::kappa_shear_init', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_kappa_shear::kappa_shear_init', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_kappa_shear::kappa_shear_is_used', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_kappa_shear::kappa_shear_is_used', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_kappa_shear::kappa_shear_at_vertex', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_kappa_shear::kappa_shear_at_vertex', , {}, [fd] run(.. f:type:: kappa_shear_cs) [fd] sig(kappa_shear_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(kappa_shear_cs) arglist(None) [fd] fullname(mom_kappa_shear/kappa_shear_cs) ftype(None) [fd] name(('mom_kappa_shear/kappa_shear_cs', None)) sig(kappa_shear_cs) signode(type mom_kappa_shear/kappa_shear_cs) [fd] run(.. f:subroutine:: subroutine calculate_kappa_shear(u_in, v_in, h, tv, p_surf, kappa_io, tke_io, kv_io, dt, G, GV, US, CS, initialize_all)) [fd] sig(subroutine calculate_kappa_shear(u_in, v_in, h, tv, p_surf, kappa_io, tke_io, kv_io, dt, G, GV, US, CS, initialize_all)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_kappa_shear) arglist(u_in, v_in, h, tv, p_surf, kappa_io, tke_io, kv_io, dt, G, GV, US, CS, initialize_all) [fd] fullname(mom_kappa_shear/calculate_kappa_shear) ftype(None) [fd] name(('mom_kappa_shear/calculate_kappa_shear', None)) sig(subroutine calculate_kappa_shear(u_in, v_in, h, tv, p_surf, kappa_io, tke_io, kv_io, dt, G, GV, US, CS, initialize_all)) signode(subroutine mom_kappa_shear/calculate_kappa_shearu_inv_inhtvp_surfkappa_iotke_iokv_iodtGGVUSCSinitialize_all) [fd] run(.. f:subroutine:: subroutine calc_kappa_shear_vertex(u_in, v_in, h, T_in, S_in, tv, p_surf, kappa_io, tke_io, kv_io, dt, G, GV, US, CS, initialize_all)) [fd] sig(subroutine calc_kappa_shear_vertex(u_in, v_in, h, T_in, S_in, tv, p_surf, kappa_io, tke_io, kv_io, dt, G, GV, US, CS, initialize_all)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calc_kappa_shear_vertex) arglist(u_in, v_in, h, T_in, S_in, tv, p_surf, kappa_io, tke_io, kv_io, dt, G, GV, US, CS, initialize_all) [fd] fullname(mom_kappa_shear/calc_kappa_shear_vertex) ftype(None) [fd] name(('mom_kappa_shear/calc_kappa_shear_vertex', None)) sig(subroutine calc_kappa_shear_vertex(u_in, v_in, h, T_in, S_in, tv, p_surf, kappa_io, tke_io, kv_io, dt, G, GV, US, CS, initialize_all)) signode(subroutine mom_kappa_shear/calc_kappa_shear_vertexu_inv_inhT_inS_intvp_surfkappa_iotke_iokv_iodtGGVUSCSinitialize_all) [fd] run(.. f:subroutine:: subroutine kappa_shear_column(kappa, tke, dt, nzc, f2, surface_pres, dz, u0xdz, v0xdz, T0xdz, S0xdz, kappa_avg, tke_avg, tv, CS, GV, US, I_Ld2_1d, dz_Int_1d)) [fd] sig(subroutine kappa_shear_column(kappa, tke, dt, nzc, f2, surface_pres, dz, u0xdz, v0xdz, T0xdz, S0xdz, kappa_avg, tke_avg, tv, CS, GV, US, I_Ld2_1d, dz_Int_1d)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(kappa_shear_column) arglist(kappa, tke, dt, nzc, f2, surface_pres, dz, u0xdz, v0xdz, T0xdz, S0xdz, kappa_avg, tke_avg, tv, CS, GV, US, I_Ld2_1d, dz_Int_1d) [fd] fullname(mom_kappa_shear/kappa_shear_column) ftype(None) [fd] name(('mom_kappa_shear/kappa_shear_column', None)) sig(subroutine kappa_shear_column(kappa, tke, dt, nzc, f2, surface_pres, dz, u0xdz, v0xdz, T0xdz, S0xdz, kappa_avg, tke_avg, tv, CS, GV, US, I_Ld2_1d, dz_Int_1d)) signode(subroutine mom_kappa_shear/kappa_shear_columnkappatkedtnzcf2surface_presdzu0xdzv0xdzT0xdzS0xdzkappa_avgtke_avgtvCSGVUSI_Ld2_1ddz_Int_1d) [fd] run(.. f:subroutine:: subroutine calculate_projected_state(kappa, u0, v0, T0, S0, dt, nz, dz, I_dz_int, dbuoy_dT, dbuoy_dS, u, v, T, Sal, GV, US, N2, S2, ks_int, ke_int, vel_underflow)) [fd] sig(subroutine calculate_projected_state(kappa, u0, v0, T0, S0, dt, nz, dz, I_dz_int, dbuoy_dT, dbuoy_dS, u, v, T, Sal, GV, US, N2, S2, ks_int, ke_int, vel_underflow)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_projected_state) arglist(kappa, u0, v0, T0, S0, dt, nz, dz, I_dz_int, dbuoy_dT, dbuoy_dS, u, v, T, Sal, GV, US, N2, S2, ks_int, ke_int, vel_underflow) [fd] fullname(mom_kappa_shear/calculate_projected_state) ftype(None) [fd] name(('mom_kappa_shear/calculate_projected_state', None)) sig(subroutine calculate_projected_state(kappa, u0, v0, T0, S0, dt, nz, dz, I_dz_int, dbuoy_dT, dbuoy_dS, u, v, T, Sal, GV, US, N2, S2, ks_int, ke_int, vel_underflow)) signode(subroutine mom_kappa_shear/calculate_projected_statekappau0v0T0S0dtnzdzI_dz_intdbuoy_dTdbuoy_dSuvTSalGVUSN2S2ks_intke_intvel_underflow) [fd] run(.. f:subroutine:: subroutine find_kappa_tke(N2, S2, kappa_in, Idz, dz_Int, I_L2_bdry, f2, nz, CS, GV, US, K_Q, tke, kappa, kappa_src, local_src)) [fd] sig(subroutine find_kappa_tke(N2, S2, kappa_in, Idz, dz_Int, I_L2_bdry, f2, nz, CS, GV, US, K_Q, tke, kappa, kappa_src, local_src)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_kappa_tke) arglist(N2, S2, kappa_in, Idz, dz_Int, I_L2_bdry, f2, nz, CS, GV, US, K_Q, tke, kappa, kappa_src, local_src) [fd] fullname(mom_kappa_shear/find_kappa_tke) ftype(None) [fd] name(('mom_kappa_shear/find_kappa_tke', None)) sig(subroutine find_kappa_tke(N2, S2, kappa_in, Idz, dz_Int, I_L2_bdry, f2, nz, CS, GV, US, K_Q, tke, kappa, kappa_src, local_src)) signode(subroutine mom_kappa_shear/find_kappa_tkeN2S2kappa_inIdzdz_IntI_L2_bdryf2nzCSGVUSK_Qtkekappakappa_srclocal_src) [fd] run(.. f:function:: logical function kappa_shear_init(Time, G, GV, US, param_file, diag, CS)) [fd] sig(logical function kappa_shear_init(Time, G, GV, US, param_file, diag, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(kappa_shear_init) arglist(Time, G, GV, US, param_file, diag, CS) [fd] fullname(mom_kappa_shear/kappa_shear_init) ftype(logical) [fd] name(('mom_kappa_shear/kappa_shear_init', 'logical')) sig(logical function kappa_shear_init(Time, G, GV, US, param_file, diag, CS)) signode(function mom_kappa_shear/kappa_shear_initTimeGGVUSparam_filediagCS [logical]) [fd] run(.. f:function:: logical function kappa_shear_is_used(param_file)) [fd] sig(logical function kappa_shear_is_used(param_file)) [fd] ftype(logical) objtype(function) modname(None) typename() name(kappa_shear_is_used) arglist(param_file) [fd] fullname(mom_kappa_shear/kappa_shear_is_used) ftype(logical) [fd] name(('mom_kappa_shear/kappa_shear_is_used', 'logical')) sig(logical function kappa_shear_is_used(param_file)) signode(function mom_kappa_shear/kappa_shear_is_usedparam_file [logical]) [fd] run(.. f:function:: logical function kappa_shear_at_vertex(param_file)) [fd] sig(logical function kappa_shear_at_vertex(param_file)) [fd] ftype(logical) objtype(function) modname(None) typename() name(kappa_shear_at_vertex) arglist(param_file) [fd] fullname(mom_kappa_shear/kappa_shear_at_vertex) ftype(logical) [fd] name(('mom_kappa_shear/kappa_shear_at_vertex', 'logical')) sig(logical function kappa_shear_at_vertex(param_file)) signode(function mom_kappa_shear/kappa_shear_at_vertexparam_file [logical]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 42%] api/generated/modules/mom_lateral_boundary_diffusion [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_lateral_ [app] emitting event: 'source-read'('api/generated/modules/mom_lateral_boundary_diffusion', ['.. autodoxymodule:: mom_lateral_boundary_ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_lateral_boundary_diffusion.rst:1: input: .. autodoxymodule:: mom_lateral_boundary_diffusion :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_lateral_boundary_diffusion::lateral_boundary_diffusion_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_lateral_boundary_diffusion::lateral_boundary_diffusion_init ~mom_lateral_boundary_diffusion::lateral_boundary_diffusion ~mom_lateral_boundary_diffusion::bulk_average ~mom_lateral_boundary_diffusion::harmonic_mean ~mom_lateral_boundary_diffusion::boundary_k_range ~mom_lateral_boundary_diffusion::fluxes_layer_method ~mom_lateral_boundary_diffusion::fluxes_bulk_method ~mom_lateral_boundary_diffusion::near_boundary_unit_tests ~mom_lateral_boundary_diffusion::test_layer_fluxes ~mom_lateral_boundary_diffusion::test_boundary_k_range [debug] xpath(./compounddef/compoundname[text()="mom_lateral_boundary_diffusion"]/..) match([('id', 'namespacemom__lateral__boundary__diffusion'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_lateral_boundary_diffusion module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_lateral_boundary_diffusion', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_lateral_boundary_diffusion', , {'members' [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(namespacemom__lateral__boundary__diffusion_1section_LBD) title(The Lateral Boundary Diffusion (LBD) framework) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__lateral__boundary__diffusion_1section_method2) kindref(member) ref([]) [debug] ref([('id', 'namespacemom__lateral__boundary__diffusion_1section_method2')]) [debug] refid2(section_method2) reftext(Method #1: Along layer) [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__lateral__boundary__diffusion_1section_method1) kindref(member) ref([]) [debug] ref([('id', 'namespacemom__lateral__boundary__diffusion_1section_method1')]) [debug] refid2(section_method1) reftext(Method #2: Bulk layer) [debug] method=visit_para [debug] method=visit_sect2 [debug] visit_sect id(namespacemom__lateral__boundary__diffusion_1section_method1) title(Along layer approach (Method #1)) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_ref [debug] refid(namespacemom__lateral__boundary__diffusion_1section_harmonic_mean) kindref(member) ref([]) [debug] ref([('id', 'namespacemom__lateral__boundary__diffusion_1section_harmonic_mean')]) [debug] refid2(section_harmonic_mean) reftext(harmonic mean) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_sect2 [debug] visit_sect id(namespacemom__lateral__boundary__diffusion_1section_method2) title(Bulk layer approach (Method #2)) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_ref [debug] refid(namespacemom__lateral__boundary__diffusion_1section_harmonic_mean) kindref(member) ref([]) [debug] ref([('id', 'namespacemom__lateral__boundary__diffusion_1section_harmonic_mean')]) [debug] refid2(section_harmonic_mean) reftext(harmonic mean) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__lateral__boundary__diffusion_1section_harmonic_mean) kindref(member) ref([]) [debug] ref([('id', 'namespacemom__lateral__boundary__diffusion_1section_harmonic_mean')]) [debug] refid2(section_harmonic_mean) reftext(harmonic mean) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_sect2 [debug] visit_sect id(namespacemom__lateral__boundary__diffusion_1section_harmonic_mean) title(Harmonic Mean) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_lateral_boundary_diffusion', , {'members' [debug] members([('mom_lateral_boundary_diffusion::lateral_boundary_diffusion_cs', )]) [autodoc] module analyzer failed: error importing 'mom_lateral_boundary_diffusion' (exception was: ModuleNotFoundError("No module named 'mom_lateral_boundary_diffusion'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_lateral_boundary_diffusion::lateral_boundary_diffusion_cs', ), ('lateral_boundary_diffusion', ), ('bulk_average', ), ('harmonic_mean', ), ('boundary_k_range', ), ('fluxes_layer_method', ), ('fluxes_bulk_method', ), ('near_boundary_unit_tests', ), ('test_layer_fluxes', ), ('test_boundary_k_range', )]) [autodoc] module analyzer failed: error importing 'mom_lateral_boundary_diffusion' (exception was: ModuleNotFoundError("No module named 'mom_lateral_boundary_diffusion'")) [debug] DoxygenMethodDocumenter format_signature called ((Time, G, param_file, diag, diabatic_CSp, CS)) [debug] add_directive_header sig((Time, G, param_file, diag, diabatic_CSp, CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function lateral_boundary_diffusion_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'lateral_boundary_diffusion_init', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'lateral_boundary_diffusion_init', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'lateral_boundary_diffusion_init', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'lateral_boundary_diffusion_init', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'lateral_boundary_diffusion_init', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'lateral_boundary_diffusion_init', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'lateral_boundary_diffusion_init', , {'members': [autodoc] module analyzer failed: error importing 'mom_lateral_boundary_diffusion' (exception was: ModuleNotFoundError("No module named 'mom_lateral_boundary_diffusion'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, h, Coef_x, Coef_y, dt, Reg, CS)) [debug] add_directive_header sig((G, GV, US, h, Coef_x, Coef_y, dt, Reg, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine lateral_boundary_diffusion) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'lateral_boundary_diffusion', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'namespacemom__lateral__boundary__diffusion_1section_harmonic_mean')]) [debug] refid2(section_harmonic_mean) reftext(Harmonic Mean) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'harmonic_mean', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'namespacemom__lateral__boundary__diffusion_1section_method1')]) [debug] refid2(section_method1) reftext(Along layer approach (Method #1)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'fluxes_layer_method', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'namespacemom__lateral__boundary__diffusion_1section_method2')]) [debug] refid2(section_method2) reftext(Bulk layer approach (Method #2)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'fluxes_bulk_method', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_lateral_boundary_diffusion::lateral_boundary_diffusion_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_lateral_boundary_diffusion::lateral_boundary_diffusion_init ~mom_lateral_boundary_diffusion::lateral_boundary_diffusion ~mom_lateral_boundary_diffusion::bulk_average ~mom_lateral_boundary_diffusion::harmonic_mean ~mom_lateral_boundary_diffusion::boundary_k_range ~mom_lateral_boundary_diffusion::fluxes_layer_method ~mom_lateral_boundary_diffusion::fluxes_bulk_method ~mom_lateral_boundary_diffusion::near_boundary_unit_tests ~mom_lateral_boundary_diffusion::test_layer_fluxes ~mom_lateral_boundary_diffusion::test_boundary_k_range .. _DETAmom_lateral_boundary_diffusion: -------------------- Detailed Description -------------------- .. _namespacemom__lateral__boundary__diffusion_1section_LBD: The Lateral Boundary Diffusion (LBD) framework ============================================== The LBD framework accounts for the effects of diabatic mesoscale fluxes within surface and bottom boundary layers. Unlike the equivalent adiabatic fluxes, which is applied along neutral density surfaces, LBD is purely horizontal. The bottom boundary layer fluxes remain to be implemented, although most of the steps needed to do so have already been added and tested. Boundary lateral diffusion can be applied using one of the three methods: * :ref:`Method #1: Along layer` (default); * :ref:`Method #2: Bulk layer`; A brief summary of these methods is provided below. .. _namespacemom__lateral__boundary__diffusion_1section_method1: Along layer approach (Method #1) -------------------------------- This is the recommended and more straight forward method where diffusion is applied layer by layer using only information from neighboring cells. Step #1: compute vertical indices containing boundary layer (boundary_k_range). For the TOP boundary layer, these are: k_top, k_bot, zeta_top, zeta_bot Step #2: calculate the diffusive flux at each layer: .. math:: F_{k} = -KHTR \times h_{eff}(k) \times (\phi_R(k) - \phi_L(k)), where h_eff is the :ref:`harmonic mean` of the layer thickness in the left and right columns. This method does not require a limiter since KHTR is already limted based on a diffusive CFL condition prior to the call of this module. Step #3: option to linearly decay the flux from k_bot_min to k_bot_max: If LBD_LINEAR_TRANSITION = True and k_bot_diff > 1, the diffusive flux will decay linearly between the top interface of the layer containing the minimum boundary layer depth (k_bot_min) and the lower interface of the layer containing the maximum layer depth (k_bot_max). .. _namespacemom__lateral__boundary__diffusion_1section_method2: Bulk layer approach (Method #2) ------------------------------- Apply the lateral boundary diffusive fluxes calculated from a 'bulk model'.This is a lower order representation (Kraus-Turner like approach) which assumes that eddies are acting along well mixed layers (i.e., eddies do not know care about vertical tracer gradients within the boundary layer). Step #1: compute vertical indices containing boundary layer (boundary_k_range). For the TOP boundary layer, these are: k_top, k_bot, zeta_top, zeta_bot Step #2: compute bulk averages (thickness weighted) tracer averages (phi_L and phi_R), then calculate the bulk diffusive flux (F_{bulk}): .. math:: F_{bulk} = -KHTR \times h_{eff} \times (\phi_R - \phi_L), where h_eff is the :ref:`harmonic mean` of the boundary layer depth in the left and right columns ( .. math:: HBL_L and .. math:: HBL_R , respectively). Step #3: decompose F_bulk onto individual layers: .. math:: F_{layer}(k) = F_{bulk} \times h_{frac}(k) , where h_{frac} is .. math:: h_{frac}(k) = h_u(k) \times \frac{1}{\sum(h_u)}. h_u is the :ref:`harmonic mean` of thicknesses at each layer. Special care (layer reconstruction) must be taken at k_min = min(k_botL, k_bot_R). Step #4: option to linearly decay the flux from k_bot_min to k_bot_max: If LBD_LINEAR_TRANSITION = True and k_bot_diff > 1, the diffusive flux will decay linearly between the top interface of the layer containing the minimum boundary layer depth (k_bot_min) and the lower interface of the layer containing the maximum layer depth (k_bot_max). Step #5: limit the tracer flux so that 1) only down-gradient fluxes are applied, and 2) the flux cannot be larger than F_max, which is defined using the tracer gradient: .. math:: F_{max} = -0.2 \times [(V_R(k) \times \phi_R(k)) - (V_L(k) \times \phi_L(k))], where V is the cell volume. Why 0.2? t=0 t=inf 0 .2 0 1 0 .2.2.2 0 .2 .. _namespacemom__lateral__boundary__diffusion_1section_harmonic_mean: Harmonic Mean ------------- The harmonic mean (HM) betwen h1 and h2 is defined as: .. math:: HM = \frac{2 \times h1 \times h2}{h1 + h2} ------------------ Type Documentation ------------------ .. f:type:: lateral_boundary_diffusion_cs Sets parameters for lateral boundary mixing module. :typefield integer method: Determine which of the three methods calculate and apply near boundary layer fluxes. :typefield integer deg: Degree of polynomial reconstruction. :typefield integer surface_boundary_scheme: Which boundary layer scheme to use. :typefield logical limiter: Controls wether a flux limiter is applied. Only valid when method = 2. :typefield logical linear: If True, apply a linear transition at the base/top of the boundary. The flux will be fully applied at k=k_min and zero at k=k_max. :typefield type(remapping_cs) remap_cs: Control structure to hold remapping configuration. :typefield type(kpp_cs) kpp_csp [pointer]: KPP control structure needed to get BLD. :typefield type(energetic_pbl_cs) energetic_pbl_csp [pointer]: ePBL control structure needed to get BLD :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function lateral_boundary_diffusion_init(Time, G, param_file, diag, diabatic_CSp, CS) Initialization routine that reads runtime parameters and sets up pointers to other control structures that might be needed for lateral boundary diffusion. :param time: [in] Time structure :param g: [in] Grid structure :param param_file: [in] Parameter file structure :param diag: [inout] Diagnostics control structure :param diabatic_csp: KPP control structure needed to get BLD :param cs: Lateral boundary mixing control structure :callto: :f:func:`mom_diabatic_driver::extract_diabatic_member ` :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_remapping::remappingdefaultscheme ` :callto: :f:func:`mom_remapping::remappingschemesdoc ` .. f:subroutine:: subroutine lateral_boundary_diffusion(G, GV, US, h, Coef_x, Coef_y, dt, Reg, CS) Driver routine for calculating lateral diffusive fluxes near the top and bottom boundaries. Two different methods are available: Method 1: lower order representation, calculate fluxes from bulk layer integrated quantities. Method 2: more straight forward, diffusion is applied layer by layer using only information from neighboring cells. :param g: [inout] Grid type :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thickness [H ~> m or kg m-2] :param coef_x: [in] dt * Kh * dy / dx at u-points [L2 ~> m2] :param coef_y: [in] dt * Kh * dx / dy at v-points [L2 ~> m2] :param dt: [in] Tracer time step * I_numitts (I_numitts in tracer_hordiff) :param reg: Tracer registry :param cs: [in] Control structure for this module :callto: :f:func:`mom_energetic_pbl::energetic_pbl_get_mld ` :callto: :f:func:`fluxes_bulk_method ` :callto: :f:func:`fluxes_layer_method ` :callto: :f:func:`mom_cvmix_kpp::kpp_get_bld ` :callto: :f:func:`surface ` :calledfrom: :f:func:`mom_tracer_hor_diff::tracer_hordiff ` .. f:function:: real function bulk_average(boundary, nk, deg, h, hBLT, phi, ppoly0_E, ppoly0_coefs, method, k_top, zeta_top, k_bot, zeta_bot) :param boundary: SURFACE or BOTTOM [nondim] :param nk: Number of layers [nondim] :param deg: Degree of polynomial [nondim] :param h: Layer thicknesses [H ~> m or kg m-2] :param hblt: Depth of the boundary layer [H ~> m or kg m-2] :param phi: Scalar quantity :param ppoly0_e: Edge value of polynomial :param ppoly0_coefs: Coefficients of polynomial :param method: Remapping scheme to use :param k_top: Index of the first layer within the boundary :param zeta_top: Fraction of the layer encompassed by the bottom boundary layer (0 if none, 1. if all). For the surface, this is always 0. because integration starts at the surface [nondim] :param k_bot: Index of the last layer within the boundary :param zeta_bot: Fraction of the layer encompassed by the surface boundary layer (0 if none, 1. if all). For the bottom boundary layer, this is always 1. because integration starts at the bottom [nondim] :callto: :f:func:`mom_remapping::average_value_ppoly ` :callto: :f:func:`bottom ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`surface ` :calledfrom: :f:func:`fluxes_bulk_method ` .. f:function:: real function harmonic_mean(h1, h2) Calculate the harmonic mean of two quantities See :ref:`Harmonic Mean`. :param h1: Scalar quantity :param h2: Scalar quantity :calledfrom: :f:func:`fluxes_bulk_method ` :calledfrom: :f:func:`fluxes_layer_method ` .. f:subroutine:: subroutine boundary_k_range(boundary, nk, h, hbl, k_top, zeta_top, k_bot, zeta_bot) Find the k-index range corresponding to the layers that are within the boundary-layer region. :param boundary: [in] SURFACE or BOTTOM [nondim] :param nk: [in] Number of layers [nondim] :param h: [in] Layer thicknesses of the column [H ~> m or kg m-2] :param hbl: [in] Thickness of the boundary layer [H ~> m or kg m-2] If surface, with respect to zbl_ref = 0. If bottom, with respect to zbl_ref = SUM(h) :param k_top: [out] Index of the first layer within the boundary :param zeta_top: [out] Distance from the top of a layer to the intersection of the top extent of the boundary layer (0 at top, 1 at bottom) [nondim] :param k_bot: [out] Index of the last layer within the boundary :param zeta_bot: [out] Distance of the lower layer to the boundary layer depth (0 at top, 1 at bottom) [nondim] :callto: :f:func:`bottom ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`surface ` :calledfrom: :f:func:`fluxes_bulk_method ` :calledfrom: :f:func:`fluxes_layer_method ` :calledfrom: :f:func:`near_boundary_unit_tests ` :calledfrom: :f:func:`mom_neutral_diffusion::neutral_diffusion_calc_coeffs ` .. f:subroutine:: subroutine fluxes_layer_method(boundary, nk, deg, h_L, h_R, hbl_L, hbl_R, area_L, area_R, phi_L, phi_R, ppoly0_coefs_L, ppoly0_coefs_R, ppoly0_E_L, ppoly0_E_R, method, khtr_u, F_layer, linear_decay) Calculate the lateral boundary diffusive fluxes using the layer by layer method. See :ref:`Along layer approach (Method #1)`. :param boundary: [in] Which boundary layer SURFACE or BOTTOM [nondim] :param nk: [in] Number of layers [nondim] :param deg: [in] order of the polynomial reconstruction [nondim] :param h_l: [in] Layer thickness (left) [H ~> m or kg m-2] :param h_r: [in] Layer thickness (right) [H ~> m or kg m-2] :param hbl_l: [in] Thickness of the boundary boundary layer (left) [H ~> m or kg m-2] :param hbl_r: [in] Thickness of the boundary boundary layer (right) [H ~> m or kg m-2] :param area_l: [in] Area of the horizontal grid (left) [L2 ~> m2] :param area_r: [in] Area of the horizontal grid (right) [L2 ~> m2] :param phi_l: [in] Tracer values (left) [conc] :param phi_r: [in] Tracer values (right) [conc] :param ppoly0_coefs_l: [in] Tracer reconstruction (left) [conc] :param ppoly0_coefs_r: [in] Tracer reconstruction (right) [conc] :param ppoly0_e_l: [in] Polynomial edge values (left) [nondim] :param ppoly0_e_r: [in] Polynomial edge values (right) [nondim] :param method: [in] Method of polynomial integration [nondim] :param khtr_u: [in] Horizontal diffusivities times delta t at a velocity point [L2 ~> m2] :param f_layer: [out] Layerwise diffusive flux at U- or V-point [H L2 conc ~> m3 conc] :param linear_decay: [in] If True, apply a linear transition at the base of the boundary layer :callto: :f:func:`mom_remapping::average_value_ppoly ` :callto: :f:func:`bottom ` :callto: :f:func:`boundary_k_range ` :callto: :f:func:`harmonic_mean ` :callto: :f:func:`surface ` :calledfrom: :f:func:`lateral_boundary_diffusion ` :calledfrom: :f:func:`near_boundary_unit_tests ` .. f:subroutine:: subroutine fluxes_bulk_method(boundary, nk, deg, h_L, h_R, hbl_L, hbl_R, area_L, area_R, phi_L, phi_R, ppoly0_coefs_L, ppoly0_coefs_R, ppoly0_E_L, ppoly0_E_R, method, khtr_u, F_bulk, F_layer, F_limit, linear_decay) Apply the lateral boundary diffusive fluxes calculated from a 'bulk model' See :ref:`Bulk layer approach (Method #2)`. :param boundary: [in] Which boundary layer SURFACE or BOTTOM [nondim] :param nk: [in] Number of layers [nondim] :param deg: [in] order of the polynomial reconstruction [nondim] :param h_l: [in] Layer thickness (left) [H ~> m or kg m-2] :param h_r: [in] Layer thickness (right) [H ~> m or kg m-2] :param hbl_l: [in] Thickness of the boundary boundary layer (left) [H ~> m or kg m-2] :param hbl_r: [in] Thickness of the boundary boundary layer (left) [H ~> m or kg m-2] :param area_l: [in] Area of the horizontal grid (left) [L2 ~> m2] :param area_r: [in] Area of the horizontal grid (right) [L2 ~> m2] :param phi_l: [in] Tracer values (left) [conc] :param phi_r: [in] Tracer values (right) [conc] :param ppoly0_coefs_l: [in] Tracer reconstruction (left) [conc] :param ppoly0_coefs_r: [in] Tracer reconstruction (right) [conc] :param ppoly0_e_l: [in] Polynomial edge values (left) [nondim] :param ppoly0_e_r: [in] Polynomial edge values (right) [nondim] :param method: [in] Method of polynomial integration [nondim] :param khtr_u: [in] Horizontal diffusivities times delta t at a velocity point [L2 ~> m2] :param f_bulk: [out] The bulk mixed layer lateral flux [H L2 conc ~> m3 conc] :param f_layer: [out] Layerwise diffusive flux at U- or V-point [H L2 conc ~> m3 conc] :param f_limit: [in] If True, apply a limiter :param linear_decay: [in] If True, apply a linear transition at the base of the boundary layer :callto: :f:func:`bottom ` :callto: :f:func:`boundary_k_range ` :callto: :f:func:`bulk_average ` :callto: :f:func:`harmonic_mean ` :callto: :f:func:`surface ` :calledfrom: :f:func:`lateral_boundary_diffusion ` :calledfrom: :f:func:`near_boundary_unit_tests ` .. f:function:: logical function near_boundary_unit_tests(verbose) Unit tests for near-boundary horizontal mixing. :param verbose: [in] If true, output additional information for debugging unit tests :callto: :f:func:`bottom ` :callto: :f:func:`boundary_k_range ` :callto: :f:func:`fluxes_bulk_method ` :callto: :f:func:`fluxes_layer_method ` :callto: :f:func:`surface ` :callto: :f:func:`test_boundary_k_range ` :callto: :f:func:`test_layer_fluxes ` :calledfrom: :f:func:`mom_unit_tests::unit_tests ` .. f:function:: logical function test_layer_fluxes(verbose, nk, test_name, F_calc, F_ans) Returns true if output of near-boundary unit tests does not match correct computed values and conditionally writes results to stream. :param verbose: [in] If true, write results to stdout :param test_name: [in] Brief description of the unit test :param nk: [in] Number of layers :param f_calc: [in] Fluxes of the unitless tracer from the algorithm [s^-1] :param f_ans: [in] Fluxes of the unitless tracer calculated by hand [s^-1] :calledfrom: :f:func:`near_boundary_unit_tests ` .. f:function:: logical function test_boundary_k_range(k_top, zeta_top, k_bot, zeta_bot, k_top_ans, zeta_top_ans, k_bot_ans, zeta_bot_ans, test_name, verbose) Return true if output of unit tests for boundary_k_range does not match answers. :param k_top: Index of cell containing top of boundary :param zeta_top: Nondimension position :param k_bot: Index of cell containing bottom of boundary :param zeta_bot: Nondimension position :param k_top_ans: Index of cell containing top of boundary :param zeta_top_ans: Nondimension position :param k_bot_ans: Index of cell containing bottom of boundary :param zeta_bot_ans: Nondimension position :param test_name: Name of the unit test :param verbose: If true always print output :calledfrom: :f:func:`near_boundary_unit_tests ` [debug] xpath(./compounddef/compoundname[text()="mom_lateral_boundary_diffusion::lateral_boundary_diffusion_cs"]/..) match([('id', 'structmom__lateral__boundary__diffusion_1_1lateral__boundary__diffusion__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_lateral_boundary_diffusion::lateral_boundary_diffusion_cs', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_lateral_boundary_diffusion::bulk_average', [debug] DoxygenMethodDocumenter format_signature called ((h1, h2)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__lateral__boundary__diffusion_1section_harmonic_mean) kindref(member) ref([]) [debug] ref([('id', 'namespacemom__lateral__boundary__diffusion_1section_harmonic_mean')]) [debug] refid2(section_harmonic_mean) reftext(Harmonic Mean) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_lateral_boundary_diffusion::harmonic_mean', ]) [debug] ref([('id', 'namespacemom__lateral__boundary__diffusion_1section_method1')]) [debug] refid2(section_method1) reftext(Along layer approach (Method #1)) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_lateral_boundary_diffusion::fluxes_layer_method', ]) [debug] ref([('id', 'namespacemom__lateral__boundary__diffusion_1section_method2')]) [debug] refid2(section_method2) reftext(Bulk layer approach (Method #2)) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_lateral_boundary_diffusion::fluxes_bulk_method', type mom_lateral_boundary_diffusion/lateral_boundary_diffusion_cs) [fd] run(.. f:function:: logical function lateral_boundary_diffusion_init(Time, G, param_file, diag, diabatic_CSp, CS)) [fd] sig(logical function lateral_boundary_diffusion_init(Time, G, param_file, diag, diabatic_CSp, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(lateral_boundary_diffusion_init) arglist(Time, G, param_file, diag, diabatic_CSp, CS) [fd] fullname(mom_lateral_boundary_diffusion/lateral_boundary_diffusion_init) ftype(logical) [fd] name(('mom_lateral_boundary_diffusion/lateral_boundary_diffusion_init', 'logical')) sig(logical function lateral_boundary_diffusion_init(Time, G, param_file, diag, diabatic_CSp, CS)) signode(function mom_lateral_boundary_diffusion/lateral_boundary_diffusion_initTimeGparam_filediagdiabatic_CSpCS [logical]) [fd] run(.. f:subroutine:: subroutine lateral_boundary_diffusion(G, GV, US, h, Coef_x, Coef_y, dt, Reg, CS)) [fd] sig(subroutine lateral_boundary_diffusion(G, GV, US, h, Coef_x, Coef_y, dt, Reg, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(lateral_boundary_diffusion) arglist(G, GV, US, h, Coef_x, Coef_y, dt, Reg, CS) [fd] fullname(mom_lateral_boundary_diffusion/lateral_boundary_diffusion) ftype(None) [fd] name(('mom_lateral_boundary_diffusion/lateral_boundary_diffusion', None)) sig(subroutine lateral_boundary_diffusion(G, GV, US, h, Coef_x, Coef_y, dt, Reg, CS)) signode(subroutine mom_lateral_boundary_diffusion/lateral_boundary_diffusionGGVUShCoef_xCoef_ydtRegCS) [fd] run(.. f:function:: real function bulk_average(boundary, nk, deg, h, hBLT, phi, ppoly0_E, ppoly0_coefs, method, k_top, zeta_top, k_bot, zeta_bot)) [fd] sig(real function bulk_average(boundary, nk, deg, h, hBLT, phi, ppoly0_E, ppoly0_coefs, method, k_top, zeta_top, k_bot, zeta_bot)) [fd] ftype(real) objtype(function) modname(None) typename() name(bulk_average) arglist(boundary, nk, deg, h, hBLT, phi, ppoly0_E, ppoly0_coefs, method, k_top, zeta_top, k_bot, zeta_bot) [fd] fullname(mom_lateral_boundary_diffusion/bulk_average) ftype(real) [fd] name(('mom_lateral_boundary_diffusion/bulk_average', 'real')) sig(real function bulk_average(boundary, nk, deg, h, hBLT, phi, ppoly0_E, ppoly0_coefs, method, k_top, zeta_top, k_bot, zeta_bot)) signode(function mom_lateral_boundary_diffusion/bulk_averageboundarynkdeghhBLTphippoly0_Eppoly0_coefsmethodk_topzeta_topk_botzeta_bot [real]) [fd] run(.. f:function:: real function harmonic_mean(h1, h2)) [fd] sig(real function harmonic_mean(h1, h2)) [fd] ftype(real) objtype(function) modname(None) typename() name(harmonic_mean) arglist(h1, h2) [fd] fullname(mom_lateral_boundary_diffusion/harmonic_mean) ftype(real) [fd] name(('mom_lateral_boundary_diffusion/harmonic_mean', 'real')) sig(real function harmonic_mean(h1, h2)) signode(function mom_lateral_boundary_diffusion/harmonic_meanh1h2 [real]) [fd] run(.. f:subroutine:: subroutine boundary_k_range(boundary, nk, h, hbl, k_top, zeta_top, k_bot, zeta_bot)) [fd] sig(subroutine boundary_k_range(boundary, nk, h, hbl, k_top, zeta_top, k_bot, zeta_bot)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(boundary_k_range) arglist(boundary, nk, h, hbl, k_top, zeta_top, k_bot, zeta_bot) [fd] fullname(mom_lateral_boundary_diffusion/boundary_k_range) ftype(None) [fd] name(('mom_lateral_boundary_diffusion/boundary_k_range', None)) sig(subroutine boundary_k_range(boundary, nk, h, hbl, k_top, zeta_top, k_bot, zeta_bot)) signode(subroutine mom_lateral_boundary_diffusion/boundary_k_rangeboundarynkhhblk_topzeta_topk_botzeta_bot) [fd] run(.. f:subroutine:: subroutine fluxes_layer_method(boundary, nk, deg, h_L, h_R, hbl_L, hbl_R, area_L, area_R, phi_L, phi_R, ppoly0_coefs_L, ppoly0_coefs_R, ppoly0_E_L, ppoly0_E_R, method, khtr_u, F_layer, linear_decay)) [fd] sig(subroutine fluxes_layer_method(boundary, nk, deg, h_L, h_R, hbl_L, hbl_R, area_L, area_R, phi_L, phi_R, ppoly0_coefs_L, ppoly0_coefs_R, ppoly0_E_L, ppoly0_E_R, method, khtr_u, F_layer, linear_decay)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(fluxes_layer_method) arglist(boundary, nk, deg, h_L, h_R, hbl_L, hbl_R, area_L, area_R, phi_L, phi_R, ppoly0_coefs_L, ppoly0_coefs_R, ppoly0_E_L, ppoly0_E_R, method, khtr_u, F_layer, linear_decay) [fd] fullname(mom_lateral_boundary_diffusion/fluxes_layer_method) ftype(None) [fd] name(('mom_lateral_boundary_diffusion/fluxes_layer_method', None)) sig(subroutine fluxes_layer_method(boundary, nk, deg, h_L, h_R, hbl_L, hbl_R, area_L, area_R, phi_L, phi_R, ppoly0_coefs_L, ppoly0_coefs_R, ppoly0_E_L, ppoly0_E_R, method, khtr_u, F_layer, linear_decay)) signode(subroutine mom_lateral_boundary_diffusion/fluxes_layer_methodboundarynkdegh_Lh_Rhbl_Lhbl_Rarea_Larea_Rphi_Lphi_Rppoly0_coefs_Lppoly0_coefs_Rppoly0_E_Lppoly0_E_Rmethodkhtr_uF_layerlinear_decay) [fd] run(.. f:subroutine:: subroutine fluxes_bulk_method(boundary, nk, deg, h_L, h_R, hbl_L, hbl_R, area_L, area_R, phi_L, phi_R, ppoly0_coefs_L, ppoly0_coefs_R, ppoly0_E_L, ppoly0_E_R, method, khtr_u, F_bulk, F_layer, F_limit, linear_decay)) [fd] sig(subroutine fluxes_bulk_method(boundary, nk, deg, h_L, h_R, hbl_L, hbl_R, area_L, area_R, phi_L, phi_R, ppoly0_coefs_L, ppoly0_coefs_R, ppoly0_E_L, ppoly0_E_R, method, khtr_u, F_bulk, F_layer, F_limit, linear_decay)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(fluxes_bulk_method) arglist(boundary, nk, deg, h_L, h_R, hbl_L, hbl_R, area_L, area_R, phi_L, phi_R, ppoly0_coefs_L, ppoly0_coefs_R, ppoly0_E_L, ppoly0_E_R, method, khtr_u, F_bulk, F_layer, F_limit, linear_decay) [fd] fullname(mom_lateral_boundary_diffusion/fluxes_bulk_method) ftype(None) [fd] name(('mom_lateral_boundary_diffusion/fluxes_bulk_method', None)) sig(subroutine fluxes_bulk_method(boundary, nk, deg, h_L, h_R, hbl_L, hbl_R, area_L, area_R, phi_L, phi_R, ppoly0_coefs_L, ppoly0_coefs_R, ppoly0_E_L, ppoly0_E_R, method, khtr_u, F_bulk, F_layer, F_limit, linear_decay)) signode(subroutine mom_lateral_boundary_diffusion/fluxes_bulk_methodboundarynkdegh_Lh_Rhbl_Lhbl_Rarea_Larea_Rphi_Lphi_Rppoly0_coefs_Lppoly0_coefs_Rppoly0_E_Lppoly0_E_Rmethodkhtr_uF_bulkF_layerF_limitlinear_decay) [fd] run(.. f:function:: logical function near_boundary_unit_tests(verbose)) [fd] sig(logical function near_boundary_unit_tests(verbose)) [fd] ftype(logical) objtype(function) modname(None) typename() name(near_boundary_unit_tests) arglist(verbose) [fd] fullname(mom_lateral_boundary_diffusion/near_boundary_unit_tests) ftype(logical) [fd] name(('mom_lateral_boundary_diffusion/near_boundary_unit_tests', 'logical')) sig(logical function near_boundary_unit_tests(verbose)) signode(function mom_lateral_boundary_diffusion/near_boundary_unit_testsverbose [logical]) [fd] run(.. f:function:: logical function test_layer_fluxes(verbose, nk, test_name, F_calc, F_ans)) [fd] sig(logical function test_layer_fluxes(verbose, nk, test_name, F_calc, F_ans)) [fd] ftype(logical) objtype(function) modname(None) typename() name(test_layer_fluxes) arglist(verbose, nk, test_name, F_calc, F_ans) [fd] fullname(mom_lateral_boundary_diffusion/test_layer_fluxes) ftype(logical) [fd] name(('mom_lateral_boundary_diffusion/test_layer_fluxes', 'logical')) sig(logical function test_layer_fluxes(verbose, nk, test_name, F_calc, F_ans)) signode(function mom_lateral_boundary_diffusion/test_layer_fluxesverbosenktest_nameF_calcF_ans [logical]) [fd] run(.. f:function:: logical function test_boundary_k_range(k_top, zeta_top, k_bot, zeta_bot, k_top_ans, zeta_top_ans, k_bot_ans, zeta_bot_ans, test_name, verbose)) [fd] sig(logical function test_boundary_k_range(k_top, zeta_top, k_bot, zeta_bot, k_top_ans, zeta_top_ans, k_bot_ans, zeta_bot_ans, test_name, verbose)) [fd] ftype(logical) objtype(function) modname(None) typename() name(test_boundary_k_range) arglist(k_top, zeta_top, k_bot, zeta_bot, k_top_ans, zeta_top_ans, k_bot_ans, zeta_bot_ans, test_name, verbose) [fd] fullname(mom_lateral_boundary_diffusion/test_boundary_k_range) ftype(logical) [fd] name(('mom_lateral_boundary_diffusion/test_boundary_k_range', 'logical')) sig(logical function test_boundary_k_range(k_top, zeta_top, k_bot, zeta_bot, k_top_ans, zeta_top_ans, k_bot_ans, zeta_bot_ans, test_name, verbose)) signode(function mom_lateral_boundary_diffusion/test_boundary_k_rangek_topzeta_topk_botzeta_botk_top_anszeta_top_ansk_bot_anszeta_bot_anstest_nameverbose [logical]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(,) reading sources... [ 42%] api/generated/modules/mom_lateral_mixing_coeffs [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_lateral_ [app] emitting event: 'source-read'('api/generated/modules/mom_lateral_mixing_coeffs', ['.. autodoxymodule:: mom_lateral_mixing_coeffs\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_lateral_mixing_coeffs.rst:1: input: .. autodoxymodule:: mom_lateral_mixing_coeffs :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_lateral_mixing_coeffs::varmix_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_lateral_mixing_coeffs::calc_depth_function ~mom_lateral_mixing_coeffs::calc_resoln_function ~mom_lateral_mixing_coeffs::calc_slope_functions ~mom_lateral_mixing_coeffs::calc_visbeck_coeffs ~mom_lateral_mixing_coeffs::calc_slope_functions_using_just_e ~mom_lateral_mixing_coeffs::calc_qg_leith_viscosity ~mom_lateral_mixing_coeffs::varmix_init [debug] xpath(./compounddef/compoundname[text()="mom_lateral_mixing_coeffs"]/..) match([('id', 'namespacemom__lateral__mixing__coeffs'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_lateral_mixing_coeffs module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_lateral_mixing_coeffs', , {'members': , {'members': ]) [debug] ref([('id', 'namespacemom__thickness__diffuse'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] method=visit_ref [debug] refid(namespacemom__hor__visc) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__hor__visc'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_para [debug] method=visit_table [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_sect1 [debug] visit_sect id(namespacemom__lateral__mixing__coeffs_1section_Vicbeck) title(Visbeck diffusivity) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__thickness__diffuse_1a8a538b778a567f489bfd9c5eadeeebef) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__thickness__diffuse_1a8a538b778a567f489bfd9c5eadeeebef'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_thickness_diffuse::thickness_diffuse) node_name(None) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_para [debug] method=visit_table [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_ref [debug] refid(namespacemom__thickness__diffuse) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__thickness__diffuse'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_sect1 [debug] visit_sect id(namespacemom__lateral__mixing__coeffs_1section_vertical_structure_khth) title(Vertical structure function for KhTh) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__lateral__mixing__coeffs_1_1varmix__cs) kindref(compound) ref([]) [debug] ref([('id', 'structmom__lateral__mixing__coeffs_1_1varmix__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] method=visit_ref [debug] refid(namespacemom__wave__speed) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__wave__speed'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] method=visit_para [debug] method=visit_table [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_computeroutput [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_lateral_mixing_coeffs', , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_lateral_mixing_coeffs' (exception was: ModuleNotFoundError("No module named 'mom_lateral_mixing_coeffs'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_lateral_mixing_coeffs::varmix_cs', , {'memb [debug] members([('calc_depth_function', ), ('calc_resoln_function', ), ('calc_slope_functions', ), ('calc_visbeck_coeffs', ), ('calc_slope_functions_using_just_e', ), ('calc_qg_leith_viscosity', ), ('varmix_init', )]) [autodoc] module analyzer failed: error importing 'mom_lateral_mixing_coeffs' (exception was: ModuleNotFoundError("No module named 'mom_lateral_mixing_coeffs'")) [debug] DoxygenMethodDocumenter format_signature called ((G, CS)) [debug] add_directive_header sig((G, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calc_depth_function) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calc_depth_function', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calc_slope_functions_using_just_e', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calc_slope_functions_using_just_e', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calc_slope_functions_using_just_e', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calc_slope_functions_using_just_e', , {'members [autodoc] module analyzer failed: error importing 'mom_lateral_mixing_coeffs' (exception was: ModuleNotFoundError("No module named 'mom_lateral_mixing_coeffs'")) [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, US, h, k, div_xx_dx, div_xx_dy, vort_xy_dx, vort_xy_dy)) [debug] add_directive_header sig((CS, G, GV, US, h, k, div_xx_dx, div_xx_dy, vort_xy_dx, vort_xy_dy)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calc_qg_leith_viscosity) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calc_qg_leith_viscosity', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_lateral_mixing_coeffs::varmix_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_lateral_mixing_coeffs::calc_depth_function ~mom_lateral_mixing_coeffs::calc_resoln_function ~mom_lateral_mixing_coeffs::calc_slope_functions ~mom_lateral_mixing_coeffs::calc_visbeck_coeffs ~mom_lateral_mixing_coeffs::calc_slope_functions_using_just_e ~mom_lateral_mixing_coeffs::calc_qg_leith_viscosity ~mom_lateral_mixing_coeffs::varmix_init .. _DETAmom_lateral_mixing_coeffs: -------------------- Detailed Description -------------------- This module provides a container for various factors used in prescribing diffusivities, that are a function of the state (in particular the stratification and isoneutral slopes). .. _namespacemom__lateral__mixing__coeffs_1section_Resolution_Function: The resolution function ======================= The resolution function is expressed in terms of the ratio of grid-spacing to deformation radius. The square of the resolution parameter is .. math:: R^2 = \frac{L_d^2}{\Delta^2} = \frac{ c_g^2 }{ f^2 \Delta^2 + c_g \beta \Delta^2 } where the grid spacing is calculated as .. math:: \Delta^2 = \Delta x^2 + \Delta y^2 . .. admonition:: Todo Check this reference to Bob on/off paper. The resolution function used in scaling diffusivities (Hallberg, 2010) is .. math:: r(\Delta,L_d) = \frac{1}{1+(\alpha R)^p} The resolution function can be applied independently to thickness diffusion (module :f:func:`mom_thickness_diffuse`), tracer diffusion (mom_tracer_hordiff) lateral viscosity (), tracer diffusion (mom_tracer_hordiff) lateral viscosity (:f:func:`mom_hor_visc`).). Robert Hallberg, 2013: Using a resolution function to regulate parameterizations of oceanic mesoscale eddy effects. Ocean Modelling, 71, pp 92-103. `http://dx.doi.org/10.1016/j.ocemod.2013.08.007 `_ +----------------+-----------------------------------------------------------------+ | | | | Symbol | Module parameter | | | | +================+=================================================================+ | | ``USE_VARIABLE_MIXING`` | | - | | | | | +----------------+-----------------------------------------------------------------+ | | ``RESOLN_SCALED_KH`` | | - | | | | | +----------------+-----------------------------------------------------------------+ | | ``RESOLN_SCALED_KHTH`` | | - | | | | | +----------------+-----------------------------------------------------------------+ | | ``RESOLN_SCALED_KHTR`` | | - | | | | | +----------------+-----------------------------------------------------------------+ | | ``KH_RES_SCALE_COEF`` (for thickness and tracer diffusivity) | | :math:`\alpha` | | | | | +----------------+-----------------------------------------------------------------+ | | ``KH_RES_FN_POWER`` (for thickness and tracer diffusivity) | | :math:`p` | | | | | +----------------+-----------------------------------------------------------------+ | | ``VISC_RES_SCALE_COEF`` (for lateral viscosity) | | :math:`\alpha` | | | | | +----------------+-----------------------------------------------------------------+ | | ``VISC_RES_FN_POWER`` (for lateral viscosity) | | :math:`p` | | | | | +----------------+-----------------------------------------------------------------+ | | ``GILL_EQUATORIAL_LD`` | | - | | | | | +----------------+-----------------------------------------------------------------+ .. _namespacemom__lateral__mixing__coeffs_1section_Vicbeck: Visbeck diffusivity =================== This module also calculates factors used in setting the thickness diffusivity similar to a Visbeck et al., 1997, scheme. The factors are combined in :f:func:`mom_thickness_diffuse::thickness_diffuse() ` but calculated in this module.but calculated in this module. .. math:: \kappa_h = \alpha_s L_s^2 S N where :math:`S` is the magnitude of the isoneutral slope and :math:`N` is the Brunt-Vaisala frequency. Visbeck, Marshall, Haine and Spall, 1997: Specification of Eddy Transfer Coefficients in Coarse-Resolution Ocean Circulation Models. J. Phys. Oceanogr. `http://dx.doi.org/10.1175/1520-0485(1997)027%3C0381:SOETCI%3E2.0.CO;2 `_ +------------------+------------------------------------------------------------------------------+ | | | | Symbol | Module parameter | | | | +==================+==============================================================================+ | | ``USE_VARIABLE_MIXING`` | | - | | | | | +------------------+------------------------------------------------------------------------------+ | | ``KHTH_SLOPE_CFF`` (for :f:func:`mom_thickness_diffuse` module) module) | | :math:`\alpha_s` | | | | | +------------------+------------------------------------------------------------------------------+ | | ``KHTR_SLOPE_CFF`` (for mom_tracer_hordiff module) | | :math:`\alpha_s` | | | | | +------------------+------------------------------------------------------------------------------+ | | ``VISBECK_L_SCALE`` | | :math:`L_{s}` | | | | | +------------------+------------------------------------------------------------------------------+ | | ``VISBECK_MAX_SLOPE`` | | :math:`S_{max}` | | | | | +------------------+------------------------------------------------------------------------------+ .. _namespacemom__lateral__mixing__coeffs_1section_vertical_structure_khth: Vertical structure function for KhTh ==================================== The thickness diffusivity can be prescribed a vertical distribution with the shape of the equivalent barotropic velocity mode. The structure function is stored in the control structure for thie module (:f:func:`varmix_cs`) but is calculated using subroutines in ) but is calculated using subroutines in :f:func:`mom_wave_speed`.. +----------+-------------------------+ | | | | Symbol | Module parameter | | | | +==========+=========================+ | | ``KHTH_USE_EBT_STRUCT`` | | - | | | | | +----------+-------------------------+ ------------------ Type Documentation ------------------ .. f:type:: varmix_cs Variable mixing coefficients. :typefield integer id_sn_u: Diagnostic identifier. :typefield integer id_sn_v: Diagnostic identifier. :typefield integer id_l2u: Diagnostic identifier. :typefield integer id_l2v: Diagnostic identifier. :typefield integer id_res_fn: Diagnostic identifier. :typefield integer id_n2_u: Diagnostic identifier. :typefield integer id_n2_v: Diagnostic identifier. :typefield integer id_s2_u: Diagnostic identifier. :typefield integer id_s2_v: Diagnostic identifier. :typefield integer id_rd_dx: Diagnostic identifier. :typefield integer id_kh_u_qg: Diagnostic identifier. :typefield integer id_kh_v_qg: Diagnostic identifier. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield logical use_variable_mixing: If true, use the variable mixing. :typefield logical resoln_scaled_kh: If true, scale away the Laplacian viscosity when the deformation radius is well resolved. :typefield logical resoln_scaled_khth: If true, scale away the thickness diffusivity when the deformation radius is well resolved. :typefield logical depth_scaled_khth: If true, KHTH is scaled away when the depth is shallower than a reference depth. :typefield logical resoln_scaled_khtr: If true, scale away the tracer diffusivity when the deformation radius is well resolved. :typefield logical interpolate_res_fn: If true, interpolate the resolution function to the velocity points from the thickness points; otherwise interpolate the wave speed and calculate the resolution function independently at each point. :typefield logical use_stored_slopes: If true, stores isopycnal slopes in this structure. :typefield logical resoln_use_ebt: If true, uses the equivalent barotropic wave speed instead of first baroclinic wave for calculating the resolution fn. :typefield logical khth_use_ebt_struct: If true, uses the equivalent barotropic structure as the vertical structure of thickness diffusivity. :typefield logical calculate_cg1: If true, calls :typefield logical calculate_rd_dx: If true, calculates Rd/dx and populate CSRd_dx_h. This parameter is set depending on other parameters. :typefield logical calculate_res_fns: If true, calculate all the resolution factors. This parameter is set depending on other parameters. :typefield logical calculate_depth_fns: If true, calculate all the depth factors. This parameter is set depending on other parameters. :typefield logical calculate_eady_growth_rate: If true, calculate all the Eady growth rate. This parameter is set depending on other parameters. :typefield real(\:,\:) sn_u [pointer]: S*N at u-points [T-1 ~> s-1]. :typefield real(\:,\:) sn_v [pointer]: S*N at v-points [T-1 ~> s-1]. :typefield real(\:,\:) l2u [pointer]: Length scale^2 at u-points [L2 ~> m2]. :typefield real(\:,\:) l2v [pointer]: Length scale^2 at v-points [L2 ~> m2]. :typefield real(\:,\:) cg1 [pointer]: The first baroclinic gravity wave speed [L T-1 ~> m s-1]. :typefield real(\:,\:) res_fn_h [pointer]: Non-dimensional function of the ratio the first baroclinic. :typefield real(\:,\:) res_fn_q [pointer]: Non-dimensional function of the ratio the first baroclinic. :typefield real(\:,\:) res_fn_u [pointer]: Non-dimensional function of the ratio the first baroclinic. :typefield real(\:,\:) res_fn_v [pointer]: Non-dimensional function of the ratio the first baroclinic. :typefield real(\:,\:) depth_fn_u [pointer]: Non-dimensional function of the ratio of the depth to. :typefield real(\:,\:) depth_fn_v [pointer]: Non-dimensional function of the ratio of the depth to. :typefield real(\:,\:) beta_dx2_h [pointer]: The magnitude of the gradient of the Coriolis parameter. :typefield real(\:,\:) beta_dx2_q [pointer]: The magnitude of the gradient of the Coriolis parameter. :typefield real(\:,\:) beta_dx2_u [pointer]: The magnitude of the gradient of the Coriolis parameter. :typefield real(\:,\:) beta_dx2_v [pointer]: The magnitude of the gradient of the Coriolis parameter. :typefield real(\:,\:) f2_dx2_h [pointer]: The Coriolis parameter squared times the grid. :typefield real(\:,\:) f2_dx2_q [pointer]: The Coriolis parameter squared times the grid. :typefield real(\:,\:) f2_dx2_u [pointer]: The Coriolis parameter squared times the grid. :typefield real(\:,\:) f2_dx2_v [pointer]: The Coriolis parameter squared times the grid. :typefield real(\:,\:) rd_dx_h [pointer]: Deformation radius over grid spacing [nondim]. :typefield real(\:,\:,\:) slope_x [pointer]: Zonal isopycnal slope [nondim]. :typefield real(\:,\:,\:) slope_y [pointer]: Meridional isopycnal slope [nondim]. :typefield real(\:,\:,\:) ebt_struct [pointer]: Vertical structure function to scale diffusivities with [nondim]. :typefield real(\: laplac3_const_u [:), allocatable]: Laplacian metric-dependent constants [L3 ~> m3]. :typefield real(\: laplac3_const_v [:), allocatable]: Laplacian metric-dependent constants [L3 ~> m3]. :typefield real(\: kh_u_qg [:, :), allocatable]: QG Leith GM coefficient at u-points [L2 T-1 ~> m2 s-1]. :typefield real(\: kh_v_qg [:, :), allocatable]: QG Leith GM coefficient at v-points [L2 T-1 ~> m2 s-1]. :typefield logical use_visbeck: Use Visbeck formulation for thickness diffusivity. :typefield integer varmix_ktop: Top layer to start downward integrals. :typefield real visbeck_l_scale: Fixed length scale in Visbeck formula. :typefield real res_coef_khth: A non-dimensional number that determines the function of resolution, used for thickness and tracer mixing, as: F = 1 / (1 + (Res_coef_khth*Ld/dx)^Res_fn_power) :typefield real res_coef_visc: A non-dimensional number that determines the function of resolution, used for lateral viscosity, as: F = 1 / (1 + (Res_coef_visc*Ld/dx)^Res_fn_power) :typefield real depth_scaled_khth_h0: The depth above which KHTH is linearly scaled away [Z ~> m]. :typefield real depth_scaled_khth_exp: The exponent used in the depth dependent scaling function for KHTH [nondim]. :typefield real kappa_smooth: A diffusivity for smoothing T/S in vanished layers [Z2 T-1 ~> m2 s-1]. :typefield integer res_fn_power_khth: The power of dx/Ld in the KhTh resolution function. Any positive integer power may be used, but even powers and especially 2 are coded to be more efficient. :typefield integer res_fn_power_visc: The power of dx/Ld in the Kh resolution function. Any positive integer power may be used, but even powers and especially 2 are coded to be more efficient. :typefield real visbeck_s_max: Upper bound on slope used in Eady growth rate [nondim]. :typefield logical use_qg_leith_gm: If true, uses the QG Leith viscosity as the GM coefficient. :typefield logical use_beta_in_qg_leith: If true, includes the beta term in the QG Leith GM coefficient. :typefield type(wave_speed_cs) wave_speed_csp [pointer]: Wave speed control structure. :typefield type(group_pass_type) pass_cg1: For group halo pass. :typefield logical debug: If true, write out checksums of data for debugging. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine calc_depth_function(G, CS) Calculates the non-dimensional depth functions. :param g: [in] Ocean grid structure :param cs: Variable mixing coefficients :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom::step_mom ` :calledfrom: :f:func:`mom::step_offline ` .. f:subroutine:: subroutine calc_resoln_function(h, tv, G, GV, US, CS) Calculates and stores the non-dimensional resolution functions. :param g: [inout] Ocean grid structure :param h: [in] Layer thickness [H ~> m or kg m-2] :param tv: [in] Thermodynamic variables :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param cs: Variable mixing coefficients :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_diag_mediator::query_averaging_enabled ` :callto: :f:func:`mom_wave_speed::wave_speed ` :calledfrom: :f:func:`mom::step_mom ` :calledfrom: :f:func:`mom::step_offline ` .. f:subroutine:: subroutine calc_slope_functions(h, tv, dt, G, GV, US, CS, OBC) Calculates and stores functions of isopycnal slopes, e.g. Sx, Sy, S*N, mostly used in the Visbeck et al. style scaling of diffusivity. :param g: [inout] Ocean grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [inout] Layer thickness [H ~> m or kg m-2] :param tv: [in] Thermodynamic variables :param dt: [in] Time increment [T ~> s] :param cs: Variable mixing coefficients :param obc: Open boundaries control structure. :callto: :f:func:`mom_isopycnal_slopes::calc_isoneutral_slopes ` :callto: :f:func:`calc_slope_functions_using_just_e ` :callto: :f:func:`calc_visbeck_coeffs ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_diag_mediator::query_averaging_enabled ` .. f:subroutine:: subroutine calc_visbeck_coeffs(h, slope_x, slope_y, N2_u, N2_v, G, GV, US, CS, OBC) Calculates factors used when setting diffusivity coefficients similar to Visbeck et al. :param g: [inout] Ocean grid structure :param gv: [in] Vertical grid structure :param h: [in] Layer thickness [H ~> m or kg m-2] :param slope_x: [in] Zonal isoneutral slope :param n2_u: [in] Buoyancy (Brunt-Vaisala) frequency at u-points [T-2 ~> s-2] :param slope_y: [in] Meridional isoneutral slope :param n2_v: [in] Buoyancy (Brunt-Vaisala) frequency at v-points [T-2 ~> s-2] :param us: [in] A dimensional unit scaling type :param cs: Variable mixing coefficients :param obc: Open boundaries control structure. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_open_boundary::obc_none ` :callto: :f:func:`mom_diag_mediator::query_averaging_enabled ` :calledfrom: :f:func:`calc_slope_functions ` .. f:subroutine:: subroutine calc_slope_functions_using_just_e(h, G, GV, US, CS, e, calculate_slopes, OBC) The original calc_slope_function() that calculated slopes using interface positions only, not accounting for density variations. :param g: [inout] Ocean grid structure :param h: [inout] Layer thickness [H ~> m or kg m-2] :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param cs: Variable mixing coefficients :param e: [in] Interface position [Z ~> m] :param calculate_slopes: [in] If true, calculate slopes internally otherwise use slopes stored in CS :param obc: Open boundaries control structure. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_open_boundary::obc_none ` :calledfrom: :f:func:`calc_slope_functions ` .. f:subroutine:: subroutine calc_qg_leith_viscosity(CS, G, GV, US, h, k, div_xx_dx, div_xx_dy, vort_xy_dx, vort_xy_dy) Calculates the Leith Laplacian and bi-harmonic viscosity coefficients. :param cs: Variable mixing coefficients :param g: [in] Ocean grid structure :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [inout] Layer thickness [H ~> m or kg m-2] :param k: [in] Layer for which to calculate vorticity magnitude :param div_xx_dx: [in] x-derivative of horizontal divergence (d/dx(du/dx + dv/dy)) [L-1 T-1 ~> m-1 s-1] :param div_xx_dy: [in] y-derivative of horizontal divergence (d/dy(du/dx + dv/dy)) [L-1 T-1 ~> m-1 s-1] :param vort_xy_dx: [inout] x-derivative of vertical vorticity (d/dx(dv/dx - du/dy)) [L-1 T-1 ~> m-1 s-1] :param vort_xy_dy: [inout] y-derivative of vertical vorticity (d/dy(dv/dx - du/dy)) [L-1 T-1 ~> m-1 s-1] :calledfrom: :f:func:`mom_hor_visc::horizontal_viscosity ` .. f:subroutine:: subroutine varmix_init(Time, G, GV, US, param_file, diag, CS) Initializes the variables mixing coefficients container. :param time: [in] Current model time :param g: [in] Ocean grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] Parameter file handles :param diag: [inout] Diagnostics control structure :param cs: Variable mixing coefficients :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_wave_speed::wave_speed_init ` [debug] xpath(./compounddef/compoundname[text()="mom_lateral_mixing_coeffs::varmix_cs"]/..) match([('id', 'structmom__lateral__mixing__coeffs_1_1varmix__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_lateral_mixing_coeffs::varmix_cs', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_lateral_mixing_coeffs::varmix_cs', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_lateral_mixing_coeffs::varmix_cs', , {}, [debug] DoxygenMethodDocumenter format_signature called ((G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_lateral_mixing_coeffs::calc_depth_function', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_lateral_mixing_coeffs::varmix_init', , {}, [fd] run(.. f:type:: varmix_cs) [fd] sig(varmix_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(varmix_cs) arglist(None) [fd] fullname(mom_lateral_mixing_coeffs/varmix_cs) ftype(None) [fd] name(('mom_lateral_mixing_coeffs/varmix_cs', None)) sig(varmix_cs) signode(type mom_lateral_mixing_coeffs/varmix_cs) [fd] run(.. f:subroutine:: subroutine calc_depth_function(G, CS)) [fd] sig(subroutine calc_depth_function(G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calc_depth_function) arglist(G, CS) [fd] fullname(mom_lateral_mixing_coeffs/calc_depth_function) ftype(None) [fd] name(('mom_lateral_mixing_coeffs/calc_depth_function', None)) sig(subroutine calc_depth_function(G, CS)) signode(subroutine mom_lateral_mixing_coeffs/calc_depth_functionGCS) [fd] run(.. f:subroutine:: subroutine calc_resoln_function(h, tv, G, GV, US, CS)) [fd] sig(subroutine calc_resoln_function(h, tv, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calc_resoln_function) arglist(h, tv, G, GV, US, CS) [fd] fullname(mom_lateral_mixing_coeffs/calc_resoln_function) ftype(None) [fd] name(('mom_lateral_mixing_coeffs/calc_resoln_function', None)) sig(subroutine calc_resoln_function(h, tv, G, GV, US, CS)) signode(subroutine mom_lateral_mixing_coeffs/calc_resoln_functionhtvGGVUSCS) [fd] run(.. f:subroutine:: subroutine calc_slope_functions(h, tv, dt, G, GV, US, CS, OBC)) [fd] sig(subroutine calc_slope_functions(h, tv, dt, G, GV, US, CS, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calc_slope_functions) arglist(h, tv, dt, G, GV, US, CS, OBC) [fd] fullname(mom_lateral_mixing_coeffs/calc_slope_functions) ftype(None) [fd] name(('mom_lateral_mixing_coeffs/calc_slope_functions', None)) sig(subroutine calc_slope_functions(h, tv, dt, G, GV, US, CS, OBC)) signode(subroutine mom_lateral_mixing_coeffs/calc_slope_functionshtvdtGGVUSCSOBC) [fd] run(.. f:subroutine:: subroutine calc_visbeck_coeffs(h, slope_x, slope_y, N2_u, N2_v, G, GV, US, CS, OBC)) [fd] sig(subroutine calc_visbeck_coeffs(h, slope_x, slope_y, N2_u, N2_v, G, GV, US, CS, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calc_visbeck_coeffs) arglist(h, slope_x, slope_y, N2_u, N2_v, G, GV, US, CS, OBC) [fd] fullname(mom_lateral_mixing_coeffs/calc_visbeck_coeffs) ftype(None) [fd] name(('mom_lateral_mixing_coeffs/calc_visbeck_coeffs', None)) sig(subroutine calc_visbeck_coeffs(h, slope_x, slope_y, N2_u, N2_v, G, GV, US, CS, OBC)) signode(subroutine mom_lateral_mixing_coeffs/calc_visbeck_coeffshslope_xslope_yN2_uN2_vGGVUSCSOBC) [fd] run(.. f:subroutine:: subroutine calc_slope_functions_using_just_e(h, G, GV, US, CS, e, calculate_slopes, OBC)) [fd] sig(subroutine calc_slope_functions_using_just_e(h, G, GV, US, CS, e, calculate_slopes, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calc_slope_functions_using_just_e) arglist(h, G, GV, US, CS, e, calculate_slopes, OBC) [fd] fullname(mom_lateral_mixing_coeffs/calc_slope_functions_using_just_e) ftype(None) [fd] name(('mom_lateral_mixing_coeffs/calc_slope_functions_using_just_e', None)) sig(subroutine calc_slope_functions_using_just_e(h, G, GV, US, CS, e, calculate_slopes, OBC)) signode(subroutine mom_lateral_mixing_coeffs/calc_slope_functions_using_just_ehGGVUSCSecalculate_slopesOBC) [fd] run(.. f:subroutine:: subroutine calc_qg_leith_viscosity(CS, G, GV, US, h, k, div_xx_dx, div_xx_dy, vort_xy_dx, vort_xy_dy)) [fd] sig(subroutine calc_qg_leith_viscosity(CS, G, GV, US, h, k, div_xx_dx, div_xx_dy, vort_xy_dx, vort_xy_dy)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calc_qg_leith_viscosity) arglist(CS, G, GV, US, h, k, div_xx_dx, div_xx_dy, vort_xy_dx, vort_xy_dy) [fd] fullname(mom_lateral_mixing_coeffs/calc_qg_leith_viscosity) ftype(None) [fd] name(('mom_lateral_mixing_coeffs/calc_qg_leith_viscosity', None)) sig(subroutine calc_qg_leith_viscosity(CS, G, GV, US, h, k, div_xx_dx, div_xx_dy, vort_xy_dx, vort_xy_dy)) signode(subroutine mom_lateral_mixing_coeffs/calc_qg_leith_viscosityCSGGVUShkdiv_xx_dxdiv_xx_dyvort_xy_dxvort_xy_dy) [fd] run(.. f:subroutine:: subroutine varmix_init(Time, G, GV, US, param_file, diag, CS)) [fd] sig(subroutine varmix_init(Time, G, GV, US, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(varmix_init) arglist(Time, G, GV, US, param_file, diag, CS) [fd] fullname(mom_lateral_mixing_coeffs/varmix_init) ftype(None) [fd] name(('mom_lateral_mixing_coeffs/varmix_init', None)) sig(subroutine varmix_init(Time, G, GV, US, param_file, diag, CS)) signode(subroutine mom_lateral_mixing_coeffs/varmix_initTimeGGVUSparam_filediagCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 43%] api/generated/modules/mom_marine_ice [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_marine_i [app] emitting event: 'source-read'('api/generated/modules/mom_marine_ice', ['.. autodoxymodule:: mom_marine_ice\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_marine_ice.rst:1: input: .. autodoxymodule:: mom_marine_ice :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_marine_ice::marine_ice_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_marine_ice::iceberg_forces ~mom_marine_ice::iceberg_fluxes ~mom_marine_ice::marine_ice_init [debug] xpath(./compounddef/compoundname[text()="mom_marine_ice"]/..) match([('id', 'namespacemom__marine__ice'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_marine_ice module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_marine_ice', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_marine_ice' (exception was: ModuleNotFoundError("No module named 'mom_marine_ice'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_marine_ice::marine_ice_cs', , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_marine_ice::marine_ice_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_marine_ice::marine_ice_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_marine_ice::marine_ice_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_marine_ice::marine_ice_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_marine_ice::marine_ice_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_marine_ice::marine_ice_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_marine_ice::marine_ice_cs', , {'members': < [debug] members([('iceberg_forces', ), ('iceberg_fluxes', ), ('marine_ice_init', )]) [autodoc] module analyzer failed: error importing 'mom_marine_ice' (exception was: ModuleNotFoundError("No module named 'mom_marine_ice'")) [debug] DoxygenMethodDocumenter format_signature called ((G, forces, use_ice_shelf, sfc_state, time_step, CS)) [debug] add_directive_header sig((G, forces, use_ice_shelf, sfc_state, time_step, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine iceberg_forces) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'iceberg_forces', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_marine_ice::marine_ice_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_marine_ice::iceberg_forces ~mom_marine_ice::iceberg_fluxes ~mom_marine_ice::marine_ice_init .. _DETAmom_marine_ice: -------------------- Detailed Description -------------------- Routines incorporating the effects of marine ice (sea-ice and icebergs) into the ocean model dynamics and thermodynamics. ------------------ Type Documentation ------------------ .. f:type:: marine_ice_cs Control structure for MOM_marine_ice. :typefield real kv_iceberg: The viscosity of the icebergs [L4 Z-2 T-1 ~> m2 s-1] (for ice rigidity) :typefield real berg_area_threshold: Fraction of grid cell which iceberg must occupy so that fluxes below are set to zero. (0.5 is a good value to use.) Not applied for negative values. :typefield real latent_heat_fusion: Latent heat of fusion [Q ~> J kg-1]. :typefield real density_iceberg: A typical density of icebergs [R ~> kg m-3] (for ice rigidity) :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine iceberg_forces(G, forces, use_ice_shelf, sfc_state, time_step, CS) add_berg_flux_to_shelf adds rigidity and ice-area coverage due to icebergs to the forces type fields, and adds ice-areal coverage and modifies various thermodynamic fluxes due to the presence of icebergs. :param g: [inout] The ocean's grid structure :param forces: [inout] A structure with the driving mechanical forces :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param use_ice_shelf: [in] If true, this configuration uses ice shelves. :param time_step: [in] The coupling time step [s]. :param cs: Pointer to the control structure for MOM_marine_ice :callto: :f:func:`mom_domains::to_all ` :calledfrom: :f:func:`ocean_model_mod::update_ocean_model ` .. f:subroutine:: subroutine iceberg_fluxes(G, US, fluxes, use_ice_shelf, sfc_state, time_step, CS) iceberg_fluxes adds ice-area-coverage and modifies various thermodynamic fluxes due to the presence of icebergs. :param g: [inout] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param fluxes: [inout] A structure with pointers to themodynamic, tracer and mass exchange forcing fields :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param use_ice_shelf: [in] If true, this configuration uses ice shelves. :param time_step: [in] The coupling time step [s]. :param cs: Pointer to the control structure for MOM_marine_ice :calledfrom: :f:func:`ocean_model_mod::update_ocean_model ` .. f:subroutine:: subroutine marine_ice_init(Time, G, param_file, diag, CS) Initialize control structure for MOM_marine_ice. :param time: [in] Current model time :param g: [in] Ocean grid structure :param param_file: [in] Runtime parameter handles :param diag: [inout] Diagnostics control structure :param cs: Pointer to the control structure for MOM_marine_ice :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`ocean_model_mod::ocean_model_init ` [debug] xpath(./compounddef/compoundname[text()="mom_marine_ice::marine_ice_cs"]/..) match([('id', 'structmom__marine__ice_1_1marine__ice__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_marine_ice::marine_ice_cs', , {}, ['', 'C [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_marine_ice::marine_ice_cs', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_marine_ice::marine_ice_cs', , {}, ['', 'C [debug] DoxygenMethodDocumenter format_signature called ((G, forces, use_ice_shelf, sfc_state, time_step, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_marine_ice::iceberg_forces', , {}, ['', 'ad [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_marine_ice::iceberg_forces', , {}, ['', 'ad [debug] DoxygenMethodDocumenter format_signature called ((G, US, fluxes, use_ice_shelf, sfc_state, time_step, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_marine_ice::iceberg_fluxes', , {}, ['', 'ic [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_marine_ice::iceberg_fluxes', , {}, ['', 'ic [debug] DoxygenMethodDocumenter format_signature called ((Time, G, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_marine_ice::marine_ice_init', , {}, ['', 'I [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_marine_ice::marine_ice_init', , {}, ['', 'I [fd] run(.. f:type:: marine_ice_cs) [fd] sig(marine_ice_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(marine_ice_cs) arglist(None) [fd] fullname(mom_marine_ice/marine_ice_cs) ftype(None) [fd] name(('mom_marine_ice/marine_ice_cs', None)) sig(marine_ice_cs) signode(type mom_marine_ice/marine_ice_cs) [fd] run(.. f:subroutine:: subroutine iceberg_forces(G, forces, use_ice_shelf, sfc_state, time_step, CS)) [fd] sig(subroutine iceberg_forces(G, forces, use_ice_shelf, sfc_state, time_step, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(iceberg_forces) arglist(G, forces, use_ice_shelf, sfc_state, time_step, CS) [fd] fullname(mom_marine_ice/iceberg_forces) ftype(None) [fd] name(('mom_marine_ice/iceberg_forces', None)) sig(subroutine iceberg_forces(G, forces, use_ice_shelf, sfc_state, time_step, CS)) signode(subroutine mom_marine_ice/iceberg_forcesGforcesuse_ice_shelfsfc_statetime_stepCS) [fd] run(.. f:subroutine:: subroutine iceberg_fluxes(G, US, fluxes, use_ice_shelf, sfc_state, time_step, CS)) [fd] sig(subroutine iceberg_fluxes(G, US, fluxes, use_ice_shelf, sfc_state, time_step, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(iceberg_fluxes) arglist(G, US, fluxes, use_ice_shelf, sfc_state, time_step, CS) [fd] fullname(mom_marine_ice/iceberg_fluxes) ftype(None) [fd] name(('mom_marine_ice/iceberg_fluxes', None)) sig(subroutine iceberg_fluxes(G, US, fluxes, use_ice_shelf, sfc_state, time_step, CS)) signode(subroutine mom_marine_ice/iceberg_fluxesGUSfluxesuse_ice_shelfsfc_statetime_stepCS) [fd] run(.. f:subroutine:: subroutine marine_ice_init(Time, G, param_file, diag, CS)) [fd] sig(subroutine marine_ice_init(Time, G, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(marine_ice_init) arglist(Time, G, param_file, diag, CS) [fd] fullname(mom_marine_ice/marine_ice_init) ftype(None) [fd] name(('mom_marine_ice/marine_ice_init', None)) sig(subroutine marine_ice_init(Time, G, param_file, diag, CS)) signode(subroutine mom_marine_ice/marine_ice_initTimeGparam_filediagCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 43%] api/generated/modules/mom_meke [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_meke') [app] emitting event: 'source-read'('api/generated/modules/mom_meke', ['.. autodoxymodule:: mom_meke\n :members:\n :methods:\n :t [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_meke.rst:1: input: .. autodoxymodule:: mom_meke :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_meke::meke_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_meke::step_forward_meke ~mom_meke::meke_equilibrium ~mom_meke::meke_equilibrium_restoring ~mom_meke::meke_lengthscales ~mom_meke::meke_lengthscales_0d ~mom_meke::meke_init ~mom_meke::meke_alloc_register_restart ~mom_meke::meke_end [debug] xpath(./compounddef/compoundname[text()="mom_meke"]/..) match([('id', 'namespacemom__meke'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_meke module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_meke', , {'members': , {'members': ]) [debug] ref([('id', 'namespacemom__meke_1section_MEKE_diffusivity')]) [debug] refid2(section_MEKE_diffusivity) reftext(Diffusivity derived from MEKE) [debug] method=visit_formula [debug] method=visit_sect2 [debug] visit_sect id(namespacemom__meke_1section_MEKE_diffusivity) title(Diffusivity derived from MEKE) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_ref [debug] refid(namespacemom__thickness__diffuse) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__thickness__diffuse'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] method=visit_ref [debug] refid(namespacemom__tracer__hor__diff) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__tracer__hor__diff'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_sect2 [debug] visit_sect id(namespacemom__meke_1section_MEKE_viscosity) title(Viscosity derived from MEKE) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_sect2 [debug] visit_sect id(namespacemom__meke_1section_MEKE_limit_case) title(Limit cases for local source-dissipative balance) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_sect3 [debug] visit_sect id(namespacemom__meke_1section_MEKE_module_parameters) title(MEKE module parameters) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_table [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_table [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_sect2 [debug] visit_sect id(namespacemom__meke_1section_MEKE_references) title(References) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ndash [debug] method=visit_ulink [debug] method=visit_para [debug] method=visit_ndash [debug] method=visit_ulink [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_meke', , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_meke' (exception was: ModuleNotFoundError("No module named 'mom_meke'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_meke::meke_cs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('meke_equilibrium', ), ('meke_equilibrium_restoring', ), ('meke_lengthscales', ), ('meke_lengthscales_0d', ), ('meke_init', ), ('meke_alloc_register_restart', ), ('meke_end', )]) [autodoc] module analyzer failed: error importing 'mom_meke' (exception was: ModuleNotFoundError("No module named 'mom_meke'")) [debug] DoxygenMethodDocumenter format_signature called ((MEKE, h, SN_u, SN_v, visc, dt, G, GV, US, CS, hu, hv)) [debug] add_directive_header sig((MEKE, h, SN_u, SN_v, visc, dt, G, GV, US, CS, hu, hv)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine step_forward_meke) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__meke_1section_MEKE_equations) kindref(member) ref([]) [debug] ref([('id', 'namespacemom__meke_1section_MEKE_equations')]) [debug] refid2(section_MEKE_equations) reftext(MEKE equations) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'step_forward_meke', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'namespacemom__meke_1section_MEKE_equations')]) [debug] refid2(section_MEKE_equations) reftext(MEKE equations) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'meke_lengthscales', , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'namespacemom__meke_1section_MEKE_equations')]) [debug] refid2(section_MEKE_equations) reftext(MEKE equations) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'meke_lengthscales_0d', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_meke::meke_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_meke::step_forward_meke ~mom_meke::meke_equilibrium ~mom_meke::meke_equilibrium_restoring ~mom_meke::meke_lengthscales ~mom_meke::meke_lengthscales_0d ~mom_meke::meke_init ~mom_meke::meke_alloc_register_restart ~mom_meke::meke_end .. _DETAmom_meke: -------------------- Detailed Description -------------------- .. _namespacemom__meke_1section_MEKE: The Mesoscale Eddy Kinetic Energy (MEKE) framework ================================================== The MEKE framework accounts for the mean potential energy removed by the first order closures used to parameterize mesoscale eddies. It requires closure at the second order, namely dissipation and transport of eddy energy. Monitoring the sub-grid scale eddy energy budget provides a means to predict a sub-grid eddy-velocity scale which can be used in the lower order closures. .. _namespacemom__meke_1section_MEKE_equations: MEKE equations -------------- The eddy kinetic energy equation is: .. math:: \partial_{\tilde{t}} E = \overbrace{ \dot{E}_b + \gamma_\eta \dot{E}_\eta + \gamma_v \dot{E}_v }^\text{sources} - \overbrace{ ( \lambda + C_d | U_d | \gamma_b^2 ) E }^\text{local dissipation} + \overbrace{ \nabla \cdot ( ( \kappa_E + \gamma_M \kappa_M ) \nabla E - \kappa_4 \nabla^3 E ) }^\text{smoothing} where :math:`E` is the eddy kinetic energy (variable ``MEKE``) with units of m :superscript:`2`\ s :superscript:`-2`\ , and :math:`\tilde{t} = a t` is a scaled time. The non-dimensional factor :math:`a\geq 1` is used to accelerate towards equilibrium. The MEKE equation is two-dimensional and obtained by depth averaging the the three-dimensional eddy energy equation. In the following expressions :math:`\left< \phi \right> = \frac{1}{H} \int^\eta_{-D} \phi \, dz` maps three dimensional terms into the two-dimensional quantities needed. .. _namespacemom__meke_1section_MEKE_source_terms: MEKE source terms ^^^^^^^^^^^^^^^^^ The source term :math:`\dot{E}_b` is a constant background source of energy intended to avoid the limit :math:`E\rightarrow 0`. The "GM" source term .. math:: \dot{E}_\eta = - \left< \overline{w^\prime b^\prime} \right> = \left< \kappa_h N^2S^2 \right> \approx \left< \kappa_h g\prime |\nabla_\sigma \eta|^2 \right> equals the mean potential energy removed by the Gent-McWilliams closure, and is excluded/included in the MEKE budget by the efficiency parameter :math:`\gamma_\eta \in [0,1]`. The "frictional" source term .. math:: \dot{E}_{v} = \left< \partial_i u_j \tau_{ij} \right> equals the mean kinetic energy removed by lateral viscous fluxes, and is excluded/included in the MEKE budget by the efficiency parameter :math:`\gamma_v \in [0,1]`. .. _namespacemom__meke_1section_MEKE_dissipation_terms: MEKE dissipation terms ^^^^^^^^^^^^^^^^^^^^^^ The local dissipation of :math:`E` is parameterized through a linear damping, :math:`\lambda`, and bottom drag, :math:`C_d | U_d | \gamma_b^2`. The :math:`\gamma_b` accounts for the weak projection of the column-mean eddy velocty to the bottom. In other words, the bottom velocity is estimated as :math:`\gamma_b U_e`. The bottom drag coefficient, :math:`C_d` is the same as that used in the bottom friction in the mean model equations. The bottom drag velocity scale, :math:`U_d`, has contributions from the resolved state and :math:`E`: .. math:: U_d = \sqrt{ U_b^2 + |u|^2_{z=-D} + |\gamma_b U_e|^2 } . where the eddy velocity scale, :math:`U_e`, is given by: .. math:: U_e = \sqrt{ 2 E } . :math:`U_b` is a constant background bottom velocity scale and is typically not used (i.e. set to zero). Following Jansen et al., 2015, the projection of eddy energy on to the bottom is given by the ratio of bottom energy to column mean energy: .. math:: \gamma_b^2 = \frac{E_b}{E} = \gamma_{d0} + \left( 1 + c_{b} \frac{L_d}{L_f} \right)^{-\frac{4}{5}} , .. math:: \gamma_b^2 \leftarrow \max{\left( \gamma_b^2, \gamma_{min}^2 \right)} . .. _namespacemom__meke_1section_MEKE_smoothing: MEKE smoothing terms -------------------- :math:`E` is laterally diffused by a diffusivity :math:`\kappa_E + \gamma_M \kappa_M` where :math:`\kappa_E` is a constant diffusivity and the term :math:`\gamma_M \kappa_M` is a "self diffusion" using the diffusivity calculated in the section :ref:`Diffusivity derived from MEKE`. :math:`\kappa_4` is a constant bi-harmonic diffusivity. .. _namespacemom__meke_1section_MEKE_diffusivity: Diffusivity derived from MEKE ----------------------------- The predicted eddy velocity scale, :math:`U_e`, can be combined with a mixing length scale to form a diffusivity. The primary use of a MEKE derived diffusivity is for use in thickness diffusion (module :f:func:`mom_thickness_diffuse`) and optionally in along isopycnal mixing of tracers (module ) and optionally in along isopycnal mixing of tracers (module :f:func:`mom_tracer_hor_diff`). The original form used (enabled with MEKE_OLD_LSCALE=True):). The original form used (enabled with MEKE_OLD_LSCALE=True): .. math:: \kappa_M = \gamma_\kappa \sqrt{ \gamma_t^2 U_e^2 A_\Delta } where :math:`A_\Delta` is the area of the grid cell. Following Jansen et al., 2015, we now use .. math:: \kappa_M = \gamma_\kappa l_M \sqrt{ \gamma_t^2 U_e^2 } where :math:`\gamma_\kappa \in [0,1]` is a non-dimensional factor and, following Jansen et al., 2015, :math:`\gamma_t^2` is the ratio of barotropic eddy energy to column mean eddy energy given by .. math:: \gamma_t^2 = \frac{E_t}{E} = \left( 1 + c_{t} \frac{L_d}{L_f} \right)^{-\frac{1}{4}} , .. math:: \gamma_t^2 \leftarrow \max{\left( \gamma_t^2, \gamma_{min}^2 \right)} . The length-scale is a configurable combination of multiple length scales: .. math:: l_M = \left( \frac{\alpha_d}{L_d} + \frac{\alpha_f}{L_f} + \frac{\alpha_R}{L_R} + \frac{\alpha_e}{L_e} + \frac{\alpha_\Delta}{L_\Delta} + \frac{\delta[L_c]}{L_c} \right)^{-1} where .. math:: \begin{eqnarray*} L_d & = & \sqrt{\frac{c_g^2}{f^2+2\beta c_g}} \sim \frac{ c_g }{f} \\\\ L_R & = & \sqrt{\frac{U_e}{\beta^*}} \\\\ L_e & = & \frac{U_e}{|S| N} \\\\ L_f & = & \frac{H}{c_d} \\\\ L_\Delta & = & \sqrt{A_\Delta} . \end{eqnarray*} :math:`L_c` is a constant and :math:`\delta[L_c]` is the impulse function so that the term :math:`\frac{\delta[L_c]}{L_c}` evaluates to :math:`\frac{1}{L_c}` when :math:`L_c` is non-zero but is dropped if :math:`L_c=0`. :math:`\beta^*` is the effective :math:`\beta` that combines both the planetary vorticity gradient (i.e. :math:`\beta=\nabla f`) and the topographic :math:`\beta` effect, with the latter weighed by a weighting constant, :math:`c_\beta`, that varies from 0 to 1, so that :math:`c_\beta=0` means the topographic :math:`\beta` effect is ignored, while :math:`c_\beta=1` means it is fully considered. The new :math:`\beta^*` therefore takes the form of .. math:: \beta^* = \sqrt{( \partial_xf - c_\beta\frac{f}{D}\partial_xD )^2 + ( \partial_yf - c_\beta\frac{f}{D}\partial_yD )^2} where :math:`D` is water column depth at T points. .. _namespacemom__meke_1section_MEKE_viscosity: Viscosity derived from MEKE --------------------------- As for :math:`\kappa_M`, the predicted eddy velocity scale can be used to form a harmonic eddy viscosity, .. math:: \kappa_u = \gamma_u \sqrt{ U_e^2 A_\Delta } as well as a biharmonic eddy viscosity, .. math:: \kappa_4 = \gamma_4 \sqrt{ U_e^2 A_\Delta^3 } .. _namespacemom__meke_1section_MEKE_limit_case: Limit cases for local source-dissipative balance ------------------------------------------------ Note that in steady-state (or when :math:`a>>1`) and there is no diffusion of :math:`E` then .. math:: \overline{E} \approx \frac{ \dot{E}_b + \gamma_\eta \dot{E}_\eta + \gamma_v \dot{E}_v }{ \lambda + C_d|U_d|\gamma_b^2 } . In the linear drag limit, where :math:`U_e << \min(U_b, |u|_{z=-D}, C_d^{-1}\lambda)`, the equilibrium becomes :math:`\overline{E} \approx \frac{ \dot{E}_b + \gamma_\eta \dot{E}_\eta + \gamma_v \dot{E}_v }{ \lambda + C_d \sqrt{ U_b^2 + |u|^2_{z=-D} } }`. In the nonlinear drag limit, where :math:`U_e >> \max(U_b, |u|_{z=-D}, C_d^{-1}\lambda)`, the equilibrium becomes :math:`\overline{E} \approx \left( \frac{ \dot{E}_b + \gamma_\eta \dot{E}_\eta + \gamma_v \dot{E}_v }{ \sqrt{2} C_d \gamma_b^3 } \right)^\frac{2}{3}`. .. _namespacemom__meke_1section_MEKE_module_parameters: MEKE module parameters ^^^^^^^^^^^^^^^^^^^^^^ +------------------------+------------------------------+ | | | | Symbol | Module parameter | | | | +========================+==============================+ | | ``USE_MEKE`` | | - | | | | | +------------------------+------------------------------+ | | ``MEKE_DTSCALE`` | | :math:`a` | | | | | +------------------------+------------------------------+ | | ``MEKE_BGSRC`` | | :math:`\dot{E}_b` | | | | | +------------------------+------------------------------+ | | ``MEKE_GMCOEFF`` | | :math:`\gamma_\eta` | | | | | +------------------------+------------------------------+ | | ``MEKE_FrCOEFF`` | | :math:`\gamma_v` | | | | | +------------------------+------------------------------+ | | ``MEKE_DAMPING`` | | :math:`\lambda` | | | | | +------------------------+------------------------------+ | | ``MEKE_USCALE`` | | :math:`U_b` | | | | | +------------------------+------------------------------+ | | ``MEKE_CD_SCALE`` | | :math:`\gamma_{d0}` | | | | | +------------------------+------------------------------+ | | ``MEKE_CB`` | | :math:`c_{b}` | | | | | +------------------------+------------------------------+ | | ``MEKE_CT`` | | :math:`c_{t}` | | | | | +------------------------+------------------------------+ | | ``MEKE_KH`` | | :math:`\kappa_E` | | | | | +------------------------+------------------------------+ | | ``MEKE_K4`` | | :math:`\kappa_4` | | | | | +------------------------+------------------------------+ | | ``MEKE_KHCOEFF`` | | :math:`\gamma_\kappa` | | | | | +------------------------+------------------------------+ | | ``MEKE_KHMEKE_FAC`` | | :math:`\gamma_M` | | | | | +------------------------+------------------------------+ | | ``MEKE_VISCOSITY_COEFF_KU`` | | :math:`\gamma_u` | | | | | +------------------------+------------------------------+ | | ``MEKE_VISCOSITY_COEFF_AU`` | | :math:`\gamma_4` | | | | | +------------------------+------------------------------+ | | ``MEKE_MIN_GAMMA2`` | | :math:`\gamma_{min}^2` | | | | | +------------------------+------------------------------+ | | ``MEKE_ALPHA_DEFORM`` | | :math:`\alpha_d` | | | | | +------------------------+------------------------------+ | | ``MEKE_ALPHA_FRICT`` | | :math:`\alpha_f` | | | | | +------------------------+------------------------------+ | | ``MEKE_ALPHA_RHINES`` | | :math:`\alpha_R` | | | | | +------------------------+------------------------------+ | | ``MEKE_ALPHA_EADY`` | | :math:`\alpha_e` | | | | | +------------------------+------------------------------+ | | ``MEKE_ALPHA_GRID`` | | :math:`\alpha_\Delta` | | | | | +------------------------+------------------------------+ | | ``MEKE_FIXED_MIXING_LENGTH`` | | :math:`L_c` | | | | | +------------------------+------------------------------+ | | ``MEKE_TOPOGRAPHIC_BETA`` | | :math:`c_\beta` | | | | | +------------------------+------------------------------+ | | ``MEKE_KHTH_FAC`` | | - | | | | | +------------------------+------------------------------+ | | ``MEKE_KHTR_FAC`` | | - | | | | | +------------------------+------------------------------+ +-------------+--------------------+ | | | | Symbol | Model parameter | | | | +=============+====================+ | | ``CDRAG`` | | :math:`C_d` | | | | | +-------------+--------------------+ .. _namespacemom__meke_1section_MEKE_references: References ---------- Jansen, M. F., A. J. Adcroft, R. Hallberg, and I. M. Held, 2015: Parameterization of eddy fluxes based on a mesoscale energy budget. Ocean Modelling, 92, 2841, `http://doi.org/10.1016/j.ocemod.2015.05.007 `_ . Marshall, D. P., and A. J. Adcroft, 2010: Parameterization of ocean eddies: Potential vorticity mixing, energetics and Arnold first stability theorem. Ocean Modelling, 32, 188204, `http://doi.org/10.1016/j.ocemod.2010.02.001 `_ . ------------------ Type Documentation ------------------ .. f:type:: meke_cs Control structure that contains MEKE parameters and diagnostics handles. :typefield integer id_meke: Diagnostic handles. :typefield integer id_ue: Diagnostic handles. :typefield integer id_kh: Diagnostic handles. :typefield integer id_src: Diagnostic handles. :typefield integer id_ub: Diagnostic handles. :typefield integer id_ut: Diagnostic handles. :typefield integer id_gm_src: Diagnostic handles. :typefield integer id_mom_src: Diagnostic handles. :typefield integer id_gme_snk: Diagnostic handles. :typefield integer id_decay: Diagnostic handles. :typefield integer id_khmeke_u: Diagnostic handles. :typefield integer id_khmeke_v: Diagnostic handles. :typefield integer id_ku: Diagnostic handles. :typefield integer id_au: Diagnostic handles. :typefield integer id_le: Diagnostic handles. :typefield integer id_gamma_b: Diagnostic handles. :typefield integer id_gamma_t: Diagnostic handles. :typefield integer id_lrhines: Diagnostic handles. :typefield integer id_leady: Diagnostic handles. :typefield integer id_meke_equilibrium: Diagnostic handles. :typefield real(\:,\:) equilibrium_value [pointer]: The equilbrium value of MEKE to be calculated at each time step [L2 T-2 ~> m2 s-2]. :typefield real meke_frcoeff: Efficiency of conversion of ME into MEKE [nondim]. :typefield real meke_gmcoeff: Efficiency of conversion of PE into MEKE [nondim]. :typefield real meke_gmecoeff: Efficiency of conversion of MEKE into ME by GME [nondim]. :typefield real meke_damping: Local depth-independent MEKE dissipation rate [T-1 ~> s-1]. :typefield real meke_cd_scale: The ratio of the bottom eddy velocity to the column mean eddy velocity, i.e. sqrt(2*MEKE). This should be less than 1 to account for the surface intensification of MEKE. :typefield real meke_cb: Coefficient in the :typefield real meke_min_gamma: Minimum value of gamma_b^2 allowed [nondim]. :typefield real meke_ct: Coefficient in the :typefield logical visc_drag: If true use the vertvisc_type to calculate bottom drag. :typefield logical meke_geometric: If true, uses the GM coefficient formulation from the GEOMETRIC framework (Marshall et al., 2012) :typefield real meke_geometric_alpha: The nondimensional coefficient governing the efficiency of the GEOMETRIC thickness diffusion. :typefield logical meke_equilibrium_alt: If true, use an alternative calculation for the equilibrium value of MEKE. :typefield logical meke_equilibrium_restoring: If true, restore MEKE back to its equilibrium value, which is calculated at each time step. :typefield logical gm_src_alt: If true, use the GM energy conversion form S^2*N^2*kappa rather than the streamfunction for the MEKE GM source term. :typefield logical rd_as_max_scale: If true the length scale can not exceed the first baroclinic deformation radius. :typefield logical use_old_lscale: Use the old formula for mixing length scale. :typefield logical use_min_lscale: Use simple minimum for mixing length scale. :typefield real cdrag: The bottom drag coefficient for MEKE [nondim]. :typefield real meke_bgsrc: Background energy source for MEKE [L2 T-3 ~> W kg-1] (= m2 s-3). :typefield real meke_dtscale: Scale factor to accelerate time-stepping [nondim]. :typefield real meke_khcoeff: Scaling factor to convert MEKE into Kh [nondim]. :typefield real meke_uscale: MEKE velocity scale for bottom drag [L T-1 ~> m s-1]. :typefield real meke_kh: Background lateral diffusion of MEKE [L2 T-1 ~> m2 s-1]. :typefield real meke_k4: Background bi-harmonic diffusivity (of MEKE) [L4 T-1 ~> m4 s-1]. :typefield real khmeke_fac: A factor relating MEKEKh to the diffusivity used for MEKE itself [nondim]. :typefield real viscosity_coeff_ku: The scaling coefficient in the expression for viscosity used to parameterize lateral harmonic momentum mixing by unresolved eddies represented by MEKE. :typefield real viscosity_coeff_au: The scaling coefficient in the expression for viscosity used to parameterize lateral biharmonic momentum mixing by unresolved eddies represented by MEKE. :typefield real lfixed: Fixed mixing length scale [L ~> m]. :typefield real adeform: Weighting towards deformation scale of mixing length [nondim]. :typefield real arhines: Weighting towards Rhines scale of mixing length [nondim]. :typefield real africt: Weighting towards frictional arrest scale of mixing length [nondim]. :typefield real aeady: Weighting towards Eady scale of mixing length [nondim]. :typefield real agrid: Weighting towards grid scale of mixing length [nondim]. :typefield real meke_advection_factor: A scaling in front of the advection of MEKE [nondim]. :typefield real meke_topographic_beta: Weight for how much topographic beta is considered when computing beta in Rhines scale [nondim]. :typefield real meke_restoring_rate: Inverse of the timescale used to nudge MEKE toward its equilibrium value [s-1]. :typefield logical kh_flux_enabled: If true, lateral diffusive MEKE flux is enabled. :typefield logical initialize: If True, invokes a steady state solver to calculate MEKE. :typefield logical debug: If true, write out checksums of data for debugging. :typefield type(diag_ctrl) diag [pointer]: A type that regulates diagnostics output. :typefield integer id_clock_pass: Clock for group pass calls. :typefield type(group_pass_type) pass_meke: Group halo pass handle for MEKEMEKE and maybe MEKEKh_diff. :typefield type(group_pass_type) pass_kh: Group halo pass handle for MEKEKh, MEKEKu, and/or MEKEAu. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine step_forward_meke(MEKE, h, SN_u, SN_v, visc, dt, G, GV, US, CS, hu, hv) Integrates forward-in-time the MEKE eddy energy equation. See :ref:`MEKE equations`. :param meke: MEKE data. :param g: [inout] Ocean grid. :param gv: [in] Ocean vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [in] Layer thickness [H ~> m or kg m-2]. :param sn_u: [in] Eady growth rate at u-points [T-1 ~> s-1]. :param sn_v: [in] Eady growth rate at v-points [T-1 ~> s-1]. :param visc: [in] The vertical viscosity type. :param dt: [in] Model(baroclinic) time-step [T ~> s]. :param cs: MEKE control structure. :param hu: [in] Accumlated zonal mass flux [H L2 ~> m3 or kg]. :param hv: [in] Accumlated meridional mass flux [H L2 ~> m3 or kg] :callto: :f:func:`mom_domains::do_group_pass ` :callto: :f:func:`meke_equilibrium ` :callto: :f:func:`meke_equilibrium_restoring ` :callto: :f:func:`meke_lengthscales ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom::step_mom_dynamics ` .. f:subroutine:: subroutine meke_equilibrium(CS, MEKE, G, GV, US, SN_u, SN_v, drag_rate_visc, I_mass) Calculates the equilibrium solutino where the source depends only on MEKE diffusivity and there is no lateral diffusion of MEKE. Results is in MEKEMEKE. :param g: [inout] Ocean grid. :param gv: [in] Ocean vertical grid structure. :param us: [in] A dimensional unit scaling type :param cs: MEKE control structure. :param meke: A structure with MEKE data. :param sn_u: [in] Eady growth rate at u-points [T-1 ~> s-1]. :param sn_v: [in] Eady growth rate at v-points [T-1 ~> s-1]. :param drag_rate_visc: [in] Mean flow velocity contribution to the MEKE drag rate [L T-1 ~> m s-1] :param i_mass: [in] Inverse of column mass [R-1 Z-1 ~> m2 kg-1]. :callto: :f:func:`meke_lengthscales_0d ` :calledfrom: :f:func:`step_forward_meke ` .. f:subroutine:: subroutine meke_equilibrium_restoring(CS, G, US, SN_u, SN_v) :param g: [inout] Ocean grid. :param us: [in] A dimensional unit scaling type. :param cs: MEKE control structure. :param sn_u: [in] Eady growth rate at u-points [T-1 ~> s-1]. :param sn_v: [in] Eady growth rate at v-points [T-1 ~> s-1]. :calledfrom: :f:func:`step_forward_meke ` .. f:subroutine:: subroutine meke_lengthscales(CS, MEKE, G, GV, US, SN_u, SN_v, EKE, bottomFac2, barotrFac2, LmixScale) Calculates the eddy mixing length scale and :math:`\gamma_b` and :math:`\gamma_t` functions that are ratios of either bottom or barotropic eddy energy to the column eddy energy, respectively. See :ref:`MEKE equations`. :param cs: MEKE control structure. :param meke: MEKE data. :param g: [inout] Ocean grid. :param gv: [in] Ocean vertical grid structure. :param us: [in] A dimensional unit scaling type :param sn_u: [in] Eady growth rate at u-points [T-1 ~> s-1]. :param sn_v: [in] Eady growth rate at v-points [T-1 ~> s-1]. :param eke: [in] Eddy kinetic energy [L2 T-2 ~> m2 s-2]. :param bottomfac2: [out] gamma_b^2 :param barotrfac2: [out] gamma_t^2 :param lmixscale: [out] Eddy mixing length [L ~> m]. :callto: :f:func:`meke_lengthscales_0d ` :calledfrom: :f:func:`step_forward_meke ` .. f:subroutine:: subroutine meke_lengthscales_0d(CS, US, area, beta, depth, Rd_dx, SN, EKE, bottomFac2, barotrFac2, LmixScale, Lrhines, Leady) Calculates the eddy mixing length scale and :math:`\gamma_b` and :math:`\gamma_t` functions that are ratios of either bottom or barotropic eddy energy to the column eddy energy, respectively. See :ref:`MEKE equations`. :param cs: MEKE control structure. :param us: [in] A dimensional unit scaling type :param area: [in] Grid cell area [L2 ~> m2] :param beta: [in] Planetary beta = :math:`\nabla f` [T-1 L-1 ~> s-1 m-1] :param depth: [in] Ocean depth [Z ~> m] :param rd_dx: [in] Resolution Ld/dx [nondim]. :param sn: [in] Eady growth rate [T-1 ~> s-1]. :param eke: [in] Eddy kinetic energy [L2 T-2 ~> m2 s-2]. :param bottomfac2: [out] gamma_b^2 :param barotrfac2: [out] gamma_t^2 :param lmixscale: [out] Eddy mixing length [L ~> m]. :param lrhines: [out] Rhines length scale [L ~> m]. :param leady: [out] Eady length scale [L ~> m]. :calledfrom: :f:func:`meke_equilibrium ` :calledfrom: :f:func:`meke_lengthscales ` .. f:function:: logical function meke_init(Time, G, US, param_file, diag, CS, MEKE, restart_CS) Initializes the MOM_MEKE module and reads parameters. Returns True if module is to be used, otherwise returns False. :param time: [in] The current model time. :param g: [inout] The ocean's grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] Parameter file parser structure. :param diag: [inout] Diagnostics structure. :param cs: MEKE control structure. :param meke: MEKE-related fields. :param restart_cs: Restart control structure for MOM_MEKE. :callto: :f:func:`mom_cpu_clock::cpu_clock_id ` :callto: :f:func:`mom_domains::do_group_pass ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine meke_alloc_register_restart(HI, param_file, MEKE, restart_CS) Allocates memory and register restart fields for the MOM_MEKE module. :param hi: [in] Horizontal index structure :param param_file: [in] Parameter file parser structure. :param meke: A structure with MEKE-related fields. :param restart_cs: Restart control structure for MOM_MEKE. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`mom_io::var_desc ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine meke_end(MEKE, CS) Deallocates any variables allocated in MEKE_init or MEKE_alloc_register_restart. :param meke: A structure with MEKE-related fields. :param cs: The control structure for MOM_MEKE. [debug] xpath(./compounddef/compoundname[text()="mom_meke::meke_cs"]/..) match([('id', 'structmom__meke_1_1meke__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_meke::meke_cs', , {}, ['', 'Control struc [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_meke::meke_cs', , {}, ['`More... , {}, ['', 'Control struc [debug] DoxygenMethodDocumenter format_signature called ((MEKE, h, SN_u, SN_v, visc, dt, G, GV, US, CS, hu, hv)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__meke_1section_MEKE_equations) kindref(member) ref([]) [debug] ref([('id', 'namespacemom__meke_1section_MEKE_equations')]) [debug] refid2(section_MEKE_equations) reftext(MEKE equations) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_meke::step_forward_meke', , {}, ['', 'Integ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_meke::step_forward_meke', , {}, ['', 'Integ [debug] DoxygenMethodDocumenter format_signature called ((CS, MEKE, G, GV, US, SN_u, SN_v, drag_rate_visc, I_mass)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_meke::meke_equilibrium', , {}, ['', 'Calcul [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_meke::meke_equilibrium', , {}, ['', 'Calcul [debug] DoxygenMethodDocumenter format_signature called ((CS, G, US, SN_u, SN_v)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_meke::meke_equilibrium_restoring', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_meke::meke_equilibrium_restoring', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((CS, MEKE, G, GV, US, SN_u, SN_v, EKE, bottomFac2, barotrFac2, LmixScale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_ref [debug] refid(namespacemom__meke_1section_MEKE_equations) kindref(member) ref([]) [debug] ref([('id', 'namespacemom__meke_1section_MEKE_equations')]) [debug] refid2(section_MEKE_equations) reftext(MEKE equations) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_meke::meke_lengthscales', , {}, ['', 'Calcu [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_meke::meke_lengthscales', , {}, ['', 'Calcu [debug] DoxygenMethodDocumenter format_signature called ((CS, US, area, beta, depth, Rd_dx, SN, EKE, bottomFac2, barotrFac2, LmixScale, Lrhines, Leady)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_ref [debug] refid(namespacemom__meke_1section_MEKE_equations) kindref(member) ref([]) [debug] ref([('id', 'namespacemom__meke_1section_MEKE_equations')]) [debug] refid2(section_MEKE_equations) reftext(MEKE equations) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_meke::meke_lengthscales_0d', , {}, ['', 'Ca [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_meke::meke_lengthscales_0d', , {}, ['', 'Ca [debug] DoxygenMethodDocumenter format_signature called ((Time, G, US, param_file, diag, CS, MEKE, restart_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_meke::meke_init', , {}, ['', 'Initializes t [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_meke::meke_init', , {}, ['', 'Initializes t [debug] DoxygenMethodDocumenter format_signature called ((HI, param_file, MEKE, restart_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_meke::meke_alloc_register_restart', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_meke::meke_alloc_register_restart', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((MEKE, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_meke::meke_end', , {}, ['', 'Deallocates an [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_meke::meke_end', , {}, ['', 'Deallocates an [fd] run(.. f:type:: meke_cs) [fd] sig(meke_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(meke_cs) arglist(None) [fd] fullname(mom_meke/meke_cs) ftype(None) [fd] name(('mom_meke/meke_cs', None)) sig(meke_cs) signode(type mom_meke/meke_cs) [fd] run(.. f:subroutine:: subroutine step_forward_meke(MEKE, h, SN_u, SN_v, visc, dt, G, GV, US, CS, hu, hv)) [fd] sig(subroutine step_forward_meke(MEKE, h, SN_u, SN_v, visc, dt, G, GV, US, CS, hu, hv)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(step_forward_meke) arglist(MEKE, h, SN_u, SN_v, visc, dt, G, GV, US, CS, hu, hv) [fd] fullname(mom_meke/step_forward_meke) ftype(None) [fd] name(('mom_meke/step_forward_meke', None)) sig(subroutine step_forward_meke(MEKE, h, SN_u, SN_v, visc, dt, G, GV, US, CS, hu, hv)) signode(subroutine mom_meke/step_forward_mekeMEKEhSN_uSN_vviscdtGGVUSCShuhv) [fd] run(.. f:subroutine:: subroutine meke_equilibrium(CS, MEKE, G, GV, US, SN_u, SN_v, drag_rate_visc, I_mass)) [fd] sig(subroutine meke_equilibrium(CS, MEKE, G, GV, US, SN_u, SN_v, drag_rate_visc, I_mass)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(meke_equilibrium) arglist(CS, MEKE, G, GV, US, SN_u, SN_v, drag_rate_visc, I_mass) [fd] fullname(mom_meke/meke_equilibrium) ftype(None) [fd] name(('mom_meke/meke_equilibrium', None)) sig(subroutine meke_equilibrium(CS, MEKE, G, GV, US, SN_u, SN_v, drag_rate_visc, I_mass)) signode(subroutine mom_meke/meke_equilibriumCSMEKEGGVUSSN_uSN_vdrag_rate_viscI_mass) [fd] run(.. f:subroutine:: subroutine meke_equilibrium_restoring(CS, G, US, SN_u, SN_v)) [fd] sig(subroutine meke_equilibrium_restoring(CS, G, US, SN_u, SN_v)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(meke_equilibrium_restoring) arglist(CS, G, US, SN_u, SN_v) [fd] fullname(mom_meke/meke_equilibrium_restoring) ftype(None) [fd] name(('mom_meke/meke_equilibrium_restoring', None)) sig(subroutine meke_equilibrium_restoring(CS, G, US, SN_u, SN_v)) signode(subroutine mom_meke/meke_equilibrium_restoringCSGUSSN_uSN_v) [fd] run(.. f:subroutine:: subroutine meke_lengthscales(CS, MEKE, G, GV, US, SN_u, SN_v, EKE, bottomFac2, barotrFac2, LmixScale)) [fd] sig(subroutine meke_lengthscales(CS, MEKE, G, GV, US, SN_u, SN_v, EKE, bottomFac2, barotrFac2, LmixScale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(meke_lengthscales) arglist(CS, MEKE, G, GV, US, SN_u, SN_v, EKE, bottomFac2, barotrFac2, LmixScale) [fd] fullname(mom_meke/meke_lengthscales) ftype(None) [fd] name(('mom_meke/meke_lengthscales', None)) sig(subroutine meke_lengthscales(CS, MEKE, G, GV, US, SN_u, SN_v, EKE, bottomFac2, barotrFac2, LmixScale)) signode(subroutine mom_meke/meke_lengthscalesCSMEKEGGVUSSN_uSN_vEKEbottomFac2barotrFac2LmixScale) [fd] run(.. f:subroutine:: subroutine meke_lengthscales_0d(CS, US, area, beta, depth, Rd_dx, SN, EKE, bottomFac2, barotrFac2, LmixScale, Lrhines, Leady)) [fd] sig(subroutine meke_lengthscales_0d(CS, US, area, beta, depth, Rd_dx, SN, EKE, bottomFac2, barotrFac2, LmixScale, Lrhines, Leady)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(meke_lengthscales_0d) arglist(CS, US, area, beta, depth, Rd_dx, SN, EKE, bottomFac2, barotrFac2, LmixScale, Lrhines, Leady) [fd] fullname(mom_meke/meke_lengthscales_0d) ftype(None) [fd] name(('mom_meke/meke_lengthscales_0d', None)) sig(subroutine meke_lengthscales_0d(CS, US, area, beta, depth, Rd_dx, SN, EKE, bottomFac2, barotrFac2, LmixScale, Lrhines, Leady)) signode(subroutine mom_meke/meke_lengthscales_0dCSUSareabetadepthRd_dxSNEKEbottomFac2barotrFac2LmixScaleLrhinesLeady) [fd] run(.. f:function:: logical function meke_init(Time, G, US, param_file, diag, CS, MEKE, restart_CS)) [fd] sig(logical function meke_init(Time, G, US, param_file, diag, CS, MEKE, restart_CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(meke_init) arglist(Time, G, US, param_file, diag, CS, MEKE, restart_CS) [fd] fullname(mom_meke/meke_init) ftype(logical) [fd] name(('mom_meke/meke_init', 'logical')) sig(logical function meke_init(Time, G, US, param_file, diag, CS, MEKE, restart_CS)) signode(function mom_meke/meke_initTimeGUSparam_filediagCSMEKErestart_CS [logical]) [fd] run(.. f:subroutine:: subroutine meke_alloc_register_restart(HI, param_file, MEKE, restart_CS)) [fd] sig(subroutine meke_alloc_register_restart(HI, param_file, MEKE, restart_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(meke_alloc_register_restart) arglist(HI, param_file, MEKE, restart_CS) [fd] fullname(mom_meke/meke_alloc_register_restart) ftype(None) [fd] name(('mom_meke/meke_alloc_register_restart', None)) sig(subroutine meke_alloc_register_restart(HI, param_file, MEKE, restart_CS)) signode(subroutine mom_meke/meke_alloc_register_restartHIparam_fileMEKErestart_CS) [fd] run(.. f:subroutine:: subroutine meke_end(MEKE, CS)) [fd] sig(subroutine meke_end(MEKE, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(meke_end) arglist(MEKE, CS) [fd] fullname(mom_meke/meke_end) ftype(None) [fd] name(('mom_meke/meke_end', None)) sig(subroutine meke_end(MEKE, CS)) signode(subroutine mom_meke/meke_endMEKECS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 44%] api/generated/modules/mom_meke_types [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_meke_typ [app] emitting event: 'source-read'('api/generated/modules/mom_meke_types', ['.. autodoxymodule:: mom_meke_types\n :members:\n :typ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_meke_types.rst:1: input: .. autodoxymodule:: mom_meke_types :members: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_meke_types::meke_type [debug] xpath(./compounddef/compoundname[text()="mom_meke_types"]/..) match([('id', 'namespacemom__meke__types'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_meke_types module reference [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_meke_types', , {'members': , {'members': , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_meke_types' (exception was: ModuleNotFoundError("No module named 'mom_meke_types'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_meke_types::meke_type', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `More... `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_meke_types::meke_type .. _DETAmom_meke_types: -------------------- Detailed Description -------------------- ------------------ Type Documentation ------------------ .. f:type:: meke_type This type is used to exchange information related to the MEKE calculations. :typefield real(\:,\:) meke [pointer]: Vertically averaged eddy kinetic energy [L2 T-2 ~> m2 s-2]. :typefield real(\:,\:) gm_src [pointer]: MEKE source due to thickness mixing (GM) [R Z L2 T-3 ~> W m-2]. :typefield real(\:,\:) mom_src [pointer]: MEKE source from lateral friction in the momentum equations [R Z L2 T-3 ~> W m-2]. :typefield real(\:,\:) gme_snk [pointer]: MEKE sink from GME backscatter in the momentum equations [R Z L2 T-3 ~> W m-2]. :typefield real(\:,\:) kh [pointer]: The MEKE-derived lateral mixing coefficient [L2 T-1 ~> m2 s-1]. :typefield real(\:,\:) kh_diff [pointer]: Uses the non-MEKE-derived thickness diffusion coefficient to diffuse. :typefield real(\:,\:) rd_dx_h [pointer]: The deformation radius compared with the grid spacing [nondim]. :typefield real(\:,\:) ku [pointer]: The MEKE-derived lateral viscosity coefficient [L2 T-1 ~> m2 s-1]. This viscosity can be negative when representing backscatter from unresolved eddies (see Jansen and Held, 2014). :typefield real(\:,\:) au [pointer]: The MEKE-derived lateral biharmonic viscosity coefficient [L4 T-1 ~> m4 s-1]. :typefield real khth_fac: Multiplier to map Kh(MEKE) to KhTh [nondim]. :typefield real khtr_fac: Multiplier to map Kh(MEKE) to KhTr [nondim]. :typefield real backscatter_ro_pow: Power in Rossby number function for backscatter. :typefield real backscatter_ro_c: Coefficient in Rossby number function for backscatter. [debug] xpath(./compounddef/compoundname[text()="mom_meke_types::meke_type"]/..) match([('id', 'structmom__meke__types_1_1meke__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_meke_types::meke_type', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_meke_types::meke_type', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_meke_types::meke_type', , {}, ['', 'This [fd] run(.. f:type:: meke_type) [fd] sig(meke_type) [fd] ftype(None) objtype(None) modname(None) typename() name(meke_type) arglist(None) [fd] fullname(mom_meke_types/meke_type) ftype(None) [fd] name(('mom_meke_types/meke_type', None)) sig(meke_type) signode(type mom_meke_types/meke_type) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [app] emitting event: 'doctree-read'(>,) reading sources... [ 44%] api/generated/modules/mom_mixed_layer_restrat [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_mixed_la [app] emitting event: 'source-read'('api/generated/modules/mom_mixed_layer_restrat', ['.. autodoxymodule:: mom_mixed_layer_restrat\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_mixed_layer_restrat.rst:1: input: .. autodoxymodule:: mom_mixed_layer_restrat :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_mixed_layer_restrat::mixedlayer_restrat_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_mixed_layer_restrat::mixedlayer_restrat ~mom_mixed_layer_restrat::mixedlayer_restrat_general ~mom_mixed_layer_restrat::mixedlayer_restrat_bml ~mom_mixed_layer_restrat::mixedlayer_restrat_init ~mom_mixed_layer_restrat::mixedlayer_restrat_register_restarts [debug] xpath(./compounddef/compoundname[text()="mom_mixed_layer_restrat"]/..) match([('id', 'namespacemom__mixed__layer__restrat'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_mixed_layer_restrat module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_mixed_layer_restrat', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_mixed_layer_restrat' (exception was: ModuleNotFoundError("No module named 'mom_mixed_layer_restrat'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_mixed_layer_restrat::mixedlayer_restrat_cs', ]) [debug] ref([('id', 'namespacemom__mixed__layer__restrat'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_mixed_layer_restrat::mixedlayer_restrat_cs', ), ('mixedlayer_restrat_general', ), ('mixedlayer_restrat_bml', ), ('mixedlayer_restrat_init', ), ('mixedlayer_restrat_register_restarts', )]) [autodoc] module analyzer failed: error importing 'mom_mixed_layer_restrat' (exception was: ModuleNotFoundError("No module named 'mom_mixed_layer_restrat'")) [debug] DoxygenMethodDocumenter format_signature called ((h, uhtr, vhtr, tv, forces, dt, MLD, VarMix, G, GV, US, CS)) [debug] add_directive_header sig((h, uhtr, vhtr, tv, forces, dt, MLD, VarMix, G, GV, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine mixedlayer_restrat) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mixedlayer_restrat', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mixedlayer_restrat_register_restarts', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mixedlayer_restrat_register_restarts', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mixedlayer_restrat_register_restarts', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mixedlayer_restrat_register_restarts', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mixedlayer_restrat_register_restarts', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mixedlayer_restrat_register_restarts', , {'memb [autodoc] output: ======================================== mom_mixed_layer_restrat module reference ======================================== .. f:module:: mom_mixed_layer_restrat Parameterization of mixed layer restratification by unresolved mixed-layer eddies. `More... `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_mixed_layer_restrat::mixedlayer_restrat_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_mixed_layer_restrat::mixedlayer_restrat ~mom_mixed_layer_restrat::mixedlayer_restrat_general ~mom_mixed_layer_restrat::mixedlayer_restrat_bml ~mom_mixed_layer_restrat::mixedlayer_restrat_init ~mom_mixed_layer_restrat::mixedlayer_restrat_register_restarts .. _DETAmom_mixed_layer_restrat: -------------------- Detailed Description -------------------- .. _namespacemom__mixed__layer__restrat_1section_mle: Mixed-layer eddy parameterization module ======================================== The subroutines in this file implement a parameterization of unresolved viscous mixed layer restratification of the mixed layer as described in Fox-Kemper et al., 2008, and whose impacts are described in Fox-Kemper et al., 2011. This is derived in part from the older parameterization that is described in Hallberg (Aha Hulikoa, 2003), which this new parameterization surpasses, which in turn is based on the sub-inertial mixed layer theory of Young (JPO, 1994). There is no net horizontal volume transport due to this parameterization, and no direct effect below the mixed layer. This parameterization sets the restratification timescale to agree with high-resolution studies of mixed layer restratification. The run-time parameter FOX_KEMPER_ML_RESTRAT_COEF is a non-dimensional number of order a few tens, proportional to the ratio of the deformation radius or the grid scale (whichever is smaller to the dominant horizontal length-scale of the sub-meso-scale mixed layer instabilities. .. _namespacemom__mixed__layer__restrat_1section_mle_nutshell: "Sub-meso" in a nutshell ------------------------ The parameterization is colloquially referred to as "sub-meso". The original Fox-Kemper et al., (2008b) paper proposed a quasi-Stokes advection described by the stream function (eq. 5 of Fox-Kemper et al., 2011): .. math:: {\bf \Psi}_o = C_e \frac{ H^2 \nabla \bar{b} \times \hat{\bf z} }{ |f| } \mu(z) where the vertical profile function is .. math:: \mu(z) = \max \left\{ 0, \left[ 1 - \left(\frac{2z}{H}+1\right)^2 \right] \left[ 1 + \frac{5}{21} \left(\frac{2z}{H}+1\right)^2 \right] \right\} and :math:`H` is the mixed-layer depth, :math:`f` is the local Coriolis parameter, :math:`C_e \sim 0.06-0.08` and :math:`\nabla \bar{b}` is a depth mean buoyancy gradient averaged over the mixed layer. For use in coarse-resolution models, an upscaling of the buoyancy gradients and adaption for the equator leads to the following parameterization (eq. 6 of Fox-Kemper et al., 2011): .. math:: {\bf \Psi} = C_e \Gamma_\Delta \frac{\Delta s}{l_f} \frac{ H^2 \nabla \bar{b} \times \hat{\bf z} } { \sqrt{ f^2 + \tau^{-2}} } \mu(z) where :math:`\Delta s` is the minimum of grid-scale and deformation radius, :math:`l_f` is the width of the mixed-layer fronts, and :math:`\Gamma_\Delta=1`. :math:`\tau` is a time-scale for mixing momentum across the mixed layer. :math:`l_f` is thought to be of order hundreds of meters. The upscaling factor :math:`\frac{\Delta s}{l_f}` can be a global constant, model parameter FOX_KEMPER_ML_RESTRAT, so that in practice the parameterization is: .. math:: {\bf \Psi} = C_e \Gamma_\Delta \frac{ H^2 \nabla \bar{b} \times \hat{\bf z} }{ \sqrt{ f^2 + \tau^{-2}} } \mu(z) with non-unity :math:`\Gamma_\Delta`. :math:`C_e` is hard-coded as 0.0625. :math:`\tau` is calculated from the surface friction velocity :math:`u^*`. .. admonition:: Todo Explain expression for momentum mixing time-scale. .. _namespacemom__mixed__layer__restrat_1section_mle_filtering: Time-filtering of mixed-layer depth ----------------------------------- Using the instantaneous mixed-layer depth is inconsistent with the finite life-time of mixed-layer instabilities. We provide a one-sided running-mean filter of mixed-layer depth, :math:`H`, of the form: .. math:: \bar{H} \leftarrow \max \left( H, \frac{ \Delta t H + \tau_h \bar{H} }{ \Delta t + \tau_h } \right) which allows the effective mixed-layer depth seen by the parameterization, :math:`\bar{H}`, to instantaneously deepen but to decay with time-scale :math:`\tau_h`. :math:`\bar{H}` is substituted for :math:`H` in the above equations. .. _namespacemom__mixed__layer__restrat_1section_mle_mld: Defining the mixed-layer-depth ------------------------------ If the parameter MLE_USE_PBL_MLD=True then the mixed-layer depth is defined/diagnosed by the boundary-layer parameterization (e.g. ePBL, KPP, etc.). If the parameter MLE_USE_PBL_MLD=False then the mixed-layer depth is diagnosed in this module as the depth of a given density difference, :math:`\Delta \rho`, with the surface where the density difference is the parameter MLE_DENSITY_DIFF. .. _namespacemom__mixed__layer__restrat_1section_mle_ref: References ---------- Fox-Kemper, B., Ferrari, R. and Hallberg, R., 2008: Parameterization of Mixed Layer Eddies. Part I: Theory and Diagnosis J. Phys. Oceangraphy, 38 (6), p1145-1165. `https://doi.org/10.1175/2007JPO3792.1 `_ Fox-Kemper, B. and Ferrari, R. 2008: Parameterization of Mixed Layer Eddies. Part II: Prognosis and Impact J. Phys. Oceangraphy, 38 (6), p1166-1179. `https://doi.org/10.1175/2007JPO3788.1 `_ B. Fox-Kemper, G. Danabasoglu, R. Ferrari, S.M. Griffies, R.W. Hallberg, M.M. Holland, M.E. Maltrud, S. Peacock, and B.L. Samuels, 2011: Parameterization of mixed layer eddies. III: Implementation and impact in global ocean climate simulations. Ocean Modell., 39(1), p61-78. `https://doi.org/10.1016/j.ocemod.2010.09.002 `_ +-----------------------+--------------------------+ | | | | Symbol | Module parameter | | | | +=======================+==========================+ | | | | :math:`\Gamma_\Delta` | FOX_KEMPER_ML_RESTRAT | | | | +-----------------------+--------------------------+ | | | | :math:`l_f` | MLE_FRONT_LENGTH | | | | +-----------------------+--------------------------+ | | | | :math:`\tau_h` | MLE_MLD_DECAY_TIME | | | | +-----------------------+--------------------------+ | | | | :math:`\Delta \rho` | MLE_DENSITY_DIFF | | | | +-----------------------+--------------------------+ ------------------ Type Documentation ------------------ .. f:type:: mixedlayer_restrat_cs Control structure for :f:func:`mom_mixed_layer_restrat`. . :typefield integer id_urestrat_time: Diagnostic identifier. :typefield integer id_vrestrat_time: Diagnostic identifier. :typefield integer id_uhml: Diagnostic identifier. :typefield integer id_vhml: Diagnostic identifier. :typefield integer id_mld: Diagnostic identifier. :typefield integer id_rml: Diagnostic identifier. :typefield integer id_udml: Diagnostic identifier. :typefield integer id_vdml: Diagnostic identifier. :typefield integer id_uml: Diagnostic identifier. :typefield integer id_vml: Diagnostic identifier. :typefield real ml_restrat_coef: A non-dimensional factor by which the instability is enhanced over what would be predicted based on the resolved gradients [nondim]. This increases with grid spacing^2, up to something of order 500. :typefield real ml_restrat_coef2: As for ml_restrat_coef but using the slow filtered MLD [nondim]. :typefield real front_length: If non-zero, is the frontal-length scale [L ~> m] used to calculate the upscaling of buoyancy gradients that is otherwise represented by the parameter FOX_KEMPER_ML_RESTRAT_COEF. If MLE_FRONT_LENGTH is non-zero, it is recommended to set FOX_KEMPER_ML_RESTRAT_COEF=1.0. :typefield logical mle_use_pbl_mld: If true, use the MLD provided by the PBL parameterization. if false, MLE will calculate a MLD based on a density difference based on the parameter MLE_DENSITY_DIFF. :typefield real mle_mld_decay_time: Time-scale to use in a running-mean when MLD is retreating [T ~> s]. :typefield real mle_mld_decay_time2: Time-scale to use in a running-mean when filtered MLD is retreating [T ~> s]. :typefield real mle_density_diff: Density difference used in detecting mixed-layer depth [R ~> kg m-3]. :typefield real mle_tail_dh: Fraction by which to extend the mixed-layer restratification depth used for a smoother stream function at the base of the mixed-layer [nondim]. :typefield real mle_mld_stretch: A scaling coefficient for stretching/shrinking the MLD used in the MLE scheme [nondim]. This simply multiplies MLD wherever used. :typefield logical debug: If true, calculate checksums of fields for debugging. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield real(\:,\:) mld_filtered [pointer]: Time-filtered MLD [H ~> m or kg m-2]. :typefield real(\:,\:) mld_filtered_slow [pointer]: Slower time-filtered MLD [H ~> m or kg m-2]. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine mixedlayer_restrat(h, uhtr, vhtr, tv, forces, dt, MLD, VarMix, G, GV, US, CS) Driver for the mixed-layer restratification parameterization. The code branches between two different implementations depending on whether the bulk-mixed layer or a general coordinate are in use. :param g: [inout] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [inout] Layer thickness [H ~> m or kg m-2] :param uhtr: [inout] Accumulated zonal mass flux [H L2 ~> m3 or kg] :param vhtr: [inout] Accumulated meridional mass flux [H L2 ~> m3 or kg] :param tv: [in] Thermodynamic variables structure :param forces: [in] A structure with the driving mechanical forces :param dt: [in] Time increment [T ~> s] :param mld: Mixed layer depth provided by the PBL scheme [Z ~> m] :param varmix: Container for derived fields :param cs: Module control structure :callto: :f:func:`mixedlayer_restrat_bml ` :callto: :f:func:`mixedlayer_restrat_general ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine mixedlayer_restrat_general(h, uhtr, vhtr, tv, forces, dt, MLD_in, VarMix, G, GV, US, CS) Calculates a restratifying flow in the mixed layer. :param g: [inout] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [inout] Layer thickness [H ~> m or kg m-2] :param uhtr: [inout] Accumulated zonal mass flux [H L2 ~> m3 or kg] :param vhtr: [inout] Accumulated meridional mass flux [H L2 ~> m3 or kg] :param tv: [in] Thermodynamic variables structure :param forces: [in] A structure with the driving mechanical forces :param dt: [in] Time increment [T ~> s] :param mld_in: Mixed layer depth provided by the PBL scheme [Z ~> m] (not H) :param varmix: Container for derived fields :param cs: Module control structure :callto: :f:func:`mom_diag_mediator::diag_update_remap_grids ` :callto: :f:func:`mom_eos::eos_domain ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mixedlayer_restrat ` .. f:subroutine:: subroutine mixedlayer_restrat_bml(h, uhtr, vhtr, tv, forces, dt, G, GV, US, CS) Calculates a restratifying flow assuming a 2-layer bulk mixed layer. :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [inout] Layer thickness [H ~> m or kg m-2] :param uhtr: [inout] Accumulated zonal mass flux [H L2 ~> m3 or kg] :param vhtr: [inout] Accumulated meridional mass flux [H L2 ~> m3 or kg] :param tv: [in] Thermodynamic variables structure :param forces: [in] A structure with the driving mechanical forces :param dt: [in] Time increment [T ~> s] :param cs: Module control structure :callto: :f:func:`mom_diag_mediator::diag_update_remap_grids ` :callto: :f:func:`mom_eos::eos_domain ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mixedlayer_restrat ` .. f:function:: logical function mixedlayer_restrat_init(Time, G, GV, US, param_file, diag, CS, restart_CS) Initialize the mixed layer restratification module. :param time: [in] Current model time :param g: [inout] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] Parameter file to parse :param diag: [inout] Regulate diagnostics :param cs: Module control structure :param restart_cs: A pointer to the restart control structure :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mixedlayer_restrat_register_restarts ` .. f:subroutine:: subroutine mixedlayer_restrat_register_restarts(HI, param_file, CS, restart_CS) Allocate and register fields in the mixed layer restratification structure for restarts. :param hi: [in] Horizontal index structure :param param_file: [in] Parameter file to parse :param cs: Module control structure :param restart_cs: A pointer to the restart control structure :callto: :f:func:`mdl ` :callto: :f:func:`mixedlayer_restrat_init ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_io::var_desc ` :calledfrom: :f:func:`mom::initialize_mom ` [debug] xpath(./compounddef/compoundname[text()="mom_mixed_layer_restrat::mixedlayer_restrat_cs"]/..) match([('id', 'structmom__mixed__layer__restrat_1_1mixedlayer__restrat__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__mixed__layer__restrat) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__mixed__layer__restrat'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_mixed_layer_restrat::mixedlayer_restrat_cs', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_mixed_layer_restrat::mixedlayer_restrat', , [debug] DoxygenMethodDocumenter format_signature called ((h, uhtr, vhtr, tv, forces, dt, MLD_in, VarMix, G, GV, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_mixed_layer_restrat::mixedlayer_restrat_general', type mom_mixed_layer_restrat/mixedlayer_restrat_cs) [fd] run(.. f:subroutine:: subroutine mixedlayer_restrat(h, uhtr, vhtr, tv, forces, dt, MLD, VarMix, G, GV, US, CS)) [fd] sig(subroutine mixedlayer_restrat(h, uhtr, vhtr, tv, forces, dt, MLD, VarMix, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mixedlayer_restrat) arglist(h, uhtr, vhtr, tv, forces, dt, MLD, VarMix, G, GV, US, CS) [fd] fullname(mom_mixed_layer_restrat/mixedlayer_restrat) ftype(None) [fd] name(('mom_mixed_layer_restrat/mixedlayer_restrat', None)) sig(subroutine mixedlayer_restrat(h, uhtr, vhtr, tv, forces, dt, MLD, VarMix, G, GV, US, CS)) signode(subroutine mom_mixed_layer_restrat/mixedlayer_restrathuhtrvhtrtvforcesdtMLDVarMixGGVUSCS) [fd] run(.. f:subroutine:: subroutine mixedlayer_restrat_general(h, uhtr, vhtr, tv, forces, dt, MLD_in, VarMix, G, GV, US, CS)) [fd] sig(subroutine mixedlayer_restrat_general(h, uhtr, vhtr, tv, forces, dt, MLD_in, VarMix, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mixedlayer_restrat_general) arglist(h, uhtr, vhtr, tv, forces, dt, MLD_in, VarMix, G, GV, US, CS) [fd] fullname(mom_mixed_layer_restrat/mixedlayer_restrat_general) ftype(None) [fd] name(('mom_mixed_layer_restrat/mixedlayer_restrat_general', None)) sig(subroutine mixedlayer_restrat_general(h, uhtr, vhtr, tv, forces, dt, MLD_in, VarMix, G, GV, US, CS)) signode(subroutine mom_mixed_layer_restrat/mixedlayer_restrat_generalhuhtrvhtrtvforcesdtMLD_inVarMixGGVUSCS) [fd] run(.. f:subroutine:: subroutine mixedlayer_restrat_bml(h, uhtr, vhtr, tv, forces, dt, G, GV, US, CS)) [fd] sig(subroutine mixedlayer_restrat_bml(h, uhtr, vhtr, tv, forces, dt, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mixedlayer_restrat_bml) arglist(h, uhtr, vhtr, tv, forces, dt, G, GV, US, CS) [fd] fullname(mom_mixed_layer_restrat/mixedlayer_restrat_bml) ftype(None) [fd] name(('mom_mixed_layer_restrat/mixedlayer_restrat_bml', None)) sig(subroutine mixedlayer_restrat_bml(h, uhtr, vhtr, tv, forces, dt, G, GV, US, CS)) signode(subroutine mom_mixed_layer_restrat/mixedlayer_restrat_bmlhuhtrvhtrtvforcesdtGGVUSCS) [fd] run(.. f:function:: logical function mixedlayer_restrat_init(Time, G, GV, US, param_file, diag, CS, restart_CS)) [fd] sig(logical function mixedlayer_restrat_init(Time, G, GV, US, param_file, diag, CS, restart_CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(mixedlayer_restrat_init) arglist(Time, G, GV, US, param_file, diag, CS, restart_CS) [fd] fullname(mom_mixed_layer_restrat/mixedlayer_restrat_init) ftype(logical) [fd] name(('mom_mixed_layer_restrat/mixedlayer_restrat_init', 'logical')) sig(logical function mixedlayer_restrat_init(Time, G, GV, US, param_file, diag, CS, restart_CS)) signode(function mom_mixed_layer_restrat/mixedlayer_restrat_initTimeGGVUSparam_filediagCSrestart_CS [logical]) [fd] run(.. f:subroutine:: subroutine mixedlayer_restrat_register_restarts(HI, param_file, CS, restart_CS)) [fd] sig(subroutine mixedlayer_restrat_register_restarts(HI, param_file, CS, restart_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mixedlayer_restrat_register_restarts) arglist(HI, param_file, CS, restart_CS) [fd] fullname(mom_mixed_layer_restrat/mixedlayer_restrat_register_restarts) ftype(None) [fd] name(('mom_mixed_layer_restrat/mixedlayer_restrat_register_restarts', None)) sig(subroutine mixedlayer_restrat_register_restarts(HI, param_file, CS, restart_CS)) signode(subroutine mom_mixed_layer_restrat/mixedlayer_restrat_register_restartsHIparam_fileCSrestart_CS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 44%] api/generated/modules/mom_neutral_diffusion [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_neutral_ [app] emitting event: 'source-read'('api/generated/modules/mom_neutral_diffusion', ['.. autodoxymodule:: mom_neutral_diffusion\n :mem [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_neutral_diffusion.rst:1: input: .. autodoxymodule:: mom_neutral_diffusion :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_neutral_diffusion::neutral_diffusion_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_neutral_diffusion::neutral_diffusion_init ~mom_neutral_diffusion::neutral_diffusion_calc_coeffs ~mom_neutral_diffusion::neutral_diffusion ~mom_neutral_diffusion::interface_scalar ~mom_neutral_diffusion::ppm_edge ~mom_neutral_diffusion::ppm_ave ~mom_neutral_diffusion::signum ~mom_neutral_diffusion::plm_diff ~mom_neutral_diffusion::fv_diff ~mom_neutral_diffusion::fvlsq_slope ~mom_neutral_diffusion::find_neutral_surface_positions_continuous ~mom_neutral_diffusion::interpolate_for_nondim_position ~mom_neutral_diffusion::find_neutral_surface_positions_discontinuous ~mom_neutral_diffusion::mark_unstable_cells ~mom_neutral_diffusion::search_other_column ~mom_neutral_diffusion::increment_interface ~mom_neutral_diffusion::find_neutral_pos_linear ~mom_neutral_diffusion::find_neutral_pos_full ~mom_neutral_diffusion::calc_delta_rho_and_derivs ~mom_neutral_diffusion::delta_rho_from_derivs ~mom_neutral_diffusion::absolute_position ~mom_neutral_diffusion::absolute_positions ~mom_neutral_diffusion::neutral_surface_flux ~mom_neutral_diffusion::neutral_surface_t_eval ~mom_neutral_diffusion::ppm_left_right_edge_values ~mom_neutral_diffusion::neutral_diffusion_unit_tests ~mom_neutral_diffusion::ndiff_unit_tests_continuous ~mom_neutral_diffusion::ndiff_unit_tests_discontinuous ~mom_neutral_diffusion::test_fv_diff ~mom_neutral_diffusion::test_fvlsq_slope ~mom_neutral_diffusion::test_ifndp ~mom_neutral_diffusion::test_data1d ~mom_neutral_diffusion::test_data1di ~mom_neutral_diffusion::test_nsp ~mom_neutral_diffusion::compare_nsp_row ~mom_neutral_diffusion::test_rnp ~mom_neutral_diffusion::neutral_diffusion_end [debug] xpath(./compounddef/compoundname[text()="mom_neutral_diffusion"]/..) match([('id', 'namespacemom__neutral__diffusion'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_neutral_diffusion module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_neutral_diffusion', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_neutral_diffusion' (exception was: ModuleNotFoundError("No module named 'mom_neutral_diffusion'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_neutral_diffusion::neutral_diffusion_cs', , [debug] members([('neutral_diffusion_init', ), ('neutral_diffusion_calc_coeffs', ), ('neutral_diffusion', ), ('interface_scalar', ), ('ppm_edge', ), ('ppm_ave', ), ('signum', ), ('plm_diff', ), ('fv_diff', ), ('fvlsq_slope', ), ('find_neutral_surface_positions_continuous', ), ('interpolate_for_nondim_position', ), ('find_neutral_surface_positions_discontinuous', ), ('mark_unstable_cells', ), ('search_other_column', ), ('increment_interface', ), ('find_neutral_pos_linear', ), ('find_neutral_pos_full', ), ('calc_delta_rho_and_derivs', ), ('delta_rho_from_derivs', ), ('absolute_position', ), ('absolute_positions', ), ('neutral_surface_flux', ), ('neutral_surface_t_eval', ), ('ppm_left_right_edge_values', ), ('neutral_diffusion_unit_tests', ), ('ndiff_unit_tests_continuous', ), ('ndiff_unit_tests_discontinuous', ), ('test_fv_diff', ), ('test_fvlsq_slope', ), ('test_ifndp', ), ('test_data1d', ), ('test_data1di', ), ('test_nsp', ), ('compare_nsp_row', ), ('test_rnp', ), ('neutral_diffusion_end', )]) [autodoc] module analyzer failed: error importing 'mom_neutral_diffusion' (exception was: ModuleNotFoundError("No module named 'mom_neutral_diffusion'")) [debug] DoxygenMethodDocumenter format_signature called ((Time, G, US, param_file, diag, EOS, diabatic_CSp, CS)) [debug] add_directive_header sig((Time, G, US, param_file, diag, EOS, diabatic_CSp, CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function neutral_diffusion_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neutral_diffusion_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neutral_diffusion_calc_coeffs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neutral_diffusion_calc_coeffs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neutral_diffusion_calc_coeffs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neutral_diffusion_calc_coeffs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neutral_diffusion_calc_coeffs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neutral_diffusion_calc_coeffs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neutral_diffusion_calc_coeffs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neutral_diffusion_calc_coeffs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neutral_diffusion_calc_coeffs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neutral_diffusion_calc_coeffs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neutral_diffusion_calc_coeffs', , {'members': < [autodoc] module analyzer failed: error importing 'mom_neutral_diffusion' (exception was: ModuleNotFoundError("No module named 'mom_neutral_diffusion'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, h, Coef_x, Coef_y, dt, Reg, US, CS)) [debug] add_directive_header sig((G, GV, h, Coef_x, Coef_y, dt, Reg, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine neutral_diffusion) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neutral_diffusion', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_neutral_surface_positions_continuous', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_neutral_surface_positions_continuous', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_neutral_surface_positions_continuous', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_neutral_surface_positions_continuous', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_neutral_surface_positions_continuous', , { [autodoc] module analyzer failed: error importing 'mom_neutral_diffusion' (exception was: ModuleNotFoundError("No module named 'mom_neutral_diffusion'")) [debug] DoxygenMethodDocumenter format_signature called ((dRhoNeg, Pneg, dRhoPos, Ppos)) [debug] add_directive_header sig((dRhoNeg, Pneg, dRhoPos, Ppos)) [debug] DoxygenMethodDocumenter directive(function) name(real function interpolate_for_nondim_position) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'interpolate_for_nondim_position', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'interpolate_for_nondim_position', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'interpolate_for_nondim_position', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'interpolate_for_nondim_position', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'interpolate_for_nondim_position', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'interpolate_for_nondim_position', , {'members': [autodoc] module analyzer failed: error importing 'mom_neutral_diffusion' (exception was: ModuleNotFoundError("No module named 'mom_neutral_diffusion'")) [debug] DoxygenMethodDocumenter format_signature called ((CS, nk, Pres_l, hcol_l, Tl, Sl, ppoly_T_l, ppoly_S_l, stable_l, Pres_r, hcol_r, Tr, Sr, ppoly_T_r, ppoly_S_r, stable_r, PoL, PoR, KoL, KoR, hEff, zeta_bot_L, zeta_bot_R, k_bot_L, k_bot_R, hard_fail_heff)) [debug] add_directive_header sig((CS, nk, Pres_l, hcol_l, Tl, Sl, ppoly_T_l, ppoly_S_l, stable_l, Pres_r, hcol_r, Tr, Sr, ppoly_T_r, ppoly_S_r, stable_r, PoL, PoR, KoL, KoR, hEff, zeta_bot_L, zeta_bot_R, k_bot_L, k_bot_R, hard_fail_heff)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine find_neutral_surface_positions_discontinuous) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_neutral_surface_positions_discontinuous', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_neutral_surface_positions_discontinuous', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_neutral_surface_positions_discontinuous', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_neutral_surface_positions_discontinuous', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_neutral_surface_positions_discontinuous', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_neutral_surface_positions_discontinuous', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_neutral_surface_positions_discontinuous', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_neutral_surface_positions_discontinuous', [autodoc] module analyzer failed: error importing 'mom_neutral_diffusion' (exception was: ModuleNotFoundError("No module named 'mom_neutral_diffusion'")) [debug] DoxygenMethodDocumenter format_signature called ((CS, nk, T, S, P, stable_cell)) [debug] add_directive_header sig((CS, nk, T, S, P, stable_cell)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine mark_unstable_cells) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mark_unstable_cells', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ndiff_unit_tests_discontinuous', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ndiff_unit_tests_discontinuous', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ndiff_unit_tests_discontinuous', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ndiff_unit_tests_discontinuous', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ndiff_unit_tests_discontinuous', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ndiff_unit_tests_discontinuous', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ndiff_unit_tests_discontinuous', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ndiff_unit_tests_discontinuous', , {'members': [autodoc] module analyzer failed: error importing 'mom_neutral_diffusion' (exception was: ModuleNotFoundError("No module named 'mom_neutral_diffusion'")) [debug] DoxygenMethodDocumenter format_signature called ((verbose, hkm1, hk, hkp1, Skm1, Sk, Skp1, Ptrue, title)) [debug] add_directive_header sig((verbose, hkm1, hk, hkp1, Skm1, Sk, Skp1, Ptrue, title)) [debug] DoxygenMethodDocumenter directive(function) name(logical function test_fv_diff) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__neutral__diffusion_1a1c5ac28d7c54581cdd872fe58ef0b204) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__neutral__diffusion_1a1c5ac28d7c54581cdd872fe58ef0b204'), ('prot', 'private'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_neutral_diffusion::fv_diff) node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'test_fv_diff', , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__neutral__diffusion_1a6ed3814088af470ad6fc4a3a80926fd7'), ('prot', 'private'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_neutral_diffusion::fvlsq_slope) node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'test_fvlsq_slope', , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__neutral__diffusion_1a666836e70bdae7ef4ec271246cf91993'), ('prot', 'private'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_neutral_diffusion::interpolate_for_nondim_position) node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'test_ifndp', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_neutral_diffusion::neutral_diffusion_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_neutral_diffusion::neutral_diffusion_init ~mom_neutral_diffusion::neutral_diffusion_calc_coeffs ~mom_neutral_diffusion::neutral_diffusion ~mom_neutral_diffusion::interface_scalar ~mom_neutral_diffusion::ppm_edge ~mom_neutral_diffusion::ppm_ave ~mom_neutral_diffusion::signum ~mom_neutral_diffusion::plm_diff ~mom_neutral_diffusion::fv_diff ~mom_neutral_diffusion::fvlsq_slope ~mom_neutral_diffusion::find_neutral_surface_positions_continuous ~mom_neutral_diffusion::interpolate_for_nondim_position ~mom_neutral_diffusion::find_neutral_surface_positions_discontinuous ~mom_neutral_diffusion::mark_unstable_cells ~mom_neutral_diffusion::search_other_column ~mom_neutral_diffusion::increment_interface ~mom_neutral_diffusion::find_neutral_pos_linear ~mom_neutral_diffusion::find_neutral_pos_full ~mom_neutral_diffusion::calc_delta_rho_and_derivs ~mom_neutral_diffusion::delta_rho_from_derivs ~mom_neutral_diffusion::absolute_position ~mom_neutral_diffusion::absolute_positions ~mom_neutral_diffusion::neutral_surface_flux ~mom_neutral_diffusion::neutral_surface_t_eval ~mom_neutral_diffusion::ppm_left_right_edge_values ~mom_neutral_diffusion::neutral_diffusion_unit_tests ~mom_neutral_diffusion::ndiff_unit_tests_continuous ~mom_neutral_diffusion::ndiff_unit_tests_discontinuous ~mom_neutral_diffusion::test_fv_diff ~mom_neutral_diffusion::test_fvlsq_slope ~mom_neutral_diffusion::test_ifndp ~mom_neutral_diffusion::test_data1d ~mom_neutral_diffusion::test_data1di ~mom_neutral_diffusion::test_nsp ~mom_neutral_diffusion::compare_nsp_row ~mom_neutral_diffusion::test_rnp ~mom_neutral_diffusion::neutral_diffusion_end .. _DETAmom_neutral_diffusion: -------------------- Detailed Description -------------------- A column-wise toolbox for implementing neutral diffusion. ------------------ Type Documentation ------------------ .. f:type:: neutral_diffusion_cs The control structure for the MOM_neutral_diffusion module. :typefield integer nkp1: Number of interfaces for a column = nk + 1. :typefield integer nsurf: Number of neutral surfaces. :typefield integer deg: Degree of polynomial used for reconstructions. :typefield logical continuous_reconstruction: True if using continuous PPM reconstruction at interfaces. :typefield logical debug: If true, write verbose debugging messages. :typefield logical hard_fail_heff: Bring down the model if a problem with heff is detected. :typefield integer max_iter: Maximum number of iterations if refine_position is defined. :typefield real drho_tol: Convergence criterion representing density difference from true neutrality [R ~> kg m-3]. :typefield real x_tol: Convergence criterion for how small an update of the position can be. :typefield real ref_pres: Reference pressure, negative if using locally referenced neutral density [R L2 T-2 ~> Pa]. :typefield logical interior_only: If true, only applies neutral diffusion in the ocean interior. That is, the algorithm will exclude the surface and bottom boundary layers. :typefield real(\:,\:,\:) upol [allocatable]: Non-dimensional position with left layer uKoL-1, u-point. :typefield real(\:,\:,\:) upor [allocatable]: Non-dimensional position with right layer uKoR-1, u-point. :typefield integer(\:,\:,\:) ukol [allocatable]: Index of left interface corresponding to neutral surface, at a u-point. :typefield integer(\:,\:,\:) ukor [allocatable]: Index of right interface corresponding to neutral surface, at a u-point. :typefield real(\:,\:,\:) uheff [allocatable]: Effective thickness at u-point [H ~> m or kg m-2]. :typefield real(\:,\:,\:) vpol [allocatable]: Non-dimensional position with left layer uKoL-1, v-point. :typefield real(\:,\:,\:) vpor [allocatable]: Non-dimensional position with right layer uKoR-1, v-point. :typefield integer(\:,\:,\:) vkol [allocatable]: Index of left interface corresponding to neutral surface, at a v-point. :typefield integer(\:,\:,\:) vkor [allocatable]: Index of right interface corresponding to neutral surface, at a v-point. :typefield real(\:,\:,\:) vheff [allocatable]: Effective thickness at v-point [H ~> m or kg m-2]. :typefield real(\:,\:,\:,\:) ppoly_coeffs_t [allocatable]: Polynomial coefficients for temperature. :typefield real(\:,\:,\:,\:) ppoly_coeffs_s [allocatable]: Polynomial coefficients for salinity. :typefield real(\:,\:,\:) drdt [allocatable]: dRho/dT [R degC-1 ~> kg m-3 degC-1] at interfaces :typefield real(\:,\:,\:) drds [allocatable]: dRho/dS [R ppt-1 ~> kg m-3 ppt-1] at interfaces :typefield real(\:,\:,\:) tint [allocatable]: Interface T [degC]. :typefield real(\:,\:,\:) sint [allocatable]: Interface S [ppt]. :typefield real(\:,\:,\:) pint [allocatable]: Interface pressure [R L2 T-2 ~> Pa]. :typefield real(\:,\:,\:,\:) t_i [allocatable]: Top edge reconstruction of temperature [degC]. :typefield real(\:,\:,\:,\:) s_i [allocatable]: Top edge reconstruction of salinity [ppt]. :typefield real(\:,\:,\:,\:) p_i [allocatable]: Interface pressures [R L2 T-2 ~> Pa]. :typefield real(\:,\:,\:,\:) drdt_i [allocatable]: dRho/dT [R degC-1 ~> kg m-3 degC-1] at top edge :typefield real(\:,\:,\:,\:) drds_i [allocatable]: dRho/dS [R ppt-1 ~> kg m-3 ppt-1] at top edge :typefield integer(\:,\:) ns [allocatable]: Number of interfacs in a column. :typefield logical(\:,\:,\:) stable_cell [allocatable]: True if the cell is stably stratified wrt to the next cell. :typefield real r_to_kg_m3: A rescaling factor translating density to kg m-3 for use in diagnostic messages [kg m-3 R-1 ~> 1]. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield integer neutral_pos_method: Method to find the position of a neutral surface within the layer. :typefield character (len=40) delta_rho_form: Determine which (if any) approximation is made to the equation describing the difference in density. :typefield integer id_uheff_2d: Diagnostic IDs. :typefield integer id_vheff_2d: Diagnostic IDs. :typefield type(eos_type) eos [pointer]: Equation of state parameters. :typefield type(remapping_cs) remap_cs: Remapping control structure used to create sublayers. :typefield logical remap_answers_2018: If true, use the order of arithmetic and expressions that recover the answers for remapping from the end of 2018. Otherwise, use more robust forms of the same expressions. :typefield type(kpp_cs) kpp_csp [pointer]: KPP control structure needed to get BLD. :typefield type(energetic_pbl_cs) energetic_pbl_csp [pointer]: ePBL control structure needed to get MLD --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function neutral_diffusion_init(Time, G, US, param_file, diag, EOS, diabatic_CSp, CS) Read parameters and allocate control structure for neutral_diffusion module. :param time: [in] Time structure :param g: [in] Grid structure :param us: [in] A dimensional unit scaling type :param diag: [inout] Diagnostics control structure :param param_file: [in] Parameter file structure :param eos: [in] Equation of state :param diabatic_csp: KPP control structure needed to get BLD :param cs: Neutral diffusion control structure :callto: :f:func:`mom_diabatic_driver::extract_diabatic_member ` :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_remapping::remappingdefaultscheme ` :callto: :f:func:`mom_remapping::remappingschemesdoc ` .. f:subroutine:: subroutine neutral_diffusion_calc_coeffs(G, GV, US, h, T, S, CS, p_surf) Calculate remapping factors for u/v columns used to map adjoining columns to a shared coordinate space. :param g: [in] Ocean grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thickness [H ~> m or kg m-2] :param t: [in] Potential temperature [degC] :param s: [in] Salinity [ppt] :param cs: Neutral diffusion control structure :param p_surf: [in] Surface pressure to include in pressures used for equation of state calculations [R L2 T-2 ~> Pa] :callto: :f:func:`mom_lateral_boundary_diffusion::boundary_k_range ` :callto: :f:func:`mom_energetic_pbl::energetic_pbl_get_mld ` :callto: :f:func:`polynomial_functions::evaluation_polynomial ` :callto: :f:func:`find_neutral_surface_positions_continuous ` :callto: :f:func:`find_neutral_surface_positions_discontinuous ` :callto: :f:func:`interface_scalar ` :callto: :f:func:`mom_cvmix_kpp::kpp_get_bld ` :callto: :f:func:`mark_unstable_cells ` :callto: :f:func:`mom_lateral_boundary_diffusion::surface ` :calledfrom: :f:func:`mom_tracer_hor_diff::tracer_hordiff ` .. f:subroutine:: subroutine neutral_diffusion(G, GV, h, Coef_x, Coef_y, dt, Reg, US, CS) Update tracer concentration due to neutral diffusion; layer thickness unchanged by this update. :param g: [in] Ocean grid structure :param gv: [in] ocean vertical grid structure :param h: [in] Layer thickness [H ~> m or kg m-2] :param coef_x: [in] dt * Kh * dy / dx at u-points [L2 ~> m2] :param coef_y: [in] dt * Kh * dx / dy at v-points [L2 ~> m2] :param dt: [in] Tracer time step * I_numitts [T ~> s] (I_numitts in tracer_hordiff) :param reg: Tracer registry :param us: [in] A dimensional unit scaling type :param cs: Neutral diffusion control structure :callto: :f:func:`neutral_surface_flux ` :calledfrom: :f:func:`mom_tracer_hor_diff::tracer_hordiff ` .. f:subroutine:: subroutine interface_scalar(nk, h, S, Si, i_method, h_neglect) Returns interface scalar, Si, for a column of layer values, S. :param nk: [in] Number of levels :param h: [in] Layer thickness [H ~> m or kg m-2] :param s: [in] Layer scalar (conc, e.g. ppt) :param si: [inout] Interface scalar (conc, e.g. ppt) :param i_method: [in] =1 use average of PLM edges =2 use continuous PPM edge interpolation :param h_neglect: [in] A negligibly small thickness [H ~> m or kg m-2] :callto: :f:func:`plm_diff ` :callto: :f:func:`ppm_edge ` :calledfrom: :f:func:`ndiff_unit_tests_continuous ` :calledfrom: :f:func:`neutral_diffusion_calc_coeffs ` :calledfrom: :f:func:`neutral_surface_flux ` .. f:function:: real function ppm_edge(hkm1, hk, hkp1, hkp2, Ak, Akp1, Pk, Pkp1, h_neglect) Returns the PPM quasi-fourth order edge value at k+1/2 following equation 1.6 in Colella & Woodward, 1984: JCP 54, 174-201. :param hkm1: [in] Width of cell k-1 :param hk: [in] Width of cell k :param hkp1: [in] Width of cell k+1 :param hkp2: [in] Width of cell k+2 :param ak: [in] Average scalar value of cell k :param akp1: [in] Average scalar value of cell k+1 :param pk: [in] PLM slope for cell k :param pkp1: [in] PLM slope for cell k+1 :param h_neglect: [in] A negligibly small thickness [H ~> m or kg m-2] :calledfrom: :f:func:`interface_scalar ` .. f:function:: real function ppm_ave(xL, xR, aL, aR, aMean) Returns the average of a PPM reconstruction between two fractional positions. :param xl: [in] Fraction position of left bound (0,1) :param xr: [in] Fraction position of right bound (0,1) :param al: [in] Left edge scalar value, at x=0 :param ar: [in] Right edge scalar value, at x=1 :param amean: [in] Average scalar value of cell :calledfrom: :f:func:`neutral_surface_flux ` .. f:function:: real function signum(a, x) A true signum function that returns either -abs(a), when x<0; or abs(a) when x>0; or 0 when x=0. :param a: [in] The magnitude argument :param x: [in] The sign (or zero) argument :calledfrom: :f:func:`neutral_surface_flux ` :calledfrom: :f:func:`plm_diff ` :calledfrom: :f:func:`ppm_left_right_edge_values ` .. f:subroutine:: subroutine plm_diff(nk, h, S, c_method, b_method, diff) Returns PLM slopes for a column where the slopes are the difference in value across each cell. The limiting follows equation 1.8 in Colella & Woodward, 1984: JCP 54, 174-201. :param nk: [in] Number of levels :param h: [in] Layer thickness [H ~> m or kg m-2] :param s: [in] Layer salinity (conc, e.g. ppt) :param c_method: [in] Method to use for the centered difference :param b_method: [in] =1, use PCM in first/last cell, =2 uses linear extrapolation :param diff: [inout] Scalar difference across layer (conc, e.g. ppt) determined by the following values for c_method: #. Second order finite difference (not recommended) #. Second order finite volume (used in original PPM) #. Finite-volume weighted least squares linear fit .. admonition:: Todo The use of c_method to choose a scheme is inefficient and should eventually be moved up the call tree. :callto: :f:func:`fv_diff ` :callto: :f:func:`fvlsq_slope ` :callto: :f:func:`signum ` :calledfrom: :f:func:`interface_scalar ` .. f:function:: real function fv_diff(hkm1, hk, hkp1, Skm1, Sk, Skp1) Returns the cell-centered second-order finite volume (unlimited PLM) slope using three consecutive cell widths and average values. Slope is returned as a difference across the central cell (i.e. units of scalar S). Discretization follows equation 1.7 in Colella & Woodward, 1984: JCP 54, 174-201. :param hkm1: [in] Left cell width :param hk: [in] Center cell width :param hkp1: [in] Right cell width :param skm1: [in] Left cell average value :param sk: [in] Center cell average value :param skp1: [in] Right cell average value :calledfrom: :f:func:`plm_diff ` :calledfrom: :f:func:`test_fv_diff ` .. f:function:: real function fvlsq_slope(hkm1, hk, hkp1, Skm1, Sk, Skp1) Returns the cell-centered second-order weighted least squares slope using three consecutive cell widths and average values. Slope is returned as a gradient (i.e. units of scalar S over width units). :param hkm1: [in] Left cell width :param hk: [in] Center cell width :param hkp1: [in] Right cell width :param skm1: [in] Left cell average value :param sk: [in] Center cell average value :param skp1: [in] Right cell average value :calledfrom: :f:func:`plm_diff ` :calledfrom: :f:func:`test_fvlsq_slope ` .. f:subroutine:: subroutine find_neutral_surface_positions_continuous(nk, Pl, Tl, Sl, dRdTl, dRdSl, Pr, Tr, Sr, dRdTr, dRdSr, PoL, PoR, KoL, KoR, hEff, bl_kl, bl_kr, bl_zl, bl_zr) Returns positions within left/right columns of combined interfaces using continuous reconstructions of T/S. :param nk: [in] Number of levels :param pl: [in] Left-column interface pressure [R L2 T-2 ~> Pa] or other units :param tl: [in] Left-column interface potential temperature [degC] :param sl: [in] Left-column interface salinity [ppt] :param drdtl: [in] Left-column dRho/dT [R degC-1 ~> kg m-3 degC-1] :param drdsl: [in] Left-column dRho/dS [R ppt-1 ~> kg m-3 ppt-1] :param pr: [in] Right-column interface pressure [R L2 T-2 ~> Pa] or other units :param tr: [in] Right-column interface potential temperature [degC] :param sr: [in] Right-column interface salinity [ppt] :param drdtr: [in] Left-column dRho/dT [R degC-1 ~> kg m-3 degC-1] :param drdsr: [in] Left-column dRho/dS [R ppt-1 ~> kg m-3 ppt-1] :param pol: [inout] Fractional position of neutral surface within layer KoL of left column :param por: [inout] Fractional position of neutral surface within layer KoR of right column :param kol: [inout] Index of first left interface above neutral surface :param kor: [inout] Index of first right interface above neutral surface :param heff: [inout] Effective thickness between two neutral surfaces [R L2 T-2 ~> Pa] or other units following Pl and Pr. :param bl_kl: [in] Layer index of the boundary layer (left) :param bl_kr: [in] Layer index of the boundary layer (right) :param bl_zl: [in] Nondimensional position of the boundary layer (left) :param bl_zr: [in] Nondimensional position of the boundary layer (right) :callto: :f:func:`absolute_position ` :callto: :f:func:`interpolate_for_nondim_position ` :calledfrom: :f:func:`ndiff_unit_tests_continuous ` :calledfrom: :f:func:`neutral_diffusion_calc_coeffs ` .. f:function:: real function interpolate_for_nondim_position(dRhoNeg, Pneg, dRhoPos, Ppos) Returns the non-dimensional position between Pneg and Ppos where the interpolated density difference equals zero. The result is always bounded to be between 0 and 1. :param drhoneg: [in] Negative density difference [R ~> kg m-3] :param pneg: [in] Position of negative density difference [R L2 T-2 ~> Pa] or [nondim] :param drhopos: [in] Positive density difference [R ~> kg m-3] :param ppos: [in] Position of positive density difference [R L2 T-2 ~> Pa] or [nondim] :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`find_neutral_surface_positions_continuous ` :calledfrom: :f:func:`search_other_column ` :calledfrom: :f:func:`test_ifndp ` .. f:subroutine:: subroutine find_neutral_surface_positions_discontinuous(CS, nk, Pres_l, hcol_l, Tl, Sl, ppoly_T_l, ppoly_S_l, stable_l, Pres_r, hcol_r, Tr, Sr, ppoly_T_r, ppoly_S_r, stable_r, PoL, PoR, KoL, KoR, hEff, zeta_bot_L, zeta_bot_R, k_bot_L, k_bot_R, hard_fail_heff) Higher order version of find_neutral_surface_positions. Returns positions within left/right columns of combined interfaces using intracell reconstructions of T/S. Note that the polynomial reconstrcutions of T and S are optional to aid with unit testing, but will always be passed otherwise. :param cs: [inout] Neutral diffusion control structure :param nk: [in] Number of levels :param pres_l: [in] Left-column interface pressure [R L2 T-2 ~> Pa] :param hcol_l: [in] Left-column layer thicknesses [H ~> m or kg m-2] or other units :param tl: [in] Left-column top interface potential temperature [degC] :param sl: [in] Left-column top interface salinity [ppt] :param ppoly_t_l: [in] Left-column coefficients of T reconstruction [degC] :param ppoly_s_l: [in] Left-column coefficients of S reconstruction [ppt] :param stable_l: [in] True where the left-column is stable :param pres_r: [in] Right-column interface pressure [R L2 T-2 ~> Pa] :param hcol_r: [in] Left-column layer thicknesses [H ~> m or kg m-2] or other units :param tr: [in] Right-column top interface potential temperature [degC] :param sr: [in] Right-column top interface salinity [ppt] :param ppoly_t_r: [in] Right-column coefficients of T reconstruction [degC] :param ppoly_s_r: [in] Right-column coefficients of S reconstruction [ppt] :param stable_r: [in] True where the right-column is stable :param pol: [inout] Fractional position of neutral surface within layer KoL of left column [nondim] :param por: [inout] Fractional position of neutral surface within layer KoR of right column [nondim] :param kol: [inout] Index of first left interface above neutral surface :param kor: [inout] Index of first right interface above neutral surface :param heff: [inout] Effective thickness between two neutral surfaces [H ~> m or kg m-2] or other units taken from hcol_l :param zeta_bot_l: [in] Non-dimensional distance to where the boundary layer intersetcs the cell (left) [nondim] :param zeta_bot_r: [in] Non-dimensional distance to where the boundary layer intersetcs the cell (right) [nondim] :param k_bot_l: [in] k-index for the boundary layer (left) [nondim] :param k_bot_r: [in] k-index for the boundary layer (right) [nondim] :param hard_fail_heff: [in] If true (default) bring down the model if the neutral surfaces ever cross [logical] :callto: :f:func:`calc_delta_rho_and_derivs ` :callto: :f:func:`increment_interface ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`search_other_column ` :calledfrom: :f:func:`ndiff_unit_tests_discontinuous ` :calledfrom: :f:func:`neutral_diffusion_calc_coeffs ` .. f:subroutine:: subroutine mark_unstable_cells(CS, nk, T, S, P, stable_cell) Sweep down through the column and mark as stable if the bottom interface of a cell is denser than the top. :param cs: [inout] Neutral diffusion control structure :param nk: [in] Number of levels in a column :param t: [in] Temperature at interfaces [degC] :param s: [in] Salinity at interfaces [ppt] :param p: [in] Pressure at interfaces [R L2 T-2 ~> Pa] :param stable_cell: [out] True if this cell is unstably stratified :callto: :f:func:`calc_delta_rho_and_derivs ` :calledfrom: :f:func:`ndiff_unit_tests_discontinuous ` :calledfrom: :f:func:`neutral_diffusion_calc_coeffs ` .. f:function:: real function search_other_column(CS, ksurf, pos_last, T_from, S_from, P_from, T_top, S_top, P_top, T_bot, S_bot, P_bot, T_poly, S_poly) Searches the "other" (searched) column for the position of the neutral surface. :param cs: [in] Neutral diffusion control structure :param ksurf: [in] Current index of neutral surface :param pos_last: [in] Last position within the current layer, used as the lower bound in the root finding algorithm [nondim] :param t_from: [in] Temperature at the searched from interface [degC] :param s_from: [in] Salinity at the searched from interface [ppt] :param p_from: [in] Pressure at the searched from interface [R L2 T-2 ~> Pa] :param t_top: [in] Temperature at the searched to top interface [degC] :param s_top: [in] Salinity at the searched to top interface [ppt] :param p_top: [in] Pressure at the searched to top interface [R L2 T-2 ~> Pa] interface [R L2 T-2 ~> Pa] :param t_bot: [in] Temperature at the searched to bottom interface [degC] :param s_bot: [in] Salinity at the searched to bottom interface [ppt] :param p_bot: [in] Pressure at the searched to bottom interface [R L2 T-2 ~> Pa] :param t_poly: [in] Temperature polynomial reconstruction coefficients [degC] :param s_poly: [in] Salinity polynomial reconstruction coefficients [ppt] :callto: :f:func:`calc_delta_rho_and_derivs ` :callto: :f:func:`find_neutral_pos_full ` :callto: :f:func:`find_neutral_pos_linear ` :callto: :f:func:`interpolate_for_nondim_position ` :calledfrom: :f:func:`find_neutral_surface_positions_discontinuous ` .. f:subroutine:: subroutine increment_interface(nk, kl, ki, reached_bottom, searching_this_column, searching_other_column) Increments the interface which was just connected and also set flags if the bottom is reached. :param nk: [in] Number of vertical levels :param kl: [inout] Current layer (potentially updated) :param ki: [inout] Current interface :param reached_bottom: [inout] Updated when kl == nk and ki == 2 :param searching_this_column: [inout] Updated when kl == nk and ki == 2 :param searching_other_column: [inout] Updated when kl == nk and ki == 2 :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`find_neutral_surface_positions_discontinuous ` .. f:function:: real function find_neutral_pos_linear(CS, z0, T_ref, S_ref, dRdT_ref, dRdS_ref, dRdT_top, dRdS_top, dRdT_bot, dRdS_bot, ppoly_T, ppoly_S) Search a layer to find where delta_rho = 0 based on a linear interpolation of alpha and beta of the top and bottom being searched and polynomial reconstructions of T and S. Compressibility is not needed because either, we are assuming incompressibility in the equation of state for this module or alpha and beta are calculated having been displaced to the average pressures of the two pressures We need Newton's method because the T and S reconstructions make delta_rho a polynomial function of z if using PPM or higher. If Newton's method would search fall out of the interval [0,1], a bisection step would be taken instead. Also this linearization of alpha, beta means that second derivatives of the EOS are not needed. Note that delta in variable names below refers to horizontal differences and 'd' refers to vertical differences. :param cs: [in] Control structure with parameters for this module :param z0: [in] Lower bound of position, also serves as the initial guess [nondim] :param t_ref: [in] Temperature at the searched from interface [degC] :param s_ref: [in] Salinity at the searched from interface [ppt] :param drdt_ref: [in] dRho/dT at the searched from interface [R degC-1 ~> kg m-3 degC-1] :param drds_ref: [in] dRho/dS at the searched from interface [R ppt-1 ~> kg m-3 ppt-1] :param drdt_top: [in] dRho/dT at top of layer being searched [R degC-1 ~> kg m-3 degC-1] :param drds_top: [in] dRho/dS at top of layer being searched [R ppt-1 ~> kg m-3 ppt-1] :param drdt_bot: [in] dRho/dT at bottom of layer being searched [R degC-1 ~> kg m-3 degC-1] :param drds_bot: [in] dRho/dS at bottom of layer being searched [R ppt-1 ~> kg m-3 ppt-1] :param ppoly_t: [in] Coefficients of the polynomial reconstruction of T within the layer to be searched [degC]. :param ppoly_s: [in] Coefficients of the polynomial reconstruction of S within the layer to be searched [ppt]. :returns undefined: Position where drho = 0 [nondim] :callto: :f:func:`polynomial_functions::evaluation_polynomial ` :callto: :f:func:`polynomial_functions::first_derivative_polynomial ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`ndiff_unit_tests_discontinuous ` :calledfrom: :f:func:`search_other_column ` .. f:function:: real function find_neutral_pos_full(CS, z0, T_ref, S_ref, P_ref, P_top, P_bot, ppoly_T, ppoly_S) Use the full equation of state to calculate the difference in locally referenced potential density. The derivatives in this case are not trivial to calculate, so instead we use a regula falsi method. :param cs: [in] Control structure with parameters for this module :param z0: [in] Lower bound of position, also serves as the initial guess [nondim] :param t_ref: [in] Temperature at the searched from interface [degC] :param s_ref: [in] Salinity at the searched from interface [ppt] :param p_ref: [in] Pressure at the searched from interface [R L2 T-2 ~> Pa] :param p_top: [in] Pressure at top of layer being searched [R L2 T-2 ~> Pa] :param p_bot: [in] Pressure at bottom of layer being searched [R L2 T-2 ~> Pa] :param ppoly_t: [in] Coefficients of the polynomial reconstruction of T within the layer to be searched [degC] :param ppoly_s: [in] Coefficients of the polynomial reconstruction of T within the layer to be searched [ppt] :returns undefined: Position where drho = 0 [nondim] :callto: :f:func:`calc_delta_rho_and_derivs ` :callto: :f:func:`polynomial_functions::evaluation_polynomial ` :calledfrom: :f:func:`search_other_column ` .. f:subroutine:: subroutine calc_delta_rho_and_derivs(CS, T1, S1, p1_in, T2, S2, p2_in, drho, drdt1_out, drds1_out, drdt2_out, drds2_out) Calculate the difference in density between two points in a variety of ways. :param cs: Neutral diffusion control structure :param t1: [in] Temperature at point 1 [degC] :param s1: [in] Salinity at point 1 [ppt] :param p1_in: [in] Pressure at point 1 [R L2 T-2 ~> Pa] :param t2: [in] Temperature at point 2 [degC] :param s2: [in] Salinity at point 2 [ppt] :param p2_in: [in] Pressure at point 2 [R L2 T-2 ~> Pa] :param drho: [out] Difference in density between the two points [R ~> kg m-3] :param drdt1_out: [out] drho_dt at point 1 [R degC-1 ~> kg m-3 degC-1] :param drds1_out: [out] drho_ds at point 1 [R ppt-1 ~> kg m-3 ppt-1] :param drdt2_out: [out] drho_dt at point 2 [R degC-1 ~> kg m-3 degC-1] :param drds2_out: [out] drho_ds at point 2 [R ppt-1 ~> kg m-3 ppt-1] :callto: :f:func:`delta_rho_from_derivs ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`find_neutral_pos_full ` :calledfrom: :f:func:`find_neutral_surface_positions_discontinuous ` :calledfrom: :f:func:`mark_unstable_cells ` :calledfrom: :f:func:`search_other_column ` .. f:function:: real function delta_rho_from_derivs(T1, S1, P1, dRdT1, dRdS1, T2, S2, P2, dRdT2, dRdS2) Calculate delta rho from derivatives and gradients of properties :math:`\Delta \rho = \frac{1}{2}\left[ (\alpha_1 + \alpha_2)*(T_1-T_2) + (\beta_1 + \beta_2)*(S_1-S_2) + (\gamma^{-1}_1 + \gamma^{-1}_2)*(P_1-P_2) \right]`. :param t1: Temperature at point 1 [degC] :param s1: Salinity at point 1 [ppt] :param p1: Pressure at point 1 [R L2 T-2 ~> Pa] :param drdt1: The partial derivative of density with temperature at point 1 [R degC-1 ~> kg m-3 degC-1] :param drds1: The partial derivative of density with salinity at point 1 [R ppt-1 ~> kg m-3 ppt-1] :param t2: Temperature at point 2 [degC] :param s2: Salinity at point 2 [ppt] :param p2: Pressure at point 2 [R L2 T-2 ~> Pa] :param drdt2: The partial derivative of density with temperature at point 2 [R degC-1 ~> kg m-3 degC-1] :param drds2: The partial derivative of density with salinity at point 2 [R ppt-1 ~> kg m-3 ppt-1] :calledfrom: :f:func:`calc_delta_rho_and_derivs ` .. f:function:: real function absolute_position(n, ns, Pint, Karr, NParr, k_surface) Converts non-dimensional position within a layer to absolute position (for debugging) :param n: [in] Number of levels :param ns: [in] Number of neutral surfaces :param pint: [in] Position of interfaces [R L2 T-2 ~> Pa] or other units :param karr: [in] Index of interface above position :param nparr: [in] Non-dimensional position within layer Karr(:) [nondim] :param k_surface: [in] k-interface to query :returns undefined: The absolute position of a location [R L2 T-2 ~> Pa] or other units following Pint :calledfrom: :f:func:`absolute_positions ` :calledfrom: :f:func:`find_neutral_surface_positions_continuous ` .. f:function:: real function absolute_positions(n, ns, Pint, Karr, NParr) Converts non-dimensional positions within layers to absolute positions (for debugging) :param n: [in] Number of levels :param ns: [in] Number of neutral surfaces :param pint: [in] Position of interface [R L2 T-2 ~> Pa] or other units :param karr: [in] Indexes of interfaces about positions :param nparr: [in] Non-dimensional positions within layers Karr(:) :returns undefined: Absolute positions [R L2 T-2 ~> Pa] or other units following Pint :callto: :f:func:`absolute_position ` :calledfrom: :f:func:`ndiff_unit_tests_continuous ` .. f:subroutine:: subroutine neutral_surface_flux(nk, nsurf, deg, hl, hr, Tl, Tr, PiL, PiR, KoL, KoR, hEff, Flx, continuous, h_neglect, remap_CS, h_neglect_edge) Returns a single column of neutral diffusion fluxes of a tracer. :param nk: [in] Number of levels :param nsurf: [in] Number of neutral surfaces :param deg: [in] Degree of polynomial reconstructions :param hl: [in] Left-column layer thickness [H ~> m or kg m-2] :param hr: [in] Right-column layer thickness [H ~> m or kg m-2] :param tl: [in] Left-column layer tracer (conc, e.g. degC) :param tr: [in] Right-column layer tracer (conc, e.g. degC) :param pil: [in] Fractional position of neutral surface within layer KoL of left column :param pir: [in] Fractional position of neutral surface within layer KoR of right column :param kol: [in] Index of first left interface above neutral surface :param kor: [in] Index of first right interface above neutral surface :param heff: [in] Effective thickness between two neutral surfaces [H ~> m or kg m-2] :param flx: [inout] Flux of tracer between pairs of neutral layers (conc H) :param continuous: [in] True if using continuous reconstruction :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions [H ~> m or kg m-2] :param remap_cs: [in] Remapping control structure used to create sublayers :param h_neglect_edge: [in] A negligibly small width used for edge value calculations if continuous is false [H ~> m or kg m-2] :callto: :f:func:`interface_scalar ` :callto: :f:func:`neutral_surface_t_eval ` :callto: :f:func:`ppm_ave ` :callto: :f:func:`ppm_left_right_edge_values ` :callto: :f:func:`signum ` :calledfrom: :f:func:`ndiff_unit_tests_continuous ` :calledfrom: :f:func:`neutral_diffusion ` .. f:subroutine:: subroutine neutral_surface_t_eval(nk, ns, k_sub, Ks, Ps, T_mean, T_int, deg, iMethod, T_poly, T_top, T_bot, T_sub, T_top_int, T_bot_int, T_layer) Evaluate various parts of the reconstructions to calculate gradient-based flux limter. :param nk: [in] Number of cell everages :param ns: [in] Number of neutral surfaces :param k_sub: [in] Index of current neutral layer :param ks: [in] List of the layers associated with each neutral surface :param ps: [in] List of the positions within a layer of each surface :param t_mean: [in] Cell average of tracer :param t_int: [in] Cell interface values of tracer from reconstruction :param deg: [in] Degree of reconstruction polynomial (e.g. 1 is linear) :param imethod: [in] Method of integration to use :param t_poly: [in] Coefficients of polynomial reconstructions :param t_top: [out] Tracer value at top (across discontinuity if necessary) :param t_bot: [out] Tracer value at bottom (across discontinuity if necessary) :param t_sub: [out] Average of the tracer value over the sublayer :param t_top_int: [out] Tracer value at top interface of neutral layer :param t_bot_int: [out] Tracer value at bottom interface of neutral layer :param t_layer: [out] Cell-average that the the reconstruction belongs to :callto: :f:func:`mom_remapping::average_value_ppoly ` :callto: :f:func:`polynomial_functions::evaluation_polynomial ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`neutral_surface_flux ` .. f:subroutine:: subroutine ppm_left_right_edge_values(nk, Tl, Ti, aL, aR) Discontinuous PPM reconstructions of the left/right edge values within a cell. :param nk: [in] Number of levels :param tl: [in] Layer tracer (conc, e.g. degC) :param ti: [in] Interface tracer (conc, e.g. degC) :param al: [inout] Left edge value of tracer (conc, e.g. degC) :param ar: [inout] Right edge value of tracer (conc, e.g. degC) :callto: :f:func:`signum ` :calledfrom: :f:func:`neutral_surface_flux ` .. f:function:: logical function neutral_diffusion_unit_tests(verbose) Returns true if unit tests of neutral_diffusion functions fail. Otherwise returns false. :param verbose: [in] If true, write results to stdout :callto: :f:func:`ndiff_unit_tests_continuous ` :callto: :f:func:`ndiff_unit_tests_discontinuous ` :calledfrom: :f:func:`mom_unit_tests::unit_tests ` .. f:function:: logical function ndiff_unit_tests_continuous(verbose) Returns true if unit tests of neutral_diffusion functions fail. Otherwise returns false. :param verbose: [in] If true, write results to stdout :callto: :f:func:`absolute_positions ` :callto: :f:func:`find_neutral_surface_positions_continuous ` :callto: :f:func:`interface_scalar ` :callto: :f:func:`neutral_surface_flux ` :callto: :f:func:`test_data1d ` :callto: :f:func:`test_fv_diff ` :callto: :f:func:`test_fvlsq_slope ` :callto: :f:func:`test_ifndp ` :callto: :f:func:`test_nsp ` :calledfrom: :f:func:`neutral_diffusion_unit_tests ` .. f:function:: logical function ndiff_unit_tests_discontinuous(verbose) :param verbose: [in] It true, write results to stdout :callto: :f:func:`mom_eos::eos_linear ` :callto: :f:func:`find_neutral_pos_linear ` :callto: :f:func:`find_neutral_surface_positions_discontinuous ` :callto: :f:func:`mark_unstable_cells ` :callto: :f:func:`test_nsp ` :callto: :f:func:`test_rnp ` :calledfrom: :f:func:`neutral_diffusion_unit_tests ` .. f:function:: logical function test_fv_diff(verbose, hkm1, hk, hkp1, Skm1, Sk, Skp1, Ptrue, title) Returns true if a test of :f:func:`fv_diff() ` fails, and conditionally writes results to stream. fails, and conditionally writes results to stream. :param verbose: [in] If true, write results to stdout :param hkm1: [in] Left cell width [nondim] :param hk: [in] Center cell width [nondim] :param hkp1: [in] Right cell width [nondim] :param skm1: [in] Left cell average value :param sk: [in] Center cell average value :param skp1: [in] Right cell average value :param ptrue: [in] True answer [nondim] :param title: [in] Title for messages :callto: :f:func:`fv_diff ` :calledfrom: :f:func:`ndiff_unit_tests_continuous ` .. f:function:: logical function test_fvlsq_slope(verbose, hkm1, hk, hkp1, Skm1, Sk, Skp1, Ptrue, title) Returns true if a test of :f:func:`fvlsq_slope() ` fails, and conditionally writes results to stream. fails, and conditionally writes results to stream. :param verbose: [in] If true, write results to stdout :param hkm1: [in] Left cell width :param hk: [in] Center cell width :param hkp1: [in] Right cell width :param skm1: [in] Left cell average value :param sk: [in] Center cell average value :param skp1: [in] Right cell average value :param ptrue: [in] True answer :param title: [in] Title for messages :callto: :f:func:`fvlsq_slope ` :calledfrom: :f:func:`ndiff_unit_tests_continuous ` .. f:function:: logical function test_ifndp(verbose, rhoNeg, Pneg, rhoPos, Ppos, Ptrue, title) Returns true if a test of :f:func:`interpolate_for_nondim_position() ` fails, and conditionally writes results to stream. fails, and conditionally writes results to stream. :param verbose: [in] If true, write results to stdout :param rhoneg: [in] Lighter density [R ~> kg m-3] :param pneg: [in] Interface position of lighter density [nondim] :param rhopos: [in] Heavier density [R ~> kg m-3] :param ppos: [in] Interface position of heavier density [nondim] :param ptrue: [in] True answer [nondim] :param title: [in] Title for messages :callto: :f:func:`interpolate_for_nondim_position ` :calledfrom: :f:func:`ndiff_unit_tests_continuous ` .. f:function:: logical function test_data1d(verbose, nk, Po, Ptrue, title) Returns true if comparison of Po and Ptrue fails, and conditionally writes results to stream. :param verbose: [in] If true, write results to stdout :param nk: [in] Number of layers :param po: [in] Calculated answer :param ptrue: [in] True answer :param title: [in] Title for messages :calledfrom: :f:func:`ndiff_unit_tests_continuous ` .. f:function:: logical function test_data1di(verbose, nk, Po, Ptrue, title) Returns true if comparison of Po and Ptrue fails, and conditionally writes results to stream. :param verbose: [in] If true, write results to stdout :param nk: [in] Number of layers :param po: [in] Calculated answer :param ptrue: [in] True answer :param title: [in] Title for messages .. f:function:: logical function test_nsp(verbose, ns, KoL, KoR, pL, pR, hEff, KoL0, KoR0, pL0, pR0, hEff0, title) Returns true if output of find_neutral_surface_positions() does not match correct values, and conditionally writes results to stream. :param verbose: [in] If true, write results to stdout :param ns: [in] Number of surfaces :param kol: [in] Index of first left interface above neutral surface :param kor: [in] Index of first right interface above neutral surface :param pl: [in] Fractional position of neutral surface within layer KoL of left column :param pr: [in] Fractional position of neutral surface within layer KoR of right column :param heff: [in] Effective thickness between two neutral surfaces [R L2 T-2 ~> Pa] :param kol0: [in] Correct value for KoL :param kor0: [in] Correct value for KoR :param pl0: [in] Correct value for pL :param pr0: [in] Correct value for pR :param heff0: [in] Correct value for hEff :param title: [in] Title for messages :callto: :f:func:`compare_nsp_row ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`ndiff_unit_tests_continuous ` :calledfrom: :f:func:`ndiff_unit_tests_discontinuous ` .. f:function:: logical function compare_nsp_row(KoL, KoR, pL, pR, KoL0, KoR0, pL0, pR0) Compares a single row, k, of output from find_neutral_surface_positions() :param kol: [in] Index of first left interface above neutral surface :param kor: [in] Index of first right interface above neutral surface :param pl: [in] Fractional position of neutral surface within layer KoL of left column :param pr: [in] Fractional position of neutral surface within layer KoR of right column :param kol0: [in] Correct value for KoL :param kor0: [in] Correct value for KoR :param pl0: [in] Correct value for pL :param pr0: [in] Correct value for pR :calledfrom: :f:func:`test_nsp ` .. f:function:: logical function test_rnp(expected_pos, test_pos, title) Compares output position from refine_nondim_position with an expected value. :param expected_pos: [in] The expected position :param test_pos: [in] The position returned by the code :param title: [in] A label for this test :calledfrom: :f:func:`ndiff_unit_tests_discontinuous ` .. f:subroutine:: subroutine neutral_diffusion_end(CS) Deallocates neutral_diffusion control structure. :param cs: Neutral diffusion control structure [debug] xpath(./compounddef/compoundname[text()="mom_neutral_diffusion::neutral_diffusion_cs"]/..) match([('id', 'structmom__neutral__diffusion_1_1neutral__diffusion__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_neutral_diffusion::neutral_diffusion_cs', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::neutral_diffusion', , {} [debug] DoxygenMethodDocumenter format_signature called ((nk, h, S, Si, i_method, h_neglect)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::interface_scalar', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::interface_scalar', , {}, [debug] DoxygenMethodDocumenter format_signature called ((hkm1, hk, hkp1, hkp2, Ak, Akp1, Pk, Pkp1, h_neglect)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::ppm_edge', , {}, ['', 'R [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::ppm_edge', , {}, ['', 'R [debug] DoxygenMethodDocumenter format_signature called ((xL, xR, aL, aR, aMean)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::ppm_ave', , {}, ['', 'Re [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::ppm_ave', , {}, ['', 'Re [debug] DoxygenMethodDocumenter format_signature called ((a, x)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::signum', , {}, ['', 'A t [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::signum', , {}, ['', 'A t [debug] DoxygenMethodDocumenter format_signature called ((nk, h, S, c_method, b_method, diff)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::plm_diff', , {}, ['', 'R [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::plm_diff', , {}, ['', 'R [debug] DoxygenMethodDocumenter format_signature called ((hkm1, hk, hkp1, Skm1, Sk, Skp1)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::fv_diff', , {}, ['', 'Re [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::fv_diff', , {}, ['', 'Re [debug] DoxygenMethodDocumenter format_signature called ((hkm1, hk, hkp1, Skm1, Sk, Skp1)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::fvlsq_slope', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::fvlsq_slope', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((nk, Pl, Tl, Sl, dRdTl, dRdSl, Pr, Tr, Sr, dRdTr, dRdSr, PoL, PoR, KoL, KoR, hEff, bl_kl, bl_kr, bl_zl, bl_zr)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::find_neutral_surface_positions_continuous', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::mark_unstable_cells', , [debug] DoxygenMethodDocumenter format_signature called ((CS, ksurf, pos_last, T_from, S_from, P_from, T_top, S_top, P_top, T_bot, S_bot, P_bot, T_poly, S_poly)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::search_other_column', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::search_other_column', , [debug] DoxygenMethodDocumenter format_signature called ((nk, kl, ki, reached_bottom, searching_this_column, searching_other_column)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::increment_interface', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::increment_interface', , [debug] DoxygenMethodDocumenter format_signature called ((CS, z0, T_ref, S_ref, dRdT_ref, dRdS_ref, dRdT_top, dRdS_top, dRdT_bot, dRdS_bot, ppoly_T, ppoly_S)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::find_neutral_pos_linear', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::find_neutral_pos_full', [debug] DoxygenMethodDocumenter format_signature called ((CS, T1, S1, p1_in, T2, S2, p2_in, drho, drdt1_out, drds1_out, drdt2_out, drds2_out)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::calc_delta_rho_and_derivs', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::delta_rho_from_derivs', [debug] DoxygenMethodDocumenter format_signature called ((n, ns, Pint, Karr, NParr, k_surface)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::absolute_position', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::absolute_position', , {} [debug] DoxygenMethodDocumenter format_signature called ((n, ns, Pint, Karr, NParr)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::absolute_positions', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::absolute_positions', , { [debug] DoxygenMethodDocumenter format_signature called ((nk, nsurf, deg, hl, hr, Tl, Tr, PiL, PiR, KoL, KoR, hEff, Flx, continuous, h_neglect, remap_CS, h_neglect_edge)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::neutral_surface_flux', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::neutral_surface_flux', , [debug] DoxygenMethodDocumenter format_signature called ((nk, ns, k_sub, Ks, Ps, T_mean, T_int, deg, iMethod, T_poly, T_top, T_bot, T_sub, T_top_int, T_bot_int, T_layer)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::neutral_surface_t_eval', ]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__neutral__diffusion_1a1c5ac28d7c54581cdd872fe58ef0b204'), ('prot', 'private'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_neutral_diffusion::fv_diff) node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::test_fv_diff', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::test_fv_diff', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((verbose, hkm1, hk, hkp1, Skm1, Sk, Skp1, Ptrue, title)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__neutral__diffusion_1a6ed3814088af470ad6fc4a3a80926fd7) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__neutral__diffusion_1a6ed3814088af470ad6fc4a3a80926fd7'), ('prot', 'private'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_neutral_diffusion::fvlsq_slope) node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::test_fvlsq_slope', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::test_fvlsq_slope', , {}, [debug] DoxygenMethodDocumenter format_signature called ((verbose, rhoNeg, Pneg, rhoPos, Ppos, Ptrue, title)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__neutral__diffusion_1a666836e70bdae7ef4ec271246cf91993) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__neutral__diffusion_1a666836e70bdae7ef4ec271246cf91993'), ('prot', 'private'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_neutral_diffusion::interpolate_for_nondim_position) node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::test_ifndp', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::test_ifndp', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((verbose, nk, Po, Ptrue, title)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::test_data1d', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::test_data1d', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((verbose, nk, Po, Ptrue, title)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::test_data1di', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::test_data1di', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((verbose, ns, KoL, KoR, pL, pR, hEff, KoL0, KoR0, pL0, pR0, hEff0, title)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::test_nsp', , {}, ['', 'R [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::test_nsp', , {}, ['', 'R [debug] DoxygenMethodDocumenter format_signature called ((KoL, KoR, pL, pR, KoL0, KoR0, pL0, pR0)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::compare_nsp_row', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::compare_nsp_row', , {}, [debug] DoxygenMethodDocumenter format_signature called ((expected_pos, test_pos, title)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::test_rnp', , {}, ['', 'C [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::test_rnp', , {}, ['', 'C [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::neutral_diffusion_end', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_neutral_diffusion::neutral_diffusion_end', [fd] run(.. f:type:: neutral_diffusion_cs) [fd] sig(neutral_diffusion_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(neutral_diffusion_cs) arglist(None) [fd] fullname(mom_neutral_diffusion/neutral_diffusion_cs) ftype(None) [fd] name(('mom_neutral_diffusion/neutral_diffusion_cs', None)) sig(neutral_diffusion_cs) signode(type mom_neutral_diffusion/neutral_diffusion_cs) [fd] run(.. f:function:: logical function neutral_diffusion_init(Time, G, US, param_file, diag, EOS, diabatic_CSp, CS)) [fd] sig(logical function neutral_diffusion_init(Time, G, US, param_file, diag, EOS, diabatic_CSp, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(neutral_diffusion_init) arglist(Time, G, US, param_file, diag, EOS, diabatic_CSp, CS) [fd] fullname(mom_neutral_diffusion/neutral_diffusion_init) ftype(logical) [fd] name(('mom_neutral_diffusion/neutral_diffusion_init', 'logical')) sig(logical function neutral_diffusion_init(Time, G, US, param_file, diag, EOS, diabatic_CSp, CS)) signode(function mom_neutral_diffusion/neutral_diffusion_initTimeGUSparam_filediagEOSdiabatic_CSpCS [logical]) [fd] run(.. f:subroutine:: subroutine neutral_diffusion_calc_coeffs(G, GV, US, h, T, S, CS, p_surf)) [fd] sig(subroutine neutral_diffusion_calc_coeffs(G, GV, US, h, T, S, CS, p_surf)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(neutral_diffusion_calc_coeffs) arglist(G, GV, US, h, T, S, CS, p_surf) [fd] fullname(mom_neutral_diffusion/neutral_diffusion_calc_coeffs) ftype(None) [fd] name(('mom_neutral_diffusion/neutral_diffusion_calc_coeffs', None)) sig(subroutine neutral_diffusion_calc_coeffs(G, GV, US, h, T, S, CS, p_surf)) signode(subroutine mom_neutral_diffusion/neutral_diffusion_calc_coeffsGGVUShTSCSp_surf) [fd] run(.. f:subroutine:: subroutine neutral_diffusion(G, GV, h, Coef_x, Coef_y, dt, Reg, US, CS)) [fd] sig(subroutine neutral_diffusion(G, GV, h, Coef_x, Coef_y, dt, Reg, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(neutral_diffusion) arglist(G, GV, h, Coef_x, Coef_y, dt, Reg, US, CS) [fd] fullname(mom_neutral_diffusion/neutral_diffusion) ftype(None) [fd] name(('mom_neutral_diffusion/neutral_diffusion', None)) sig(subroutine neutral_diffusion(G, GV, h, Coef_x, Coef_y, dt, Reg, US, CS)) signode(subroutine mom_neutral_diffusion/neutral_diffusionGGVhCoef_xCoef_ydtRegUSCS) [fd] run(.. f:subroutine:: subroutine interface_scalar(nk, h, S, Si, i_method, h_neglect)) [fd] sig(subroutine interface_scalar(nk, h, S, Si, i_method, h_neglect)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(interface_scalar) arglist(nk, h, S, Si, i_method, h_neglect) [fd] fullname(mom_neutral_diffusion/interface_scalar) ftype(None) [fd] name(('mom_neutral_diffusion/interface_scalar', None)) sig(subroutine interface_scalar(nk, h, S, Si, i_method, h_neglect)) signode(subroutine mom_neutral_diffusion/interface_scalarnkhSSii_methodh_neglect) [fd] run(.. f:function:: real function ppm_edge(hkm1, hk, hkp1, hkp2, Ak, Akp1, Pk, Pkp1, h_neglect)) [fd] sig(real function ppm_edge(hkm1, hk, hkp1, hkp2, Ak, Akp1, Pk, Pkp1, h_neglect)) [fd] ftype(real) objtype(function) modname(None) typename() name(ppm_edge) arglist(hkm1, hk, hkp1, hkp2, Ak, Akp1, Pk, Pkp1, h_neglect) [fd] fullname(mom_neutral_diffusion/ppm_edge) ftype(real) [fd] name(('mom_neutral_diffusion/ppm_edge', 'real')) sig(real function ppm_edge(hkm1, hk, hkp1, hkp2, Ak, Akp1, Pk, Pkp1, h_neglect)) signode(function mom_neutral_diffusion/ppm_edgehkm1hkhkp1hkp2AkAkp1PkPkp1h_neglect [real]) [fd] run(.. f:function:: real function ppm_ave(xL, xR, aL, aR, aMean)) [fd] sig(real function ppm_ave(xL, xR, aL, aR, aMean)) [fd] ftype(real) objtype(function) modname(None) typename() name(ppm_ave) arglist(xL, xR, aL, aR, aMean) [fd] fullname(mom_neutral_diffusion/ppm_ave) ftype(real) [fd] name(('mom_neutral_diffusion/ppm_ave', 'real')) sig(real function ppm_ave(xL, xR, aL, aR, aMean)) signode(function mom_neutral_diffusion/ppm_avexLxRaLaRaMean [real]) [fd] run(.. f:function:: real function signum(a, x)) [fd] sig(real function signum(a, x)) [fd] ftype(real) objtype(function) modname(None) typename() name(signum) arglist(a, x) [fd] fullname(mom_neutral_diffusion/signum) ftype(real) [fd] name(('mom_neutral_diffusion/signum', 'real')) sig(real function signum(a, x)) signode(function mom_neutral_diffusion/signumax [real]) [fd] run(.. f:subroutine:: subroutine plm_diff(nk, h, S, c_method, b_method, diff)) [fd] sig(subroutine plm_diff(nk, h, S, c_method, b_method, diff)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(plm_diff) arglist(nk, h, S, c_method, b_method, diff) [fd] fullname(mom_neutral_diffusion/plm_diff) ftype(None) [fd] name(('mom_neutral_diffusion/plm_diff', None)) sig(subroutine plm_diff(nk, h, S, c_method, b_method, diff)) signode(subroutine mom_neutral_diffusion/plm_diffnkhSc_methodb_methoddiff) [fd] run(.. f:function:: real function fv_diff(hkm1, hk, hkp1, Skm1, Sk, Skp1)) [fd] sig(real function fv_diff(hkm1, hk, hkp1, Skm1, Sk, Skp1)) [fd] ftype(real) objtype(function) modname(None) typename() name(fv_diff) arglist(hkm1, hk, hkp1, Skm1, Sk, Skp1) [fd] fullname(mom_neutral_diffusion/fv_diff) ftype(real) [fd] name(('mom_neutral_diffusion/fv_diff', 'real')) sig(real function fv_diff(hkm1, hk, hkp1, Skm1, Sk, Skp1)) signode(function mom_neutral_diffusion/fv_diffhkm1hkhkp1Skm1SkSkp1 [real]) [fd] run(.. f:function:: real function fvlsq_slope(hkm1, hk, hkp1, Skm1, Sk, Skp1)) [fd] sig(real function fvlsq_slope(hkm1, hk, hkp1, Skm1, Sk, Skp1)) [fd] ftype(real) objtype(function) modname(None) typename() name(fvlsq_slope) arglist(hkm1, hk, hkp1, Skm1, Sk, Skp1) [fd] fullname(mom_neutral_diffusion/fvlsq_slope) ftype(real) [fd] name(('mom_neutral_diffusion/fvlsq_slope', 'real')) sig(real function fvlsq_slope(hkm1, hk, hkp1, Skm1, Sk, Skp1)) signode(function mom_neutral_diffusion/fvlsq_slopehkm1hkhkp1Skm1SkSkp1 [real]) [fd] run(.. f:subroutine:: subroutine find_neutral_surface_positions_continuous(nk, Pl, Tl, Sl, dRdTl, dRdSl, Pr, Tr, Sr, dRdTr, dRdSr, PoL, PoR, KoL, KoR, hEff, bl_kl, bl_kr, bl_zl, bl_zr)) [fd] sig(subroutine find_neutral_surface_positions_continuous(nk, Pl, Tl, Sl, dRdTl, dRdSl, Pr, Tr, Sr, dRdTr, dRdSr, PoL, PoR, KoL, KoR, hEff, bl_kl, bl_kr, bl_zl, bl_zr)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_neutral_surface_positions_continuous) arglist(nk, Pl, Tl, Sl, dRdTl, dRdSl, Pr, Tr, Sr, dRdTr, dRdSr, PoL, PoR, KoL, KoR, hEff, bl_kl, bl_kr, bl_zl, bl_zr) [fd] fullname(mom_neutral_diffusion/find_neutral_surface_positions_continuous) ftype(None) [fd] name(('mom_neutral_diffusion/find_neutral_surface_positions_continuous', None)) sig(subroutine find_neutral_surface_positions_continuous(nk, Pl, Tl, Sl, dRdTl, dRdSl, Pr, Tr, Sr, dRdTr, dRdSr, PoL, PoR, KoL, KoR, hEff, bl_kl, bl_kr, bl_zl, bl_zr)) signode(subroutine mom_neutral_diffusion/find_neutral_surface_positions_continuousnkPlTlSldRdTldRdSlPrTrSrdRdTrdRdSrPoLPoRKoLKoRhEffbl_klbl_krbl_zlbl_zr) [fd] run(.. f:function:: real function interpolate_for_nondim_position(dRhoNeg, Pneg, dRhoPos, Ppos)) [fd] sig(real function interpolate_for_nondim_position(dRhoNeg, Pneg, dRhoPos, Ppos)) [fd] ftype(real) objtype(function) modname(None) typename() name(interpolate_for_nondim_position) arglist(dRhoNeg, Pneg, dRhoPos, Ppos) [fd] fullname(mom_neutral_diffusion/interpolate_for_nondim_position) ftype(real) [fd] name(('mom_neutral_diffusion/interpolate_for_nondim_position', 'real')) sig(real function interpolate_for_nondim_position(dRhoNeg, Pneg, dRhoPos, Ppos)) signode(function mom_neutral_diffusion/interpolate_for_nondim_positiondRhoNegPnegdRhoPosPpos [real]) [fd] run(.. f:subroutine:: subroutine find_neutral_surface_positions_discontinuous(CS, nk, Pres_l, hcol_l, Tl, Sl, ppoly_T_l, ppoly_S_l, stable_l, Pres_r, hcol_r, Tr, Sr, ppoly_T_r, ppoly_S_r, stable_r, PoL, PoR, KoL, KoR, hEff, zeta_bot_L, zeta_bot_R, k_bot_L, k_bot_R, hard_fail_heff)) [fd] sig(subroutine find_neutral_surface_positions_discontinuous(CS, nk, Pres_l, hcol_l, Tl, Sl, ppoly_T_l, ppoly_S_l, stable_l, Pres_r, hcol_r, Tr, Sr, ppoly_T_r, ppoly_S_r, stable_r, PoL, PoR, KoL, KoR, hEff, zeta_bot_L, zeta_bot_R, k_bot_L, k_bot_R, hard_fail_heff)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_neutral_surface_positions_discontinuous) arglist(CS, nk, Pres_l, hcol_l, Tl, Sl, ppoly_T_l, ppoly_S_l, stable_l, Pres_r, hcol_r, Tr, Sr, ppoly_T_r, ppoly_S_r, stable_r, PoL, PoR, KoL, KoR, hEff, zeta_bot_L, zeta_bot_R, k_bot_L, k_bot_R, hard_fail_heff) [fd] fullname(mom_neutral_diffusion/find_neutral_surface_positions_discontinuous) ftype(None) [fd] name(('mom_neutral_diffusion/find_neutral_surface_positions_discontinuous', None)) sig(subroutine find_neutral_surface_positions_discontinuous(CS, nk, Pres_l, hcol_l, Tl, Sl, ppoly_T_l, ppoly_S_l, stable_l, Pres_r, hcol_r, Tr, Sr, ppoly_T_r, ppoly_S_r, stable_r, PoL, PoR, KoL, KoR, hEff, zeta_bot_L, zeta_bot_R, k_bot_L, k_bot_R, hard_fail_heff)) signode(subroutine mom_neutral_diffusion/find_neutral_surface_positions_discontinuousCSnkPres_lhcol_lTlSlppoly_T_lppoly_S_lstable_lPres_rhcol_rTrSrppoly_T_rppoly_S_rstable_rPoLPoRKoLKoRhEffzeta_bot_Lzeta_bot_Rk_bot_Lk_bot_Rhard_fail_heff) [fd] run(.. f:subroutine:: subroutine mark_unstable_cells(CS, nk, T, S, P, stable_cell)) [fd] sig(subroutine mark_unstable_cells(CS, nk, T, S, P, stable_cell)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mark_unstable_cells) arglist(CS, nk, T, S, P, stable_cell) [fd] fullname(mom_neutral_diffusion/mark_unstable_cells) ftype(None) [fd] name(('mom_neutral_diffusion/mark_unstable_cells', None)) sig(subroutine mark_unstable_cells(CS, nk, T, S, P, stable_cell)) signode(subroutine mom_neutral_diffusion/mark_unstable_cellsCSnkTSPstable_cell) [fd] run(.. f:function:: real function search_other_column(CS, ksurf, pos_last, T_from, S_from, P_from, T_top, S_top, P_top, T_bot, S_bot, P_bot, T_poly, S_poly)) [fd] sig(real function search_other_column(CS, ksurf, pos_last, T_from, S_from, P_from, T_top, S_top, P_top, T_bot, S_bot, P_bot, T_poly, S_poly)) [fd] ftype(real) objtype(function) modname(None) typename() name(search_other_column) arglist(CS, ksurf, pos_last, T_from, S_from, P_from, T_top, S_top, P_top, T_bot, S_bot, P_bot, T_poly, S_poly) [fd] fullname(mom_neutral_diffusion/search_other_column) ftype(real) [fd] name(('mom_neutral_diffusion/search_other_column', 'real')) sig(real function search_other_column(CS, ksurf, pos_last, T_from, S_from, P_from, T_top, S_top, P_top, T_bot, S_bot, P_bot, T_poly, S_poly)) signode(function mom_neutral_diffusion/search_other_columnCSksurfpos_lastT_fromS_fromP_fromT_topS_topP_topT_botS_botP_botT_polyS_poly [real]) [fd] run(.. f:subroutine:: subroutine increment_interface(nk, kl, ki, reached_bottom, searching_this_column, searching_other_column)) [fd] sig(subroutine increment_interface(nk, kl, ki, reached_bottom, searching_this_column, searching_other_column)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(increment_interface) arglist(nk, kl, ki, reached_bottom, searching_this_column, searching_other_column) [fd] fullname(mom_neutral_diffusion/increment_interface) ftype(None) [fd] name(('mom_neutral_diffusion/increment_interface', None)) sig(subroutine increment_interface(nk, kl, ki, reached_bottom, searching_this_column, searching_other_column)) signode(subroutine mom_neutral_diffusion/increment_interfacenkklkireached_bottomsearching_this_columnsearching_other_column) [fd] run(.. f:function:: real function find_neutral_pos_linear(CS, z0, T_ref, S_ref, dRdT_ref, dRdS_ref, dRdT_top, dRdS_top, dRdT_bot, dRdS_bot, ppoly_T, ppoly_S)) [fd] sig(real function find_neutral_pos_linear(CS, z0, T_ref, S_ref, dRdT_ref, dRdS_ref, dRdT_top, dRdS_top, dRdT_bot, dRdS_bot, ppoly_T, ppoly_S)) [fd] ftype(real) objtype(function) modname(None) typename() name(find_neutral_pos_linear) arglist(CS, z0, T_ref, S_ref, dRdT_ref, dRdS_ref, dRdT_top, dRdS_top, dRdT_bot, dRdS_bot, ppoly_T, ppoly_S) [fd] fullname(mom_neutral_diffusion/find_neutral_pos_linear) ftype(real) [fd] name(('mom_neutral_diffusion/find_neutral_pos_linear', 'real')) sig(real function find_neutral_pos_linear(CS, z0, T_ref, S_ref, dRdT_ref, dRdS_ref, dRdT_top, dRdS_top, dRdT_bot, dRdS_bot, ppoly_T, ppoly_S)) signode(function mom_neutral_diffusion/find_neutral_pos_linearCSz0T_refS_refdRdT_refdRdS_refdRdT_topdRdS_topdRdT_botdRdS_botppoly_Tppoly_S [real]) [fd] run(.. f:function:: real function find_neutral_pos_full(CS, z0, T_ref, S_ref, P_ref, P_top, P_bot, ppoly_T, ppoly_S)) [fd] sig(real function find_neutral_pos_full(CS, z0, T_ref, S_ref, P_ref, P_top, P_bot, ppoly_T, ppoly_S)) [fd] ftype(real) objtype(function) modname(None) typename() name(find_neutral_pos_full) arglist(CS, z0, T_ref, S_ref, P_ref, P_top, P_bot, ppoly_T, ppoly_S) [fd] fullname(mom_neutral_diffusion/find_neutral_pos_full) ftype(real) [fd] name(('mom_neutral_diffusion/find_neutral_pos_full', 'real')) sig(real function find_neutral_pos_full(CS, z0, T_ref, S_ref, P_ref, P_top, P_bot, ppoly_T, ppoly_S)) signode(function mom_neutral_diffusion/find_neutral_pos_fullCSz0T_refS_refP_refP_topP_botppoly_Tppoly_S [real]) [fd] run(.. f:subroutine:: subroutine calc_delta_rho_and_derivs(CS, T1, S1, p1_in, T2, S2, p2_in, drho, drdt1_out, drds1_out, drdt2_out, drds2_out)) [fd] sig(subroutine calc_delta_rho_and_derivs(CS, T1, S1, p1_in, T2, S2, p2_in, drho, drdt1_out, drds1_out, drdt2_out, drds2_out)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calc_delta_rho_and_derivs) arglist(CS, T1, S1, p1_in, T2, S2, p2_in, drho, drdt1_out, drds1_out, drdt2_out, drds2_out) [fd] fullname(mom_neutral_diffusion/calc_delta_rho_and_derivs) ftype(None) [fd] name(('mom_neutral_diffusion/calc_delta_rho_and_derivs', None)) sig(subroutine calc_delta_rho_and_derivs(CS, T1, S1, p1_in, T2, S2, p2_in, drho, drdt1_out, drds1_out, drdt2_out, drds2_out)) signode(subroutine mom_neutral_diffusion/calc_delta_rho_and_derivsCST1S1p1_inT2S2p2_indrhodrdt1_outdrds1_outdrdt2_outdrds2_out) [fd] run(.. f:function:: real function delta_rho_from_derivs(T1, S1, P1, dRdT1, dRdS1, T2, S2, P2, dRdT2, dRdS2)) [fd] sig(real function delta_rho_from_derivs(T1, S1, P1, dRdT1, dRdS1, T2, S2, P2, dRdT2, dRdS2)) [fd] ftype(real) objtype(function) modname(None) typename() name(delta_rho_from_derivs) arglist(T1, S1, P1, dRdT1, dRdS1, T2, S2, P2, dRdT2, dRdS2) [fd] fullname(mom_neutral_diffusion/delta_rho_from_derivs) ftype(real) [fd] name(('mom_neutral_diffusion/delta_rho_from_derivs', 'real')) sig(real function delta_rho_from_derivs(T1, S1, P1, dRdT1, dRdS1, T2, S2, P2, dRdT2, dRdS2)) signode(function mom_neutral_diffusion/delta_rho_from_derivsT1S1P1dRdT1dRdS1T2S2P2dRdT2dRdS2 [real]) [fd] run(.. f:function:: real function absolute_position(n, ns, Pint, Karr, NParr, k_surface)) [fd] sig(real function absolute_position(n, ns, Pint, Karr, NParr, k_surface)) [fd] ftype(real) objtype(function) modname(None) typename() name(absolute_position) arglist(n, ns, Pint, Karr, NParr, k_surface) [fd] fullname(mom_neutral_diffusion/absolute_position) ftype(real) [fd] name(('mom_neutral_diffusion/absolute_position', 'real')) sig(real function absolute_position(n, ns, Pint, Karr, NParr, k_surface)) signode(function mom_neutral_diffusion/absolute_positionnnsPintKarrNParrk_surface [real]) [fd] run(.. f:function:: real function absolute_positions(n, ns, Pint, Karr, NParr)) [fd] sig(real function absolute_positions(n, ns, Pint, Karr, NParr)) [fd] ftype(real) objtype(function) modname(None) typename() name(absolute_positions) arglist(n, ns, Pint, Karr, NParr) [fd] fullname(mom_neutral_diffusion/absolute_positions) ftype(real) [fd] name(('mom_neutral_diffusion/absolute_positions', 'real')) sig(real function absolute_positions(n, ns, Pint, Karr, NParr)) signode(function mom_neutral_diffusion/absolute_positionsnnsPintKarrNParr [real]) [fd] run(.. f:subroutine:: subroutine neutral_surface_flux(nk, nsurf, deg, hl, hr, Tl, Tr, PiL, PiR, KoL, KoR, hEff, Flx, continuous, h_neglect, remap_CS, h_neglect_edge)) [fd] sig(subroutine neutral_surface_flux(nk, nsurf, deg, hl, hr, Tl, Tr, PiL, PiR, KoL, KoR, hEff, Flx, continuous, h_neglect, remap_CS, h_neglect_edge)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(neutral_surface_flux) arglist(nk, nsurf, deg, hl, hr, Tl, Tr, PiL, PiR, KoL, KoR, hEff, Flx, continuous, h_neglect, remap_CS, h_neglect_edge) [fd] fullname(mom_neutral_diffusion/neutral_surface_flux) ftype(None) [fd] name(('mom_neutral_diffusion/neutral_surface_flux', None)) sig(subroutine neutral_surface_flux(nk, nsurf, deg, hl, hr, Tl, Tr, PiL, PiR, KoL, KoR, hEff, Flx, continuous, h_neglect, remap_CS, h_neglect_edge)) signode(subroutine mom_neutral_diffusion/neutral_surface_fluxnknsurfdeghlhrTlTrPiLPiRKoLKoRhEffFlxcontinuoush_neglectremap_CSh_neglect_edge) [fd] run(.. f:subroutine:: subroutine neutral_surface_t_eval(nk, ns, k_sub, Ks, Ps, T_mean, T_int, deg, iMethod, T_poly, T_top, T_bot, T_sub, T_top_int, T_bot_int, T_layer)) [fd] sig(subroutine neutral_surface_t_eval(nk, ns, k_sub, Ks, Ps, T_mean, T_int, deg, iMethod, T_poly, T_top, T_bot, T_sub, T_top_int, T_bot_int, T_layer)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(neutral_surface_t_eval) arglist(nk, ns, k_sub, Ks, Ps, T_mean, T_int, deg, iMethod, T_poly, T_top, T_bot, T_sub, T_top_int, T_bot_int, T_layer) [fd] fullname(mom_neutral_diffusion/neutral_surface_t_eval) ftype(None) [fd] name(('mom_neutral_diffusion/neutral_surface_t_eval', None)) sig(subroutine neutral_surface_t_eval(nk, ns, k_sub, Ks, Ps, T_mean, T_int, deg, iMethod, T_poly, T_top, T_bot, T_sub, T_top_int, T_bot_int, T_layer)) signode(subroutine mom_neutral_diffusion/neutral_surface_t_evalnknsk_subKsPsT_meanT_intdegiMethodT_polyT_topT_botT_subT_top_intT_bot_intT_layer) [fd] run(.. f:subroutine:: subroutine ppm_left_right_edge_values(nk, Tl, Ti, aL, aR)) [fd] sig(subroutine ppm_left_right_edge_values(nk, Tl, Ti, aL, aR)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ppm_left_right_edge_values) arglist(nk, Tl, Ti, aL, aR) [fd] fullname(mom_neutral_diffusion/ppm_left_right_edge_values) ftype(None) [fd] name(('mom_neutral_diffusion/ppm_left_right_edge_values', None)) sig(subroutine ppm_left_right_edge_values(nk, Tl, Ti, aL, aR)) signode(subroutine mom_neutral_diffusion/ppm_left_right_edge_valuesnkTlTiaLaR) [fd] run(.. f:function:: logical function neutral_diffusion_unit_tests(verbose)) [fd] sig(logical function neutral_diffusion_unit_tests(verbose)) [fd] ftype(logical) objtype(function) modname(None) typename() name(neutral_diffusion_unit_tests) arglist(verbose) [fd] fullname(mom_neutral_diffusion/neutral_diffusion_unit_tests) ftype(logical) [fd] name(('mom_neutral_diffusion/neutral_diffusion_unit_tests', 'logical')) sig(logical function neutral_diffusion_unit_tests(verbose)) signode(function mom_neutral_diffusion/neutral_diffusion_unit_testsverbose [logical]) [fd] run(.. f:function:: logical function ndiff_unit_tests_continuous(verbose)) [fd] sig(logical function ndiff_unit_tests_continuous(verbose)) [fd] ftype(logical) objtype(function) modname(None) typename() name(ndiff_unit_tests_continuous) arglist(verbose) [fd] fullname(mom_neutral_diffusion/ndiff_unit_tests_continuous) ftype(logical) [fd] name(('mom_neutral_diffusion/ndiff_unit_tests_continuous', 'logical')) sig(logical function ndiff_unit_tests_continuous(verbose)) signode(function mom_neutral_diffusion/ndiff_unit_tests_continuousverbose [logical]) [fd] run(.. f:function:: logical function ndiff_unit_tests_discontinuous(verbose)) [fd] sig(logical function ndiff_unit_tests_discontinuous(verbose)) [fd] ftype(logical) objtype(function) modname(None) typename() name(ndiff_unit_tests_discontinuous) arglist(verbose) [fd] fullname(mom_neutral_diffusion/ndiff_unit_tests_discontinuous) ftype(logical) [fd] name(('mom_neutral_diffusion/ndiff_unit_tests_discontinuous', 'logical')) sig(logical function ndiff_unit_tests_discontinuous(verbose)) signode(function mom_neutral_diffusion/ndiff_unit_tests_discontinuousverbose [logical]) [fd] run(.. f:function:: logical function test_fv_diff(verbose, hkm1, hk, hkp1, Skm1, Sk, Skp1, Ptrue, title)) [fd] sig(logical function test_fv_diff(verbose, hkm1, hk, hkp1, Skm1, Sk, Skp1, Ptrue, title)) [fd] ftype(logical) objtype(function) modname(None) typename() name(test_fv_diff) arglist(verbose, hkm1, hk, hkp1, Skm1, Sk, Skp1, Ptrue, title) [fd] fullname(mom_neutral_diffusion/test_fv_diff) ftype(logical) [fd] name(('mom_neutral_diffusion/test_fv_diff', 'logical')) sig(logical function test_fv_diff(verbose, hkm1, hk, hkp1, Skm1, Sk, Skp1, Ptrue, title)) signode(function mom_neutral_diffusion/test_fv_diffverbosehkm1hkhkp1Skm1SkSkp1Ptruetitle [logical]) [fd] run(.. f:function:: logical function test_fvlsq_slope(verbose, hkm1, hk, hkp1, Skm1, Sk, Skp1, Ptrue, title)) [fd] sig(logical function test_fvlsq_slope(verbose, hkm1, hk, hkp1, Skm1, Sk, Skp1, Ptrue, title)) [fd] ftype(logical) objtype(function) modname(None) typename() name(test_fvlsq_slope) arglist(verbose, hkm1, hk, hkp1, Skm1, Sk, Skp1, Ptrue, title) [fd] fullname(mom_neutral_diffusion/test_fvlsq_slope) ftype(logical) [fd] name(('mom_neutral_diffusion/test_fvlsq_slope', 'logical')) sig(logical function test_fvlsq_slope(verbose, hkm1, hk, hkp1, Skm1, Sk, Skp1, Ptrue, title)) signode(function mom_neutral_diffusion/test_fvlsq_slopeverbosehkm1hkhkp1Skm1SkSkp1Ptruetitle [logical]) [fd] run(.. f:function:: logical function test_ifndp(verbose, rhoNeg, Pneg, rhoPos, Ppos, Ptrue, title)) [fd] sig(logical function test_ifndp(verbose, rhoNeg, Pneg, rhoPos, Ppos, Ptrue, title)) [fd] ftype(logical) objtype(function) modname(None) typename() name(test_ifndp) arglist(verbose, rhoNeg, Pneg, rhoPos, Ppos, Ptrue, title) [fd] fullname(mom_neutral_diffusion/test_ifndp) ftype(logical) [fd] name(('mom_neutral_diffusion/test_ifndp', 'logical')) sig(logical function test_ifndp(verbose, rhoNeg, Pneg, rhoPos, Ppos, Ptrue, title)) signode(function mom_neutral_diffusion/test_ifndpverboserhoNegPnegrhoPosPposPtruetitle [logical]) [fd] run(.. f:function:: logical function test_data1d(verbose, nk, Po, Ptrue, title)) [fd] sig(logical function test_data1d(verbose, nk, Po, Ptrue, title)) [fd] ftype(logical) objtype(function) modname(None) typename() name(test_data1d) arglist(verbose, nk, Po, Ptrue, title) [fd] fullname(mom_neutral_diffusion/test_data1d) ftype(logical) [fd] name(('mom_neutral_diffusion/test_data1d', 'logical')) sig(logical function test_data1d(verbose, nk, Po, Ptrue, title)) signode(function mom_neutral_diffusion/test_data1dverbosenkPoPtruetitle [logical]) [fd] run(.. f:function:: logical function test_data1di(verbose, nk, Po, Ptrue, title)) [fd] sig(logical function test_data1di(verbose, nk, Po, Ptrue, title)) [fd] ftype(logical) objtype(function) modname(None) typename() name(test_data1di) arglist(verbose, nk, Po, Ptrue, title) [fd] fullname(mom_neutral_diffusion/test_data1di) ftype(logical) [fd] name(('mom_neutral_diffusion/test_data1di', 'logical')) sig(logical function test_data1di(verbose, nk, Po, Ptrue, title)) signode(function mom_neutral_diffusion/test_data1diverbosenkPoPtruetitle [logical]) [fd] run(.. f:function:: logical function test_nsp(verbose, ns, KoL, KoR, pL, pR, hEff, KoL0, KoR0, pL0, pR0, hEff0, title)) [fd] sig(logical function test_nsp(verbose, ns, KoL, KoR, pL, pR, hEff, KoL0, KoR0, pL0, pR0, hEff0, title)) [fd] ftype(logical) objtype(function) modname(None) typename() name(test_nsp) arglist(verbose, ns, KoL, KoR, pL, pR, hEff, KoL0, KoR0, pL0, pR0, hEff0, title) [fd] fullname(mom_neutral_diffusion/test_nsp) ftype(logical) [fd] name(('mom_neutral_diffusion/test_nsp', 'logical')) sig(logical function test_nsp(verbose, ns, KoL, KoR, pL, pR, hEff, KoL0, KoR0, pL0, pR0, hEff0, title)) signode(function mom_neutral_diffusion/test_nspverbosensKoLKoRpLpRhEffKoL0KoR0pL0pR0hEff0title [logical]) [fd] run(.. f:function:: logical function compare_nsp_row(KoL, KoR, pL, pR, KoL0, KoR0, pL0, pR0)) [fd] sig(logical function compare_nsp_row(KoL, KoR, pL, pR, KoL0, KoR0, pL0, pR0)) [fd] ftype(logical) objtype(function) modname(None) typename() name(compare_nsp_row) arglist(KoL, KoR, pL, pR, KoL0, KoR0, pL0, pR0) [fd] fullname(mom_neutral_diffusion/compare_nsp_row) ftype(logical) [fd] name(('mom_neutral_diffusion/compare_nsp_row', 'logical')) sig(logical function compare_nsp_row(KoL, KoR, pL, pR, KoL0, KoR0, pL0, pR0)) signode(function mom_neutral_diffusion/compare_nsp_rowKoLKoRpLpRKoL0KoR0pL0pR0 [logical]) [fd] run(.. f:function:: logical function test_rnp(expected_pos, test_pos, title)) [fd] sig(logical function test_rnp(expected_pos, test_pos, title)) [fd] ftype(logical) objtype(function) modname(None) typename() name(test_rnp) arglist(expected_pos, test_pos, title) [fd] fullname(mom_neutral_diffusion/test_rnp) ftype(logical) [fd] name(('mom_neutral_diffusion/test_rnp', 'logical')) sig(logical function test_rnp(expected_pos, test_pos, title)) signode(function mom_neutral_diffusion/test_rnpexpected_postest_postitle [logical]) [fd] run(.. f:subroutine:: subroutine neutral_diffusion_end(CS)) [fd] sig(subroutine neutral_diffusion_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(neutral_diffusion_end) arglist(CS) [fd] fullname(mom_neutral_diffusion/neutral_diffusion_end) ftype(None) [fd] name(('mom_neutral_diffusion/neutral_diffusion_end', None)) sig(subroutine neutral_diffusion_end(CS)) signode(subroutine mom_neutral_diffusion/neutral_diffusion_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 45%] api/generated/modules/mom_obsolete_diagnostics [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_obsolete [app] emitting event: 'source-read'('api/generated/modules/mom_obsolete_diagnostics', ['.. autodoxymodule:: mom_obsolete_diagnostics\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_obsolete_diagnostics.rst:1: input: .. autodoxymodule:: mom_obsolete_diagnostics :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_obsolete_diagnostics::register_obsolete_diagnostics ~mom_obsolete_diagnostics::found_in_diagtable [debug] xpath(./compounddef/compoundname[text()="mom_obsolete_diagnostics"]/..) match([('id', 'namespacemom__obsolete__diagnostics'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_obsolete_diagnostics module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_obsolete_diagnostics', , {'members': , {'members': , {'members': ), ('found_in_diagtable', )]) [autodoc] module analyzer failed: error importing 'mom_obsolete_diagnostics' (exception was: ModuleNotFoundError("No module named 'mom_obsolete_diagnostics'")) [debug] DoxygenMethodDocumenter format_signature called ((param_file, diag)) [debug] add_directive_header sig((param_file, diag)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine register_obsolete_diagnostics) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_obsolete_diagnostics', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_obsolete_diagnostics', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_obsolete_diagnostics', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_obsolete_diagnostics', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_obsolete_diagnostics', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_obsolete_diagnostics', , {'members': < [autodoc] module analyzer failed: error importing 'mom_obsolete_diagnostics' (exception was: ModuleNotFoundError("No module named 'mom_obsolete_diagnostics'")) [debug] DoxygenMethodDocumenter format_signature called ((diag, varName, newVarName)) [debug] add_directive_header sig((diag, varName, newVarName)) [debug] DoxygenMethodDocumenter directive(function) name(logical function found_in_diagtable) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'found_in_diagtable', , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_obsolete_diagnostics::register_obsolete_diagnostics ~mom_obsolete_diagnostics::found_in_diagtable .. _DETAmom_obsolete_diagnostics: -------------------- Detailed Description -------------------- Provides a mechanism for recording diagnostic variables that are no longer valid, along with their replacement name if appropriate. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine register_obsolete_diagnostics(param_file, diag) Scan through the diag_table searching for obsolete parameters and issue informational messages and optionallly a FATAL error. :param param_file: [in] The parameter file handle. :param diag: [in] A structure used to control diagnostics. :callto: :f:func:`found_in_diagtable ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:function:: logical function found_in_diagtable(diag, varName, newVarName) Fakes a register of a diagnostic to find out if an obsolete parameter appears in the diag_table. :param diag: [in] A structure used to control diagnostics. :param varname: [in] The obsolete diagnostic name :param newvarname: [in] The valid name of this diagnostic :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`register_obsolete_diagnostics ` [debug] DoxygenMethodDocumenter format_signature called ((param_file, diag)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_obsolete_diagnostics::register_obsolete_diagnostics', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_obsolete_diagnostics::found_in_diagtable', [fd] run(.. f:subroutine:: subroutine register_obsolete_diagnostics(param_file, diag)) [fd] sig(subroutine register_obsolete_diagnostics(param_file, diag)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_obsolete_diagnostics) arglist(param_file, diag) [fd] fullname(mom_obsolete_diagnostics/register_obsolete_diagnostics) ftype(None) [fd] name(('mom_obsolete_diagnostics/register_obsolete_diagnostics', None)) sig(subroutine register_obsolete_diagnostics(param_file, diag)) signode(subroutine mom_obsolete_diagnostics/register_obsolete_diagnosticsparam_filediag) [fd] run(.. f:function:: logical function found_in_diagtable(diag, varName, newVarName)) [fd] sig(logical function found_in_diagtable(diag, varName, newVarName)) [fd] ftype(logical) objtype(function) modname(None) typename() name(found_in_diagtable) arglist(diag, varName, newVarName) [fd] fullname(mom_obsolete_diagnostics/found_in_diagtable) ftype(logical) [fd] name(('mom_obsolete_diagnostics/found_in_diagtable', 'logical')) sig(logical function found_in_diagtable(diag, varName, newVarName)) signode(function mom_obsolete_diagnostics/found_in_diagtablediagvarNamenewVarName [logical]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 45%] api/generated/modules/mom_obsolete_params [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_obsolete [app] emitting event: 'source-read'('api/generated/modules/mom_obsolete_params', ['.. autodoxymodule:: mom_obsolete_params\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_obsolete_params.rst:1: input: .. autodoxymodule:: mom_obsolete_params :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_obsolete_params::find_obsolete_params ~mom_obsolete_params::obsolete_logical ~mom_obsolete_params::obsolete_char ~mom_obsolete_params::obsolete_real ~mom_obsolete_params::obsolete_int [debug] xpath(./compounddef/compoundname[text()="mom_obsolete_params"]/..) match([('id', 'namespacemom__obsolete__params'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_obsolete_params module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_obsolete_params', , {'members': , {'members': , {'members': ), ('obsolete_logical', ), ('obsolete_char', ), ('obsolete_real', ), ('obsolete_int', )]) [autodoc] module analyzer failed: error importing 'mom_obsolete_params' (exception was: ModuleNotFoundError("No module named 'mom_obsolete_params'")) [debug] DoxygenMethodDocumenter format_signature called ((param_file)) [debug] add_directive_header sig((param_file)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine find_obsolete_params) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_obsolete_params', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_obsolete_params::find_obsolete_params ~mom_obsolete_params::obsolete_logical ~mom_obsolete_params::obsolete_char ~mom_obsolete_params::obsolete_real ~mom_obsolete_params::obsolete_int .. _DETAmom_obsolete_params: -------------------- Detailed Description -------------------- Methods for testing for, and list of, obsolete run-time parameters. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine find_obsolete_params(param_file) Scans input parameter file for list obsolete parameters. :param param_file: [in] Structure containing parameter file data. :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`obsolete_char ` :callto: :f:func:`obsolete_int ` :callto: :f:func:`obsolete_logical ` :callto: :f:func:`obsolete_real ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine obsolete_logical(param_file, varname, warning_val, hint) Test for presence of obsolete LOGICAL in parameter file. :param param_file: [in] Structure containing parameter file data. :param varname: [in] Name of obsolete LOGICAL parameter. :param warning_val: [in] An allowed value that causes a warning instead of an error. :param hint: [in] A hint to the user about what to do. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`find_obsolete_params ` .. f:subroutine:: subroutine obsolete_char(param_file, varname, warning_val, hint) Test for presence of obsolete STRING in parameter file. :param param_file: [in] Structure containing parameter file data. :param varname: [in] Name of obsolete STRING parameter. :param warning_val: [in] An allowed value that causes a warning instead of an error. :param hint: [in] A hint to the user about what to do. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`find_obsolete_params ` .. f:subroutine:: subroutine obsolete_real(param_file, varname, warning_val, hint) Test for presence of obsolete REAL in parameter file. :param param_file: [in] Structure containing parameter file data. :param varname: [in] Name of obsolete REAL parameter. :param warning_val: [in] An allowed value that causes a warning instead of an error. :param hint: [in] A hint to the user about what to do. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`find_obsolete_params ` .. f:subroutine:: subroutine obsolete_int(param_file, varname, warning_val, hint) Test for presence of obsolete INTEGER in parameter file. :param param_file: [in] Structure containing parameter file data. :param varname: [in] Name of obsolete INTEGER parameter. :param warning_val: [in] An allowed value that causes a warning instead of an error. :param hint: [in] A hint to the user about what to do. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`find_obsolete_params ` [debug] DoxygenMethodDocumenter format_signature called ((param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_obsolete_params::find_obsolete_params', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_obsolete_params::find_obsolete_params', , { [debug] DoxygenMethodDocumenter format_signature called ((param_file, varname, warning_val, hint)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_obsolete_params::obsolete_logical', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_obsolete_params::obsolete_logical', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((param_file, varname, warning_val, hint)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_obsolete_params::obsolete_char', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_obsolete_params::obsolete_char', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((param_file, varname, warning_val, hint)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_obsolete_params::obsolete_real', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_obsolete_params::obsolete_real', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((param_file, varname, warning_val, hint)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_obsolete_params::obsolete_int', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_obsolete_params::obsolete_int', , {}, ['', [fd] run(.. f:subroutine:: subroutine find_obsolete_params(param_file)) [fd] sig(subroutine find_obsolete_params(param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_obsolete_params) arglist(param_file) [fd] fullname(mom_obsolete_params/find_obsolete_params) ftype(None) [fd] name(('mom_obsolete_params/find_obsolete_params', None)) sig(subroutine find_obsolete_params(param_file)) signode(subroutine mom_obsolete_params/find_obsolete_paramsparam_file) [fd] run(.. f:subroutine:: subroutine obsolete_logical(param_file, varname, warning_val, hint)) [fd] sig(subroutine obsolete_logical(param_file, varname, warning_val, hint)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(obsolete_logical) arglist(param_file, varname, warning_val, hint) [fd] fullname(mom_obsolete_params/obsolete_logical) ftype(None) [fd] name(('mom_obsolete_params/obsolete_logical', None)) sig(subroutine obsolete_logical(param_file, varname, warning_val, hint)) signode(subroutine mom_obsolete_params/obsolete_logicalparam_filevarnamewarning_valhint) [fd] run(.. f:subroutine:: subroutine obsolete_char(param_file, varname, warning_val, hint)) [fd] sig(subroutine obsolete_char(param_file, varname, warning_val, hint)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(obsolete_char) arglist(param_file, varname, warning_val, hint) [fd] fullname(mom_obsolete_params/obsolete_char) ftype(None) [fd] name(('mom_obsolete_params/obsolete_char', None)) sig(subroutine obsolete_char(param_file, varname, warning_val, hint)) signode(subroutine mom_obsolete_params/obsolete_charparam_filevarnamewarning_valhint) [fd] run(.. f:subroutine:: subroutine obsolete_real(param_file, varname, warning_val, hint)) [fd] sig(subroutine obsolete_real(param_file, varname, warning_val, hint)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(obsolete_real) arglist(param_file, varname, warning_val, hint) [fd] fullname(mom_obsolete_params/obsolete_real) ftype(None) [fd] name(('mom_obsolete_params/obsolete_real', None)) sig(subroutine obsolete_real(param_file, varname, warning_val, hint)) signode(subroutine mom_obsolete_params/obsolete_realparam_filevarnamewarning_valhint) [fd] run(.. f:subroutine:: subroutine obsolete_int(param_file, varname, warning_val, hint)) [fd] sig(subroutine obsolete_int(param_file, varname, warning_val, hint)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(obsolete_int) arglist(param_file, varname, warning_val, hint) [fd] fullname(mom_obsolete_params/obsolete_int) ftype(None) [fd] name(('mom_obsolete_params/obsolete_int', None)) sig(subroutine obsolete_int(param_file, varname, warning_val, hint)) signode(subroutine mom_obsolete_params/obsolete_intparam_filevarnamewarning_valhint) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 45%] api/generated/modules/mom_ocmip2_cfc [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_ocmip2_c [app] emitting event: 'source-read'('api/generated/modules/mom_ocmip2_cfc', ['.. autodoxymodule:: mom_ocmip2_cfc\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_ocmip2_cfc.rst:1: input: .. autodoxymodule:: mom_ocmip2_cfc :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_ocmip2_cfc::ocmip2_cfc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_ocmip2_cfc::register_ocmip2_cfc ~mom_ocmip2_cfc::flux_init_ocmip2_cfc ~mom_ocmip2_cfc::initialize_ocmip2_cfc ~mom_ocmip2_cfc::init_tracer_cfc ~mom_ocmip2_cfc::ocmip2_cfc_column_physics ~mom_ocmip2_cfc::ocmip2_cfc_stock ~mom_ocmip2_cfc::ocmip2_cfc_surface_state ~mom_ocmip2_cfc::ocmip2_cfc_end [debug] xpath(./compounddef/compoundname[text()="mom_ocmip2_cfc"]/..) match([('id', 'namespacemom__ocmip2__cfc'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_ocmip2_cfc module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ocmip2_cfc', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_ocmip2_cfc' (exception was: ModuleNotFoundError("No module named 'mom_ocmip2_cfc'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {'members': < [debug] members([('register_ocmip2_cfc', ), ('flux_init_ocmip2_cfc', ), ('initialize_ocmip2_cfc', ), ('init_tracer_cfc', ), ('ocmip2_cfc_column_physics', ), ('ocmip2_cfc_stock', ), ('ocmip2_cfc_surface_state', ), ('ocmip2_cfc_end', )]) [autodoc] module analyzer failed: error importing 'mom_ocmip2_cfc' (exception was: ModuleNotFoundError("No module named 'mom_ocmip2_cfc'")) [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] add_directive_header sig((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function register_ocmip2_cfc) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_ocmip2_cfc', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_ocmip2_cfc::ocmip2_cfc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_ocmip2_cfc::register_ocmip2_cfc ~mom_ocmip2_cfc::flux_init_ocmip2_cfc ~mom_ocmip2_cfc::initialize_ocmip2_cfc ~mom_ocmip2_cfc::init_tracer_cfc ~mom_ocmip2_cfc::ocmip2_cfc_column_physics ~mom_ocmip2_cfc::ocmip2_cfc_stock ~mom_ocmip2_cfc::ocmip2_cfc_surface_state ~mom_ocmip2_cfc::ocmip2_cfc_end .. _DETAmom_ocmip2_cfc: -------------------- Detailed Description -------------------- By Robert Hallberg, 2007 This module contains the code that is needed to set up and use CFC-11 and CFC-12 in a fully coupled or ice-ocean model context using the OCMIP2 protocols ------------------ Type Documentation ------------------ .. f:type:: ocmip2_cfc_cs The control structure for the OCMPI2_CFC tracer package. :typefield real a1_11: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real a1_12: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real a2_11: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real a2_12: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real a3_11: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real a3_12: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real a4_11: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real a4_12: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real d1_11: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real d1_12: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real d2_11: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real d2_12: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real d3_11: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real d3_12: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real d4_11: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real d4_12: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real e1_11: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real e1_12: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real e2_11: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real e2_12: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real e3_11: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield real e3_12: Coefficients used in the CFC11 and CFC12 solubility calculation. :typefield character (len=200) ic_file: The file in which the CFC initial values can be found, or an empty string for internal initilaization. :typefield logical z_ic_file: If true, the IC_file is in Z-space. The default is false.. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(tracer_registry_type) tr_reg [pointer]: A pointer to the MOM6 tracer registry. :typefield real(\:,\:,\:) cfc11 [pointer]: The CFC11 concentration [mol m-3]. :typefield real(\:,\:,\:) cfc12 [pointer]: The CFC12 concentration [mol m-3]. :typefield real cfc11_ic_val: The initial value assigned to CFC11 [mol m-3]. :typefield real cfc12_ic_val: The initial value assigned to CFC12 [mol m-3]. :typefield real cfc11_land_val: The value of CFC11 used where land is masked out [mol m-3]. :typefield real cfc12_land_val: The value of CFC12 used where land is masked out [mol m-3]. :typefield logical tracers_may_reinit: If true, tracers may be reset via the initialization code if they are not found in the restart files. :typefield character (len=16) cfc11_name: CFC11 variable name. :typefield character (len=16) cfc12_name: CFC12 variable name. :typefield integer ind_cfc_11_flux: Index returned by aof_set_coupler_flux that is used to pack and unpack surface boundary condition arrays. :typefield integer ind_cfc_12_flux: Index returned by aof_set_coupler_flux that is used to pack and unpack surface boundary condition arrays. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(mom_restart_cs) restart_csp [pointer]: Model restart control structure. :typefield type(vardesc) cfc11_desc: A set of metadata for the CFC11 tracer. :typefield type(vardesc) cfc12_desc: A set of metadata for the CFC12 tracer. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function register_ocmip2_cfc(HI, GV, param_file, CS, tr_Reg, restart_CS) Register the OCMIP2 CFC tracers to be used with MOM and read the parameters that are used with this tracer package. :param hi: [in] A horizontal index type structure. :param gv: [in] The ocean's vertical grid structure. :param param_file: [in] A structure to parse for run-time parameters. :param cs: A pointer that is set to point to the control structure for this module. :param tr_reg: A pointer to the tracer registry. :param restart_cs: A pointer to the restart control structure. :callto: :f:func:`flux_init_ocmip2_cfc ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_tracer_registry::register_tracer ` :callto: :f:func:`mom_io::var_desc ` .. f:subroutine:: subroutine flux_init_ocmip2_cfc(CS, verbosity) This subroutine initializes the air-sea CFC fluxes, and optionally returns the indicies of these fluxes. It can safely be called multiple times. :param cs: An optional pointer to the control structure for this module; if not present, the flux indicies are not stored. :param verbosity: [in] A 0-9 integer indicating a level of verbosity. :callto: :f:func:`atmos_ocean_fluxes_mod::aof_set_coupler_flux ` :calledfrom: :f:func:`register_ocmip2_cfc ` .. f:subroutine:: subroutine initialize_ocmip2_cfc(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp) Initialize the OCMP2 CFC tracer fields and set up the tracer output. :param restart: [in] .true. if the fields have already been read from a restart file. :param day: [in] Time of the start of the run. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param diag: [in] A structure that is used to regulate diagnostic output. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param cs: The control structure returned by a previous call to register_OCMIP2_CFC. :param sponge_csp: A pointer to the control structure for the sponges, if they are in use. Otherwise this may be unassociated. :callto: :f:func:`init_tracer_cfc ` .. f:subroutine:: subroutine init_tracer_cfc(h, tr, name, land_val, IC_val, G, US, CS) This subroutine initializes a tracer array. :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tr: [out] The tracer concentration array :param name: [in] The tracer name :param land_val: [in] A value the tracer takes over land :param ic_val: [in] The initial condition value for the tracer :param cs: The control structure returned by a previous call to register_OCMIP2_CFC. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_tracer_z_init::tracer_z_init ` :calledfrom: :f:func:`initialize_ocmip2_cfc ` .. f:subroutine:: subroutine ocmip2_cfc_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth) This subroutine applies diapycnal diffusion, souces and sinks and any other column tracer physics or chemistry to the OCMIP2 CFC tracers. CFCs are relatively simple, as they are passive tracers with only a surface flux as a source. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h_old: [in] Layer thickness before entrainment [H ~> m or kg m-2]. :param h_new: [in] Layer thickness after entrainment [H ~> m or kg m-2]. :param ea: [in] an array to which the amount of fluid entrained :param eb: [in] an array to which the amount of fluid entrained :param fluxes: [in] A structure containing pointers to thermodynamic and tracer forcing fields. Unused fields have NULL ptrs. :param dt: [in] The amount of time covered by this call [T ~> s] :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to register_OCMIP2_CFC. :param evap_cfl_limit: [in] Limit on the fraction of the water that can be fluxed out of the top layer in a timestep [nondim] :param minimum_forcing_depth: [in] The smallest depth over which fluxes can be applied [H ~> m or kg m-2] :callto: :f:func:`mom_tracer_diabatic::applytracerboundaryfluxesinout ` :callto: :f:func:`mom_tracer_diabatic::tracer_vertdiff ` .. f:function:: integer function ocmip2_cfc_stock(h, stocks, G, GV, CS, names, units, stock_index) This function calculates the mass-weighted integral of all tracer stocks, returning the number of stocks it has calculated. If the stock_index is present, only the stock corresponding to that coded index is returned. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param stocks: [out] the mass-weighted integrated amount of each tracer, in kg times concentration units [kg conc]. :param cs: The control structure returned by a previous call to register_OCMIP2_CFC. :param names: [out] The names of the stocks calculated. :param units: [out] The units of the stocks calculated. :param stock_index: [in] The coded index of a specific stock being sought. :returns undefined: The number of stocks calculated here. :callto: :f:func:`mom_io::query_vardesc ` :calledfrom: :f:func:`mom_tracer_flow_control::call_tracer_stocks ` .. f:subroutine:: subroutine ocmip2_cfc_surface_state(sfc_state, h, G, CS) This subroutine extracts the surface CFC concentrations and other fields that are shared with the atmosphere to calculate CFC fluxes. :param g: [in] The ocean's grid structure. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param h: [in] Layer thickness [H ~> m or kg m-2]. :param cs: The control structure returned by a previous call to register_OCMIP2_CFC. .. f:subroutine:: subroutine ocmip2_cfc_end(CS) Deallocate any memory associated with the OCMIP2 CFC tracer package. :param cs: The control structure returned by a previous call to register_OCMIP2_CFC. [debug] xpath(./compounddef/compoundname[text()="mom_ocmip2_cfc::ocmip2_cfc_cs"]/..) match([('id', 'structmom__ocmip2__cfc_1_1ocmip2__cfc__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ocmip2_cfc::ocmip2_cfc_cs', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ocmip2_cfc::register_ocmip2_cfc', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ocmip2_cfc::register_ocmip2_cfc', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((CS, verbosity)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ocmip2_cfc::flux_init_ocmip2_cfc', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ocmip2_cfc::flux_init_ocmip2_cfc', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ocmip2_cfc::initialize_ocmip2_cfc', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ocmip2_cfc::initialize_ocmip2_cfc', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((h, tr, name, land_val, IC_val, G, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ocmip2_cfc::init_tracer_cfc', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ocmip2_cfc::init_tracer_cfc', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ocmip2_cfc::ocmip2_cfc_column_physics', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ocmip2_cfc::ocmip2_cfc_column_physics', , { [debug] DoxygenMethodDocumenter format_signature called ((h, stocks, G, GV, CS, names, units, stock_index)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ocmip2_cfc::ocmip2_cfc_stock', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ocmip2_cfc::ocmip2_cfc_stock', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, h, G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ocmip2_cfc::ocmip2_cfc_surface_state', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ocmip2_cfc::ocmip2_cfc_surface_state', , {} [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ocmip2_cfc::ocmip2_cfc_end', , {}, ['', 'De [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_ocmip2_cfc::ocmip2_cfc_end', , {}, ['', 'De [fd] run(.. f:type:: ocmip2_cfc_cs) [fd] sig(ocmip2_cfc_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(ocmip2_cfc_cs) arglist(None) [fd] fullname(mom_ocmip2_cfc/ocmip2_cfc_cs) ftype(None) [fd] name(('mom_ocmip2_cfc/ocmip2_cfc_cs', None)) sig(ocmip2_cfc_cs) signode(type mom_ocmip2_cfc/ocmip2_cfc_cs) [fd] run(.. f:function:: logical function register_ocmip2_cfc(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] sig(logical function register_ocmip2_cfc(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_ocmip2_cfc) arglist(HI, GV, param_file, CS, tr_Reg, restart_CS) [fd] fullname(mom_ocmip2_cfc/register_ocmip2_cfc) ftype(logical) [fd] name(('mom_ocmip2_cfc/register_ocmip2_cfc', 'logical')) sig(logical function register_ocmip2_cfc(HI, GV, param_file, CS, tr_Reg, restart_CS)) signode(function mom_ocmip2_cfc/register_ocmip2_cfcHIGVparam_fileCStr_Regrestart_CS [logical]) [fd] run(.. f:subroutine:: subroutine flux_init_ocmip2_cfc(CS, verbosity)) [fd] sig(subroutine flux_init_ocmip2_cfc(CS, verbosity)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(flux_init_ocmip2_cfc) arglist(CS, verbosity) [fd] fullname(mom_ocmip2_cfc/flux_init_ocmip2_cfc) ftype(None) [fd] name(('mom_ocmip2_cfc/flux_init_ocmip2_cfc', None)) sig(subroutine flux_init_ocmip2_cfc(CS, verbosity)) signode(subroutine mom_ocmip2_cfc/flux_init_ocmip2_cfcCSverbosity) [fd] run(.. f:subroutine:: subroutine initialize_ocmip2_cfc(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp)) [fd] sig(subroutine initialize_ocmip2_cfc(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_ocmip2_cfc) arglist(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp) [fd] fullname(mom_ocmip2_cfc/initialize_ocmip2_cfc) ftype(None) [fd] name(('mom_ocmip2_cfc/initialize_ocmip2_cfc', None)) sig(subroutine initialize_ocmip2_cfc(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp)) signode(subroutine mom_ocmip2_cfc/initialize_ocmip2_cfcrestartdayGGVUShdiagOBCCSsponge_CSp) [fd] run(.. f:subroutine:: subroutine init_tracer_cfc(h, tr, name, land_val, IC_val, G, US, CS)) [fd] sig(subroutine init_tracer_cfc(h, tr, name, land_val, IC_val, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(init_tracer_cfc) arglist(h, tr, name, land_val, IC_val, G, US, CS) [fd] fullname(mom_ocmip2_cfc/init_tracer_cfc) ftype(None) [fd] name(('mom_ocmip2_cfc/init_tracer_cfc', None)) sig(subroutine init_tracer_cfc(h, tr, name, land_val, IC_val, G, US, CS)) signode(subroutine mom_ocmip2_cfc/init_tracer_cfchtrnameland_valIC_valGUSCS) [fd] run(.. f:subroutine:: subroutine ocmip2_cfc_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [fd] sig(subroutine ocmip2_cfc_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ocmip2_cfc_column_physics) arglist(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth) [fd] fullname(mom_ocmip2_cfc/ocmip2_cfc_column_physics) ftype(None) [fd] name(('mom_ocmip2_cfc/ocmip2_cfc_column_physics', None)) sig(subroutine ocmip2_cfc_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) signode(subroutine mom_ocmip2_cfc/ocmip2_cfc_column_physicsh_oldh_neweaebfluxesdtGGVUSCSevap_CFL_limitminimum_forcing_depth) [fd] run(.. f:function:: integer function ocmip2_cfc_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] sig(integer function ocmip2_cfc_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] ftype(integer) objtype(function) modname(None) typename() name(ocmip2_cfc_stock) arglist(h, stocks, G, GV, CS, names, units, stock_index) [fd] fullname(mom_ocmip2_cfc/ocmip2_cfc_stock) ftype(integer) [fd] name(('mom_ocmip2_cfc/ocmip2_cfc_stock', 'integer')) sig(integer function ocmip2_cfc_stock(h, stocks, G, GV, CS, names, units, stock_index)) signode(function mom_ocmip2_cfc/ocmip2_cfc_stockhstocksGGVCSnamesunitsstock_index [integer]) [fd] run(.. f:subroutine:: subroutine ocmip2_cfc_surface_state(sfc_state, h, G, CS)) [fd] sig(subroutine ocmip2_cfc_surface_state(sfc_state, h, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ocmip2_cfc_surface_state) arglist(sfc_state, h, G, CS) [fd] fullname(mom_ocmip2_cfc/ocmip2_cfc_surface_state) ftype(None) [fd] name(('mom_ocmip2_cfc/ocmip2_cfc_surface_state', None)) sig(subroutine ocmip2_cfc_surface_state(sfc_state, h, G, CS)) signode(subroutine mom_ocmip2_cfc/ocmip2_cfc_surface_statesfc_statehGCS) [fd] run(.. f:subroutine:: subroutine ocmip2_cfc_end(CS)) [fd] sig(subroutine ocmip2_cfc_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ocmip2_cfc_end) arglist(CS) [fd] fullname(mom_ocmip2_cfc/ocmip2_cfc_end) ftype(None) [fd] name(('mom_ocmip2_cfc/ocmip2_cfc_end', None)) sig(subroutine ocmip2_cfc_end(CS)) signode(subroutine mom_ocmip2_cfc/ocmip2_cfc_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 46%] api/generated/modules/mom_oda_driver_mod [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_oda_driv [app] emitting event: 'source-read'('api/generated/modules/mom_oda_driver_mod', ['.. autodoxymodule:: mom_oda_driver_mod\n :members:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_oda_driver_mod.rst:1: input: .. autodoxymodule:: mom_oda_driver_mod :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_oda_driver_mod::oda_cs ~mom_oda_driver_mod::ptr_mpp_domain --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_oda_driver_mod::init_oda ~mom_oda_driver_mod::set_prior_tracer ~mom_oda_driver_mod::get_posterior_tracer ~mom_oda_driver_mod::oda ~mom_oda_driver_mod::oda_end ~mom_oda_driver_mod::init_ocean_ensemble ~mom_oda_driver_mod::set_analysis_time ~mom_oda_driver_mod::save_obs_diff ~mom_oda_driver_mod::apply_oda_tracer_increments [debug] xpath(./compounddef/compoundname[text()="mom_oda_driver_mod"]/..) match([('id', 'namespacemom__oda__driver__mod'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_oda_driver_mod module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_oda_driver_mod', , {'members': , {'members': , {'members': ), ('mom_oda_driver_mod::ptr_mpp_domain', )]) [autodoc] module analyzer failed: error importing 'mom_oda_driver_mod' (exception was: ModuleNotFoundError("No module named 'mom_oda_driver_mod'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_oda_driver_mod::oda_cs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'member [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_oda_driver_mod::ptr_mpp_domain', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_oda_driver_mod::ptr_mpp_domain', , {'member [debug] members([('init_oda', ), ('set_prior_tracer', ), ('get_posterior_tracer', ), ('oda', ), ('oda_end', ), ('init_ocean_ensemble', ), ('set_analysis_time', ), ('save_obs_diff', ), ('apply_oda_tracer_increments', )]) [autodoc] module analyzer failed: error importing 'mom_oda_driver_mod' (exception was: ModuleNotFoundError("No module named 'mom_oda_driver_mod'")) [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, CS)) [debug] add_directive_header sig((Time, G, GV, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine init_oda) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'init_oda', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_oda_driver_mod::oda_cs ~mom_oda_driver_mod::ptr_mpp_domain --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_oda_driver_mod::init_oda ~mom_oda_driver_mod::set_prior_tracer ~mom_oda_driver_mod::get_posterior_tracer ~mom_oda_driver_mod::oda ~mom_oda_driver_mod::oda_end ~mom_oda_driver_mod::init_ocean_ensemble ~mom_oda_driver_mod::set_analysis_time ~mom_oda_driver_mod::save_obs_diff ~mom_oda_driver_mod::apply_oda_tracer_increments .. _DETAmom_oda_driver_mod: -------------------- Detailed Description -------------------- Interfaces for MOM6 ensembles and data assimilation. ------------------ Type Documentation ------------------ .. f:type:: oda_cs Control structure that contains a transpose of the ocean state across ensemble members. :typefield type( ocean_control_struct ) ocean_prior [pointer]: ensemble ocean prior states in DA space :typefield type( ocean_control_struct ) ocean_posterior [pointer]: ensemble ocean posterior states or increments to prior in DA space :typefield integer nk: number of vertical layers used for DA :typefield type(ocean_grid_type) grid [pointer]: MOM6 grid type and decomposition for the DA. :typefield type( ptr_mpp_domain )(\:) domains [pointer]: Pointer to mpp_domain objects for ensemble members. :typefield type(verticalgrid_type) gv [pointer]: vertical grid for DA :typefield type(unit_scale_type) us [pointer]: structure containing various unit conversion factors for DA :typefield type(domain2d) mpp_domain [pointer]: Pointer to a mpp domain object for DA. :typefield type( grid_type ) oda_grid [pointer]: local tracer grid :typefield real(\:,\:,\:) h [pointer]: layer thicknesses [H ~> m or kg m-2] for DA :typefield type(thermo_var_ptrs) tv [pointer]: pointer to thermodynamic variables :typefield integer ni: global i-direction grid size :typefield integer nj: global j-direction grid size :typefield logical reentrant_x: grid is reentrant in the x direction :typefield logical reentrant_y: grid is reentrant in the y direction :typefield logical tripolar_n: grid is folded at its north edge :typefield logical symmetric: Values at C-grid locations are symmetric. :typefield integer assim_method: Method: NO_ASSIM,EAKF_ASSIM or OI_ASSIM. :typefield integer ensemble_size: Size of the ensemble. :typefield integer ensemble_id: id of the current ensemble member :typefield integer(\:,\:) ensemble_pelist [pointer]: PE list for ensemble members. :typefield integer(\:) filter_pelist [pointer]: PE list for ensemble members. :typefield integer assim_frequency: analysis interval in hours :typefield type( ocean_profile_type ) profiles [pointer]: pointer to linked list of all available profiles :typefield type( ocean_profile_type ) cprofiles [pointer]: pointer to linked list of current profiles :typefield type( kd_root ) kdroot [pointer]: A structure for storing nearest neighbors. :typefield type(ale_cs) ale_cs [pointer]: ALE control structure for DA. :typefield logical use_ale_algorithm: true is using ALE remapping :typefield type(regridding_cs) regridcs: ALE control structure for regridding. :typefield type(remapping_cs) remapcs: ALE control structure for remapping. :typefield type(time_type) time: Current Analysis time. :typefield type(diag_ctrl) diag_cs: Diagnostics control structure. .. f:type:: ptr_mpp_domain A structure with a pointer to a domain2d, to allow for the creation of arrays of pointers. :typefield type(domain2d) mpp_domain [pointer, private]: pointer to an mpp domain2d --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine init_oda(Time, G, GV, CS) initialize First_guess (prior) and Analysis grid information for all ensemble members :param time: [in] The current model time. :param g: domain and grid information for ocean model :param gv: [in] The ocean's vertical grid structure :param cs: [inout] The DA control structure :callto: :f:func:`mom_ale::ale_init ` :callto: :f:func:`mom_ale::ale_initthicknesstocoord ` :callto: :f:func:`mom_ale::ale_updateverticalgridtype ` :callto: :f:func:`mom_transcribe_grid::copy_dyngrid_to_mom_grid ` :callto: :f:func:`mom_dyn_horgrid::create_dyn_horgrid ` :callto: :f:func:`eakf_assim ` :callto: :f:func:`mom_get_input::get_mom_input ` :callto: :f:func:`mom_hor_index::hor_index_init ` :callto: :f:func:`init_ocean_ensemble ` :callto: :f:func:`mom_remapping::initialize_remapping ` :callto: :f:func:`mom_string_functions::lowercase ` :callto: :f:func:`mom_domains::mom_domains_init ` :callto: :f:func:`mom_grid::mom_grid_init ` :callto: :f:func:`mom_coord_initialization::mom_initialize_coord ` :callto: :f:func:`mom_fixed_initialization::mom_initialize_topography ` :callto: :f:func:`no_assim ` :callto: :f:func:`ocean_da_core_mod::ocean_da_core_init ` :callto: :f:func:`oi_assim ` :callto: :f:func:`mom_diag_mediator::set_axes_info ` :callto: :f:func:`mom_grid_initialize::set_grid_metrics ` :callto: :f:func:`mom_regridding::set_regrid_params ` :callto: :f:func:`mom_unit_scaling::unit_scaling_init ` :callto: :f:func:`mom_verticalgrid::verticalgridinit ` .. f:subroutine:: subroutine set_prior_tracer(Time, G, GV, h, tv, CS) Copy ensemble member tracers to ensemble vector. :param time: [in] The current model time :param g: domain and grid information for ocean model :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [in] A structure pointing to various thermodynamic variables :param cs: ocean DA control structure :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`mom_remapping::remapping_core_h ` :calledfrom: :f:func:`mom::step_mom ` .. f:subroutine:: subroutine get_posterior_tracer(Time, CS, h, tv, increment) Returns posterior adjustments or full state Note that only those PEs associated with an ensemble member receive data. :param time: [in] the current model time :param cs: ocean DA control structure :param h: Layer thicknesses [H ~> m or kg m-2] :param tv: A structure pointing to various thermodynamic variables :param increment: [in] True if returning increment only :callto: :f:func:`init_ocean_ensemble ` :callto: :f:func:`mom_error_handler::mom_mesg ` .. f:subroutine:: subroutine oda(Time, CS) Gather observations and sall ODA routines. :param time: [in] the current model time :param cs: [inout] the ocean DA control structure :callto: :f:func:`ocean_da_core_mod::get_profiles ` .. f:subroutine:: subroutine oda_end(CS) Finalize DA module. :param cs: [inout] the ocean DA control structure .. f:subroutine:: subroutine init_ocean_ensemble(CS, Grid, GV, ens_size) Initialize DA module. :param cs: Pointer to ODA control structure :param grid: Pointer to ocean analysis grid :param gv: Pointer to DA vertical grid :param ens_size: [in] ensemble size :calledfrom: :f:func:`get_posterior_tracer ` :calledfrom: :f:func:`init_oda ` .. f:subroutine:: subroutine set_analysis_time(Time, CS) Set the next analysis time. :param time: [in] the current model time :param cs: [inout] the DA control structure :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :calledfrom: :f:func:`mom::step_mom ` .. f:subroutine:: subroutine save_obs_diff(filename, CS) Write observation differences to a file. :param filename: [in] name of output file :param cs: [in] pointer to DA control structure :callto: :f:func:`write_ocean_obs_mod::close_profile_file ` :callto: :f:func:`write_ocean_obs_mod::write_profile ` .. f:subroutine:: subroutine apply_oda_tracer_increments(dt, G, tv, h, CS) Apply increments to tracers. :param dt: [in] The tracer timestep [s] :param g: [in] ocean grid structure :param tv: [inout] A structure pointing to various thermodynamic variables :param h: [in] layer thickness [H ~> m or kg m-2] :param cs: [inout] the data assimilation structure :calledfrom: :f:func:`mom::step_mom_thermo ` [debug] xpath(./compounddef/compoundname[text()="mom_oda_driver_mod::oda_cs"]/..) match([('id', 'structmom__oda__driver__mod_1_1oda__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_oda_driver_mod::oda_cs', , {}, ['', 'Cont [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_oda_driver_mod::oda_cs', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_oda_driver_mod::oda_cs', , {}, ['', 'Cont [debug] xpath(./compounddef/compoundname[text()="mom_oda_driver_mod::ptr_mpp_domain"]/..) match([('id', 'structmom__oda__driver__mod_1_1ptr__mpp__domain'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_oda_driver_mod::ptr_mpp_domain', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_oda_driver_mod::ptr_mpp_domain', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_oda_driver_mod::ptr_mpp_domain', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_oda_driver_mod::init_oda', , {}, ['', 'init [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_oda_driver_mod::init_oda', , {}, ['', 'init [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, h, tv, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_oda_driver_mod::set_prior_tracer', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_oda_driver_mod::set_prior_tracer', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((Time, CS, h, tv, increment)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_oda_driver_mod::get_posterior_tracer', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_oda_driver_mod::get_posterior_tracer', , {} [debug] DoxygenMethodDocumenter format_signature called ((Time, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_oda_driver_mod::oda', , {}, ['', 'Gather ob [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_oda_driver_mod::oda', , {}, ['', 'Gather ob [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_oda_driver_mod::oda_end', , {}, ['', 'Final [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_oda_driver_mod::oda_end', , {}, ['', 'Final [debug] DoxygenMethodDocumenter format_signature called ((CS, Grid, GV, ens_size)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_oda_driver_mod::init_ocean_ensemble', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_oda_driver_mod::init_ocean_ensemble', , {}, [debug] DoxygenMethodDocumenter format_signature called ((Time, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_oda_driver_mod::set_analysis_time', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_oda_driver_mod::set_analysis_time', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((filename, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_oda_driver_mod::save_obs_diff', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_oda_driver_mod::save_obs_diff', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((dt, G, tv, h, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_oda_driver_mod::apply_oda_tracer_increments', type mom_oda_driver_mod/oda_cs) [fd] run(.. f:type:: ptr_mpp_domain) [fd] sig(ptr_mpp_domain) [fd] ftype(None) objtype(None) modname(None) typename() name(ptr_mpp_domain) arglist(None) [fd] fullname(mom_oda_driver_mod/ptr_mpp_domain) ftype(None) [fd] name(('mom_oda_driver_mod/ptr_mpp_domain', None)) sig(ptr_mpp_domain) signode(type mom_oda_driver_mod/ptr_mpp_domain) [fd] run(.. f:subroutine:: subroutine init_oda(Time, G, GV, CS)) [fd] sig(subroutine init_oda(Time, G, GV, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(init_oda) arglist(Time, G, GV, CS) [fd] fullname(mom_oda_driver_mod/init_oda) ftype(None) [fd] name(('mom_oda_driver_mod/init_oda', None)) sig(subroutine init_oda(Time, G, GV, CS)) signode(subroutine mom_oda_driver_mod/init_odaTimeGGVCS) [fd] run(.. f:subroutine:: subroutine set_prior_tracer(Time, G, GV, h, tv, CS)) [fd] sig(subroutine set_prior_tracer(Time, G, GV, h, tv, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_prior_tracer) arglist(Time, G, GV, h, tv, CS) [fd] fullname(mom_oda_driver_mod/set_prior_tracer) ftype(None) [fd] name(('mom_oda_driver_mod/set_prior_tracer', None)) sig(subroutine set_prior_tracer(Time, G, GV, h, tv, CS)) signode(subroutine mom_oda_driver_mod/set_prior_tracerTimeGGVhtvCS) [fd] run(.. f:subroutine:: subroutine get_posterior_tracer(Time, CS, h, tv, increment)) [fd] sig(subroutine get_posterior_tracer(Time, CS, h, tv, increment)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_posterior_tracer) arglist(Time, CS, h, tv, increment) [fd] fullname(mom_oda_driver_mod/get_posterior_tracer) ftype(None) [fd] name(('mom_oda_driver_mod/get_posterior_tracer', None)) sig(subroutine get_posterior_tracer(Time, CS, h, tv, increment)) signode(subroutine mom_oda_driver_mod/get_posterior_tracerTimeCShtvincrement) [fd] run(.. f:subroutine:: subroutine oda(Time, CS)) [fd] sig(subroutine oda(Time, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(oda) arglist(Time, CS) [fd] fullname(mom_oda_driver_mod/oda) ftype(None) [fd] name(('mom_oda_driver_mod/oda', None)) sig(subroutine oda(Time, CS)) signode(subroutine mom_oda_driver_mod/odaTimeCS) [fd] run(.. f:subroutine:: subroutine oda_end(CS)) [fd] sig(subroutine oda_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(oda_end) arglist(CS) [fd] fullname(mom_oda_driver_mod/oda_end) ftype(None) [fd] name(('mom_oda_driver_mod/oda_end', None)) sig(subroutine oda_end(CS)) signode(subroutine mom_oda_driver_mod/oda_endCS) [fd] run(.. f:subroutine:: subroutine init_ocean_ensemble(CS, Grid, GV, ens_size)) [fd] sig(subroutine init_ocean_ensemble(CS, Grid, GV, ens_size)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(init_ocean_ensemble) arglist(CS, Grid, GV, ens_size) [fd] fullname(mom_oda_driver_mod/init_ocean_ensemble) ftype(None) [fd] name(('mom_oda_driver_mod/init_ocean_ensemble', None)) sig(subroutine init_ocean_ensemble(CS, Grid, GV, ens_size)) signode(subroutine mom_oda_driver_mod/init_ocean_ensembleCSGridGVens_size) [fd] run(.. f:subroutine:: subroutine set_analysis_time(Time, CS)) [fd] sig(subroutine set_analysis_time(Time, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_analysis_time) arglist(Time, CS) [fd] fullname(mom_oda_driver_mod/set_analysis_time) ftype(None) [fd] name(('mom_oda_driver_mod/set_analysis_time', None)) sig(subroutine set_analysis_time(Time, CS)) signode(subroutine mom_oda_driver_mod/set_analysis_timeTimeCS) [fd] run(.. f:subroutine:: subroutine save_obs_diff(filename, CS)) [fd] sig(subroutine save_obs_diff(filename, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(save_obs_diff) arglist(filename, CS) [fd] fullname(mom_oda_driver_mod/save_obs_diff) ftype(None) [fd] name(('mom_oda_driver_mod/save_obs_diff', None)) sig(subroutine save_obs_diff(filename, CS)) signode(subroutine mom_oda_driver_mod/save_obs_difffilenameCS) [fd] run(.. f:subroutine:: subroutine apply_oda_tracer_increments(dt, G, tv, h, CS)) [fd] sig(subroutine apply_oda_tracer_increments(dt, G, tv, h, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(apply_oda_tracer_increments) arglist(dt, G, tv, h, CS) [fd] fullname(mom_oda_driver_mod/apply_oda_tracer_increments) ftype(None) [fd] name(('mom_oda_driver_mod/apply_oda_tracer_increments', None)) sig(subroutine apply_oda_tracer_increments(dt, G, tv, h, CS)) signode(subroutine mom_oda_driver_mod/apply_oda_tracer_incrementsdtGtvhCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 46%] api/generated/modules/mom_offline_aux [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_offline_ [app] emitting event: 'source-read'('api/generated/modules/mom_offline_aux', ['.. autodoxymodule:: mom_offline_aux\n :members:\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_offline_aux.rst:1: input: .. autodoxymodule:: mom_offline_aux :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_offline_aux::update_h_horizontal_flux ~mom_offline_aux::update_h_vertical_flux ~mom_offline_aux::limit_mass_flux_3d ~mom_offline_aux::distribute_residual_uh_barotropic ~mom_offline_aux::distribute_residual_vh_barotropic ~mom_offline_aux::distribute_residual_uh_upwards ~mom_offline_aux::distribute_residual_vh_upwards ~mom_offline_aux::offline_add_diurnal_sw ~mom_offline_aux::update_offline_from_files ~mom_offline_aux::update_offline_from_arrays ~mom_offline_aux::next_modulo_time [debug] xpath(./compounddef/compoundname[text()="mom_offline_aux"]/..) match([('id', 'namespacemom__offline__aux'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_offline_aux module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_offline_aux', , {'members': , {'members': , {'members': ), ('update_h_vertical_flux', ), ('limit_mass_flux_3d', ), ('distribute_residual_uh_barotropic', ), ('distribute_residual_vh_barotropic', ), ('distribute_residual_uh_upwards', ), ('distribute_residual_vh_upwards', ), ('offline_add_diurnal_sw', ), ('update_offline_from_files', ), ('update_offline_from_arrays', ), ('next_modulo_time', )]) [autodoc] module analyzer failed: error importing 'mom_offline_aux' (exception was: ModuleNotFoundError("No module named 'mom_offline_aux'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, uhtr, vhtr, h_pre, h_new)) [debug] add_directive_header sig((G, GV, uhtr, vhtr, h_pre, h_new)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine update_h_horizontal_flux) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'update_h_horizontal_flux', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'distribute_residual_uh_barotropic', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'distribute_residual_uh_barotropic', , {'members [autodoc] module analyzer failed: error importing 'mom_offline_aux' (exception was: ModuleNotFoundError("No module named 'mom_offline_aux'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, hvol, vh)) [debug] add_directive_header sig((G, GV, hvol, vh)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine distribute_residual_vh_barotropic) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'distribute_residual_vh_barotropic', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'distribute_residual_vh_barotropic', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'distribute_residual_vh_barotropic', , {'members [autodoc] module analyzer failed: error importing 'mom_offline_aux' (exception was: ModuleNotFoundError("No module named 'mom_offline_aux'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, hvol, uh)) [debug] add_directive_header sig((G, GV, hvol, uh)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine distribute_residual_uh_upwards) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'distribute_residual_uh_upwards', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'distribute_residual_uh_upwards', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'distribute_residual_uh_upwards', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'distribute_residual_uh_upwards', , {'members': [autodoc] module analyzer failed: error importing 'mom_offline_aux' (exception was: ModuleNotFoundError("No module named 'mom_offline_aux'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, hvol, vh)) [debug] add_directive_header sig((G, GV, hvol, vh)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine distribute_residual_vh_upwards) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'distribute_residual_vh_upwards', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'distribute_residual_vh_upwards', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'distribute_residual_vh_upwards', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'distribute_residual_vh_upwards', , {'members': [autodoc] module analyzer failed: error importing 'mom_offline_aux' (exception was: ModuleNotFoundError("No module named 'mom_offline_aux'")) [debug] DoxygenMethodDocumenter format_signature called ((fluxes, G, Time_start, Time_end)) [debug] add_directive_header sig((fluxes, G, Time_start, Time_end)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine offline_add_diurnal_sw) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'offline_add_diurnal_sw', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_offline_aux::update_h_horizontal_flux ~mom_offline_aux::update_h_vertical_flux ~mom_offline_aux::limit_mass_flux_3d ~mom_offline_aux::distribute_residual_uh_barotropic ~mom_offline_aux::distribute_residual_vh_barotropic ~mom_offline_aux::distribute_residual_uh_upwards ~mom_offline_aux::distribute_residual_vh_upwards ~mom_offline_aux::offline_add_diurnal_sw ~mom_offline_aux::update_offline_from_files ~mom_offline_aux::update_offline_from_arrays ~mom_offline_aux::next_modulo_time .. _DETAmom_offline_aux: -------------------- Detailed Description -------------------- Contains routines related to offline transport of tracers. These routines are likely to be called from the MOM_offline_main module. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine update_h_horizontal_flux(G, GV, uhtr, vhtr, h_pre, h_new) This updates thickness based on the convergence of horizontal mass fluxes NOTE: Only used in non-ALE mode. :param g: ocean grid structure :param gv: ocean vertical grid structure :param uhtr: [in] Accumulated mass flux through zonal face [kg] :param vhtr: [in] Accumulated mass flux through meridional face [kg] :param h_pre: [in] Previous layer thicknesses [kg m-2]. :param h_new: [inout] Updated layer thicknesses [kg m-2]. .. f:subroutine:: subroutine update_h_vertical_flux(G, GV, ea, eb, h_pre, h_new) Updates layer thicknesses due to vertical mass transports NOTE: Only used in non-ALE configuration. :param g: ocean grid structure :param gv: ocean vertical grid structure :param ea: [in] Mass of fluid entrained from the layer :param eb: [in] Mass of fluid entrained from the layer :param h_pre: [in] Layer thicknesses at the end of the previous :param h_new: [inout] Updated layer thicknesses [kg m-2]. .. f:subroutine:: subroutine limit_mass_flux_3d(G, GV, uh, vh, ea, eb, h_pre) This routine limits the mass fluxes so that the a layer cannot be completely depleted. NOTE: Only used in non-ALE mode. :param g: ocean grid structure :param gv: ocean vertical grid structure :param uh: [inout] Mass flux through zonal face [kg] :param vh: [inout] Mass flux through meridional face [kg] :param ea: [inout] Mass of fluid entrained from the layer :param eb: [inout] Mass of fluid entrained from the layer :param h_pre: [in] Layer thicknesses at the end of the previous .. f:subroutine:: subroutine distribute_residual_uh_barotropic(G, GV, hvol, uh) In the case where offline advection has failed to converge, redistribute the u-flux into remainder of the water column as a barotropic equivalent. :param g: ocean grid structure :param gv: ocean vertical grid structure :param hvol: [in] Mass of water in the cells at the end :param uh: [inout] Zonal mass transport within a timestep [kg] :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine distribute_residual_vh_barotropic(G, GV, hvol, vh) Redistribute the v-flux as a barotropic equivalent. :param g: ocean grid structure :param gv: ocean vertical grid structure :param hvol: [in] Mass of water in the cells at the end :param vh: [inout] Meridional mass transport within a timestep [kg] :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine distribute_residual_uh_upwards(G, GV, hvol, uh) In the case where offline advection has failed to converge, redistribute the u-flux into layers above. :param g: ocean grid structure :param gv: ocean vertical grid structure :param hvol: [in] Mass of water in the cells at the end :param uh: [inout] Zonal mass transport within a timestep [kg] :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_offline_main::offline_redistribute_residual ` .. f:subroutine:: subroutine distribute_residual_vh_upwards(G, GV, hvol, vh) In the case where offline advection has failed to converge, redistribute the u-flux into layers above. :param g: ocean grid structure :param gv: ocean vertical grid structure :param hvol: [in] Mass of water in the cells at the end :param vh: [inout] Meridional mass transport within a timestep [kg] :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_offline_main::offline_redistribute_residual ` .. f:subroutine:: subroutine offline_add_diurnal_sw(fluxes, G, Time_start, Time_end) add_diurnal_SW adjusts the shortwave fluxes in an forcying_type variable to add a synthetic diurnal cycle. Adapted from SIS2 :param fluxes: [inout] The type with atmospheric fluxes to be adjusted. :param g: [in] The ocean lateral grid type. :param time_start: [in] The start time for this step. :param time_end: [in] The ending time for this step. .. f:subroutine:: subroutine update_offline_from_files(G, GV, nk_input, mean_file, sum_file, snap_file, surf_file, h_end, uhtr, vhtr, temp_mean, salt_mean, mld, Kd, fluxes, ridx_sum, ridx_snap, read_mld, read_sw, read_ts_uvh, do_ale_in) Controls the reading in 3d mass fluxes, diffusive fluxes, and other fields stored in a previous integration of the online model. :param g: [inout] Horizontal grid type :param gv: [in] Vertical grid type :param nk_input: [in] Number of levels in input file :param mean_file: [in] Name of file with averages fields :param sum_file: [in] Name of file with summed fields :param snap_file: [in] Name of file with snapshot fields :param surf_file: [in] Name of file with surface fields :param uhtr: [inout] Zonal mass fluxes [kg] :param vhtr: [inout] Meridional mass fluxes [kg] :param h_end: [inout] End of timestep layer thickness :param temp_mean: [inout] Averaged temperature :param salt_mean: [inout] Averaged salinity :param mld: [inout] Averaged mixed layer depth :param kd: [inout] Diapycnal diffusivities at interfaces :param fluxes: [inout] Fields with surface fluxes :param ridx_sum: [in] Read index for sum, mean, and surf files :param ridx_snap: [in] Read index for snapshot file :param read_mld: [in] True if reading in MLD :param read_sw: [in] True if reading in radiative fluxes :param read_ts_uvh: [in] True if reading in uh, vh, and h :param do_ale_in: [in] True if using ALE algorithms .. f:subroutine:: subroutine update_offline_from_arrays(G, GV, nk_input, ridx_sum, mean_file, sum_file, snap_file, uhtr, vhtr, hend, uhtr_all, vhtr_all, hend_all, temp, salt, temp_all, salt_all) Fields for offline transport are copied from the stored arrays read during initialization. :param g: [inout] Horizontal grid type :param gv: [in] Vertical grid type :param nk_input: [in] Number of levels in input file :param ridx_sum: [in] Index to read from :param mean_file: [in] Name of file with averages fields :param sum_file: [in] Name of file with summed fields :param snap_file: [in] Name of file with snapshot fields :param uhtr: [inout] Zonal mass fluxes [kg] :param vhtr: [inout] Meridional mass fluxes [kg] :param hend: [inout] End of timestep layer thickness [kg m-2] :param uhtr_all: [inout] Zonal mass fluxes [kg] :param vhtr_all: [inout] Meridional mass fluxes [kg] :param hend_all: [inout] End of timestep layer thickness [kg m-2] :param temp: [inout] Temperature array :param salt: [inout] Salinity array :param temp_all: [inout] Temperature array :param salt_all: [inout] Salinity array :callto: :f:func:`mom_error_handler::mom_error ` .. f:function:: integer function next_modulo_time(inidx, numtime) Calculates the next timelevel to read from the input fields. This allows the 'looping' of the fields. [debug] DoxygenMethodDocumenter format_signature called ((G, GV, uhtr, vhtr, h_pre, h_new)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_aux::update_h_horizontal_flux', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_aux::update_h_horizontal_flux', , { [debug] DoxygenMethodDocumenter format_signature called ((G, GV, ea, eb, h_pre, h_new)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_aux::update_h_vertical_flux', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_aux::update_h_vertical_flux', , {}, [debug] DoxygenMethodDocumenter format_signature called ((G, GV, uh, vh, ea, eb, h_pre)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_aux::limit_mass_flux_3d', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_aux::limit_mass_flux_3d', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((G, GV, hvol, uh)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_aux::distribute_residual_uh_barotropic', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_aux::offline_add_diurnal_sw', , {}, [debug] DoxygenMethodDocumenter format_signature called ((G, GV, nk_input, mean_file, sum_file, snap_file, surf_file, h_end, uhtr, vhtr, temp_mean, salt_mean, mld, Kd, fluxes, ridx_sum, ridx_snap, read_mld, read_sw, read_ts_uvh, do_ale_in)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_aux::update_offline_from_files', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_aux::update_offline_from_files', , [debug] DoxygenMethodDocumenter format_signature called ((G, GV, nk_input, ridx_sum, mean_file, sum_file, snap_file, uhtr, vhtr, hend, uhtr_all, vhtr_all, hend_all, temp, salt, temp_all, salt_all)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_aux::update_offline_from_arrays', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_aux::update_offline_from_arrays', , [debug] DoxygenMethodDocumenter format_signature called ((inidx, numtime)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_aux::next_modulo_time', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_aux::next_modulo_time', , {}, ['', [fd] run(.. f:subroutine:: subroutine update_h_horizontal_flux(G, GV, uhtr, vhtr, h_pre, h_new)) [fd] sig(subroutine update_h_horizontal_flux(G, GV, uhtr, vhtr, h_pre, h_new)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_h_horizontal_flux) arglist(G, GV, uhtr, vhtr, h_pre, h_new) [fd] fullname(mom_offline_aux/update_h_horizontal_flux) ftype(None) [fd] name(('mom_offline_aux/update_h_horizontal_flux', None)) sig(subroutine update_h_horizontal_flux(G, GV, uhtr, vhtr, h_pre, h_new)) signode(subroutine mom_offline_aux/update_h_horizontal_fluxGGVuhtrvhtrh_preh_new) [fd] run(.. f:subroutine:: subroutine update_h_vertical_flux(G, GV, ea, eb, h_pre, h_new)) [fd] sig(subroutine update_h_vertical_flux(G, GV, ea, eb, h_pre, h_new)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_h_vertical_flux) arglist(G, GV, ea, eb, h_pre, h_new) [fd] fullname(mom_offline_aux/update_h_vertical_flux) ftype(None) [fd] name(('mom_offline_aux/update_h_vertical_flux', None)) sig(subroutine update_h_vertical_flux(G, GV, ea, eb, h_pre, h_new)) signode(subroutine mom_offline_aux/update_h_vertical_fluxGGVeaebh_preh_new) [fd] run(.. f:subroutine:: subroutine limit_mass_flux_3d(G, GV, uh, vh, ea, eb, h_pre)) [fd] sig(subroutine limit_mass_flux_3d(G, GV, uh, vh, ea, eb, h_pre)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(limit_mass_flux_3d) arglist(G, GV, uh, vh, ea, eb, h_pre) [fd] fullname(mom_offline_aux/limit_mass_flux_3d) ftype(None) [fd] name(('mom_offline_aux/limit_mass_flux_3d', None)) sig(subroutine limit_mass_flux_3d(G, GV, uh, vh, ea, eb, h_pre)) signode(subroutine mom_offline_aux/limit_mass_flux_3dGGVuhvheaebh_pre) [fd] run(.. f:subroutine:: subroutine distribute_residual_uh_barotropic(G, GV, hvol, uh)) [fd] sig(subroutine distribute_residual_uh_barotropic(G, GV, hvol, uh)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(distribute_residual_uh_barotropic) arglist(G, GV, hvol, uh) [fd] fullname(mom_offline_aux/distribute_residual_uh_barotropic) ftype(None) [fd] name(('mom_offline_aux/distribute_residual_uh_barotropic', None)) sig(subroutine distribute_residual_uh_barotropic(G, GV, hvol, uh)) signode(subroutine mom_offline_aux/distribute_residual_uh_barotropicGGVhvoluh) [fd] run(.. f:subroutine:: subroutine distribute_residual_vh_barotropic(G, GV, hvol, vh)) [fd] sig(subroutine distribute_residual_vh_barotropic(G, GV, hvol, vh)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(distribute_residual_vh_barotropic) arglist(G, GV, hvol, vh) [fd] fullname(mom_offline_aux/distribute_residual_vh_barotropic) ftype(None) [fd] name(('mom_offline_aux/distribute_residual_vh_barotropic', None)) sig(subroutine distribute_residual_vh_barotropic(G, GV, hvol, vh)) signode(subroutine mom_offline_aux/distribute_residual_vh_barotropicGGVhvolvh) [fd] run(.. f:subroutine:: subroutine distribute_residual_uh_upwards(G, GV, hvol, uh)) [fd] sig(subroutine distribute_residual_uh_upwards(G, GV, hvol, uh)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(distribute_residual_uh_upwards) arglist(G, GV, hvol, uh) [fd] fullname(mom_offline_aux/distribute_residual_uh_upwards) ftype(None) [fd] name(('mom_offline_aux/distribute_residual_uh_upwards', None)) sig(subroutine distribute_residual_uh_upwards(G, GV, hvol, uh)) signode(subroutine mom_offline_aux/distribute_residual_uh_upwardsGGVhvoluh) [fd] run(.. f:subroutine:: subroutine distribute_residual_vh_upwards(G, GV, hvol, vh)) [fd] sig(subroutine distribute_residual_vh_upwards(G, GV, hvol, vh)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(distribute_residual_vh_upwards) arglist(G, GV, hvol, vh) [fd] fullname(mom_offline_aux/distribute_residual_vh_upwards) ftype(None) [fd] name(('mom_offline_aux/distribute_residual_vh_upwards', None)) sig(subroutine distribute_residual_vh_upwards(G, GV, hvol, vh)) signode(subroutine mom_offline_aux/distribute_residual_vh_upwardsGGVhvolvh) [fd] run(.. f:subroutine:: subroutine offline_add_diurnal_sw(fluxes, G, Time_start, Time_end)) [fd] sig(subroutine offline_add_diurnal_sw(fluxes, G, Time_start, Time_end)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(offline_add_diurnal_sw) arglist(fluxes, G, Time_start, Time_end) [fd] fullname(mom_offline_aux/offline_add_diurnal_sw) ftype(None) [fd] name(('mom_offline_aux/offline_add_diurnal_sw', None)) sig(subroutine offline_add_diurnal_sw(fluxes, G, Time_start, Time_end)) signode(subroutine mom_offline_aux/offline_add_diurnal_swfluxesGTime_startTime_end) [fd] run(.. f:subroutine:: subroutine update_offline_from_files(G, GV, nk_input, mean_file, sum_file, snap_file, surf_file, h_end, uhtr, vhtr, temp_mean, salt_mean, mld, Kd, fluxes, ridx_sum, ridx_snap, read_mld, read_sw, read_ts_uvh, do_ale_in)) [fd] sig(subroutine update_offline_from_files(G, GV, nk_input, mean_file, sum_file, snap_file, surf_file, h_end, uhtr, vhtr, temp_mean, salt_mean, mld, Kd, fluxes, ridx_sum, ridx_snap, read_mld, read_sw, read_ts_uvh, do_ale_in)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_offline_from_files) arglist(G, GV, nk_input, mean_file, sum_file, snap_file, surf_file, h_end, uhtr, vhtr, temp_mean, salt_mean, mld, Kd, fluxes, ridx_sum, ridx_snap, read_mld, read_sw, read_ts_uvh, do_ale_in) [fd] fullname(mom_offline_aux/update_offline_from_files) ftype(None) [fd] name(('mom_offline_aux/update_offline_from_files', None)) sig(subroutine update_offline_from_files(G, GV, nk_input, mean_file, sum_file, snap_file, surf_file, h_end, uhtr, vhtr, temp_mean, salt_mean, mld, Kd, fluxes, ridx_sum, ridx_snap, read_mld, read_sw, read_ts_uvh, do_ale_in)) signode(subroutine mom_offline_aux/update_offline_from_filesGGVnk_inputmean_filesum_filesnap_filesurf_fileh_enduhtrvhtrtemp_meansalt_meanmldKdfluxesridx_sumridx_snapread_mldread_swread_ts_uvhdo_ale_in) [fd] run(.. f:subroutine:: subroutine update_offline_from_arrays(G, GV, nk_input, ridx_sum, mean_file, sum_file, snap_file, uhtr, vhtr, hend, uhtr_all, vhtr_all, hend_all, temp, salt, temp_all, salt_all)) [fd] sig(subroutine update_offline_from_arrays(G, GV, nk_input, ridx_sum, mean_file, sum_file, snap_file, uhtr, vhtr, hend, uhtr_all, vhtr_all, hend_all, temp, salt, temp_all, salt_all)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_offline_from_arrays) arglist(G, GV, nk_input, ridx_sum, mean_file, sum_file, snap_file, uhtr, vhtr, hend, uhtr_all, vhtr_all, hend_all, temp, salt, temp_all, salt_all) [fd] fullname(mom_offline_aux/update_offline_from_arrays) ftype(None) [fd] name(('mom_offline_aux/update_offline_from_arrays', None)) sig(subroutine update_offline_from_arrays(G, GV, nk_input, ridx_sum, mean_file, sum_file, snap_file, uhtr, vhtr, hend, uhtr_all, vhtr_all, hend_all, temp, salt, temp_all, salt_all)) signode(subroutine mom_offline_aux/update_offline_from_arraysGGVnk_inputridx_summean_filesum_filesnap_fileuhtrvhtrhenduhtr_allvhtr_allhend_alltempsalttemp_allsalt_all) [fd] run(.. f:function:: integer function next_modulo_time(inidx, numtime)) [fd] sig(integer function next_modulo_time(inidx, numtime)) [fd] ftype(integer) objtype(function) modname(None) typename() name(next_modulo_time) arglist(inidx, numtime) [fd] fullname(mom_offline_aux/next_modulo_time) ftype(integer) [fd] name(('mom_offline_aux/next_modulo_time', 'integer')) sig(integer function next_modulo_time(inidx, numtime)) signode(function mom_offline_aux/next_modulo_timeinidxnumtime [integer]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 47%] api/generated/modules/mom_offline_main [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_offline_ [app] emitting event: 'source-read'('api/generated/modules/mom_offline_main', ['.. autodoxymodule:: mom_offline_main\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_offline_main.rst:1: input: .. autodoxymodule:: mom_offline_main :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_offline_main::offline_transport_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_offline_main::offline_advection_ale ~mom_offline_main::offline_redistribute_residual ~mom_offline_main::remaining_transport_sum ~mom_offline_main::offline_diabatic_ale ~mom_offline_main::offline_fw_fluxes_into_ocean ~mom_offline_main::offline_fw_fluxes_out_ocean ~mom_offline_main::offline_advection_layer ~mom_offline_main::update_offline_fields ~mom_offline_main::register_diags_offline_transport ~mom_offline_main::post_offline_convergence_diags ~mom_offline_main::extract_offline_main ~mom_offline_main::insert_offline_main ~mom_offline_main::offline_transport_init ~mom_offline_main::read_all_input ~mom_offline_main::offline_transport_end [debug] xpath(./compounddef/compoundname[text()="mom_offline_main"]/..) match([('id', 'namespacemom__offline__main'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_offline_main module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_offline_main', , {'members': , {'members': ]) [debug] ref([('id', 'MOM_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [debug] method=visit_para [debug] method=visit_orderedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_sect1 [debug] visit_sect id(namespacemom__offline__main_1offline_evaluation) title(Evaluating the utility of an offline tracer model) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_sect1 [debug] visit_sect id(namespacemom__offline__main_1offline_parameters) title(Runtime parameters for offline tracers) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_offline_main', , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_offline_main' (exception was: ModuleNotFoundError("No module named 'mom_offline_main'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_offline_main::offline_transport_cs', , {'me [debug] members([('offline_advection_ale', ), ('offline_redistribute_residual', ), ('remaining_transport_sum', ), ('offline_diabatic_ale', ), ('offline_fw_fluxes_into_ocean', ), ('offline_fw_fluxes_out_ocean', ), ('offline_advection_layer', ), ('update_offline_fields', ), ('register_diags_offline_transport', ), ('post_offline_convergence_diags', ), ('extract_offline_main', ), ('insert_offline_main', ), ('offline_transport_init', ), ('read_all_input', ), ('offline_transport_end', )]) [autodoc] module analyzer failed: error importing 'mom_offline_main' (exception was: ModuleNotFoundError("No module named 'mom_offline_main'")) [debug] DoxygenMethodDocumenter format_signature called ((fluxes, Time_start, time_interval, CS, id_clock_ale, h_pre, uhtr, vhtr, converged)) [debug] add_directive_header sig((fluxes, Time_start, time_interval, CS, id_clock_ale, h_pre, uhtr, vhtr, converged)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine offline_advection_ale) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'offline_advection_ale', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'offline_redistribute_residual', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'offline_redistribute_residual', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'offline_redistribute_residual', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'offline_redistribute_residual', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'offline_redistribute_residual', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'offline_redistribute_residual', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'offline_redistribute_residual', , {'members': < [autodoc] module analyzer failed: error importing 'mom_offline_main' (exception was: ModuleNotFoundError("No module named 'mom_offline_main'")) [debug] DoxygenMethodDocumenter format_signature called ((CS, uhtr, vhtr)) [debug] add_directive_header sig((CS, uhtr, vhtr)) [debug] DoxygenMethodDocumenter directive(function) name(real function remaining_transport_sum) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'remaining_transport_sum', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diags_offline_transport', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_diags_offline_transport', , {'members' [autodoc] module analyzer failed: error importing 'mom_offline_main' (exception was: ModuleNotFoundError("No module named 'mom_offline_main'")) [debug] DoxygenMethodDocumenter format_signature called ((CS, h_off, h_end, uhtr, vhtr)) [debug] add_directive_header sig((CS, h_off, h_end, uhtr, vhtr)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine post_offline_convergence_diags) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'post_offline_convergence_diags', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'post_offline_convergence_diags', , {'members': [autodoc] module analyzer failed: error importing 'mom_offline_main' (exception was: ModuleNotFoundError("No module named 'mom_offline_main'")) [debug] DoxygenMethodDocumenter format_signature called ((CS, uhtr, vhtr, eatr, ebtr, h_end, accumulated_time, vertical_time, dt_offline, dt_offline_vertical, skip_diffusion)) [debug] add_directive_header sig((CS, uhtr, vhtr, eatr, ebtr, h_end, accumulated_time, vertical_time, dt_offline, dt_offline_vertical, skip_diffusion)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine extract_offline_main) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'extract_offline_main', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_offline_main::offline_transport_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_offline_main::offline_advection_ale ~mom_offline_main::offline_redistribute_residual ~mom_offline_main::remaining_transport_sum ~mom_offline_main::offline_diabatic_ale ~mom_offline_main::offline_fw_fluxes_into_ocean ~mom_offline_main::offline_fw_fluxes_out_ocean ~mom_offline_main::offline_advection_layer ~mom_offline_main::update_offline_fields ~mom_offline_main::register_diags_offline_transport ~mom_offline_main::post_offline_convergence_diags ~mom_offline_main::extract_offline_main ~mom_offline_main::insert_offline_main ~mom_offline_main::offline_transport_init ~mom_offline_main::read_all_input ~mom_offline_main::offline_transport_end .. _DETAmom_offline_main: -------------------- Detailed Description -------------------- .. _namespacemom__offline__main_1offline_overview: Offline Tracer Transport in MOM6 ================================ 'Offline tracer modeling' uses physical fields (e.g. mass transports and layer thicknesses) saved from a previous integration of the physical model to transport passive tracers. These fields are accumulated or averaged over a period of time (in this test case, 1 day) and used to integrate portions of the MOM6 code base that handle the 3d advection and diffusion of passive tracers. The distribution of tracers in the ocean modeled offline should not be expected to match an online simulation. Accumulating transports over more than one online model timestep implicitly assumes homogeneity over that time period and essentially aliases over processes that occur with higher frequency. For example, consider the case of a surface boundary layer with a strong diurnal cycle. An offline simulation with a 1 day timestep, captures the net transport into or out of that layer, but not the exact cycling. This effective aliasing may also complicate online model configurations which strongly-eddying regions. In this case, the offline model timestep must be limited to some fraction of the eddy correlation timescale. Lastly, the nonlinear advection scheme which applies limited mass-transports over a sequence of iterations means that tracers are not transported along exactly the same path as they are in the online model. This capability has currently targeted the Baltic_ALE_z test case, though some work has also been done with the OM4 1/2 degree configuration. Work is ongoing to develop recommendations and best practices for investigators seeking to use MOM6 for offline tracer modeling. .. _namespacemom__offline__main_1offline_technical: Implementation of offline routine in MOM6 ========================================= The subroutine step_tracers that coordinates this can be found in ``MOM.F90`` and is only called using the solo ocean driver. This is to avoid issues with coupling to other climate components that may be relying on fluxes from the ocean to be coupled more often than the offline time step. Other routines related to offline tracer modeling can be found in tracers/MOM_offline_control.F90 As can also be seen in the comments for the step_tracers subroutine, an offline time step comprises the following steps: #. Using the layer thicknesses and tracer concentrations from the previous timestep, half of the accumulated vertical mixing (eatr and ebtr) is applied in the call to tracer_column_fns. For tracers whose source/sink terms need dt, this value is set to 1/2 dt_offline #. Half of the accumulated surface freshwater fluxes are applied START ITERATION #. Accumulated mass fluxes are used to do horizontal transport. The number of iterations used in advect_tracer is limited to 2 (e.g x->y->x->y). The remaining mass fluxes are stored for later use and resulting layer thicknesses fed into the next step #. Tracers and the h-grid are regridded and remapped in a call to ALE. This allows for layers which might 'vanish' because of horizontal mass transport to be 'reinflated' and essentially allows for the vertical transport of tracers #. Check that transport is done if the remaining mass fluxes equals 0 or if the max number of iterations has been reached END ITERATION #. Repeat steps 1 and 2 #. Redistribute any residual mass fluxes that remain after the advection iterations in a barotropic manner, progressively upward through the water column. #. Force a remapping to the stored layer thicknesses that correspond to the snapshot of the online model at the end of an accumulation interval #. Reset T/S and h to their stored snapshotted values to prevent model drift .. _namespacemom__offline__main_1offline_evaluation: Evaluating the utility of an offline tracer model ================================================= How well an offline tracer model can be used as an alternative to integrating tracers online with the prognostic model must be evaluated for each application. This efficacy may be related to the native coordinate of the online model, to the length of the offline timestep, and to the behavior of the tracer itself. A framework for formally regression testing the offline capability still needs to be developed. However, as a simple way of testing whether the offline model is nominally behaving as expected, the total inventory of the advection test tracers (tr1, tr2, etc.) should be conserved between time steps except for the last 4 decimal places. As a general guideline, an offline timestep of 5 days or less. .. _namespacemom__offline__main_1offline_parameters: Runtime parameters for offline tracers ====================================== * OFFLINEDIR: Input directory where the offline fields can be found * OFF_SUM_FILE: Filename where the accumulated fields can be found (e.g. horizontal mass transports) * OFF_SNAP_FILE: Filename where snapshot fields can be found (e.g. end of timestep layer thickness) * START_INDEX: Which timelevel of the input files to read first * NUMTIME: How many timelevels to read before 'looping' back to 1 * FIELDS_ARE_OFFSET: True if the time-averaged fields and snapshot fields are offset by one time level, probably not needed -NUM_OFF_ITER: Maximum number of iterations to do for the nonlinear advection scheme -REDISTRIBUTE_METHOD: Redistributes any remaining horizontal fluxes throughout the rest of water column. Options are 'barotropic' which "evenly distributes flux throughout the entire water column,'upwards' which adds the maximum of the remaining flux in each layer above, and 'none' which does no redistribution" ------------------ Type Documentation ------------------ .. f:type:: offline_transport_cs The control structure for the offline transport module. :typefield integer id_uhr: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_vhr: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_ear: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_ebr: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_hr: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_hdiff: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_uhr_redist: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_vhr_redist: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_uhr_end: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_vhr_end: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_eta_pre_distribute: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_eta_post_distribute: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_h_redist: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_eta_diff_end: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_uhtr_regrid: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_vhtr_regrid: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_temp_regrid: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_salt_regrid: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield integer id_h_regrid: Diagnostic manager IDs for some fields that may be of interest when doing offline transport. :typefield type(ale_cs) ale_csp [pointer]: A pointer to the ALE control structure. :typefield type(diabatic_cs) diabatic_csp [pointer]: A pointer to the diabatic control structure. :typefield type(diag_ctrl) diag [pointer]: Structure that regulates diagnostic output. :typefield type(ocean_obc_type) obc [pointer]: A pointer to the open boundary condition control structure. :typefield type(tracer_advect_cs) tracer_adv_csp [pointer]: A pointer to the tracer advection control structure. :typefield type(opacity_cs) opacity_csp [pointer]: A pointer to the opacity control structure. :typefield type(tracer_flow_control_cs) tracer_flow_csp [pointer]: A pointer to control structure that orchestrates the calling of tracer packages. :typefield type(tracer_registry_type) tracer_reg [pointer]: A pointer to the tracer registry. :typefield type(thermo_var_ptrs) tv [pointer]: A structure pointing to various thermodynamic variables. :typefield type(ocean_grid_type) g [pointer]: Pointer to a structure containing metrics and related information. :typefield type(verticalgrid_type) gv [pointer]: Pointer to structure containing information about the vertical grid. :typefield type(unit_scale_type) us [pointer]: structure containing various unit conversion factors :typefield type(optics_type) optics [pointer]: Pointer to the optical properties type. :typefield type(diabatic_aux_cs) diabatic_aux_csp [pointer]: Pointer to the diabatic_aux control structure. :typefield integer start_index: Variables related to reading in fields from online run. :typefield integer iter_no: Timelevel to start. :typefield integer numtime: How many timelevels in the input fields. :typefield type(time_type) accumulated_time: Length of time accumulated in the current offline interval. :typefield type(time_type) vertical_time: The next value of accumulate_time at which to apply vertical processes. :typefield integer ridx_sum: Read index offset of the summed variables. :typefield integer ridx_snap: Read index offset of the snapshot variables. :typefield integer nk_input: Number of input levels in the input fields. :typefield character (len=200) offlinedir: Directory where offline fields are stored. :typefield character (len=200) surf_file: Contains surface fields (2d arrays) :typefield character (len=200) snap_file: Snapshotted fields (layer thicknesses) :typefield character (len=200) sum_file: Fields which are accumulated over time. :typefield character (len=200) mean_file: Fields averaged over time. :typefield character (len=20) redistribute_method: 'barotropic' if evenly distributing extra flow throughout entire watercolumn, 'upwards', if trying to do it just in the layers above 'both' if both methods are used :typefield character (len=20) mld_var_name: Name of the mixed layer depth variable to use. :typefield logical fields_are_offset: True if the time-averaged fields and snapshot fields are offset by one time level. :typefield logical x_before_y: Which horizontal direction is advected first. :typefield logical print_adv_offline: Prints out some updates each advection sub interation. :typefield logical skip_diffusion: Skips horizontal diffusion of tracers. :typefield logical read_sw: Read in averaged values for shortwave radiation. :typefield logical read_mld: Check to see whether mixed layer depths should be read in. :typefield logical diurnal_sw: Adds a synthetic diurnal cycle on shortwave radiation. :typefield logical debug: If true, write verbose debugging messages. :typefield logical redistribute_barotropic: Redistributes column-summed residual transports throughout a column weighted by thickness. :typefield logical redistribute_upwards: Redistributes remaining fluxes only in layers above the current one based as the max allowable transport in that cell. :typefield logical read_all_ts_uvh: If true, then all timelevels of temperature, salinity, mass transports, and Layer thicknesses are read during initialization Variables controlling some of the numerical considerations of offline transport. :typefield integer num_off_iter: Number of advection iterations per offline step. :typefield integer num_vert_iter: Number of vertical iterations per offline step. :typefield integer off_ale_mod: Sets how frequently the ALE step is done during the advection. :typefield real dt_offline: Timestep used for offline tracers [T ~> s]. :typefield real dt_offline_vertical: Timestep used for calls to tracer vertical physics [T ~> s]. :typefield real evap_cfl_limit: Limit on the fraction of the water that can be fluxed out of the top layer in a timestep [nondim]. This is Copied from diabatic_CS controlling how tracers follow freshwater fluxes. :typefield real minimum_forcing_depth: The smallest depth over which fluxes can be applied [H ~> m or kg m-2]. This is copied from diabatic_CS controlling how tracers follow freshwater fluxes. :typefield real kd_max: Runtime parameter specifying the maximum value of vertical diffusivity. :typefield real min_residual: The minimum amount of total mass flux before exiting the main advection routine. :typefield integer id_clock_read_fields: A CPU time clock. :typefield integer id_clock_offline_diabatic: A CPU time clock. :typefield integer id_clock_offline_adv: A CPU time clock. :typefield integer id_clock_redistribute: A CPU time clock. :typefield real(\:,\:,\:) uhtr [allocatable]: Zonal transport that may need to be stored between calls to step_MOM. :typefield real(\:,\:,\:) vhtr [allocatable]: Meridional transport that may need to be stored between calls to step_MOM. :typefield real(\:,\:,\:) eatr [allocatable]: Amount of fluid entrained from the layer above within one time step [H ~> m or kg m-2]. :typefield real(\:,\:,\:) ebtr [allocatable]: Amount of fluid entrained from the layer below within one time step [H ~> m or kg m-2]. :typefield real(\:,\:,\:) kd [allocatable]: Vertical diffusivity. :typefield real(\:,\:,\:) h_end [allocatable]: Thicknesses at the end of offline timestep. :typefield real(\:,\:) netmassin [allocatable]: Freshwater fluxes into the ocean. :typefield real(\:,\:) netmassout [allocatable]: Freshwater fluxes out of the ocean. :typefield real(\:,\:) mld [allocatable]: Mixed layer depths at thickness points [Z ~> m]. :typefield real(\:,\:,\:,\:) uhtr_all [allocatable]: Entire field of zonal transport. :typefield real(\:,\:,\:,\:) vhtr_all [allocatable]: Entire field of mericional transport. :typefield real(\:,\:,\:,\:) hend_all [allocatable]: Entire field of layer thicknesses. :typefield real(\:,\:,\:,\:) temp_all [allocatable]: Entire field of temperatures. :typefield real(\:,\:,\:,\:) salt_all [allocatable]: Entire field of salinities. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine offline_advection_ale(fluxes, Time_start, time_interval, CS, id_clock_ale, h_pre, uhtr, vhtr, converged) 3D advection is done by doing flux-limited nonlinear horizontal advection interspersed with an ALE regridding/remapping step. The loop in this routine is exited if remaining residual transports are below a runtime-specified value or a maximum number of iterations is reached. :param fluxes: [inout] pointers to forcing fields :param time_start: [in] starting time of a segment, as a time type :param time_interval: [in] time interval :param cs: control structure for offline module :param id_clock_ale: [in] Clock for ALE routines :param h_pre: [inout] layer thicknesses before advection :param uhtr: [inout] Zonal mass transport [H m2 ~> m3 or kg] :param vhtr: [inout] Meridional mass transport [H m2 ~> m3 or kg] :param converged: [out] True if the iterations have converged :callto: :f:func:`mom_tracer_advect::advect_tracer ` :callto: :f:func:`mom_ale::ale_main_offline ` :callto: :f:func:`mom_tracer_registry::mom_tracer_chkinv ` :callto: :f:func:`remaining_transport_sum ` .. f:subroutine:: subroutine offline_redistribute_residual(CS, h_pre, uhtr, vhtr, converged) In the case where the main advection routine did not converge, something needs to be done with the remaining transport. Two different ways are offered, 'barotropic' means that the residual is distributed equally throughout the water column. 'upwards' attempts to redistribute the transport in the layers above and will eventually work down the entire water column. :param cs: control structure from initialize_MOM :param h_pre: [inout] layer thicknesses before advection :param uhtr: [inout] Zonal mass transport :param vhtr: [inout] Meridional mass transport :param converged: [in] True if the iterations have converged :callto: :f:func:`mom_tracer_advect::advect_tracer ` :callto: :f:func:`mom_offline_aux::distribute_residual_uh_upwards ` :callto: :f:func:`mom_offline_aux::distribute_residual_vh_upwards ` :callto: :f:func:`mom_tracer_registry::mom_tracer_chkinv ` :callto: :f:func:`mom_tracer_registry::mom_tracer_chksum ` :callto: :f:func:`remaining_transport_sum ` .. f:function:: real function remaining_transport_sum(CS, uhtr, vhtr) Sums any non-negligible remaining transport to check for advection convergence. :param cs: control structure for offline module :param uhtr: [in] Zonal mass transport :param vhtr: [in] Meridional mass transport :calledfrom: :f:func:`offline_advection_ale ` :calledfrom: :f:func:`offline_redistribute_residual ` .. f:subroutine:: subroutine offline_diabatic_ale(fluxes, Time_start, Time_end, CS, h_pre, eatr, ebtr) The vertical/diabatic driver for offline tracers. First the eatr/ebtr associated with the interpolated vertical diffusivities are calculated and then any tracer column functions are done which can include vertical diffuvities and source/sink terms. :param fluxes: [inout] pointers to forcing fields :param time_start: [in] starting time of a segment, as a time type :param time_end: [in] time interval :param cs: control structure from initialize_MOM :param h_pre: [inout] layer thicknesses before advection [H ~> m or kg m-2] :param eatr: [inout] Entrainment from layer above [H ~> m or kg m-2] :param ebtr: [inout] Entrainment from layer below [H ~> m or kg m-2] :callto: :f:func:`mom_tracer_flow_control::call_tracer_column_fns ` :callto: :f:func:`mom_tracer_registry::mom_tracer_chkinv ` .. f:subroutine:: subroutine offline_fw_fluxes_into_ocean(G, GV, CS, fluxes, h, in_flux_optional) Apply positive freshwater fluxes (into the ocean) and update netMassOut with only the negative (out of the ocean) fluxes. :param cs: [inout] Offline control structure :param g: [in] Grid structure :param gv: [in] ocean vertical grid structure :param fluxes: [inout] Surface fluxes container :param h: [inout] Layer thickness [H ~> m or kg m-2] :param in_flux_optional: [in] The total time-integrated amount :callto: :f:func:`mom_tracer_diabatic::applytracerboundaryfluxesinout ` :callto: :f:func:`mom_tracer_registry::mom_tracer_chkinv ` .. f:subroutine:: subroutine offline_fw_fluxes_out_ocean(G, GV, CS, fluxes, h, out_flux_optional) Apply negative freshwater fluxes (out of the ocean) :param cs: [inout] Offline control structure :param g: [in] Grid structure :param gv: [in] ocean vertical grid structure :param fluxes: [inout] Surface fluxes container :param h: [inout] Layer thickness [H ~> m or kg m-2] :param out_flux_optional: [in] The total time-integrated amount :callto: :f:func:`mom_tracer_diabatic::applytracerboundaryfluxesinout ` :callto: :f:func:`mom_tracer_registry::mom_tracer_chkinv ` .. f:subroutine:: subroutine offline_advection_layer(fluxes, Time_start, time_interval, CS, h_pre, eatr, ebtr, uhtr, vhtr) When in layer mode, 3D horizontal advection using stored mass fluxes must be used. Horizontal advection is done via tracer_advect, whereas the vertical component is actually handled by vertdiff in tracer_column_fns. :param fluxes: [inout] pointers to forcing fields :param time_start: [in] starting time of a segment, as a time type :param time_interval: [in] Offline transport time interval :param cs: Control structure for offline module :param h_pre: [inout] layer thicknesses before advection :param eatr: [inout] Entrainment from layer above :param ebtr: [inout] Entrainment from layer below :param uhtr: [inout] Zonal mass transport :param vhtr: [inout] Meridional mass transport :callto: :f:func:`mom_tracer_advect::advect_tracer ` :callto: :f:func:`mom_tracer_flow_control::call_tracer_column_fns ` :calledfrom: :f:func:`mom::step_offline ` .. f:subroutine:: subroutine update_offline_fields(CS, h, fluxes, do_ale) Update fields used in this round of offline transport. First fields are updated from files or from arrays read during initialization. Then if in an ALE-dependent coordinate, regrid/remap fields. :param cs: Control structure for offline module :param h: The regridded layer thicknesses :param fluxes: [inout] Pointers to forcing fields :param do_ale: [in] True if using ALE :callto: :f:func:`mom_ale::ale_offline_inputs ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` .. f:subroutine:: subroutine register_diags_offline_transport(Time, diag, CS) Initialize additional diagnostics required for offline tracer transport. :param cs: Control structure for offline module :param time: [in] current model time :param diag: [in] Structure that regulates diagnostic output :callto: :f:func:`mom_diag_mediator::register_diag_field ` .. f:subroutine:: subroutine post_offline_convergence_diags(CS, h_off, h_end, uhtr, vhtr) Posts diagnostics related to offline convergence diagnostics. :param cs: [in] Offline control structure :param h_off: [inout] Thicknesses at end of offline step :param h_end: [inout] Stored thicknesses :param uhtr: [inout] Remaining zonal mass transport :param vhtr: [inout] Remaining meridional mass transport .. f:subroutine:: subroutine extract_offline_main(CS, uhtr, vhtr, eatr, ebtr, h_end, accumulated_time, vertical_time, dt_offline, dt_offline_vertical, skip_diffusion) Extracts members of the offline main control structure. All arguments are optional except the control structure itself. :param cs: [in] Offline control structure :param uhtr: Remaining zonal mass transport [H m2 ~> m3 or kg] :param vhtr: Remaining meridional mass transport [H m2 ~> m3 or kg] :param eatr: Amount of fluid entrained from the layer above within one time step [H ~> m or kg m-2] :param ebtr: Amount of fluid entrained from the layer below within one time step [H ~> m or kg m-2] :param h_end: Thicknesses at the end of offline timestep [H ~> m or kg m-2] :param accumulated_time: Length of time accumulated in the current offline interval :param vertical_time: The next value of accumulate_time at which to vertical processes :param dt_offline: [out] Timestep used for offline tracers [T ~> s] :param dt_offline_vertical: [out] Timestep used for calls to tracer vertical physics [T ~> s] :param skip_diffusion: [out] Skips horizontal diffusion of tracers .. f:subroutine:: subroutine insert_offline_main(CS, ALE_CSp, diabatic_CSp, diag, OBC, tracer_adv_CSp, tracer_flow_CSp, tracer_Reg, tv, G, GV, x_before_y, debug) Inserts (assigns values to) members of the offline main control structure. All arguments are optional except for the CS itself. :param cs: [inout] Offline control structure :param ale_csp: [in] A pointer to the ALE control structure :param diabatic_csp: [in] A pointer to the diabatic control structure :param diag: [in] A pointer to the structure that regulates diagnostic output :param obc: [in] A pointer to the open boundary condition control structure :param tracer_adv_csp: [in] A pointer to the tracer advection control structure :param tracer_flow_csp: [in] A pointer to the tracer flow control control structure :param tracer_reg: [in] A pointer to the tracer registry :param tv: [in] A structure pointing to various thermodynamic variables :param g: [in] ocean grid structure :param gv: [in] ocean vertical grid structure :param x_before_y: [in] Indicates which horizontal direction is advected first :param debug: [in] If true, write verbose debugging messages .. f:subroutine:: subroutine offline_transport_init(param_file, CS, diabatic_CSp, G, GV, US) Initializes the control structure for offline transport and reads in some of the. :param param_file: [in] A structure to parse for run-time parameters :param cs: Offline control structure :param diabatic_csp: [in] The diabatic control structure :param g: [in] ocean grid structure :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_diabatic_driver::extract_diabatic_member ` :callto: :f:func:`read_all_input ` :callto: :f:func:`mom_time_manager::real_to_time ` .. f:subroutine:: subroutine read_all_input(CS) Coordinates the allocation and reading in all time levels of uh, vh, hend, temp, and salt from files. Used when read_all_ts_uvh. :param cs: [inout] Control structure for offline module :calledfrom: :f:func:`offline_transport_init ` .. f:subroutine:: subroutine offline_transport_end(CS) Deallocates (if necessary) arrays within the offline control structure. :param cs: Control structure for offline module :calledfrom: :f:func:`mom::mom_end ` [debug] xpath(./compounddef/compoundname[text()="mom_offline_main::offline_transport_cs"]/..) match([('id', 'structmom__offline__main_1_1offline__transport__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_offline_main::offline_transport_cs', , {} [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_offline_main::offline_transport_cs', , {} [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_offline_main::offline_transport_cs', , {} [debug] DoxygenMethodDocumenter format_signature called ((fluxes, Time_start, time_interval, CS, id_clock_ale, h_pre, uhtr, vhtr, converged)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::offline_advection_ale', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::offline_advection_ale', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS, h_pre, uhtr, vhtr, converged)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::offline_redistribute_residual', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::remaining_transport_sum', , { [debug] DoxygenMethodDocumenter format_signature called ((fluxes, Time_start, Time_end, CS, h_pre, eatr, ebtr)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::offline_diabatic_ale', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::offline_diabatic_ale', , {}, [debug] DoxygenMethodDocumenter format_signature called ((G, GV, CS, fluxes, h, in_flux_optional)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::offline_fw_fluxes_into_ocean', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::offline_advection_layer', , { [debug] DoxygenMethodDocumenter format_signature called ((CS, h, fluxes, do_ale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::update_offline_fields', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::update_offline_fields', , {}, [debug] DoxygenMethodDocumenter format_signature called ((Time, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::register_diags_offline_transport', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::extract_offline_main', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS, ALE_CSp, diabatic_CSp, diag, OBC, tracer_adv_CSp, tracer_flow_CSp, tracer_Reg, tv, G, GV, x_before_y, debug)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::insert_offline_main', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::insert_offline_main', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((param_file, CS, diabatic_CSp, G, GV, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::offline_transport_init', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::offline_transport_init', , {} [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::read_all_input', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::read_all_input', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::offline_transport_end', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_offline_main::offline_transport_end', , {}, [fd] run(.. f:type:: offline_transport_cs) [fd] sig(offline_transport_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(offline_transport_cs) arglist(None) [fd] fullname(mom_offline_main/offline_transport_cs) ftype(None) [fd] name(('mom_offline_main/offline_transport_cs', None)) sig(offline_transport_cs) signode(type mom_offline_main/offline_transport_cs) [fd] run(.. f:subroutine:: subroutine offline_advection_ale(fluxes, Time_start, time_interval, CS, id_clock_ale, h_pre, uhtr, vhtr, converged)) [fd] sig(subroutine offline_advection_ale(fluxes, Time_start, time_interval, CS, id_clock_ale, h_pre, uhtr, vhtr, converged)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(offline_advection_ale) arglist(fluxes, Time_start, time_interval, CS, id_clock_ale, h_pre, uhtr, vhtr, converged) [fd] fullname(mom_offline_main/offline_advection_ale) ftype(None) [fd] name(('mom_offline_main/offline_advection_ale', None)) sig(subroutine offline_advection_ale(fluxes, Time_start, time_interval, CS, id_clock_ale, h_pre, uhtr, vhtr, converged)) signode(subroutine mom_offline_main/offline_advection_alefluxesTime_starttime_intervalCSid_clock_aleh_preuhtrvhtrconverged) [fd] run(.. f:subroutine:: subroutine offline_redistribute_residual(CS, h_pre, uhtr, vhtr, converged)) [fd] sig(subroutine offline_redistribute_residual(CS, h_pre, uhtr, vhtr, converged)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(offline_redistribute_residual) arglist(CS, h_pre, uhtr, vhtr, converged) [fd] fullname(mom_offline_main/offline_redistribute_residual) ftype(None) [fd] name(('mom_offline_main/offline_redistribute_residual', None)) sig(subroutine offline_redistribute_residual(CS, h_pre, uhtr, vhtr, converged)) signode(subroutine mom_offline_main/offline_redistribute_residualCSh_preuhtrvhtrconverged) [fd] run(.. f:function:: real function remaining_transport_sum(CS, uhtr, vhtr)) [fd] sig(real function remaining_transport_sum(CS, uhtr, vhtr)) [fd] ftype(real) objtype(function) modname(None) typename() name(remaining_transport_sum) arglist(CS, uhtr, vhtr) [fd] fullname(mom_offline_main/remaining_transport_sum) ftype(real) [fd] name(('mom_offline_main/remaining_transport_sum', 'real')) sig(real function remaining_transport_sum(CS, uhtr, vhtr)) signode(function mom_offline_main/remaining_transport_sumCSuhtrvhtr [real]) [fd] run(.. f:subroutine:: subroutine offline_diabatic_ale(fluxes, Time_start, Time_end, CS, h_pre, eatr, ebtr)) [fd] sig(subroutine offline_diabatic_ale(fluxes, Time_start, Time_end, CS, h_pre, eatr, ebtr)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(offline_diabatic_ale) arglist(fluxes, Time_start, Time_end, CS, h_pre, eatr, ebtr) [fd] fullname(mom_offline_main/offline_diabatic_ale) ftype(None) [fd] name(('mom_offline_main/offline_diabatic_ale', None)) sig(subroutine offline_diabatic_ale(fluxes, Time_start, Time_end, CS, h_pre, eatr, ebtr)) signode(subroutine mom_offline_main/offline_diabatic_alefluxesTime_startTime_endCSh_preeatrebtr) [fd] run(.. f:subroutine:: subroutine offline_fw_fluxes_into_ocean(G, GV, CS, fluxes, h, in_flux_optional)) [fd] sig(subroutine offline_fw_fluxes_into_ocean(G, GV, CS, fluxes, h, in_flux_optional)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(offline_fw_fluxes_into_ocean) arglist(G, GV, CS, fluxes, h, in_flux_optional) [fd] fullname(mom_offline_main/offline_fw_fluxes_into_ocean) ftype(None) [fd] name(('mom_offline_main/offline_fw_fluxes_into_ocean', None)) sig(subroutine offline_fw_fluxes_into_ocean(G, GV, CS, fluxes, h, in_flux_optional)) signode(subroutine mom_offline_main/offline_fw_fluxes_into_oceanGGVCSfluxeshin_flux_optional) [fd] run(.. f:subroutine:: subroutine offline_fw_fluxes_out_ocean(G, GV, CS, fluxes, h, out_flux_optional)) [fd] sig(subroutine offline_fw_fluxes_out_ocean(G, GV, CS, fluxes, h, out_flux_optional)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(offline_fw_fluxes_out_ocean) arglist(G, GV, CS, fluxes, h, out_flux_optional) [fd] fullname(mom_offline_main/offline_fw_fluxes_out_ocean) ftype(None) [fd] name(('mom_offline_main/offline_fw_fluxes_out_ocean', None)) sig(subroutine offline_fw_fluxes_out_ocean(G, GV, CS, fluxes, h, out_flux_optional)) signode(subroutine mom_offline_main/offline_fw_fluxes_out_oceanGGVCSfluxeshout_flux_optional) [fd] run(.. f:subroutine:: subroutine offline_advection_layer(fluxes, Time_start, time_interval, CS, h_pre, eatr, ebtr, uhtr, vhtr)) [fd] sig(subroutine offline_advection_layer(fluxes, Time_start, time_interval, CS, h_pre, eatr, ebtr, uhtr, vhtr)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(offline_advection_layer) arglist(fluxes, Time_start, time_interval, CS, h_pre, eatr, ebtr, uhtr, vhtr) [fd] fullname(mom_offline_main/offline_advection_layer) ftype(None) [fd] name(('mom_offline_main/offline_advection_layer', None)) sig(subroutine offline_advection_layer(fluxes, Time_start, time_interval, CS, h_pre, eatr, ebtr, uhtr, vhtr)) signode(subroutine mom_offline_main/offline_advection_layerfluxesTime_starttime_intervalCSh_preeatrebtruhtrvhtr) [fd] run(.. f:subroutine:: subroutine update_offline_fields(CS, h, fluxes, do_ale)) [fd] sig(subroutine update_offline_fields(CS, h, fluxes, do_ale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_offline_fields) arglist(CS, h, fluxes, do_ale) [fd] fullname(mom_offline_main/update_offline_fields) ftype(None) [fd] name(('mom_offline_main/update_offline_fields', None)) sig(subroutine update_offline_fields(CS, h, fluxes, do_ale)) signode(subroutine mom_offline_main/update_offline_fieldsCShfluxesdo_ale) [fd] run(.. f:subroutine:: subroutine register_diags_offline_transport(Time, diag, CS)) [fd] sig(subroutine register_diags_offline_transport(Time, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_diags_offline_transport) arglist(Time, diag, CS) [fd] fullname(mom_offline_main/register_diags_offline_transport) ftype(None) [fd] name(('mom_offline_main/register_diags_offline_transport', None)) sig(subroutine register_diags_offline_transport(Time, diag, CS)) signode(subroutine mom_offline_main/register_diags_offline_transportTimediagCS) [fd] run(.. f:subroutine:: subroutine post_offline_convergence_diags(CS, h_off, h_end, uhtr, vhtr)) [fd] sig(subroutine post_offline_convergence_diags(CS, h_off, h_end, uhtr, vhtr)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(post_offline_convergence_diags) arglist(CS, h_off, h_end, uhtr, vhtr) [fd] fullname(mom_offline_main/post_offline_convergence_diags) ftype(None) [fd] name(('mom_offline_main/post_offline_convergence_diags', None)) sig(subroutine post_offline_convergence_diags(CS, h_off, h_end, uhtr, vhtr)) signode(subroutine mom_offline_main/post_offline_convergence_diagsCSh_offh_enduhtrvhtr) [fd] run(.. f:subroutine:: subroutine extract_offline_main(CS, uhtr, vhtr, eatr, ebtr, h_end, accumulated_time, vertical_time, dt_offline, dt_offline_vertical, skip_diffusion)) [fd] sig(subroutine extract_offline_main(CS, uhtr, vhtr, eatr, ebtr, h_end, accumulated_time, vertical_time, dt_offline, dt_offline_vertical, skip_diffusion)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(extract_offline_main) arglist(CS, uhtr, vhtr, eatr, ebtr, h_end, accumulated_time, vertical_time, dt_offline, dt_offline_vertical, skip_diffusion) [fd] fullname(mom_offline_main/extract_offline_main) ftype(None) [fd] name(('mom_offline_main/extract_offline_main', None)) sig(subroutine extract_offline_main(CS, uhtr, vhtr, eatr, ebtr, h_end, accumulated_time, vertical_time, dt_offline, dt_offline_vertical, skip_diffusion)) signode(subroutine mom_offline_main/extract_offline_mainCSuhtrvhtreatrebtrh_endaccumulated_timevertical_timedt_offlinedt_offline_verticalskip_diffusion) [fd] run(.. f:subroutine:: subroutine insert_offline_main(CS, ALE_CSp, diabatic_CSp, diag, OBC, tracer_adv_CSp, tracer_flow_CSp, tracer_Reg, tv, G, GV, x_before_y, debug)) [fd] sig(subroutine insert_offline_main(CS, ALE_CSp, diabatic_CSp, diag, OBC, tracer_adv_CSp, tracer_flow_CSp, tracer_Reg, tv, G, GV, x_before_y, debug)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(insert_offline_main) arglist(CS, ALE_CSp, diabatic_CSp, diag, OBC, tracer_adv_CSp, tracer_flow_CSp, tracer_Reg, tv, G, GV, x_before_y, debug) [fd] fullname(mom_offline_main/insert_offline_main) ftype(None) [fd] name(('mom_offline_main/insert_offline_main', None)) sig(subroutine insert_offline_main(CS, ALE_CSp, diabatic_CSp, diag, OBC, tracer_adv_CSp, tracer_flow_CSp, tracer_Reg, tv, G, GV, x_before_y, debug)) signode(subroutine mom_offline_main/insert_offline_mainCSALE_CSpdiabatic_CSpdiagOBCtracer_adv_CSptracer_flow_CSptracer_RegtvGGVx_before_ydebug) [fd] run(.. f:subroutine:: subroutine offline_transport_init(param_file, CS, diabatic_CSp, G, GV, US)) [fd] sig(subroutine offline_transport_init(param_file, CS, diabatic_CSp, G, GV, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(offline_transport_init) arglist(param_file, CS, diabatic_CSp, G, GV, US) [fd] fullname(mom_offline_main/offline_transport_init) ftype(None) [fd] name(('mom_offline_main/offline_transport_init', None)) sig(subroutine offline_transport_init(param_file, CS, diabatic_CSp, G, GV, US)) signode(subroutine mom_offline_main/offline_transport_initparam_fileCSdiabatic_CSpGGVUS) [fd] run(.. f:subroutine:: subroutine read_all_input(CS)) [fd] sig(subroutine read_all_input(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(read_all_input) arglist(CS) [fd] fullname(mom_offline_main/read_all_input) ftype(None) [fd] name(('mom_offline_main/read_all_input', None)) sig(subroutine read_all_input(CS)) signode(subroutine mom_offline_main/read_all_inputCS) [fd] run(.. f:subroutine:: subroutine offline_transport_end(CS)) [fd] sig(subroutine offline_transport_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(offline_transport_end) arglist(CS) [fd] fullname(mom_offline_main/offline_transport_end) ftype(None) [fd] name(('mom_offline_main/offline_transport_end', None)) sig(subroutine offline_transport_end(CS)) signode(subroutine mom_offline_main/offline_transport_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 47%] api/generated/modules/mom_opacity [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_opacity' [app] emitting event: 'source-read'('api/generated/modules/mom_opacity', ['.. autodoxymodule:: mom_opacity\n :members:\n :methods:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_opacity.rst:1: input: .. autodoxymodule:: mom_opacity :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_opacity::opacity_cs ~mom_opacity::optics_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_opacity::set_opacity ~mom_opacity::opacity_from_chl ~mom_opacity::opacity_morel ~mom_opacity::sw_pen_frac_morel ~mom_opacity::opacity_manizza ~mom_opacity::extract_optics_slice ~mom_opacity::extract_optics_fields ~mom_opacity::optics_nbands ~mom_opacity::absorbremainingsw ~mom_opacity::sumswoverbands ~mom_opacity::opacity_init ~mom_opacity::opacity_end [debug] xpath(./compounddef/compoundname[text()="mom_opacity"]/..) match([('id', 'namespacemom__opacity'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_opacity module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_opacity', , {'members': , {'members': , {'members': ), ('mom_opacity::optics_type', )]) [autodoc] module analyzer failed: error importing 'mom_opacity' (exception was: ModuleNotFoundError("No module named 'mom_opacity'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_opacity::opacity_cs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('opacity_from_chl', ), ('opacity_morel', ), ('sw_pen_frac_morel', ), ('opacity_manizza', ), ('extract_optics_slice', ), ('extract_optics_fields', ), ('optics_nbands', ), ('absorbremainingsw', ), ('sumswoverbands', ), ('opacity_init', ), ('opacity_end', )]) [autodoc] module analyzer failed: error importing 'mom_opacity' (exception was: ModuleNotFoundError("No module named 'mom_opacity'")) [debug] DoxygenMethodDocumenter format_signature called ((optics, sw_total, sw_vis_dir, sw_vis_dif, sw_nir_dir, sw_nir_dif, G, GV, US, CS, chl_2d, chl_3d)) [debug] add_directive_header sig((optics, sw_total, sw_vis_dir, sw_vis_dif, sw_nir_dir, sw_nir_dif, G, GV, US, CS, chl_2d, chl_3d)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine set_opacity) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_opacity', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__opacity_1_1optics__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'extract_optics_slice', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__opacity_1_1optics__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'opacity_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_opacity::opacity_cs ~mom_opacity::optics_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_opacity::set_opacity ~mom_opacity::opacity_from_chl ~mom_opacity::opacity_morel ~mom_opacity::sw_pen_frac_morel ~mom_opacity::opacity_manizza ~mom_opacity::extract_optics_slice ~mom_opacity::extract_optics_fields ~mom_opacity::optics_nbands ~mom_opacity::absorbremainingsw ~mom_opacity::sumswoverbands ~mom_opacity::opacity_init ~mom_opacity::opacity_end .. _DETAmom_opacity: -------------------- Detailed Description -------------------- opacity_from_chl: In this routine, the Morel (modified) or Manizza (modified) schemes use the "blue" band in the paramterizations to determine the e-folding depth of the incoming shortwave attenuation. The red portion is lumped into the net heating at the surface. Morel, A., 1988: Optical modeling of the upper ocean in relation to its biogenous matter content (case-i waters)., J. Geo. Res., 93, 10,749-10,768. Manizza, M., C. LeQuere, A. J. Watson, and E. T. Buitenhuis, 2005: Bio-optical feedbacks among phytoplankton, upper ocean physics and sea-ice in a global model, Geophys. Res. Let., 32, L05603, doi:10.1029/2004GL020778. ------------------ Type Documentation ------------------ .. f:type:: opacity_cs The control structure with paramters for the MOM_opacity module. :typefield integer id_sw_pen: Diagnostic IDs. :typefield integer id_sw_vis_pen: Diagnostic IDs. :typefield integer(\:) id_opacity [pointer]: Diagnostic IDs. :typefield logical var_pen_sw: If true, use one of the CHL_A schemes (specified by OPACITY_SCHEME) to determine the e-folding depth of incoming shortwave radiation. :typefield integer opacity_scheme: An integer indicating which scheme should be used to translate water properties into the opacity (i.e., the e-folding depth) and (perhaps) the number of bands of penetrating shortwave radiation to use. :typefield real pen_sw_scale: The vertical absorption e-folding depth of the penetrating shortwave radiation [m]. :typefield real pen_sw_scale_2nd: The vertical absorption e-folding depth of the (2nd) penetrating shortwave radiation [m]. :typefield real sw_1st_exp_ratio: Ratio for 1st exp decay in Two Exp decay opacity. :typefield real pen_sw_frac: The fraction of shortwave radiation that is penetrating with a constant e-folding approach. :typefield real blue_frac: The fraction of the penetrating shortwave radiation that is in the blue band [nondim]. :typefield real opacity_land_value: The value to use for opacity over land [m-1]. The default is 10 m-1 - a value for muddy water. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. .. f:type:: optics_type This type is used to store information about ocean optical properties. :typefield integer nbands: The number of penetrating bands of SW radiation. :typefield real(\:,\:,\:,\:) opacity_band [pointer]: SW optical depth per unit thickness [m-1] The number of radiation bands is most rapidly varying (first) index. :typefield real(\:,\:,\:) sw_pen_band [pointer]: shortwave radiation [Q R Z T-1 ~> W m-2] at the surface in each of the nbands bands that penetrates beyond the surface. The most rapidly varying dimension is the band. :typefield real(\:) min_wavelength_band [pointer]: The minimum wavelength in each band of penetrating shortwave radiation [nm]. :typefield real(\:) max_wavelength_band [pointer]: The maximum wavelength in each band of penetrating shortwave radiation [nm]. :typefield real pensw_flux_absorb: A heat flux that is small enough to be completely absorbed in the next sufficiently thick layer [H degC T-1 ~> degC m s-1 or degC kg m-2 s-1]. :typefield real pensw_absorb_invlen: The inverse of the thickness that is used to absorb the remaining shortwave heat flux when it drops below PEN_SW_FLUX_ABSORB [H ~> m or kg m-2]. :typefield logical answers_2018: If true, use the order of arithmetic and expressions that recover the answers from the end of 2018. Otherwise, use updated and more robust forms of the same expressions. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine set_opacity(optics, sw_total, sw_vis_dir, sw_vis_dif, sw_nir_dir, sw_nir_dif, G, GV, US, CS, chl_2d, chl_3d) This sets the opacity of sea water based based on one of several different schemes. :param optics: [inout] An optics structure that has values set based on the opacities. :param sw_total: Total shortwave flux into the ocean [Q R Z T-1 ~> W m-2] :param sw_vis_dir: Visible, direct shortwave into the ocean [Q R Z T-1 ~> W m-2] :param sw_vis_dif: Visible, diffuse shortwave into the ocean [Q R Z T-1 ~> W m-2] :param sw_nir_dir: Near-IR, direct shortwave into the ocean [Q R Z T-1 ~> W m-2] :param sw_nir_dif: Near-IR, diffuse shortwave into the ocean [Q R Z T-1 ~> W m-2] :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param cs: The control structure earlier set up by opacity_init. :param chl_2d: [in] Vertically uniform chlorophyll-A concentractions [mg m-3] :param chl_3d: [in] The chlorophyll-A concentractions of each layer [mg m-3] :callto: :f:func:`double_exp ` :callto: :f:func:`manizza_05 ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`op_diag_len ` :callto: :f:func:`opacity_from_chl ` :callto: :f:func:`mom_diag_mediator::query_averaging_enabled ` .. f:subroutine:: subroutine opacity_from_chl(optics, sw_total, sw_vis_dir, sw_vis_dif, sw_nir_dir, sw_nir_dif, G, GV, US, CS, chl_2d, chl_3d) This sets the "blue" band opacity based on chloophyll A concencentrations The red portion is lumped into the net heating at the surface. :param optics: [inout] An optics structure that has values set based on the opacities. :param sw_total: Total shortwave flux into the ocean [Q R Z T-1 ~> W m-2] :param sw_vis_dir: Visible, direct shortwave into the ocean [Q R Z T-1 ~> W m-2] :param sw_vis_dif: Visible, diffuse shortwave into the ocean [Q R Z T-1 ~> W m-2] :param sw_nir_dir: Near-IR, direct shortwave into the ocean [Q R Z T-1 ~> W m-2] :param sw_nir_dif: Near-IR, diffuse shortwave into the ocean [Q R Z T-1 ~> W m-2] :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param cs: The control structure. :param chl_2d: [in] Vertically uniform chlorophyll-A concentractions [mg m-3] :param chl_3d: [in] A 3-d field of chlorophyll-A concentractions [mg m-3] :callto: :f:func:`manizza_05 ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`morel_88 ` :callto: :f:func:`opacity_morel ` :callto: :f:func:`sw_pen_frac_morel ` :calledfrom: :f:func:`set_opacity ` .. f:function:: real function opacity_morel(chl_data) This sets the blue-wavelength opacity according to the scheme proposed by Morel and Antoine (1994). :param chl_data: [in] The chlorophyll-A concentration in mg m-3. :returns undefined: The returned opacity [m-1] :calledfrom: :f:func:`opacity_from_chl ` .. f:function:: real function sw_pen_frac_morel(chl_data) This sets the penetrating shortwave fraction according to the scheme proposed by Morel and Antoine (1994). :param chl_data: [in] The chlorophyll-A concentration in mg m-3. :returns undefined: The returned penetrating shortwave fraction [nondim] :calledfrom: :f:func:`opacity_from_chl ` .. f:function:: real function opacity_manizza(chl_data) This sets the blue-wavelength opacity according to the scheme proposed by Manizza, M. et al, 2005. :param chl_data: [in] The chlorophyll-A concentration in mg m-3. :returns undefined: The returned opacity [m-1] .. f:subroutine:: subroutine extract_optics_slice(optics, j, G, GV, opacity, opacity_scale, penSW_top, penSW_scale) This subroutine returns a 2-d slice at constant j of fields from an :f:func:`optics_type`, with the potential for rescaling these fields. , with the potential for rescaling these fields. :param optics: [in] An optics structure that has values of opacities and shortwave fluxes. :param j: [in] j-index to extract :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param opacity: [out] The opacity in each band, i-point, and layer :param opacity_scale: [in] A factor by which to rescale the opacity. :param pensw_top: [out] The shortwave radiation [Q R Z T-1 ~> W m-2] :param pensw_scale: [in] A factor by which to rescale the shortwave flux. :calledfrom: :f:func:`mom_bulk_mixed_layer::bulkmixedlayer ` :calledfrom: :f:func:`mom_forcing_type::extractfluxes1d ` .. f:subroutine:: subroutine extract_optics_fields(optics, nbands) Set arguments to fields from the optics type. :param optics: [in] An optics structure that has values of opacities and shortwave fluxes. :param nbands: [out] The number of penetrating bands of SW radiation .. f:function:: integer function optics_nbands(optics) Return the number of bands of penetrating shortwave radiation. :param optics: [in] An optics structure that has values of opacities and shortwave fluxes. :returns undefined: The number of penetrating bands of SW radiation :calledfrom: :f:func:`mom_forcing_type::calculatebuoyancyflux1d ` :calledfrom: :f:func:`mom_forcing_type::calculatebuoyancyflux2d ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale_legacy ` :calledfrom: :f:func:`mom_forcing_type::extractfluxes1d ` .. f:subroutine:: subroutine absorbremainingsw(G, GV, US, h, opacity_band, nsw, optics, j, dt, H_limit_fluxes, adjustAbsorptionProfile, absorbAllSW, T, Pen_SW_bnd, eps, ksort, htot, Ttot, TKE, dSV_dT) Apply shortwave heating below the boundary layer (when running with the bulk mixed layer inhereted from GOLD) or throughout the water column. In addition, it causes all of the remaining SW radiation to be absorbed, provided that the total water column thickness is greater than H_limit_fluxes. For thinner water columns, the heating is scaled down proportionately, the assumption being that the remaining heating (which is left in Pen_SW) should go into an (absent for now) ocean bottom sediment layer. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param nsw: [in] Number of bands of penetrating shortwave radiation. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param opacity_band: [in] Opacity in each band of penetrating shortwave radiation [H-1 ~> m-1 or m2 kg-1]. The indicies are band, i, k. :param optics: [in] An optics structure that has values of opacities and shortwave fluxes. :param j: [in] j-index to work on. :param dt: [in] Time step [T ~> s]. :param h_limit_fluxes: [in] If the total ocean depth is less than this, they are scaled away to avoid numerical instabilities [H ~> m or kg m-2]. This would not be necessary if a finite heat capacity mud-layer were added. :param adjustabsorptionprofile: [in] If true, apply heating above the layers in which it should have occurred to get the correct mean depth (and potential energy change) of the shortwave that should be absorbed by each layer. :param absorballsw: [in] If true, apply heating above the layers in which it should have occurred to get the correct mean depth (and potential energy change) of the shortwave that should be absorbed by each layer. :param t: [inout] Layer potential/conservative temperatures [degC] :param pen_sw_bnd: [inout] Penetrating shortwave heating in each band that hits the bottom and will will be redistributed through the water column [degC H ~> degC m or degC kg m-2], size nsw x G isd: G ied. :param eps: [in] Small thickness that must remain in each layer, and which will not be subject to heating [H ~> m or kg m-2] :param ksort: [in] Density-sorted k-indicies. :param htot: [in] Total mixed layer thickness [H ~> m or kg m-2]. :param ttot: [inout] Depth integrated mixed layer temperature [degC H ~> degC m or degC kg m-2] :param dsv_dt: [in] The partial derivative of specific volume with temperature [R-1 degC-1]. :param tke: [inout] The TKE sink from mixing the heating throughout a layer [R Z3 T-2 ~> J m-2]. :calledfrom: :f:func:`mom_diabatic_aux::applyboundaryfluxesinout ` :calledfrom: :f:func:`mom_bulk_mixed_layer::bulkmixedlayer ` .. f:subroutine:: subroutine sumswoverbands(G, GV, US, h, nsw, optics, j, dt, H_limit_fluxes, absorbAllSW, iPen_SW_bnd, netPen) This subroutine calculates the total shortwave heat flux integrated over bands as a function of depth. This routine is only called for computing buoyancy fluxes for use in KPP. This routine does not updat e the state. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param nsw: [in] The number of bands of penetrating shortwave radiation, perhaps from optics_nbands(optics), :param optics: [in] An optics structure that has values set based on the opacities. :param j: [in] j-index to work on. :param dt: [in] Time step [T ~> s]. :param h_limit_fluxes: [in] the total depth at which the surface fluxes start to be limited to avoid excessive heating of a thin ocean [H ~> m or kg m-2] :param absorballsw: [in] If true, ensure that all shortwave radiation is absorbed in the ocean water column. :param ipen_sw_bnd: [in] The incident penetrating shortwave heating in each band that hits the bottom and will be redistributed through the water column [degC H ~> degC m or degC kg m-2]; size nsw x G isd: G ied. :param netpen: [inout] Net penetrating shortwave heat flux at each :calledfrom: :f:func:`mom_forcing_type::calculatebuoyancyflux1d ` .. f:subroutine:: subroutine opacity_init(Time, G, GV, US, param_file, diag, CS, optics) This routine initalizes the opacity module, including an :f:func:`optics_type`. . :param time: [in] The current model time. :param g: [in] The ocean's grid structure. :param gv: [in] model vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters. :param diag: [inout] A structure that is used to regulate diagnostic output. :param cs: A pointer that is set to point to the control structure for this module. :param optics: An optics structure that has parameters set and arrays allocated here. :callto: :f:func:`double_exp ` :callto: :f:func:`double_exp_string ` :callto: :f:func:`manizza_05 ` :callto: :f:func:`manizza_05_string ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`morel_88 ` :callto: :f:func:`morel_88_string ` :callto: :f:func:`no_scheme ` :callto: :f:func:`mom_diag_mediator::register_diag_field ` :callto: :f:func:`single_exp ` :callto: :f:func:`single_exp_string ` :callto: :f:func:`mom_string_functions::uppercase ` .. f:subroutine:: subroutine opacity_end(CS, optics) :param cs: An opacity control structure that should be deallocated. :param optics: An optics type structure that should be deallocated. [debug] xpath(./compounddef/compoundname[text()="mom_opacity::opacity_cs"]/..) match([('id', 'structmom__opacity_1_1opacity__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_opacity::opacity_cs', , {}, ['', 'The con [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_opacity::opacity_cs', , {}, ['`More... , {}, ['', 'The con [debug] xpath(./compounddef/compoundname[text()="mom_opacity::optics_type"]/..) match([('id', 'structmom__opacity_1_1optics__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_opacity::optics_type', , {}, ['', 'This t [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_opacity::optics_type', , {}, ['`More... < [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_opacity::optics_type', , {}, ['', 'This t [debug] DoxygenMethodDocumenter format_signature called ((optics, sw_total, sw_vis_dir, sw_vis_dif, sw_nir_dir, sw_nir_dif, G, GV, US, CS, chl_2d, chl_3d)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::set_opacity', , {}, ['', 'This set [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::set_opacity', , {}, ['', 'This set [debug] DoxygenMethodDocumenter format_signature called ((optics, sw_total, sw_vis_dir, sw_vis_dif, sw_nir_dir, sw_nir_dif, G, GV, US, CS, chl_2d, chl_3d)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::opacity_from_chl', , {}, ['', 'Thi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::opacity_from_chl', , {}, ['', 'Thi [debug] DoxygenMethodDocumenter format_signature called ((chl_data)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::opacity_morel', , {}, ['', 'This s [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::opacity_morel', , {}, ['', 'This s [debug] DoxygenMethodDocumenter format_signature called ((chl_data)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::sw_pen_frac_morel', , {}, ['', 'Th [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::sw_pen_frac_morel', , {}, ['', 'Th [debug] DoxygenMethodDocumenter format_signature called ((chl_data)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::opacity_manizza', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::opacity_manizza', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((optics, j, G, GV, opacity, opacity_scale, penSW_top, penSW_scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__opacity_1_1optics__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__opacity_1_1optics__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::extract_optics_slice', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::extract_optics_slice', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((optics, nbands)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::extract_optics_fields', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::extract_optics_fields', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((optics)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::optics_nbands', , {}, ['', 'Return [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::optics_nbands', , {}, ['', 'Return [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, h, opacity_band, nsw, optics, j, dt, H_limit_fluxes, adjustAbsorptionProfile, absorbAllSW, T, Pen_SW_bnd, eps, ksort, htot, Ttot, TKE, dSV_dT)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::absorbremainingsw', , {}, ['', 'Ap [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::absorbremainingsw', , {}, ['', 'Ap [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, h, nsw, optics, j, dt, H_limit_fluxes, absorbAllSW, iPen_SW_bnd, netPen)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::sumswoverbands', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::sumswoverbands', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS, optics)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__opacity_1_1optics__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__opacity_1_1optics__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::opacity_init', , {}, ['', 'This ro [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::opacity_init', , {}, ['', 'This ro [debug] DoxygenMethodDocumenter format_signature called ((CS, optics)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::opacity_end', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_opacity::opacity_end', , {}, ['']) [fd] run(.. f:type:: opacity_cs) [fd] sig(opacity_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(opacity_cs) arglist(None) [fd] fullname(mom_opacity/opacity_cs) ftype(None) [fd] name(('mom_opacity/opacity_cs', None)) sig(opacity_cs) signode(type mom_opacity/opacity_cs) [fd] run(.. f:type:: optics_type) [fd] sig(optics_type) [fd] ftype(None) objtype(None) modname(None) typename() name(optics_type) arglist(None) [fd] fullname(mom_opacity/optics_type) ftype(None) [fd] name(('mom_opacity/optics_type', None)) sig(optics_type) signode(type mom_opacity/optics_type) [fd] run(.. f:subroutine:: subroutine set_opacity(optics, sw_total, sw_vis_dir, sw_vis_dif, sw_nir_dir, sw_nir_dif, G, GV, US, CS, chl_2d, chl_3d)) [fd] sig(subroutine set_opacity(optics, sw_total, sw_vis_dir, sw_vis_dif, sw_nir_dir, sw_nir_dif, G, GV, US, CS, chl_2d, chl_3d)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_opacity) arglist(optics, sw_total, sw_vis_dir, sw_vis_dif, sw_nir_dir, sw_nir_dif, G, GV, US, CS, chl_2d, chl_3d) [fd] fullname(mom_opacity/set_opacity) ftype(None) [fd] name(('mom_opacity/set_opacity', None)) sig(subroutine set_opacity(optics, sw_total, sw_vis_dir, sw_vis_dif, sw_nir_dir, sw_nir_dif, G, GV, US, CS, chl_2d, chl_3d)) signode(subroutine mom_opacity/set_opacityopticssw_totalsw_vis_dirsw_vis_difsw_nir_dirsw_nir_difGGVUSCSchl_2dchl_3d) [fd] run(.. f:subroutine:: subroutine opacity_from_chl(optics, sw_total, sw_vis_dir, sw_vis_dif, sw_nir_dir, sw_nir_dif, G, GV, US, CS, chl_2d, chl_3d)) [fd] sig(subroutine opacity_from_chl(optics, sw_total, sw_vis_dir, sw_vis_dif, sw_nir_dir, sw_nir_dif, G, GV, US, CS, chl_2d, chl_3d)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(opacity_from_chl) arglist(optics, sw_total, sw_vis_dir, sw_vis_dif, sw_nir_dir, sw_nir_dif, G, GV, US, CS, chl_2d, chl_3d) [fd] fullname(mom_opacity/opacity_from_chl) ftype(None) [fd] name(('mom_opacity/opacity_from_chl', None)) sig(subroutine opacity_from_chl(optics, sw_total, sw_vis_dir, sw_vis_dif, sw_nir_dir, sw_nir_dif, G, GV, US, CS, chl_2d, chl_3d)) signode(subroutine mom_opacity/opacity_from_chlopticssw_totalsw_vis_dirsw_vis_difsw_nir_dirsw_nir_difGGVUSCSchl_2dchl_3d) [fd] run(.. f:function:: real function opacity_morel(chl_data)) [fd] sig(real function opacity_morel(chl_data)) [fd] ftype(real) objtype(function) modname(None) typename() name(opacity_morel) arglist(chl_data) [fd] fullname(mom_opacity/opacity_morel) ftype(real) [fd] name(('mom_opacity/opacity_morel', 'real')) sig(real function opacity_morel(chl_data)) signode(function mom_opacity/opacity_morelchl_data [real]) [fd] run(.. f:function:: real function sw_pen_frac_morel(chl_data)) [fd] sig(real function sw_pen_frac_morel(chl_data)) [fd] ftype(real) objtype(function) modname(None) typename() name(sw_pen_frac_morel) arglist(chl_data) [fd] fullname(mom_opacity/sw_pen_frac_morel) ftype(real) [fd] name(('mom_opacity/sw_pen_frac_morel', 'real')) sig(real function sw_pen_frac_morel(chl_data)) signode(function mom_opacity/sw_pen_frac_morelchl_data [real]) [fd] run(.. f:function:: real function opacity_manizza(chl_data)) [fd] sig(real function opacity_manizza(chl_data)) [fd] ftype(real) objtype(function) modname(None) typename() name(opacity_manizza) arglist(chl_data) [fd] fullname(mom_opacity/opacity_manizza) ftype(real) [fd] name(('mom_opacity/opacity_manizza', 'real')) sig(real function opacity_manizza(chl_data)) signode(function mom_opacity/opacity_manizzachl_data [real]) [fd] run(.. f:subroutine:: subroutine extract_optics_slice(optics, j, G, GV, opacity, opacity_scale, penSW_top, penSW_scale)) [fd] sig(subroutine extract_optics_slice(optics, j, G, GV, opacity, opacity_scale, penSW_top, penSW_scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(extract_optics_slice) arglist(optics, j, G, GV, opacity, opacity_scale, penSW_top, penSW_scale) [fd] fullname(mom_opacity/extract_optics_slice) ftype(None) [fd] name(('mom_opacity/extract_optics_slice', None)) sig(subroutine extract_optics_slice(optics, j, G, GV, opacity, opacity_scale, penSW_top, penSW_scale)) signode(subroutine mom_opacity/extract_optics_sliceopticsjGGVopacityopacity_scalepenSW_toppenSW_scale) [fd] run(.. f:subroutine:: subroutine extract_optics_fields(optics, nbands)) [fd] sig(subroutine extract_optics_fields(optics, nbands)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(extract_optics_fields) arglist(optics, nbands) [fd] fullname(mom_opacity/extract_optics_fields) ftype(None) [fd] name(('mom_opacity/extract_optics_fields', None)) sig(subroutine extract_optics_fields(optics, nbands)) signode(subroutine mom_opacity/extract_optics_fieldsopticsnbands) [fd] run(.. f:function:: integer function optics_nbands(optics)) [fd] sig(integer function optics_nbands(optics)) [fd] ftype(integer) objtype(function) modname(None) typename() name(optics_nbands) arglist(optics) [fd] fullname(mom_opacity/optics_nbands) ftype(integer) [fd] name(('mom_opacity/optics_nbands', 'integer')) sig(integer function optics_nbands(optics)) signode(function mom_opacity/optics_nbandsoptics [integer]) [fd] run(.. f:subroutine:: subroutine absorbremainingsw(G, GV, US, h, opacity_band, nsw, optics, j, dt, H_limit_fluxes, adjustAbsorptionProfile, absorbAllSW, T, Pen_SW_bnd, eps, ksort, htot, Ttot, TKE, dSV_dT)) [fd] sig(subroutine absorbremainingsw(G, GV, US, h, opacity_band, nsw, optics, j, dt, H_limit_fluxes, adjustAbsorptionProfile, absorbAllSW, T, Pen_SW_bnd, eps, ksort, htot, Ttot, TKE, dSV_dT)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(absorbremainingsw) arglist(G, GV, US, h, opacity_band, nsw, optics, j, dt, H_limit_fluxes, adjustAbsorptionProfile, absorbAllSW, T, Pen_SW_bnd, eps, ksort, htot, Ttot, TKE, dSV_dT) [fd] fullname(mom_opacity/absorbremainingsw) ftype(None) [fd] name(('mom_opacity/absorbremainingsw', None)) sig(subroutine absorbremainingsw(G, GV, US, h, opacity_band, nsw, optics, j, dt, H_limit_fluxes, adjustAbsorptionProfile, absorbAllSW, T, Pen_SW_bnd, eps, ksort, htot, Ttot, TKE, dSV_dT)) signode(subroutine mom_opacity/absorbremainingswGGVUShopacity_bandnswopticsjdtH_limit_fluxesadjustAbsorptionProfileabsorbAllSWTPen_SW_bndepsksorthtotTtotTKEdSV_dT) [fd] run(.. f:subroutine:: subroutine sumswoverbands(G, GV, US, h, nsw, optics, j, dt, H_limit_fluxes, absorbAllSW, iPen_SW_bnd, netPen)) [fd] sig(subroutine sumswoverbands(G, GV, US, h, nsw, optics, j, dt, H_limit_fluxes, absorbAllSW, iPen_SW_bnd, netPen)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(sumswoverbands) arglist(G, GV, US, h, nsw, optics, j, dt, H_limit_fluxes, absorbAllSW, iPen_SW_bnd, netPen) [fd] fullname(mom_opacity/sumswoverbands) ftype(None) [fd] name(('mom_opacity/sumswoverbands', None)) sig(subroutine sumswoverbands(G, GV, US, h, nsw, optics, j, dt, H_limit_fluxes, absorbAllSW, iPen_SW_bnd, netPen)) signode(subroutine mom_opacity/sumswoverbandsGGVUShnswopticsjdtH_limit_fluxesabsorbAllSWiPen_SW_bndnetPen) [fd] run(.. f:subroutine:: subroutine opacity_init(Time, G, GV, US, param_file, diag, CS, optics)) [fd] sig(subroutine opacity_init(Time, G, GV, US, param_file, diag, CS, optics)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(opacity_init) arglist(Time, G, GV, US, param_file, diag, CS, optics) [fd] fullname(mom_opacity/opacity_init) ftype(None) [fd] name(('mom_opacity/opacity_init', None)) sig(subroutine opacity_init(Time, G, GV, US, param_file, diag, CS, optics)) signode(subroutine mom_opacity/opacity_initTimeGGVUSparam_filediagCSoptics) [fd] run(.. f:subroutine:: subroutine opacity_end(CS, optics)) [fd] sig(subroutine opacity_end(CS, optics)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(opacity_end) arglist(CS, optics) [fd] fullname(mom_opacity/opacity_end) ftype(None) [fd] name(('mom_opacity/opacity_end', None)) sig(subroutine opacity_end(CS, optics)) signode(subroutine mom_opacity/opacity_endCSoptics) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 47%] api/generated/modules/mom_open_boundary [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_open_bou [app] emitting event: 'source-read'('api/generated/modules/mom_open_boundary', ['.. autodoxymodule:: mom_open_boundary\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_open_boundary.rst:1: input: .. autodoxymodule:: mom_open_boundary :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_open_boundary::file_obc_cs ~mom_open_boundary::obc_registry_type ~mom_open_boundary::obc_segment_data_type ~mom_open_boundary::obc_segment_tracer_type ~mom_open_boundary::obc_segment_type ~mom_open_boundary::obc_struct_type ~mom_open_boundary::ocean_obc_type ~mom_open_boundary::segment_tracer_registry_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_open_boundary::open_boundary_config ~mom_open_boundary::initialize_segment_data ~mom_open_boundary::initialize_obc_tides ~mom_open_boundary::setup_segment_indices ~mom_open_boundary::setup_u_point_obc ~mom_open_boundary::setup_v_point_obc ~mom_open_boundary::parse_segment_str ~mom_open_boundary::parse_segment_manifest_str ~mom_open_boundary::parse_segment_data_str ~mom_open_boundary::parse_for_tracer_reservoirs ~mom_open_boundary::parse_segment_param_real ~mom_open_boundary::open_boundary_init ~mom_open_boundary::open_boundary_query ~mom_open_boundary::open_boundary_dealloc ~mom_open_boundary::open_boundary_end ~mom_open_boundary::open_boundary_impose_normal_slope ~mom_open_boundary::open_boundary_impose_land_mask ~mom_open_boundary::setup_obc_tracer_reservoirs ~mom_open_boundary::radiation_open_bdry_conds ~mom_open_boundary::open_boundary_apply_normal_flow ~mom_open_boundary::open_boundary_zero_normal_flow ~mom_open_boundary::gradient_at_q_points ~mom_open_boundary::set_tracer_data ~mom_open_boundary::lookup_seg_field ~mom_open_boundary::allocate_obc_segment_data ~mom_open_boundary::deallocate_obc_segment_data ~mom_open_boundary::open_boundary_test_extern_uv ~mom_open_boundary::open_boundary_test_extern_h ~mom_open_boundary::update_obc_segment_data ~mom_open_boundary::update_obc_ramp ~mom_open_boundary::register_obc ~mom_open_boundary::obc_registry_init ~mom_open_boundary::register_file_obc ~mom_open_boundary::file_obc_end ~mom_open_boundary::segment_tracer_registry_init ~mom_open_boundary::register_segment_tracer ~mom_open_boundary::segment_tracer_registry_end ~mom_open_boundary::register_temp_salt_segments ~mom_open_boundary::fill_temp_salt_segments ~mom_open_boundary::mask_outside_obcs ~mom_open_boundary::flood_fill ~mom_open_boundary::flood_fill2 ~mom_open_boundary::open_boundary_register_restarts ~mom_open_boundary::update_segment_tracer_reservoirs ~mom_open_boundary::adjustsegmentetatofitbathymetry ~mom_open_boundary::rotate_obc_config ~mom_open_boundary::rotate_obc_segment_config ~mom_open_boundary::rotate_obc_init ~mom_open_boundary::rotate_obc_segment_data [debug] xpath(./compounddef/compoundname[text()="mom_open_boundary"]/..) match([('id', 'namespacemom__open__boundary'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_open_boundary module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary', , {'members': , {'members': , {'members': ), ('mom_open_boundary::obc_registry_type', ), ('mom_open_boundary::obc_segment_data_type', ), ('mom_open_boundary::obc_segment_tracer_type', ), ('mom_open_boundary::obc_segment_type', ), ('mom_open_boundary::obc_struct_type', ), ('mom_open_boundary::ocean_obc_type', ), ('mom_open_boundary::segment_tracer_registry_type', )]) [autodoc] module analyzer failed: error importing 'mom_open_boundary' (exception was: ModuleNotFoundError("No module named 'mom_open_boundary'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_open_boundary::file_obc_cs', , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::file_obc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::file_obc_cs', , {'members': [autodoc] module analyzer failed: error importing 'mom_open_boundary' (exception was: ModuleNotFoundError("No module named 'mom_open_boundary'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_open_boundary::obc_registry_type', , {'memb [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_registry_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_registry_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_registry_type', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_registry_type', , {'memb [autodoc] module analyzer failed: error importing 'mom_open_boundary' (exception was: ModuleNotFoundError("No module named 'mom_open_boundary'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_open_boundary::obc_segment_data_type', , {' [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_data_type', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_data_type', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_data_type', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_data_type', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_data_type', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_data_type', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_data_type', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_data_type', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_data_type', , {' [autodoc] module analyzer failed: error importing 'mom_open_boundary' (exception was: ModuleNotFoundError("No module named 'mom_open_boundary'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_open_boundary::obc_segment_tracer_type', , [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_tracer_type', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_tracer_type', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_tracer_type', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_tracer_type', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_tracer_type', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_tracer_type', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_tracer_type', , [autodoc] module analyzer failed: error importing 'mom_open_boundary' (exception was: ModuleNotFoundError("No module named 'mom_open_boundary'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_segment_type', , {'membe [autodoc] module analyzer failed: error importing 'mom_open_boundary' (exception was: ModuleNotFoundError("No module named 'mom_open_boundary'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_open_boundary::obc_struct_type', , {'member [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_struct_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::obc_struct_type', , {'member [autodoc] module analyzer failed: error importing 'mom_open_boundary' (exception was: ModuleNotFoundError("No module named 'mom_open_boundary'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_open_boundary::ocean_obc_type', , {'members [autodoc] module analyzer failed: error importing 'mom_open_boundary' (exception was: ModuleNotFoundError("No module named 'mom_open_boundary'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_open_boundary::segment_tracer_registry_type', ), ('initialize_segment_data', ), ('initialize_obc_tides', ), ('setup_segment_indices', ), ('setup_u_point_obc', ), ('setup_v_point_obc', ), ('parse_segment_str', ), ('parse_segment_manifest_str', ), ('parse_segment_data_str', ), ('parse_for_tracer_reservoirs', ), ('parse_segment_param_real', ), ('open_boundary_init', ), ('open_boundary_query', ), ('open_boundary_dealloc', ), ('open_boundary_end', ), ('open_boundary_impose_normal_slope', ), ('open_boundary_impose_land_mask', ), ('setup_obc_tracer_reservoirs', ), ('radiation_open_bdry_conds', ), ('open_boundary_apply_normal_flow', ), ('open_boundary_zero_normal_flow', ), ('gradient_at_q_points', ), ('set_tracer_data', ), ('lookup_seg_field', ), ('allocate_obc_segment_data', ), ('deallocate_obc_segment_data', ), ('open_boundary_test_extern_uv', ), ('open_boundary_test_extern_h', ), ('update_obc_segment_data', ), ('update_obc_ramp', ), ('register_obc', ), ('obc_registry_init', ), ('register_file_obc', ), ('file_obc_end', ), ('segment_tracer_registry_init', ), ('register_segment_tracer', ), ('segment_tracer_registry_end', ), ('register_temp_salt_segments', ), ('fill_temp_salt_segments', ), ('mask_outside_obcs', ), ('flood_fill', ), ('flood_fill2', ), ('open_boundary_register_restarts', ), ('update_segment_tracer_reservoirs', ), ('adjustsegmentetatofitbathymetry', ), ('rotate_obc_config', ), ('rotate_obc_segment_config', ), ('rotate_obc_init', ), ('rotate_obc_segment_data', )]) [autodoc] module analyzer failed: error importing 'mom_open_boundary' (exception was: ModuleNotFoundError("No module named 'mom_open_boundary'")) [debug] DoxygenMethodDocumenter format_signature called ((G, US, param_file, OBC)) [debug] add_directive_header sig((G, US, param_file, OBC)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine open_boundary_config) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_config', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_impose_normal_slope', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_impose_normal_slope', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_impose_normal_slope', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_impose_normal_slope', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_impose_normal_slope', , {'members [autodoc] module analyzer failed: error importing 'mom_open_boundary' (exception was: ModuleNotFoundError("No module named 'mom_open_boundary'")) [debug] DoxygenMethodDocumenter format_signature called ((OBC, G, areaCu, areaCv, US)) [debug] add_directive_header sig((OBC, G, areaCu, areaCv, US)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine open_boundary_impose_land_mask) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_impose_land_mask', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_impose_land_mask', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_impose_land_mask', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_impose_land_mask', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_impose_land_mask', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_impose_land_mask', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_impose_land_mask', , {'members': [autodoc] module analyzer failed: error importing 'mom_open_boundary' (exception was: ModuleNotFoundError("No module named 'mom_open_boundary'")) [debug] DoxygenMethodDocumenter format_signature called ((G, OBC)) [debug] add_directive_header sig((G, OBC)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine setup_obc_tracer_reservoirs) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'setup_obc_tracer_reservoirs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_apply_normal_flow', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_apply_normal_flow', , {'members': [autodoc] module analyzer failed: error importing 'mom_open_boundary' (exception was: ModuleNotFoundError("No module named 'mom_open_boundary'")) [debug] DoxygenMethodDocumenter format_signature called ((OBC, G, u, v)) [debug] add_directive_header sig((OBC, G, u, v)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine open_boundary_zero_normal_flow) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_zero_normal_flow', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_zero_normal_flow', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_zero_normal_flow', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_zero_normal_flow', , {'members': [autodoc] module analyzer failed: error importing 'mom_open_boundary' (exception was: ModuleNotFoundError("No module named 'mom_open_boundary'")) [debug] DoxygenMethodDocumenter format_signature called ((G, segment, uvel, vvel)) [debug] add_directive_header sig((G, segment, uvel, vvel)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine gradient_at_q_points) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'gradient_at_q_points', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_register_restarts', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_boundary_register_restarts', , {'members': [autodoc] module analyzer failed: error importing 'mom_open_boundary' (exception was: ModuleNotFoundError("No module named 'mom_open_boundary'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, uhr, vhr, h, OBC, dt, Reg)) [debug] add_directive_header sig((G, GV, uhr, vhr, h, OBC, dt, Reg)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine update_segment_tracer_reservoirs) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'update_segment_tracer_reservoirs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'update_segment_tracer_reservoirs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'update_segment_tracer_reservoirs', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'update_segment_tracer_reservoirs', , {'members' [autodoc] module analyzer failed: error importing 'mom_open_boundary' (exception was: ModuleNotFoundError("No module named 'mom_open_boundary'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, segment, fld)) [debug] add_directive_header sig((G, GV, US, segment, fld)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine adjustsegmentetatofitbathymetry) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_simplesect [debug] simplesect kind(remark) [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustsegmentetatofitbathymetry', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustsegmentetatofitbathymetry', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustsegmentetatofitbathymetry', , {'members': [autodoc] module analyzer failed: error importing 'mom_open_boundary' (exception was: ModuleNotFoundError("No module named 'mom_open_boundary'")) [debug] DoxygenMethodDocumenter format_signature called ((OBC_in, G_in, OBC, G, turns)) [debug] add_directive_header sig((OBC_in, G_in, OBC, G, turns)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine rotate_obc_config) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rotate_obc_config', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_open_boundary::file_obc_cs ~mom_open_boundary::obc_registry_type ~mom_open_boundary::obc_segment_data_type ~mom_open_boundary::obc_segment_tracer_type ~mom_open_boundary::obc_segment_type ~mom_open_boundary::obc_struct_type ~mom_open_boundary::ocean_obc_type ~mom_open_boundary::segment_tracer_registry_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_open_boundary::open_boundary_config ~mom_open_boundary::initialize_segment_data ~mom_open_boundary::initialize_obc_tides ~mom_open_boundary::setup_segment_indices ~mom_open_boundary::setup_u_point_obc ~mom_open_boundary::setup_v_point_obc ~mom_open_boundary::parse_segment_str ~mom_open_boundary::parse_segment_manifest_str ~mom_open_boundary::parse_segment_data_str ~mom_open_boundary::parse_for_tracer_reservoirs ~mom_open_boundary::parse_segment_param_real ~mom_open_boundary::open_boundary_init ~mom_open_boundary::open_boundary_query ~mom_open_boundary::open_boundary_dealloc ~mom_open_boundary::open_boundary_end ~mom_open_boundary::open_boundary_impose_normal_slope ~mom_open_boundary::open_boundary_impose_land_mask ~mom_open_boundary::setup_obc_tracer_reservoirs ~mom_open_boundary::radiation_open_bdry_conds ~mom_open_boundary::open_boundary_apply_normal_flow ~mom_open_boundary::open_boundary_zero_normal_flow ~mom_open_boundary::gradient_at_q_points ~mom_open_boundary::set_tracer_data ~mom_open_boundary::lookup_seg_field ~mom_open_boundary::allocate_obc_segment_data ~mom_open_boundary::deallocate_obc_segment_data ~mom_open_boundary::open_boundary_test_extern_uv ~mom_open_boundary::open_boundary_test_extern_h ~mom_open_boundary::update_obc_segment_data ~mom_open_boundary::update_obc_ramp ~mom_open_boundary::register_obc ~mom_open_boundary::obc_registry_init ~mom_open_boundary::register_file_obc ~mom_open_boundary::file_obc_end ~mom_open_boundary::segment_tracer_registry_init ~mom_open_boundary::register_segment_tracer ~mom_open_boundary::segment_tracer_registry_end ~mom_open_boundary::register_temp_salt_segments ~mom_open_boundary::fill_temp_salt_segments ~mom_open_boundary::mask_outside_obcs ~mom_open_boundary::flood_fill ~mom_open_boundary::flood_fill2 ~mom_open_boundary::open_boundary_register_restarts ~mom_open_boundary::update_segment_tracer_reservoirs ~mom_open_boundary::adjustsegmentetatofitbathymetry ~mom_open_boundary::rotate_obc_config ~mom_open_boundary::rotate_obc_segment_config ~mom_open_boundary::rotate_obc_init ~mom_open_boundary::rotate_obc_segment_data .. _DETAmom_open_boundary: -------------------- Detailed Description -------------------- This module implements some aspects of internal open boundary conditions in MOM. A small fragment of the grid is shown below: j+1 x ^ x ^ x At x: q, CoriolisBu j+1 > o > o > At ^: v, tauy j x ^ x ^ x At >: u, taux j > o > o > At o: h, bathyT, buoy, tr, T, S, Rml, ustar j-1 x ^ x ^ x i-1 i i+1 At x & ^: i i+1 At > & o: The boundaries always run through q grid points (x). ------------------ Type Documentation ------------------ .. f:type:: file_obc_cs Control structure for open boundaries that read from files. Probably lots to update here. :typefield real tide_flow: Placeholder for now... .. f:type:: obc_registry_type Type to carry basic OBC information needed for updating values. :typefield integer nobc: number of registered open boundary types. :typefield type( obc_struct_type )(50) ob: array of registered boundary types. :typefield logical locked: New OBC types may be registered if locked=.false. When locked=.true.,no more boundaries can be registered. .. f:type:: obc_segment_data_type Open boundary segment data from files (mostly). :typefield integer fid: handle from FMS associated with segment data on disk :typefield integer fid_dz: handle from FMS associated with segment thicknesses on disk :typefield character (len=8) name: a name identifier for the segment data :typefield real(\:,\:,\:) buffer_src [allocatable]: buffer for segment data located at cell faces and on the original vertical grid :typefield integer nk_src: Number of vertical levels in the source data. :typefield real(\:,\:,\:) dz_src [allocatable]: vertical grid cell spacing of the incoming segment data, set in [Z ~> m] then scaled to [H ~> m or kg m-2] :typefield real(\:,\:,\:) buffer_dst [pointer]: buffer src data remapped to the target vertical grid :typefield real value: constant value if fid is equal to -1 .. f:type:: obc_segment_tracer_type Tracer on OBC segment data structure, for putting into a segment tracer registry. :typefield real(\:,\:,\:) t [pointer]: tracer concentration array :typefield real obc_inflow_conc: tracer concentration for generic inflows :typefield character (len=32) name: tracer name used for error messages :typefield type(tracer_type) tr [pointer]: metadata describing the tracer :typefield real(\:,\:,\:) tres [pointer]: tracer reservoir array :typefield logical is_initialized: reservoir values have been set when True .. f:type:: obc_segment_type Open boundary segment data structure. :typefield logical flather: If true, applies Flather + Chapman radiation of barotropic gravity waves. :typefield logical radiation: If true, 1D Orlanksi radiation boundary conditions are applied. If False, a gradient condition is applied. :typefield logical radiation_tan: If true, 1D Orlanksi radiation boundary conditions are applied to tangential flows. :typefield logical radiation_grad: If true, 1D Orlanksi radiation boundary conditions are applied to dudv and dvdx. :typefield logical oblique: Oblique waves supported at radiation boundary. :typefield logical oblique_tan: If true, 2D radiation boundary conditions are applied to tangential flows. :typefield logical oblique_grad: If true, 2D radiation boundary conditions are applied to dudv and dvdx. :typefield logical nudged: Optional supplement to radiation boundary. :typefield logical nudged_tan: Optional supplement to nudge tangential velocity. :typefield logical nudged_grad: Optional supplement to nudge normal gradient of tangential velocity. :typefield logical specified: Boundary normal velocity fixed to external value. :typefield logical specified_tan: Boundary tangential velocity fixed to external value. :typefield logical specified_grad: Boundary gradient of tangential velocity fixed to external value. :typefield logical open: Boundary is open for continuity solver. :typefield logical gradient: Zero gradient at boundary. :typefield logical values_needed: Whether or not any external OBC fields are needed. :typefield logical u_values_needed: Whether or not external u OBC fields are needed. :typefield logical uamp_values_needed: Whether or not external u amplitude OBC fields are needed. :typefield logical uphase_values_needed: Whether or not external u phase OBC fields are needed. :typefield logical v_values_needed: Whether or not external v OBC fields are needed. :typefield logical vamp_values_needed: Whether or not external v amplitude OBC fields are needed. :typefield logical vphase_values_needed: Whether or not external v phase OBC fields are needed. :typefield logical t_values_needed: Whether or not external T OBC fields are needed. :typefield logical s_values_needed: Whether or not external S OBC fields are needed. :typefield logical z_values_needed: Whether or not external zeta OBC fields are needed. :typefield logical zamp_values_needed: Whether or not external zeta amplitude OBC fields are needed. :typefield logical zphase_values_needed: Whether or not external zeta phase OBC fields are needed. :typefield logical g_values_needed: Whether or not external gradient OBC fields are needed. :typefield integer direction: Boundary faces one of the four directions. :typefield logical is_n_or_s: True if the OB is facing North or South and exists on this PE. :typefield logical is_e_or_w: True if the OB is facing East or West and exists on this PE. :typefield logical is_e_or_w_2: True if the OB is facing East or West anywhere. :typefield type( obc_segment_data_type )(\:) field [pointer]: OBC data. :typefield integer num_fields: number of OBC data fields (e.g. u_normal,u_parallel and eta for Flather) :typefield character (len=32)(\:) field_names [pointer]: field names for this segment :typefield integer is_obc: i-indices of boundary segment. :typefield integer ie_obc: i-indices of boundary segment. :typefield integer js_obc: j-indices of boundary segment. :typefield integer je_obc: j-indices of boundary segment. :typefield integer uamp_index: Save where uamp is in segmentfield. :typefield integer uphase_index: Save where uphase is in segmentfield. :typefield integer vamp_index: Save where vamp is in segmentfield. :typefield integer vphase_index: Save where vphase is in segmentfield. :typefield integer zamp_index: Save where zamp is in segmentfield. :typefield integer zphase_index: Save where zphase is in segmentfield. :typefield real velocity_nudging_timescale_in: Nudging timescale on inflow [T ~> s]. :typefield real velocity_nudging_timescale_out: Nudging timescale on outflow [T ~> s]. :typefield logical on_pe: true if segment is located in the computational domain :typefield logical temp_segment_data_exists: true if temperature data arrays are present :typefield logical salt_segment_data_exists: true if salinity data arrays are present :typefield real(\:,\:) cg [pointer]: The external gravity wave speed [L T-1 ~> m s-1] at OBC-points. :typefield real(\:,\:) htot [pointer]: The total column thickness [H ~> m or kg m-2] at OBC-points. :typefield real(\:,\:,\:) h [pointer]: The cell thickness [H ~> m or kg m-2] at OBC-points. :typefield real(\:,\:,\:) normal_vel [pointer]: The layer velocity normal to the OB segment [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) tangential_vel [pointer]: The layer velocity tangential to the OB segment [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) tangential_grad [pointer]: The gradient of the velocity tangential to the OB segment [T-1 ~> s-1]. :typefield real(\:,\:,\:) normal_trans [pointer]: The layer transport normal to the OB segment [H L2 T-1 ~> m3 s-1]. :typefield real(\:,\:) normal_vel_bt [pointer]: The barotropic velocity normal to the OB segment [L T-1 ~> m s-1]. :typefield real(\:,\:) eta [pointer]: The sea-surface elevation along the segment [m]. :typefield real(\:,\:,\:) grad_normal [pointer]: The gradient of the normal flow along the segment times the grid spacing [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) grad_tan [pointer]: The gradient of the tangential flow along the segment times the grid spacing [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) grad_gradient [pointer]: The gradient of the gradient of tangential flow along the segment times the grid spacing [T-1 ~> s-1]. :typefield real(\:,\:,\:) rx_norm_rad [pointer]: The previous normal phase speed use for EW radiation OBC, in grid points per timestep [nondim]. :typefield real(\:,\:,\:) ry_norm_rad [pointer]: The previous normal phase speed use for NS radiation OBC, in grid points per timestep [nondim]. :typefield real(\:,\:,\:) rx_norm_obl [pointer]: The previous normal radiation coefficient for EW oblique OBCs [L2 T-2 ~> m2 s-2]. :typefield real(\:,\:,\:) ry_norm_obl [pointer]: The previous normal radiation coefficient for NS oblique OBCs [L2 T-2 ~> m2 s-2]. :typefield real(\:,\:,\:) cff_normal [pointer]: The denominator for oblique radiation for normal velocity [L2 T-2 ~> m2 s-2]. :typefield real(\:,\:,\:) nudged_normal_vel [pointer]: The layer velocity normal to the OB segment that values should be nudged towards [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) nudged_tangential_vel [pointer]: The layer velocity tangential to the OB segment that values should be nudged towards [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) nudged_tangential_grad [pointer]: The layer dvdx or dudy towards which nudging can occur [T-1 ~> s-1]. :typefield type( segment_tracer_registry_type ) tr_reg [pointer]: A pointer to the tracer registry for the segment. :typefield type(hor_index_type) hi: Horizontal index ranges. :typefield real tr_invlscale_out: An effective inverse length scale for restoring the tracer concentration in a ficticious reservior towards interior values when flow is exiting the domain [L-1 ~> m-1]. :typefield real tr_invlscale_in: An effective inverse length scale for restoring the tracer concentration towards an externally imposed value when flow is entering [L-1 ~> m-1]. .. f:type:: obc_struct_type Type to carry something (what] for the OBC registry. :typefield character (len=32) name: OBC name used for error messages. .. f:type:: ocean_obc_type Open-boundary data. :typefield integer number_of_segments: The number of open-boundary segments. :typefield integer ke: The number of model layers. :typefield logical open_u_bcs_exist_globally: True if any zonal velocity points in the global domain use open BCs. :typefield logical open_v_bcs_exist_globally: True if any meridional velocity points in the global domain use open BCs. :typefield logical flather_u_bcs_exist_globally: True if any zonal velocity points in the global domain use Flather BCs. :typefield logical flather_v_bcs_exist_globally: True if any meridional velocity points in the global domain use Flather BCs. :typefield logical oblique_bcs_exist_globally: True if any velocity points in the global domain use oblique BCs. :typefield logical nudged_u_bcs_exist_globally: True if any velocity points in the global domain use nudged BCs. :typefield logical nudged_v_bcs_exist_globally: True if any velocity points in the global domain use nudged BCs. :typefield logical specified_u_bcs_exist_globally: True if any zonal velocity points in the global domain use specified BCs. :typefield logical specified_v_bcs_exist_globally: True if any meridional velocity points in the global domain use specified BCs. :typefield logical radiation_bcs_exist_globally: True if radiations BCs are in use anywhere. :typefield logical user_bcs_set_globally: True if any OBC_USER_CONFIG is set for input from user directory. :typefield logical update_obc: Is OBC data time-dependent. :typefield logical needs_io_for_data: Is any i/o needed for OBCs. :typefield logical zero_vorticity: If True, sets relative vorticity to zero on open boundaries. :typefield logical freeslip_vorticity: If True, sets normal gradient of tangential velocity to zero in the relative vorticity on open boundaries. :typefield logical computed_vorticity: If True, uses external data for tangential velocity in the relative vorticity on open boundaries. :typefield logical specified_vorticity: If True, uses external data for tangential velocity gradients in the relative vorticity on open boundaries. :typefield logical zero_strain: If True, sets strain to zero on open boundaries. :typefield logical freeslip_strain: If True, sets normal gradient of tangential velocity to zero in the strain on open boundaries. :typefield logical computed_strain: If True, uses external data for tangential velocity to compute normal gradient in the strain on open boundaries. :typefield logical specified_strain: If True, uses external data for tangential velocity gradients to compute strain on open boundaries. :typefield logical zero_biharmonic: If True, zeros the Laplacian of flow on open boundaries for use in the biharmonic viscosity term. :typefield logical brushcutter_mode: If True, read data on supergrid. :typefield logical(\:) tracer_x_reservoirs_used [pointer]: Dimensioned by the number of tracers, set globally,. :typefield logical(\:) tracer_y_reservoirs_used [pointer]: Dimensioned by the number of tracers, set globally,. :typefield integer ntr: number of tracers :typefield integer n_tide_constituents: Number of tidal constituents to add to the boundary. :typefield logical add_tide_constituents: If true, add tidal constituents to the boundary elevation and velocity. Will be set to true if n_tide_constituents > 0. :typefield character (len=2)(\:) tide_names [allocatable]: Names of tidal constituents to add to the boundary data. :typefield real(\:) tide_frequencies [allocatable]: Angular frequencies of chosen tidal constituents [s-1]. :typefield real(\:) tide_eq_phases [allocatable]: Equilibrium phases of chosen tidal constituents [rad]. :typefield real(\:) tide_fn [allocatable]: Amplitude modulation of boundary tides by nodal cycle [nondim]. :typefield real(\:) tide_un [allocatable]: Phase modulation of boundary tides by nodal cycle [rad]. :typefield logical add_eq_phase: If true, add the equilibrium phase argument to the specified boundary tidal phase. :typefield logical add_nodal_terms: If true, insert terms for the 18.6 year modulation when calculating tidal boundary conditions. :typefield type(time_type) time_ref: Reference date (t = 0) for tidal forcing. :typefield type(astro_longitudes) tidal_longitudes: Lunar and solar longitudes used to calculate tidal forcing. :typefield type( obc_segment_type )(\:) segment [pointer]: List of segment objects. :typefield integer(\:,\:) segnum_u [pointer]: Segment number of u-points. :typefield integer(\:,\:) segnum_v [pointer]: Segment number of v-points. :typefield real gamma_uv: The relative weighting for the baroclinic radiation velocities (or speed of characteristics) at the new time level (1) or the running mean (0) for velocities. Valid values range from 0 to 1, with a default of 0.3. :typefield real rx_max: The maximum magnitude of the baroclinic radiation velocity (or speed of characteristics) in units of grid points per timestep [nondim]. :typefield logical obc_pe: Is there an open boundary on this tile? :typefield type(remapping_cs) remap_cs [pointer]: ALE remapping control structure for segments only. :typefield type( obc_registry_type ) obc_reg [pointer]: Registry type for boundaries. :typefield real(\:,\:,\:) rx_normal [pointer]: Array storage for normal phase speed for EW radiation OBCs in units of. :typefield real(\:,\:,\:) ry_normal [pointer]: Array storage for normal phase speed for NS radiation OBCs in units of. :typefield real(\:,\:,\:) rx_oblique [pointer]: Array storage for oblique boundary condition restarts [L2 T-2 ~> m2 s-2]. :typefield real(\:,\:,\:) ry_oblique [pointer]: Array storage for oblique boundary condition restarts [L2 T-2 ~> m2 s-2]. :typefield real(\:,\:,\:) cff_normal [pointer]: Array storage for oblique boundary condition restarts [L2 T-2 ~> m2 s-2]. :typefield real(\:,\:,\:,\:) tres_x [pointer]: Array storage of tracer reservoirs for restarts [conc L ~> conc m]. :typefield real(\:,\:,\:,\:) tres_y [pointer]: Array storage of tracer reservoirs for restarts [conc L ~> conc m]. :typefield real silly_h: A silly value of thickness outside of the domain that can be used to test the independence of the OBCs to this external data [H ~> m or kg m-2]. :typefield real silly_u: A silly value of velocity outside of the domain that can be used to test the independence of the OBCs to this external data [L T-1 ~> m s-1]. :typefield logical ramp: If True, ramp from zero to the external values for SSH. :typefield logical ramping_is_activated: True if the ramping has been initialized. :typefield real ramp_timescale: If ramp is True, use this timescale for ramping. :typefield real trunc_ramp_time: If ramp is True, time after which ramp is done. :typefield real ramp_value: If ramp is True, where we are on the ramp from zero to one. :typefield type(time_type) ramp_start_time: Time when model was started. .. f:type:: segment_tracer_registry_type Registry type for tracers on segments. :typefield integer ntseg: number of registered tracer segments :typefield type( obc_segment_tracer_type )(50) tr: array of registered tracers :typefield logical locked: New tracers may be registered if locked=.false. When locked=.true.,no more tracers can be registered. Not sure who should lock it or when... --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine open_boundary_config(G, US, param_file, OBC) Enables OBC module and reads configuration parameters This routine is called from MOM_initialize_fixed which occurs before the initialization of the vertical coordinate and ALE_init. Therefore segment data are not fully initialized here. The remainder of the segment data are initialized in a later call to update_open_boundary_data. :param g: [inout] Ocean grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] Parameter file handle :param obc: Open boundary control structure :callto: :f:func:`initialize_obc_tides ` :callto: :f:func:`mom_remapping::initialize_remapping ` :callto: :f:func:`mask_outside_obcs ` :callto: :f:func:`mdl ` :callto: :f:func:`obc_none ` :callto: :f:func:`open_boundary_dealloc ` :callto: :f:func:`open_boundary_query ` :callto: :f:func:`mom_string_functions::remove_spaces ` :callto: :f:func:`setup_u_point_obc ` :callto: :f:func:`setup_v_point_obc ` .. f:subroutine:: subroutine initialize_segment_data(G, OBC, PF) Allocate space for reading OBC data from files. It sets up the required vertical remapping. In the process, it does funky stuff with the MPI processes. :param g: [in] Ocean grid structure :param obc: [inout] Open boundary control structure :param pf: [in] Parameter file handle :callto: :f:func:`mdl ` :callto: :f:func:`parse_segment_data_str ` :callto: :f:func:`parse_segment_manifest_str ` .. f:subroutine:: subroutine initialize_obc_tides(OBC, param_file) :param obc: Open boundary control structure :param param_file: [in] Parameter file handle :callto: :f:func:`mom_tidal_forcing::astro_longitudes_init ` :callto: :f:func:`mom_tidal_forcing::eq_phase ` :callto: :f:func:`mdl ` :callto: :f:func:`mom_tidal_forcing::nodal_fu ` :callto: :f:func:`mom_tidal_forcing::tidal_frequency ` :calledfrom: :f:func:`open_boundary_config ` .. f:subroutine:: subroutine setup_segment_indices(G, seg, Is_obc, Ie_obc, Js_obc, Je_obc) Define indices for segment and store in hor_index_type using global segment bounds corresponding to q-points. :param g: [in] grid type :param seg: [inout] Open boundary segment :param is_obc: [in] Q-point global i-index of start of segment :param ie_obc: [in] Q-point global i-index of end of segment :param js_obc: [in] Q-point global j-index of start of segment :param je_obc: [in] Q-point global j-index of end of segment :calledfrom: :f:func:`rotate_obc_segment_config ` :calledfrom: :f:func:`setup_u_point_obc ` :calledfrom: :f:func:`setup_v_point_obc ` .. f:subroutine:: subroutine setup_u_point_obc(OBC, G, US, segment_str, l_seg, PF, reentrant_y) Parse an OBC_SEGMENT_%%% string starting with "I=" and configure placement and type of OBC accordingly. :param obc: Open boundary control structure :param g: [in] Ocean grid structure :param us: [in] A dimensional unit scaling type :param segment_str: [in] A string in form of "I=%,J=%:%,string" :param l_seg: [in] which segment is this? :param pf: [in] Parameter file handle :param reentrant_y: [in] is the domain reentrant in y? :callto: :f:func:`allocate_obc_segment_data ` :callto: :f:func:`mdl ` :callto: :f:func:`obc_direction_e ` :callto: :f:func:`obc_direction_w ` :callto: :f:func:`parse_segment_str ` :callto: :f:func:`setup_segment_indices ` :calledfrom: :f:func:`open_boundary_config ` .. f:subroutine:: subroutine setup_v_point_obc(OBC, G, US, segment_str, l_seg, PF, reentrant_x) Parse an OBC_SEGMENT_%%% string starting with "J=" and configure placement and type of OBC accordingly. :param obc: Open boundary control structure :param g: [in] Ocean grid structure :param us: [in] A dimensional unit scaling type :param segment_str: [in] A string in form of "J=%,I=%:%,string" :param l_seg: [in] which segment is this? :param pf: [in] Parameter file handle :param reentrant_x: [in] is the domain reentrant in x? :callto: :f:func:`allocate_obc_segment_data ` :callto: :f:func:`mdl ` :callto: :f:func:`obc_direction_n ` :callto: :f:func:`obc_direction_s ` :callto: :f:func:`parse_segment_str ` :callto: :f:func:`setup_segment_indices ` :calledfrom: :f:func:`open_boundary_config ` .. f:subroutine:: subroutine parse_segment_str(ni_global, nj_global, segment_str, l, m, n, action_str, reentrant) Parse an OBC_SEGMENT_%%% string. :param ni_global: [in] Number of h-points in zonal direction :param nj_global: [in] Number of h-points in meridional direction :param segment_str: [in] A string in form of "I=l,J=m:n,string" or "J=l,I=m,n,string" :param l: [out] The value of I=l, if segment_str begins with I=l, or the value of J=l :param m: [out] The value of J=m, if segment_str begins with I=, or the value of I=m :param n: [out] The value of J=n, if segment_str begins with I=, or the value of I=n :param action_str: [out] The "string" part of segment_str :param reentrant: [in] is domain reentrant in relevant direction? :callto: :f:func:`mom_string_functions::extract_word ` :callto: :f:func:`interpret_int_expr ` :calledfrom: :f:func:`setup_u_point_obc ` :calledfrom: :f:func:`setup_v_point_obc ` .. f:subroutine:: subroutine parse_segment_manifest_str(segment_str, num_fields, fields) Parse an OBC_SEGMENT_%%_DATA string and determine its fields. :param segment_str: [in] A string in form of "VAR1=file:foo1.nc(varnam1),VAR2=file:foo2.nc(varnam2),..." :param num_fields: [out] The number of fields in the segment data :param fields: [out] List of fieldnames for each segment :callto: :f:func:`mom_string_functions::extract_word ` :calledfrom: :f:func:`initialize_segment_data ` :calledfrom: :f:func:`parse_for_tracer_reservoirs ` .. f:subroutine:: subroutine parse_segment_data_str(segment_str, idx, var, value, filename, fieldname) Parse an OBC_SEGMENT_%%_DATA string. :param segment_str: [in] A string in form of "VAR1=file:foo1.nc(varnam1),VAR2=file:foo2.nc(varnam2),..." :param idx: [in] Index of segment_str record :param var: [in] The name of the variable for which parameters are needed :param filename: [out] The name of the input file if using "file" method :param fieldname: [out] The name of the variable in the input file if using "file" method :param value: [out] A constant value if using the "value" method :callto: :f:func:`mom_string_functions::extract_word ` :calledfrom: :f:func:`initialize_segment_data ` :calledfrom: :f:func:`parse_for_tracer_reservoirs ` .. f:subroutine:: subroutine parse_for_tracer_reservoirs(OBC, PF, use_temperature) Parse all the OBC_SEGMENT_%%_DATA strings again to see which need tracer reservoirs (all pes need to know). :param obc: [inout] Open boundary control structure :param pf: [in] Parameter file handle :param use_temperature: [in] If true, T and S are used :callto: :f:func:`mdl ` :callto: :f:func:`parse_segment_data_str ` :callto: :f:func:`parse_segment_manifest_str ` :calledfrom: :f:func:`open_boundary_register_restarts ` .. f:subroutine:: subroutine parse_segment_param_real(segment_str, var, param_value, debug) Parse an OBC_SEGMENT_%%_PARAMS string. :param segment_str: [in] A string in form of "VAR1=file:foo1.nc(varnam1),VAR2=file:foo2.nc(varnam2),..." :param var: [in] The name of the variable for which parameters are needed :param param_value: [out] The value of the parameter :param debug: [in] If present and true, write verbose debugging messages .. f:subroutine:: subroutine open_boundary_init(G, GV, US, param_file, OBC, restart_CSp) Initialize open boundary control structure and do any necessary rescaling of OBC fields that have been read from a restart file. :param g: [in] Ocean grid structure :param gv: [in] Container for vertical grid information :param us: [in] A dimensional unit scaling type :param param_file: [in] Parameter file handle :param obc: Open boundary control structure :param restart_csp: Restart structure, data intent(inout) :callto: :f:func:`id_clock_pass ` :calledfrom: :f:func:`rotate_obc_init ` .. f:function:: logical function open_boundary_query(OBC, apply_open_OBC, apply_specified_OBC, apply_Flather_OBC, apply_nudged_OBC, needs_ext_seg_data) :param obc: Open boundary control structure :param apply_open_obc: [in] Returns True if open_*_BCs_exist_globally is true :param apply_specified_obc: [in] Returns True if specified_*_BCs_exist_globally is true :param apply_flather_obc: [in] Returns True if Flather_*_BCs_exist_globally is true :param apply_nudged_obc: [in] Returns True if nudged_*_BCs_exist_globally is true :param needs_ext_seg_data: [in] Returns True if external segment data needed :calledfrom: :f:func:`open_boundary_config ` .. f:subroutine:: subroutine open_boundary_dealloc(OBC) Deallocate open boundary data. :param obc: Open boundary control structure :callto: :f:func:`deallocate_obc_segment_data ` :calledfrom: :f:func:`open_boundary_config ` :calledfrom: :f:func:`open_boundary_end ` .. f:subroutine:: subroutine open_boundary_end(OBC) Close open boundary data. :param obc: Open boundary control structure :callto: :f:func:`open_boundary_dealloc ` .. f:subroutine:: subroutine open_boundary_impose_normal_slope(OBC, G, depth) Sets the slope of bathymetry normal to an open bounndary to zero. :param obc: Open boundary control structure :param g: [in] Ocean grid structure :param depth: [inout] Bathymetry at h-points :callto: :f:func:`obc_direction_e ` :callto: :f:func:`obc_direction_n ` :callto: :f:func:`obc_direction_s ` :callto: :f:func:`obc_direction_w ` .. f:subroutine:: subroutine open_boundary_impose_land_mask(OBC, G, areaCu, areaCv, US) Reconcile masks and open boundaries, deallocate OBC on PEs where it is not needed. Also adjust u- and v-point cell area on specified open boundaries and mask all points outside open boundaries. :param obc: Open boundary control structure :param g: [inout] Ocean grid structure :param us: [in] A dimensional unit scaling type :param areacu: [inout] Area of a u-cell [L2 ~> m2] :param areacv: [inout] Area of a u-cell [L2 ~> m2] :callto: :f:func:`obc_direction_e ` :callto: :f:func:`obc_direction_s ` :callto: :f:func:`obc_direction_w ` :callto: :f:func:`obc_none ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_fixed ` .. f:subroutine:: subroutine setup_obc_tracer_reservoirs(G, OBC) Make sure the OBC tracer reservoirs are initialized. :param g: [in] Ocean grid structure :param obc: Open boundary control structure :calledfrom: :f:func:`fill_temp_salt_segments ` .. f:subroutine:: subroutine radiation_open_bdry_conds(OBC, u_new, u_old, v_new, v_old, G, US, dt) Apply radiation conditions to 3D u,v at open boundaries. :param g: [inout] Ocean grid structure :param obc: Open boundary control structure :param u_new: [inout] On exit, new u values on open boundaries On entry, the old time-level v but including barotropic accelerations [L T-1 ~> m s-1]. :param u_old: [in] Original unadjusted u [L T-1 ~> m s-1] :param v_new: [inout] On exit, new v values on open boundaries. On entry, the old time-level v but including barotropic accelerations [L T-1 ~> m s-1]. :param v_old: [in] Original unadjusted v [L T-1 ~> m s-1] :param us: [in] A dimensional unit scaling type :param dt: [in] Appropriate timestep [T ~> s] :callto: :f:func:`gradient_at_q_points ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`obc_direction_e ` :callto: :f:func:`obc_direction_n ` :callto: :f:func:`obc_direction_s ` :callto: :f:func:`obc_direction_w ` :callto: :f:func:`open_boundary_apply_normal_flow ` .. f:subroutine:: subroutine open_boundary_apply_normal_flow(OBC, G, u, v) Applies OBC values stored in segments to 3d u,v fields. :param obc: Open boundary control structure :param g: [inout] Ocean grid structure :param u: [inout] u field to update on open boundaries [L T-1 ~> m s-1] :param v: [inout] v field to update on open boundaries [L T-1 ~> m s-1] :calledfrom: :f:func:`radiation_open_bdry_conds ` .. f:subroutine:: subroutine open_boundary_zero_normal_flow(OBC, G, u, v) Applies zero values to 3d u,v fields on OBC segments. :param obc: Open boundary control structure :param g: [inout] Ocean grid structure :param u: [inout] u field to update on open boundaries :param v: [inout] v field to update on open boundaries :calledfrom: :f:func:`mom_dynamics_unsplit::step_mom_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2 ` .. f:subroutine:: subroutine gradient_at_q_points(G, segment, uvel, vvel) Calculate the tangential gradient of the normal flow at the boundary q-points. :param g: [in] Ocean grid structure :param segment: OBC segment structure :param uvel: [in] zonal velocity [L T-1 ~> m s-1] :param vvel: [in] meridional velocity [L T-1 ~> m s-1] :callto: :f:func:`obc_direction_e ` :callto: :f:func:`obc_direction_n ` :calledfrom: :f:func:`radiation_open_bdry_conds ` .. f:subroutine:: subroutine set_tracer_data(OBC, tv, h, G, PF, tracer_Reg) Sets the initial values of the tracer open boundary conditions. Redoing this elsewhere. :param g: [inout] Ocean grid structure :param obc: Open boundary structure :param tv: [inout] Thermodynamics structure :param h: [inout] Thickness :param pf: [in] Parameter file handle :param tracer_reg: Tracer registry :callto: :f:func:`obc_direction_e ` :callto: :f:func:`obc_direction_n ` :callto: :f:func:`obc_direction_s ` :callto: :f:func:`obc_direction_w ` .. f:function:: integer function lookup_seg_field(OBC_seg, field) Needs documentation. :param obc_seg: OBC segment :param field: [in] The field name .. f:subroutine:: subroutine allocate_obc_segment_data(OBC, segment) Allocate segment data fields. :param obc: Open boundary structure :param segment: [inout] Open boundary segment :calledfrom: :f:func:`rotate_obc_config ` :calledfrom: :f:func:`setup_u_point_obc ` :calledfrom: :f:func:`setup_v_point_obc ` .. f:subroutine:: subroutine deallocate_obc_segment_data(OBC, segment) Deallocate segment data fields. :param obc: Open boundary structure :param segment: [inout] Open boundary segment :callto: :f:func:`segment_tracer_registry_end ` :calledfrom: :f:func:`open_boundary_dealloc ` .. f:subroutine:: subroutine open_boundary_test_extern_uv(G, OBC, u, v) Set tangential velocities outside of open boundaries to silly values (used for checking the interior state is independent of values outside of the domain). :param g: [in] Ocean grid structure :param obc: Open boundary structure :param u: [inout] Zonal velocity [L T-1 ~> m s-1] :param v: [inout] Meridional velocity [L T-1 ~> m s-1] :callto: :f:func:`obc_direction_e ` :callto: :f:func:`obc_direction_n ` .. f:subroutine:: subroutine open_boundary_test_extern_h(G, GV, OBC, h) Set thicknesses outside of open boundaries to silly values (used for checking the interior state is independent of values outside of the domain). :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param obc: Open boundary structure :param h: [inout] Layer thickness [H ~> m or kg m-2] :callto: :f:func:`obc_direction_e ` :callto: :f:func:`obc_direction_n ` :calledfrom: :f:func:`mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ` .. f:subroutine:: subroutine update_obc_segment_data(G, GV, US, OBC, tv, h, Time) Update the OBC values on the segments. :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param obc: Open boundary structure :param tv: [in] Thermodynamics structure :param h: [inout] Thickness [H ~> m or kg m-2] :param time: [in] Model time :callto: :f:func:`adjustsegmentetatofitbathymetry ` :callto: :f:func:`obc_direction_e ` :callto: :f:func:`obc_direction_n ` :callto: :f:func:`obc_direction_s ` :callto: :f:func:`obc_direction_w ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` .. f:subroutine:: subroutine update_obc_ramp(Time, OBC, activate) Update the OBC ramp value as a function of time. If called with the optional argument activate=.true., record the value of Time as the beginning of the ramp period. :param time: [in] Current model time :param obc: Open boundary structure :param activate: [in] Specifiy whether to record the value of Time as the beginning of the ramp period :calledfrom: :f:func:`mom_dynamics_split_rk2::initialize_dyn_split_rk2 ` :calledfrom: :f:func:`mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ` .. f:subroutine:: subroutine register_obc(name, param_file, Reg) register open boundary objects for boundary updates. :param name: [in] OBC name used for error messages :param param_file: [in] file to parse for model parameter values :param reg: pointer to the tracer registry :callto: :f:func:`obc_registry_init ` :calledfrom: :f:func:`dyed_channel_initialization::register_dyed_channel_obc ` :calledfrom: :f:func:`register_file_obc ` .. f:subroutine:: subroutine obc_registry_init(param_file, Reg) This routine include declares and sets the variable "version". :param param_file: [in] open file to parse for model parameters :param reg: pointer to OBC registry :calledfrom: :f:func:`register_obc ` .. f:function:: logical function register_file_obc(param_file, CS, OBC_Reg) Add file to OBC registry. :param param_file: [in] parameter file. :param cs: file control structure. :param obc_reg: OBC registry. :callto: :f:func:`register_obc ` :calledfrom: :f:func:`mom_boundary_update::call_obc_register ` .. f:subroutine:: subroutine file_obc_end(CS) Clean up the file OBC from registry. :param cs: OBC file control structure. :calledfrom: :f:func:`mom_boundary_update::obc_register_end ` .. f:subroutine:: subroutine segment_tracer_registry_init(param_file, segment) Initialize the segment tracer registry. :param param_file: [in] open file to parse for model parameters :param segment: [inout] the segment :callto: :f:func:`mdl ` :calledfrom: :f:func:`register_segment_tracer ` .. f:subroutine:: subroutine register_segment_tracer(tr_ptr, param_file, GV, segment, OBC_scalar, OBC_array) :param gv: [in] ocean vertical grid structure :param tr_ptr: A target that can be used to set a pointer to the stored value of tr. This target must be an enduring part of the control structure, because the tracer registry will use this memory, but it also means that any updates to this structure in the calling module will be available subsequently to the tracer registry. :param param_file: [in] file to parse for model parameter values :param segment: [inout] current segment data structure :param obc_scalar: [in] If present, use scalar value for segment tracer inflow concentration. :param obc_array: [in] If true, use array values for segment tracer inflow concentration. :callto: :f:func:`segment_tracer_registry_init ` :calledfrom: :f:func:`dome_initialization::dome_set_obc_data ` :calledfrom: :f:func:`dyed_obcs_initialization::dyed_obcs_set_obc_data ` :calledfrom: :f:func:`register_temp_salt_segments ` .. f:subroutine:: subroutine segment_tracer_registry_end(Reg) Clean up the segment tracer registry. :param reg: pointer to tracer registry :calledfrom: :f:func:`deallocate_obc_segment_data ` .. f:subroutine:: subroutine register_temp_salt_segments(GV, OBC, tr_Reg, param_file) :param gv: [in] ocean vertical grid structure :param obc: Open boundary structure :param tr_reg: Tracer registry :param param_file: [in] file to parse for model parameter values :callto: :f:func:`register_segment_tracer ` .. f:subroutine:: subroutine fill_temp_salt_segments(G, OBC, tv) :param g: [in] Ocean grid structure :param obc: Open boundary structure :param tv: [inout] Thermodynamics structure :callto: :f:func:`obc_direction_s ` :callto: :f:func:`obc_direction_w ` :callto: :f:func:`setup_obc_tracer_reservoirs ` :calledfrom: :f:func:`rotate_obc_init ` .. f:subroutine:: subroutine mask_outside_obcs(G, US, param_file, OBC) Find the region outside of all open boundary segments and make sure it is set to land mask. Gonna need to know global land mask as well to get it right... :param g: [inout] Ocean grid structure :param param_file: [in] Parameter file handle :param obc: Open boundary structure :param us: [in] A dimensional unit scaling type :callto: :f:func:`flood_fill ` :callto: :f:func:`flood_fill2 ` :callto: :f:func:`mdl ` :callto: :f:func:`obc_direction_e ` :callto: :f:func:`obc_direction_n ` :callto: :f:func:`obc_direction_s ` :callto: :f:func:`obc_direction_w ` :callto: :f:func:`obc_none ` :calledfrom: :f:func:`open_boundary_config ` .. f:subroutine:: subroutine flood_fill(G, color, cin, cout, cland) flood the cin, cout values :param g: [inout] Ocean grid structure :param color: [inout] For sorting inside from outside :param cin: [in] color for inside the domain :param cout: [in] color for outside the domain :param cland: [in] color for inside the land mask :calledfrom: :f:func:`mask_outside_obcs ` .. f:subroutine:: subroutine flood_fill2(G, color, cin, cout, cland) flood the cin, cout values :param g: [inout] Ocean grid structure :param color: [inout] For sorting inside from outside :param cin: [in] color for inside the domain :param cout: [in] color for outside the domain :param cland: [in] color for inside the land mask :calledfrom: :f:func:`mask_outside_obcs ` .. f:subroutine:: subroutine open_boundary_register_restarts(HI, GV, OBC, Reg, param_file, restart_CSp, use_temperature) Register OBC segment data for restarts. :param hi: [in] Horizontal indices :param gv: Container for vertical grid information :param obc: OBC data structure, data intent(inout) :param reg: pointer to tracer registry :param param_file: [in] Parameter file handle :param restart_csp: Restart structure, data intent(inout) :param use_temperature: [in] If true, T and S are used :callto: :f:func:`parse_for_tracer_reservoirs ` .. f:subroutine:: subroutine update_segment_tracer_reservoirs(G, GV, uhr, vhr, h, OBC, dt, Reg) Update the OBC tracer reservoirs after the tracers have been updated. :param g: [in] The ocean's grid structure :param gv: [in] Ocean vertical grid structure :param uhr: [in] accumulated volume/mass flux through the zonal face [H L2 ~> m3 or kg] :param vhr: [in] accumulated volume/mass flux through the meridional face [H L2 ~> m3 or kg] :param h: [in] layer thickness after advection [H ~> m or kg m-2] :param obc: Open boundary structure :param dt: [in] time increment [T ~> s] :param reg: pointer to tracer registry :callto: :f:func:`obc_direction_s ` :callto: :f:func:`obc_direction_w ` .. f:subroutine:: subroutine adjustsegmentetatofitbathymetry(G, GV, US, segment, fld) Adjust interface heights to fit the bathymetry and diagnose layer thickness. If the bottom most interface is below the topography then the bottom-most layers are contracted to GVAngstrom_m. If the bottom most interface is above the topography then the entire column is dilated (expanded) to fill the void. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param segment: [inout] pointer to segment type :param fld: [in] field index to adjust thickness :calledfrom: :f:func:`update_obc_segment_data ` .. f:subroutine:: subroutine rotate_obc_config(OBC_in, G_in, OBC, G, turns) This is more of a rotate initialization than an actual rotate. :param obc_in: [in] Input OBC :param g_in: [in] Input grid metric :param obc: [inout] Rotated OBC :param g: [in] Rotated grid metric :param turns: [in] Number of quarter turns :callto: :f:func:`allocate_obc_segment_data ` :callto: :f:func:`rotate_obc_segment_config ` :callto: :f:func:`rotate_obc_segment_data ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine rotate_obc_segment_config(segment_in, G_in, segment, G, turns) Rotate the OBC segment configuration data from the input to model index map. :param segment_in: [in] Input OBC segment :param g_in: [in] Input grid metric :param segment: [inout] Rotated OBC segment :param g: [in] Rotated grid metric :param turns: [in] Number of quarter turns :callto: :f:func:`obc_direction_e ` :callto: :f:func:`obc_direction_n ` :callto: :f:func:`obc_direction_s ` :callto: :f:func:`obc_direction_w ` :callto: :f:func:`obc_none ` :callto: :f:func:`setup_segment_indices ` :calledfrom: :f:func:`rotate_obc_config ` .. f:subroutine:: subroutine rotate_obc_init(OBC_in, G, GV, US, param_file, tv, restart_CSp, OBC) Initialize the segments and field-related data of a rotated OBC. :param obc_in: [in] OBC on input map :param g: [in] Rotated grid metric :param gv: [in] Vertical grid :param us: [in] Unit scaling :param param_file: [in] Input parameters :param tv: [inout] Tracer fields :param restart_csp: [in] Restart CS :param obc: [inout] Rotated OBC :callto: :f:func:`fill_temp_salt_segments ` :callto: :f:func:`open_boundary_init ` :callto: :f:func:`rotate_obc_segment_data ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine rotate_obc_segment_data(segment_in, segment, turns) Rotate an OBC segment's fields from the input to the model index map. :calledfrom: :f:func:`rotate_obc_config ` :calledfrom: :f:func:`rotate_obc_init ` [debug] xpath(./compounddef/compoundname[text()="mom_open_boundary::file_obc_cs"]/..) match([('id', 'structmom__open__boundary_1_1file__obc__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::file_obc_cs', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::file_obc_cs', , {}, ['`Mor [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::file_obc_cs', , {}, ['', ' [debug] xpath(./compounddef/compoundname[text()="mom_open_boundary::obc_registry_type"]/..) match([('id', 'structmom__open__boundary_1_1obc__registry__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::obc_registry_type', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::obc_registry_type', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::obc_registry_type', , {}, [debug] xpath(./compounddef/compoundname[text()="mom_open_boundary::obc_segment_data_type"]/..) match([('id', 'structmom__open__boundary_1_1obc__segment__data__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::obc_segment_data_type', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::obc_segment_data_type', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::obc_segment_data_type', , [debug] xpath(./compounddef/compoundname[text()="mom_open_boundary::obc_segment_tracer_type"]/..) match([('id', 'structmom__open__boundary_1_1obc__segment__tracer__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::obc_segment_tracer_type', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::obc_segment_tracer_type', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::obc_segment_tracer_type', [debug] xpath(./compounddef/compoundname[text()="mom_open_boundary::obc_segment_type"]/..) match([('id', 'structmom__open__boundary_1_1obc__segment__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::obc_segment_type', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::obc_segment_type', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::obc_segment_type', , {}, [ [debug] xpath(./compounddef/compoundname[text()="mom_open_boundary::obc_struct_type"]/..) match([('id', 'structmom__open__boundary_1_1obc__struct__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::obc_struct_type', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::obc_struct_type', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::obc_struct_type', , {}, [' [debug] xpath(./compounddef/compoundname[text()="mom_open_boundary::ocean_obc_type"]/..) match([('id', 'structmom__open__boundary_1_1ocean__obc__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::ocean_obc_type', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::ocean_obc_type', , {}, ['` [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::ocean_obc_type', , {}, ['' [debug] xpath(./compounddef/compoundname[text()="mom_open_boundary::segment_tracer_registry_type"]/..) match([('id', 'structmom__open__boundary_1_1segment__tracer__registry__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary::segment_tracer_registry_type', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::open_boundary_config', , {}, [debug] DoxygenMethodDocumenter format_signature called ((G, OBC, PF)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::initialize_segment_data', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::initialize_segment_data', , [debug] DoxygenMethodDocumenter format_signature called ((OBC, param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::initialize_obc_tides', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::initialize_obc_tides', , {}, [debug] DoxygenMethodDocumenter format_signature called ((G, seg, Is_obc, Ie_obc, Js_obc, Je_obc)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::setup_segment_indices', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::setup_segment_indices', , {} [debug] DoxygenMethodDocumenter format_signature called ((OBC, G, US, segment_str, l_seg, PF, reentrant_y)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::setup_u_point_obc', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::setup_u_point_obc', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((OBC, G, US, segment_str, l_seg, PF, reentrant_x)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::setup_v_point_obc', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::setup_v_point_obc', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((ni_global, nj_global, segment_str, l, m, n, action_str, reentrant)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::parse_segment_str', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::parse_segment_str', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((segment_str, num_fields, fields)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::parse_segment_manifest_str', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::parse_segment_data_str', , { [debug] DoxygenMethodDocumenter format_signature called ((OBC, PF, use_temperature)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::parse_for_tracer_reservoirs', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::parse_segment_param_real', , [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, param_file, OBC, restart_CSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::open_boundary_init', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::open_boundary_init', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((OBC, apply_open_OBC, apply_specified_OBC, apply_Flather_OBC, apply_nudged_OBC, needs_ext_seg_data)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::open_boundary_query', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::open_boundary_query', , {}, [debug] DoxygenMethodDocumenter format_signature called ((OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::open_boundary_dealloc', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::open_boundary_dealloc', , {} [debug] DoxygenMethodDocumenter format_signature called ((OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::open_boundary_end', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::open_boundary_end', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((OBC, G, depth)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::open_boundary_impose_normal_slope', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::radiation_open_bdry_conds', [debug] DoxygenMethodDocumenter format_signature called ((OBC, G, u, v)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::open_boundary_apply_normal_flow', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::gradient_at_q_points', , {}, [debug] DoxygenMethodDocumenter format_signature called ((OBC, tv, h, G, PF, tracer_Reg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::set_tracer_data', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::set_tracer_data', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((OBC_seg, field)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::lookup_seg_field', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::lookup_seg_field', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((OBC, segment)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::allocate_obc_segment_data', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::allocate_obc_segment_data', [debug] DoxygenMethodDocumenter format_signature called ((OBC, segment)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::deallocate_obc_segment_data', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::update_obc_segment_data', , [debug] DoxygenMethodDocumenter format_signature called ((Time, OBC, activate)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::update_obc_ramp', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::update_obc_ramp', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((name, param_file, Reg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::register_obc', , {}, ['', 'r [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::register_obc', , {}, ['', 'r [debug] DoxygenMethodDocumenter format_signature called ((param_file, Reg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::obc_registry_init', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::obc_registry_init', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((param_file, CS, OBC_Reg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::register_file_obc', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::register_file_obc', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::file_obc_end', , {}, ['', 'C [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::file_obc_end', , {}, ['', 'C [debug] DoxygenMethodDocumenter format_signature called ((param_file, segment)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::segment_tracer_registry_init', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::register_segment_tracer', , [debug] DoxygenMethodDocumenter format_signature called ((Reg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::segment_tracer_registry_end', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::fill_temp_salt_segments', , [debug] DoxygenMethodDocumenter format_signature called ((G, US, param_file, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::mask_outside_obcs', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::mask_outside_obcs', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((G, color, cin, cout, cland)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::flood_fill', , {}, ['', 'flo [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::flood_fill', , {}, ['', 'flo [debug] DoxygenMethodDocumenter format_signature called ((G, color, cin, cout, cland)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::flood_fill2', , {}, ['', 'fl [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::flood_fill2', , {}, ['', 'fl [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, OBC, Reg, param_file, restart_CSp, use_temperature)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::open_boundary_register_restarts', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::rotate_obc_config', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((segment_in, G_in, segment, G, turns)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::rotate_obc_segment_config', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::rotate_obc_segment_config', [debug] DoxygenMethodDocumenter format_signature called ((OBC_in, G, GV, US, param_file, tv, restart_CSp, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::rotate_obc_init', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::rotate_obc_init', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((segment_in, segment, turns)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::rotate_obc_segment_data', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_open_boundary::rotate_obc_segment_data', , [fd] run(.. f:type:: file_obc_cs) [fd] sig(file_obc_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(file_obc_cs) arglist(None) [fd] fullname(mom_open_boundary/file_obc_cs) ftype(None) [fd] name(('mom_open_boundary/file_obc_cs', None)) sig(file_obc_cs) signode(type mom_open_boundary/file_obc_cs) [fd] run(.. f:type:: obc_registry_type) [fd] sig(obc_registry_type) [fd] ftype(None) objtype(None) modname(None) typename() name(obc_registry_type) arglist(None) [fd] fullname(mom_open_boundary/obc_registry_type) ftype(None) [fd] name(('mom_open_boundary/obc_registry_type', None)) sig(obc_registry_type) signode(type mom_open_boundary/obc_registry_type) [fd] run(.. f:type:: obc_segment_data_type) [fd] sig(obc_segment_data_type) [fd] ftype(None) objtype(None) modname(None) typename() name(obc_segment_data_type) arglist(None) [fd] fullname(mom_open_boundary/obc_segment_data_type) ftype(None) [fd] name(('mom_open_boundary/obc_segment_data_type', None)) sig(obc_segment_data_type) signode(type mom_open_boundary/obc_segment_data_type) [fd] run(.. f:type:: obc_segment_tracer_type) [fd] sig(obc_segment_tracer_type) [fd] ftype(None) objtype(None) modname(None) typename() name(obc_segment_tracer_type) arglist(None) [fd] fullname(mom_open_boundary/obc_segment_tracer_type) ftype(None) [fd] name(('mom_open_boundary/obc_segment_tracer_type', None)) sig(obc_segment_tracer_type) signode(type mom_open_boundary/obc_segment_tracer_type) [fd] run(.. f:type:: obc_segment_type) [fd] sig(obc_segment_type) [fd] ftype(None) objtype(None) modname(None) typename() name(obc_segment_type) arglist(None) [fd] fullname(mom_open_boundary/obc_segment_type) ftype(None) [fd] name(('mom_open_boundary/obc_segment_type', None)) sig(obc_segment_type) signode(type mom_open_boundary/obc_segment_type) [fd] run(.. f:type:: obc_struct_type) [fd] sig(obc_struct_type) [fd] ftype(None) objtype(None) modname(None) typename() name(obc_struct_type) arglist(None) [fd] fullname(mom_open_boundary/obc_struct_type) ftype(None) [fd] name(('mom_open_boundary/obc_struct_type', None)) sig(obc_struct_type) signode(type mom_open_boundary/obc_struct_type) [fd] run(.. f:type:: ocean_obc_type) [fd] sig(ocean_obc_type) [fd] ftype(None) objtype(None) modname(None) typename() name(ocean_obc_type) arglist(None) [fd] fullname(mom_open_boundary/ocean_obc_type) ftype(None) [fd] name(('mom_open_boundary/ocean_obc_type', None)) sig(ocean_obc_type) signode(type mom_open_boundary/ocean_obc_type) [fd] run(.. f:type:: segment_tracer_registry_type) [fd] sig(segment_tracer_registry_type) [fd] ftype(None) objtype(None) modname(None) typename() name(segment_tracer_registry_type) arglist(None) [fd] fullname(mom_open_boundary/segment_tracer_registry_type) ftype(None) [fd] name(('mom_open_boundary/segment_tracer_registry_type', None)) sig(segment_tracer_registry_type) signode(type mom_open_boundary/segment_tracer_registry_type) [fd] run(.. f:subroutine:: subroutine open_boundary_config(G, US, param_file, OBC)) [fd] sig(subroutine open_boundary_config(G, US, param_file, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(open_boundary_config) arglist(G, US, param_file, OBC) [fd] fullname(mom_open_boundary/open_boundary_config) ftype(None) [fd] name(('mom_open_boundary/open_boundary_config', None)) sig(subroutine open_boundary_config(G, US, param_file, OBC)) signode(subroutine mom_open_boundary/open_boundary_configGUSparam_fileOBC) [fd] run(.. f:subroutine:: subroutine initialize_segment_data(G, OBC, PF)) [fd] sig(subroutine initialize_segment_data(G, OBC, PF)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_segment_data) arglist(G, OBC, PF) [fd] fullname(mom_open_boundary/initialize_segment_data) ftype(None) [fd] name(('mom_open_boundary/initialize_segment_data', None)) sig(subroutine initialize_segment_data(G, OBC, PF)) signode(subroutine mom_open_boundary/initialize_segment_dataGOBCPF) [fd] run(.. f:subroutine:: subroutine initialize_obc_tides(OBC, param_file)) [fd] sig(subroutine initialize_obc_tides(OBC, param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_obc_tides) arglist(OBC, param_file) [fd] fullname(mom_open_boundary/initialize_obc_tides) ftype(None) [fd] name(('mom_open_boundary/initialize_obc_tides', None)) sig(subroutine initialize_obc_tides(OBC, param_file)) signode(subroutine mom_open_boundary/initialize_obc_tidesOBCparam_file) [fd] run(.. f:subroutine:: subroutine setup_segment_indices(G, seg, Is_obc, Ie_obc, Js_obc, Je_obc)) [fd] sig(subroutine setup_segment_indices(G, seg, Is_obc, Ie_obc, Js_obc, Je_obc)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(setup_segment_indices) arglist(G, seg, Is_obc, Ie_obc, Js_obc, Je_obc) [fd] fullname(mom_open_boundary/setup_segment_indices) ftype(None) [fd] name(('mom_open_boundary/setup_segment_indices', None)) sig(subroutine setup_segment_indices(G, seg, Is_obc, Ie_obc, Js_obc, Je_obc)) signode(subroutine mom_open_boundary/setup_segment_indicesGsegIs_obcIe_obcJs_obcJe_obc) [fd] run(.. f:subroutine:: subroutine setup_u_point_obc(OBC, G, US, segment_str, l_seg, PF, reentrant_y)) [fd] sig(subroutine setup_u_point_obc(OBC, G, US, segment_str, l_seg, PF, reentrant_y)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(setup_u_point_obc) arglist(OBC, G, US, segment_str, l_seg, PF, reentrant_y) [fd] fullname(mom_open_boundary/setup_u_point_obc) ftype(None) [fd] name(('mom_open_boundary/setup_u_point_obc', None)) sig(subroutine setup_u_point_obc(OBC, G, US, segment_str, l_seg, PF, reentrant_y)) signode(subroutine mom_open_boundary/setup_u_point_obcOBCGUSsegment_strl_segPFreentrant_y) [fd] run(.. f:subroutine:: subroutine setup_v_point_obc(OBC, G, US, segment_str, l_seg, PF, reentrant_x)) [fd] sig(subroutine setup_v_point_obc(OBC, G, US, segment_str, l_seg, PF, reentrant_x)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(setup_v_point_obc) arglist(OBC, G, US, segment_str, l_seg, PF, reentrant_x) [fd] fullname(mom_open_boundary/setup_v_point_obc) ftype(None) [fd] name(('mom_open_boundary/setup_v_point_obc', None)) sig(subroutine setup_v_point_obc(OBC, G, US, segment_str, l_seg, PF, reentrant_x)) signode(subroutine mom_open_boundary/setup_v_point_obcOBCGUSsegment_strl_segPFreentrant_x) [fd] run(.. f:subroutine:: subroutine parse_segment_str(ni_global, nj_global, segment_str, l, m, n, action_str, reentrant)) [fd] sig(subroutine parse_segment_str(ni_global, nj_global, segment_str, l, m, n, action_str, reentrant)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(parse_segment_str) arglist(ni_global, nj_global, segment_str, l, m, n, action_str, reentrant) [fd] fullname(mom_open_boundary/parse_segment_str) ftype(None) [fd] name(('mom_open_boundary/parse_segment_str', None)) sig(subroutine parse_segment_str(ni_global, nj_global, segment_str, l, m, n, action_str, reentrant)) signode(subroutine mom_open_boundary/parse_segment_strni_globalnj_globalsegment_strlmnaction_strreentrant) [fd] run(.. f:subroutine:: subroutine parse_segment_manifest_str(segment_str, num_fields, fields)) [fd] sig(subroutine parse_segment_manifest_str(segment_str, num_fields, fields)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(parse_segment_manifest_str) arglist(segment_str, num_fields, fields) [fd] fullname(mom_open_boundary/parse_segment_manifest_str) ftype(None) [fd] name(('mom_open_boundary/parse_segment_manifest_str', None)) sig(subroutine parse_segment_manifest_str(segment_str, num_fields, fields)) signode(subroutine mom_open_boundary/parse_segment_manifest_strsegment_strnum_fieldsfields) [fd] run(.. f:subroutine:: subroutine parse_segment_data_str(segment_str, idx, var, value, filename, fieldname)) [fd] sig(subroutine parse_segment_data_str(segment_str, idx, var, value, filename, fieldname)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(parse_segment_data_str) arglist(segment_str, idx, var, value, filename, fieldname) [fd] fullname(mom_open_boundary/parse_segment_data_str) ftype(None) [fd] name(('mom_open_boundary/parse_segment_data_str', None)) sig(subroutine parse_segment_data_str(segment_str, idx, var, value, filename, fieldname)) signode(subroutine mom_open_boundary/parse_segment_data_strsegment_stridxvarvaluefilenamefieldname) [fd] run(.. f:subroutine:: subroutine parse_for_tracer_reservoirs(OBC, PF, use_temperature)) [fd] sig(subroutine parse_for_tracer_reservoirs(OBC, PF, use_temperature)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(parse_for_tracer_reservoirs) arglist(OBC, PF, use_temperature) [fd] fullname(mom_open_boundary/parse_for_tracer_reservoirs) ftype(None) [fd] name(('mom_open_boundary/parse_for_tracer_reservoirs', None)) sig(subroutine parse_for_tracer_reservoirs(OBC, PF, use_temperature)) signode(subroutine mom_open_boundary/parse_for_tracer_reservoirsOBCPFuse_temperature) [fd] run(.. f:subroutine:: subroutine parse_segment_param_real(segment_str, var, param_value, debug)) [fd] sig(subroutine parse_segment_param_real(segment_str, var, param_value, debug)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(parse_segment_param_real) arglist(segment_str, var, param_value, debug) [fd] fullname(mom_open_boundary/parse_segment_param_real) ftype(None) [fd] name(('mom_open_boundary/parse_segment_param_real', None)) sig(subroutine parse_segment_param_real(segment_str, var, param_value, debug)) signode(subroutine mom_open_boundary/parse_segment_param_realsegment_strvarparam_valuedebug) [fd] run(.. f:subroutine:: subroutine open_boundary_init(G, GV, US, param_file, OBC, restart_CSp)) [fd] sig(subroutine open_boundary_init(G, GV, US, param_file, OBC, restart_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(open_boundary_init) arglist(G, GV, US, param_file, OBC, restart_CSp) [fd] fullname(mom_open_boundary/open_boundary_init) ftype(None) [fd] name(('mom_open_boundary/open_boundary_init', None)) sig(subroutine open_boundary_init(G, GV, US, param_file, OBC, restart_CSp)) signode(subroutine mom_open_boundary/open_boundary_initGGVUSparam_fileOBCrestart_CSp) [fd] run(.. f:function:: logical function open_boundary_query(OBC, apply_open_OBC, apply_specified_OBC, apply_Flather_OBC, apply_nudged_OBC, needs_ext_seg_data)) [fd] sig(logical function open_boundary_query(OBC, apply_open_OBC, apply_specified_OBC, apply_Flather_OBC, apply_nudged_OBC, needs_ext_seg_data)) [fd] ftype(logical) objtype(function) modname(None) typename() name(open_boundary_query) arglist(OBC, apply_open_OBC, apply_specified_OBC, apply_Flather_OBC, apply_nudged_OBC, needs_ext_seg_data) [fd] fullname(mom_open_boundary/open_boundary_query) ftype(logical) [fd] name(('mom_open_boundary/open_boundary_query', 'logical')) sig(logical function open_boundary_query(OBC, apply_open_OBC, apply_specified_OBC, apply_Flather_OBC, apply_nudged_OBC, needs_ext_seg_data)) signode(function mom_open_boundary/open_boundary_queryOBCapply_open_OBCapply_specified_OBCapply_Flather_OBCapply_nudged_OBCneeds_ext_seg_data [logical]) [fd] run(.. f:subroutine:: subroutine open_boundary_dealloc(OBC)) [fd] sig(subroutine open_boundary_dealloc(OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(open_boundary_dealloc) arglist(OBC) [fd] fullname(mom_open_boundary/open_boundary_dealloc) ftype(None) [fd] name(('mom_open_boundary/open_boundary_dealloc', None)) sig(subroutine open_boundary_dealloc(OBC)) signode(subroutine mom_open_boundary/open_boundary_deallocOBC) [fd] run(.. f:subroutine:: subroutine open_boundary_end(OBC)) [fd] sig(subroutine open_boundary_end(OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(open_boundary_end) arglist(OBC) [fd] fullname(mom_open_boundary/open_boundary_end) ftype(None) [fd] name(('mom_open_boundary/open_boundary_end', None)) sig(subroutine open_boundary_end(OBC)) signode(subroutine mom_open_boundary/open_boundary_endOBC) [fd] run(.. f:subroutine:: subroutine open_boundary_impose_normal_slope(OBC, G, depth)) [fd] sig(subroutine open_boundary_impose_normal_slope(OBC, G, depth)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(open_boundary_impose_normal_slope) arglist(OBC, G, depth) [fd] fullname(mom_open_boundary/open_boundary_impose_normal_slope) ftype(None) [fd] name(('mom_open_boundary/open_boundary_impose_normal_slope', None)) sig(subroutine open_boundary_impose_normal_slope(OBC, G, depth)) signode(subroutine mom_open_boundary/open_boundary_impose_normal_slopeOBCGdepth) [fd] run(.. f:subroutine:: subroutine open_boundary_impose_land_mask(OBC, G, areaCu, areaCv, US)) [fd] sig(subroutine open_boundary_impose_land_mask(OBC, G, areaCu, areaCv, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(open_boundary_impose_land_mask) arglist(OBC, G, areaCu, areaCv, US) [fd] fullname(mom_open_boundary/open_boundary_impose_land_mask) ftype(None) [fd] name(('mom_open_boundary/open_boundary_impose_land_mask', None)) sig(subroutine open_boundary_impose_land_mask(OBC, G, areaCu, areaCv, US)) signode(subroutine mom_open_boundary/open_boundary_impose_land_maskOBCGareaCuareaCvUS) [fd] run(.. f:subroutine:: subroutine setup_obc_tracer_reservoirs(G, OBC)) [fd] sig(subroutine setup_obc_tracer_reservoirs(G, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(setup_obc_tracer_reservoirs) arglist(G, OBC) [fd] fullname(mom_open_boundary/setup_obc_tracer_reservoirs) ftype(None) [fd] name(('mom_open_boundary/setup_obc_tracer_reservoirs', None)) sig(subroutine setup_obc_tracer_reservoirs(G, OBC)) signode(subroutine mom_open_boundary/setup_obc_tracer_reservoirsGOBC) [fd] run(.. f:subroutine:: subroutine radiation_open_bdry_conds(OBC, u_new, u_old, v_new, v_old, G, US, dt)) [fd] sig(subroutine radiation_open_bdry_conds(OBC, u_new, u_old, v_new, v_old, G, US, dt)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(radiation_open_bdry_conds) arglist(OBC, u_new, u_old, v_new, v_old, G, US, dt) [fd] fullname(mom_open_boundary/radiation_open_bdry_conds) ftype(None) [fd] name(('mom_open_boundary/radiation_open_bdry_conds', None)) sig(subroutine radiation_open_bdry_conds(OBC, u_new, u_old, v_new, v_old, G, US, dt)) signode(subroutine mom_open_boundary/radiation_open_bdry_condsOBCu_newu_oldv_newv_oldGUSdt) [fd] run(.. f:subroutine:: subroutine open_boundary_apply_normal_flow(OBC, G, u, v)) [fd] sig(subroutine open_boundary_apply_normal_flow(OBC, G, u, v)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(open_boundary_apply_normal_flow) arglist(OBC, G, u, v) [fd] fullname(mom_open_boundary/open_boundary_apply_normal_flow) ftype(None) [fd] name(('mom_open_boundary/open_boundary_apply_normal_flow', None)) sig(subroutine open_boundary_apply_normal_flow(OBC, G, u, v)) signode(subroutine mom_open_boundary/open_boundary_apply_normal_flowOBCGuv) [fd] run(.. f:subroutine:: subroutine open_boundary_zero_normal_flow(OBC, G, u, v)) [fd] sig(subroutine open_boundary_zero_normal_flow(OBC, G, u, v)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(open_boundary_zero_normal_flow) arglist(OBC, G, u, v) [fd] fullname(mom_open_boundary/open_boundary_zero_normal_flow) ftype(None) [fd] name(('mom_open_boundary/open_boundary_zero_normal_flow', None)) sig(subroutine open_boundary_zero_normal_flow(OBC, G, u, v)) signode(subroutine mom_open_boundary/open_boundary_zero_normal_flowOBCGuv) [fd] run(.. f:subroutine:: subroutine gradient_at_q_points(G, segment, uvel, vvel)) [fd] sig(subroutine gradient_at_q_points(G, segment, uvel, vvel)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(gradient_at_q_points) arglist(G, segment, uvel, vvel) [fd] fullname(mom_open_boundary/gradient_at_q_points) ftype(None) [fd] name(('mom_open_boundary/gradient_at_q_points', None)) sig(subroutine gradient_at_q_points(G, segment, uvel, vvel)) signode(subroutine mom_open_boundary/gradient_at_q_pointsGsegmentuvelvvel) [fd] run(.. f:subroutine:: subroutine set_tracer_data(OBC, tv, h, G, PF, tracer_Reg)) [fd] sig(subroutine set_tracer_data(OBC, tv, h, G, PF, tracer_Reg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_tracer_data) arglist(OBC, tv, h, G, PF, tracer_Reg) [fd] fullname(mom_open_boundary/set_tracer_data) ftype(None) [fd] name(('mom_open_boundary/set_tracer_data', None)) sig(subroutine set_tracer_data(OBC, tv, h, G, PF, tracer_Reg)) signode(subroutine mom_open_boundary/set_tracer_dataOBCtvhGPFtracer_Reg) [fd] run(.. f:function:: integer function lookup_seg_field(OBC_seg, field)) [fd] sig(integer function lookup_seg_field(OBC_seg, field)) [fd] ftype(integer) objtype(function) modname(None) typename() name(lookup_seg_field) arglist(OBC_seg, field) [fd] fullname(mom_open_boundary/lookup_seg_field) ftype(integer) [fd] name(('mom_open_boundary/lookup_seg_field', 'integer')) sig(integer function lookup_seg_field(OBC_seg, field)) signode(function mom_open_boundary/lookup_seg_fieldOBC_segfield [integer]) [fd] run(.. f:subroutine:: subroutine allocate_obc_segment_data(OBC, segment)) [fd] sig(subroutine allocate_obc_segment_data(OBC, segment)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(allocate_obc_segment_data) arglist(OBC, segment) [fd] fullname(mom_open_boundary/allocate_obc_segment_data) ftype(None) [fd] name(('mom_open_boundary/allocate_obc_segment_data', None)) sig(subroutine allocate_obc_segment_data(OBC, segment)) signode(subroutine mom_open_boundary/allocate_obc_segment_dataOBCsegment) [fd] run(.. f:subroutine:: subroutine deallocate_obc_segment_data(OBC, segment)) [fd] sig(subroutine deallocate_obc_segment_data(OBC, segment)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(deallocate_obc_segment_data) arglist(OBC, segment) [fd] fullname(mom_open_boundary/deallocate_obc_segment_data) ftype(None) [fd] name(('mom_open_boundary/deallocate_obc_segment_data', None)) sig(subroutine deallocate_obc_segment_data(OBC, segment)) signode(subroutine mom_open_boundary/deallocate_obc_segment_dataOBCsegment) [fd] run(.. f:subroutine:: subroutine open_boundary_test_extern_uv(G, OBC, u, v)) [fd] sig(subroutine open_boundary_test_extern_uv(G, OBC, u, v)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(open_boundary_test_extern_uv) arglist(G, OBC, u, v) [fd] fullname(mom_open_boundary/open_boundary_test_extern_uv) ftype(None) [fd] name(('mom_open_boundary/open_boundary_test_extern_uv', None)) sig(subroutine open_boundary_test_extern_uv(G, OBC, u, v)) signode(subroutine mom_open_boundary/open_boundary_test_extern_uvGOBCuv) [fd] run(.. f:subroutine:: subroutine open_boundary_test_extern_h(G, GV, OBC, h)) [fd] sig(subroutine open_boundary_test_extern_h(G, GV, OBC, h)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(open_boundary_test_extern_h) arglist(G, GV, OBC, h) [fd] fullname(mom_open_boundary/open_boundary_test_extern_h) ftype(None) [fd] name(('mom_open_boundary/open_boundary_test_extern_h', None)) sig(subroutine open_boundary_test_extern_h(G, GV, OBC, h)) signode(subroutine mom_open_boundary/open_boundary_test_extern_hGGVOBCh) [fd] run(.. f:subroutine:: subroutine update_obc_segment_data(G, GV, US, OBC, tv, h, Time)) [fd] sig(subroutine update_obc_segment_data(G, GV, US, OBC, tv, h, Time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_obc_segment_data) arglist(G, GV, US, OBC, tv, h, Time) [fd] fullname(mom_open_boundary/update_obc_segment_data) ftype(None) [fd] name(('mom_open_boundary/update_obc_segment_data', None)) sig(subroutine update_obc_segment_data(G, GV, US, OBC, tv, h, Time)) signode(subroutine mom_open_boundary/update_obc_segment_dataGGVUSOBCtvhTime) [fd] run(.. f:subroutine:: subroutine update_obc_ramp(Time, OBC, activate)) [fd] sig(subroutine update_obc_ramp(Time, OBC, activate)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_obc_ramp) arglist(Time, OBC, activate) [fd] fullname(mom_open_boundary/update_obc_ramp) ftype(None) [fd] name(('mom_open_boundary/update_obc_ramp', None)) sig(subroutine update_obc_ramp(Time, OBC, activate)) signode(subroutine mom_open_boundary/update_obc_rampTimeOBCactivate) [fd] run(.. f:subroutine:: subroutine register_obc(name, param_file, Reg)) [fd] sig(subroutine register_obc(name, param_file, Reg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_obc) arglist(name, param_file, Reg) [fd] fullname(mom_open_boundary/register_obc) ftype(None) [fd] name(('mom_open_boundary/register_obc', None)) sig(subroutine register_obc(name, param_file, Reg)) signode(subroutine mom_open_boundary/register_obcnameparam_fileReg) [fd] run(.. f:subroutine:: subroutine obc_registry_init(param_file, Reg)) [fd] sig(subroutine obc_registry_init(param_file, Reg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(obc_registry_init) arglist(param_file, Reg) [fd] fullname(mom_open_boundary/obc_registry_init) ftype(None) [fd] name(('mom_open_boundary/obc_registry_init', None)) sig(subroutine obc_registry_init(param_file, Reg)) signode(subroutine mom_open_boundary/obc_registry_initparam_fileReg) [fd] run(.. f:function:: logical function register_file_obc(param_file, CS, OBC_Reg)) [fd] sig(logical function register_file_obc(param_file, CS, OBC_Reg)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_file_obc) arglist(param_file, CS, OBC_Reg) [fd] fullname(mom_open_boundary/register_file_obc) ftype(logical) [fd] name(('mom_open_boundary/register_file_obc', 'logical')) sig(logical function register_file_obc(param_file, CS, OBC_Reg)) signode(function mom_open_boundary/register_file_obcparam_fileCSOBC_Reg [logical]) [fd] run(.. f:subroutine:: subroutine file_obc_end(CS)) [fd] sig(subroutine file_obc_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(file_obc_end) arglist(CS) [fd] fullname(mom_open_boundary/file_obc_end) ftype(None) [fd] name(('mom_open_boundary/file_obc_end', None)) sig(subroutine file_obc_end(CS)) signode(subroutine mom_open_boundary/file_obc_endCS) [fd] run(.. f:subroutine:: subroutine segment_tracer_registry_init(param_file, segment)) [fd] sig(subroutine segment_tracer_registry_init(param_file, segment)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(segment_tracer_registry_init) arglist(param_file, segment) [fd] fullname(mom_open_boundary/segment_tracer_registry_init) ftype(None) [fd] name(('mom_open_boundary/segment_tracer_registry_init', None)) sig(subroutine segment_tracer_registry_init(param_file, segment)) signode(subroutine mom_open_boundary/segment_tracer_registry_initparam_filesegment) [fd] run(.. f:subroutine:: subroutine register_segment_tracer(tr_ptr, param_file, GV, segment, OBC_scalar, OBC_array)) [fd] sig(subroutine register_segment_tracer(tr_ptr, param_file, GV, segment, OBC_scalar, OBC_array)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_segment_tracer) arglist(tr_ptr, param_file, GV, segment, OBC_scalar, OBC_array) [fd] fullname(mom_open_boundary/register_segment_tracer) ftype(None) [fd] name(('mom_open_boundary/register_segment_tracer', None)) sig(subroutine register_segment_tracer(tr_ptr, param_file, GV, segment, OBC_scalar, OBC_array)) signode(subroutine mom_open_boundary/register_segment_tracertr_ptrparam_fileGVsegmentOBC_scalarOBC_array) [fd] run(.. f:subroutine:: subroutine segment_tracer_registry_end(Reg)) [fd] sig(subroutine segment_tracer_registry_end(Reg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(segment_tracer_registry_end) arglist(Reg) [fd] fullname(mom_open_boundary/segment_tracer_registry_end) ftype(None) [fd] name(('mom_open_boundary/segment_tracer_registry_end', None)) sig(subroutine segment_tracer_registry_end(Reg)) signode(subroutine mom_open_boundary/segment_tracer_registry_endReg) [fd] run(.. f:subroutine:: subroutine register_temp_salt_segments(GV, OBC, tr_Reg, param_file)) [fd] sig(subroutine register_temp_salt_segments(GV, OBC, tr_Reg, param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_temp_salt_segments) arglist(GV, OBC, tr_Reg, param_file) [fd] fullname(mom_open_boundary/register_temp_salt_segments) ftype(None) [fd] name(('mom_open_boundary/register_temp_salt_segments', None)) sig(subroutine register_temp_salt_segments(GV, OBC, tr_Reg, param_file)) signode(subroutine mom_open_boundary/register_temp_salt_segmentsGVOBCtr_Regparam_file) [fd] run(.. f:subroutine:: subroutine fill_temp_salt_segments(G, OBC, tv)) [fd] sig(subroutine fill_temp_salt_segments(G, OBC, tv)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(fill_temp_salt_segments) arglist(G, OBC, tv) [fd] fullname(mom_open_boundary/fill_temp_salt_segments) ftype(None) [fd] name(('mom_open_boundary/fill_temp_salt_segments', None)) sig(subroutine fill_temp_salt_segments(G, OBC, tv)) signode(subroutine mom_open_boundary/fill_temp_salt_segmentsGOBCtv) [fd] run(.. f:subroutine:: subroutine mask_outside_obcs(G, US, param_file, OBC)) [fd] sig(subroutine mask_outside_obcs(G, US, param_file, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mask_outside_obcs) arglist(G, US, param_file, OBC) [fd] fullname(mom_open_boundary/mask_outside_obcs) ftype(None) [fd] name(('mom_open_boundary/mask_outside_obcs', None)) sig(subroutine mask_outside_obcs(G, US, param_file, OBC)) signode(subroutine mom_open_boundary/mask_outside_obcsGUSparam_fileOBC) [fd] run(.. f:subroutine:: subroutine flood_fill(G, color, cin, cout, cland)) [fd] sig(subroutine flood_fill(G, color, cin, cout, cland)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(flood_fill) arglist(G, color, cin, cout, cland) [fd] fullname(mom_open_boundary/flood_fill) ftype(None) [fd] name(('mom_open_boundary/flood_fill', None)) sig(subroutine flood_fill(G, color, cin, cout, cland)) signode(subroutine mom_open_boundary/flood_fillGcolorcincoutcland) [fd] run(.. f:subroutine:: subroutine flood_fill2(G, color, cin, cout, cland)) [fd] sig(subroutine flood_fill2(G, color, cin, cout, cland)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(flood_fill2) arglist(G, color, cin, cout, cland) [fd] fullname(mom_open_boundary/flood_fill2) ftype(None) [fd] name(('mom_open_boundary/flood_fill2', None)) sig(subroutine flood_fill2(G, color, cin, cout, cland)) signode(subroutine mom_open_boundary/flood_fill2Gcolorcincoutcland) [fd] run(.. f:subroutine:: subroutine open_boundary_register_restarts(HI, GV, OBC, Reg, param_file, restart_CSp, use_temperature)) [fd] sig(subroutine open_boundary_register_restarts(HI, GV, OBC, Reg, param_file, restart_CSp, use_temperature)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(open_boundary_register_restarts) arglist(HI, GV, OBC, Reg, param_file, restart_CSp, use_temperature) [fd] fullname(mom_open_boundary/open_boundary_register_restarts) ftype(None) [fd] name(('mom_open_boundary/open_boundary_register_restarts', None)) sig(subroutine open_boundary_register_restarts(HI, GV, OBC, Reg, param_file, restart_CSp, use_temperature)) signode(subroutine mom_open_boundary/open_boundary_register_restartsHIGVOBCRegparam_filerestart_CSpuse_temperature) [fd] run(.. f:subroutine:: subroutine update_segment_tracer_reservoirs(G, GV, uhr, vhr, h, OBC, dt, Reg)) [fd] sig(subroutine update_segment_tracer_reservoirs(G, GV, uhr, vhr, h, OBC, dt, Reg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_segment_tracer_reservoirs) arglist(G, GV, uhr, vhr, h, OBC, dt, Reg) [fd] fullname(mom_open_boundary/update_segment_tracer_reservoirs) ftype(None) [fd] name(('mom_open_boundary/update_segment_tracer_reservoirs', None)) sig(subroutine update_segment_tracer_reservoirs(G, GV, uhr, vhr, h, OBC, dt, Reg)) signode(subroutine mom_open_boundary/update_segment_tracer_reservoirsGGVuhrvhrhOBCdtReg) [fd] run(.. f:subroutine:: subroutine adjustsegmentetatofitbathymetry(G, GV, US, segment, fld)) [fd] sig(subroutine adjustsegmentetatofitbathymetry(G, GV, US, segment, fld)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(adjustsegmentetatofitbathymetry) arglist(G, GV, US, segment, fld) [fd] fullname(mom_open_boundary/adjustsegmentetatofitbathymetry) ftype(None) [fd] name(('mom_open_boundary/adjustsegmentetatofitbathymetry', None)) sig(subroutine adjustsegmentetatofitbathymetry(G, GV, US, segment, fld)) signode(subroutine mom_open_boundary/adjustsegmentetatofitbathymetryGGVUSsegmentfld) [fd] run(.. f:subroutine:: subroutine rotate_obc_config(OBC_in, G_in, OBC, G, turns)) [fd] sig(subroutine rotate_obc_config(OBC_in, G_in, OBC, G, turns)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_obc_config) arglist(OBC_in, G_in, OBC, G, turns) [fd] fullname(mom_open_boundary/rotate_obc_config) ftype(None) [fd] name(('mom_open_boundary/rotate_obc_config', None)) sig(subroutine rotate_obc_config(OBC_in, G_in, OBC, G, turns)) signode(subroutine mom_open_boundary/rotate_obc_configOBC_inG_inOBCGturns) [fd] run(.. f:subroutine:: subroutine rotate_obc_segment_config(segment_in, G_in, segment, G, turns)) [fd] sig(subroutine rotate_obc_segment_config(segment_in, G_in, segment, G, turns)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_obc_segment_config) arglist(segment_in, G_in, segment, G, turns) [fd] fullname(mom_open_boundary/rotate_obc_segment_config) ftype(None) [fd] name(('mom_open_boundary/rotate_obc_segment_config', None)) sig(subroutine rotate_obc_segment_config(segment_in, G_in, segment, G, turns)) signode(subroutine mom_open_boundary/rotate_obc_segment_configsegment_inG_insegmentGturns) [fd] run(.. f:subroutine:: subroutine rotate_obc_init(OBC_in, G, GV, US, param_file, tv, restart_CSp, OBC)) [fd] sig(subroutine rotate_obc_init(OBC_in, G, GV, US, param_file, tv, restart_CSp, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_obc_init) arglist(OBC_in, G, GV, US, param_file, tv, restart_CSp, OBC) [fd] fullname(mom_open_boundary/rotate_obc_init) ftype(None) [fd] name(('mom_open_boundary/rotate_obc_init', None)) sig(subroutine rotate_obc_init(OBC_in, G, GV, US, param_file, tv, restart_CSp, OBC)) signode(subroutine mom_open_boundary/rotate_obc_initOBC_inGGVUSparam_filetvrestart_CSpOBC) [fd] run(.. f:subroutine:: subroutine rotate_obc_segment_data(segment_in, segment, turns)) [fd] sig(subroutine rotate_obc_segment_data(segment_in, segment, turns)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_obc_segment_data) arglist(segment_in, segment, turns) [fd] fullname(mom_open_boundary/rotate_obc_segment_data) ftype(None) [fd] name(('mom_open_boundary/rotate_obc_segment_data', None)) sig(subroutine rotate_obc_segment_data(segment_in, segment, turns)) signode(subroutine mom_open_boundary/rotate_obc_segment_datasegment_insegmentturns) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 48%] api/generated/modules/mom_pointaccel [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_pointacc [app] emitting event: 'source-read'('api/generated/modules/mom_pointaccel', ['.. autodoxymodule:: mom_pointaccel\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_pointaccel.rst:1: input: .. autodoxymodule:: mom_pointaccel :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_pointaccel::pointaccel_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_pointaccel::write_u_accel ~mom_pointaccel::write_v_accel ~mom_pointaccel::pointaccel_init [debug] xpath(./compounddef/compoundname[text()="mom_pointaccel"]/..) match([('id', 'namespacemom__pointaccel'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_pointaccel module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pointaccel', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_pointaccel' (exception was: ModuleNotFoundError("No module named 'mom_pointaccel'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pointaccel::pointaccel_cs', , {'members': < [debug] members([('write_u_accel', ), ('write_v_accel', ), ('pointaccel_init', )]) [autodoc] module analyzer failed: error importing 'mom_pointaccel' (exception was: ModuleNotFoundError("No module named 'mom_pointaccel'")) [debug] DoxygenMethodDocumenter format_signature called ((I, j, um, hin, ADp, CDp, dt_in_T, G, GV, US, CS, vel_rpt, str, a, hv)) [debug] add_directive_header sig((I, j, um, hin, ADp, CDp, dt_in_T, G, GV, US, CS, vel_rpt, str, a, hv)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine write_u_accel) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'write_u_accel', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_pointaccel::pointaccel_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_pointaccel::write_u_accel ~mom_pointaccel::write_v_accel ~mom_pointaccel::pointaccel_init .. _DETAmom_pointaccel: -------------------- Detailed Description -------------------- The two subroutines in this file write out all of the terms in the u- or v-momentum balance at a given point. Usually these subroutines are called after the velocities exceed some threshold, in order to determine which term is culpable. often this is done for debugging purposes. ------------------ Type Documentation ------------------ .. f:type:: pointaccel_cs The control structure for the MOM_PointAccel module. :typefield character (len=200) u_trunc_file: The complete path to the file in which a column's worth of u-accelerations are written if u-velocity truncations occur. :typefield character (len=200) v_trunc_file: The complete path to the file in which a column's worth of v-accelerations are written if v-velocity truncations occur. :typefield integer u_file: The unit number for an opened u-truncation files, or -1 if it has not yet been opened. :typefield integer v_file: The unit number for an opened v-truncation files, or -1 if it has not yet been opened. :typefield integer cols_written: The number of columns whose output has been written by this PE during the current run. :typefield integer max_writes: The maximum number of times any PE can write out a column's worth of accelerations during a run. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield real(\:,\:,\:) u_av [pointer]: Time average u-velocity [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) v_av [pointer]: Time average velocity [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) u_prev [pointer]: Previous u-velocity [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) v_prev [pointer]: Previous v-velocity [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) t [pointer]: Temperature [degC]. :typefield real(\:,\:,\:) s [pointer]: Salinity [ppt]. :typefield real(\:,\:,\:) u_accel_bt [pointer]: Barotropic u-acclerations [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) v_accel_bt [pointer]: Barotropic v-acclerations [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) pbce [pointer]: pbce times eta gives the baroclinic pressure anomaly in each layer due to free surface height anomalies [m2 s-2 H-1 ~> m s-2 or m4 kg-1 s-2]. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine write_u_accel(I, j, um, hin, ADp, CDp, dt_in_T, G, GV, US, CS, vel_rpt, str, a, hv) This subroutine writes to an output file all of the accelerations that have been applied to a column of zonal velocities over the previous timestep. This subroutine is called from vertvisc. :param i: [in] The zonal index of the column to be documented. :param j: [in] The meridional index of the column to be documented. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param um: [in] The new zonal velocity [L T-1 ~> m s-1]. :param hin: [in] The layer thickness [H ~> m or kg m-2]. :param adp: [in] A structure pointing to the various accelerations in the momentum equations. :param cdp: [in] A structure with pointers to various terms in the continuity equations. :param dt_in_t: [in] The ocean dynamics time step [T ~> s]. :param cs: The control structure returned by a previous call to PointAccel_init. :param vel_rpt: [in] The velocity magnitude that triggers a report [L T-1 ~> m s-1]. :param str: [in] The surface wind stress integrated over a time step divided by the Boussinesq density [m2 s-1]. :param a: [in] The layer coupling coefficients from vertvisc [Z s-1 ~> m s-1]. :param hv: [in] The layer thicknesses at velocity grid points, :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine write_v_accel(i, J, vm, hin, ADp, CDp, dt_in_T, G, GV, US, CS, vel_rpt, str, a, hv) This subroutine writes to an output file all of the accelerations that have been applied to a column of meridional velocities over the previous timestep. This subroutine is called from vertvisc. :param i: [in] The zonal index of the column to be documented. :param j: [in] The meridional index of the column to be documented. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param vm: [in] The new meridional velocity [L T-1 ~> m s-1]. :param hin: [in] The layer thickness [H ~> m or kg m-2]. :param adp: [in] A structure pointing to the various accelerations in the momentum equations. :param cdp: [in] A structure with pointers to various terms in the continuity equations. :param dt_in_t: [in] The ocean dynamics time step [T ~> s]. :param cs: The control structure returned by a previous call to PointAccel_init. :param vel_rpt: [in] The velocity magnitude that triggers a report [L T-1 ~> m s-1]. :param str: [in] The surface wind stress integrated over a time step divided by the Boussinesq density [m2 s-1]. :param a: [in] The layer coupling coefficients from vertvisc [Z s-1 ~> m s-1]. :param hv: [in] The layer thicknesses at velocity grid points, :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine pointaccel_init(MIS, Time, G, param_file, diag, dirs, CS) This subroutine initializes the parameters regulating how truncations are logged. :param mis: [in] For "MOM Internal State" a set of pointers :param time: [in] The current model time. :param g: [in] The ocean's grid structure. :param param_file: [in] A structure to parse for run-time parameters. :param diag: [inout] A structure that is used to regulate diagnostic output. :param dirs: [in] A structure containing several relevant directory paths. :param cs: A pointer that is set to point to the control structure for this module. [debug] xpath(./compounddef/compoundname[text()="mom_pointaccel::pointaccel_cs"]/..) match([('id', 'structmom__pointaccel_1_1pointaccel__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pointaccel::pointaccel_cs', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pointaccel::pointaccel_cs', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pointaccel::pointaccel_cs', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((I, j, um, hin, ADp, CDp, dt_in_T, G, GV, US, CS, vel_rpt, str, a, hv)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pointaccel::write_u_accel', , {}, ['', 'Thi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pointaccel::write_u_accel', , {}, ['', 'Thi [debug] DoxygenMethodDocumenter format_signature called ((i, J, vm, hin, ADp, CDp, dt_in_T, G, GV, US, CS, vel_rpt, str, a, hv)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pointaccel::write_v_accel', , {}, ['', 'Thi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pointaccel::write_v_accel', , {}, ['', 'Thi [debug] DoxygenMethodDocumenter format_signature called ((MIS, Time, G, param_file, diag, dirs, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pointaccel::pointaccel_init', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pointaccel::pointaccel_init', , {}, ['', 'T [fd] run(.. f:type:: pointaccel_cs) [fd] sig(pointaccel_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(pointaccel_cs) arglist(None) [fd] fullname(mom_pointaccel/pointaccel_cs) ftype(None) [fd] name(('mom_pointaccel/pointaccel_cs', None)) sig(pointaccel_cs) signode(type mom_pointaccel/pointaccel_cs) [fd] run(.. f:subroutine:: subroutine write_u_accel(I, j, um, hin, ADp, CDp, dt_in_T, G, GV, US, CS, vel_rpt, str, a, hv)) [fd] sig(subroutine write_u_accel(I, j, um, hin, ADp, CDp, dt_in_T, G, GV, US, CS, vel_rpt, str, a, hv)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(write_u_accel) arglist(I, j, um, hin, ADp, CDp, dt_in_T, G, GV, US, CS, vel_rpt, str, a, hv) [fd] fullname(mom_pointaccel/write_u_accel) ftype(None) [fd] name(('mom_pointaccel/write_u_accel', None)) sig(subroutine write_u_accel(I, j, um, hin, ADp, CDp, dt_in_T, G, GV, US, CS, vel_rpt, str, a, hv)) signode(subroutine mom_pointaccel/write_u_accelIjumhinADpCDpdt_in_TGGVUSCSvel_rptstrahv) [fd] run(.. f:subroutine:: subroutine write_v_accel(i, J, vm, hin, ADp, CDp, dt_in_T, G, GV, US, CS, vel_rpt, str, a, hv)) [fd] sig(subroutine write_v_accel(i, J, vm, hin, ADp, CDp, dt_in_T, G, GV, US, CS, vel_rpt, str, a, hv)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(write_v_accel) arglist(i, J, vm, hin, ADp, CDp, dt_in_T, G, GV, US, CS, vel_rpt, str, a, hv) [fd] fullname(mom_pointaccel/write_v_accel) ftype(None) [fd] name(('mom_pointaccel/write_v_accel', None)) sig(subroutine write_v_accel(i, J, vm, hin, ADp, CDp, dt_in_T, G, GV, US, CS, vel_rpt, str, a, hv)) signode(subroutine mom_pointaccel/write_v_acceliJvmhinADpCDpdt_in_TGGVUSCSvel_rptstrahv) [fd] run(.. f:subroutine:: subroutine pointaccel_init(MIS, Time, G, param_file, diag, dirs, CS)) [fd] sig(subroutine pointaccel_init(MIS, Time, G, param_file, diag, dirs, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pointaccel_init) arglist(MIS, Time, G, param_file, diag, dirs, CS) [fd] fullname(mom_pointaccel/pointaccel_init) ftype(None) [fd] name(('mom_pointaccel/pointaccel_init', None)) sig(subroutine pointaccel_init(MIS, Time, G, param_file, diag, dirs, CS)) signode(subroutine mom_pointaccel/pointaccel_initMISTimeGparam_filediagdirsCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 48%] api/generated/modules/mom_pressureforce [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_pressure [app] emitting event: 'source-read'('api/generated/modules/mom_pressureforce', ['.. autodoxymodule:: mom_pressureforce\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_pressureforce.rst:1: input: .. autodoxymodule:: mom_pressureforce :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_pressureforce::pressureforce_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_pressureforce::pressureforce ~mom_pressureforce::pressureforce_init ~mom_pressureforce::pressureforce_end [debug] xpath(./compounddef/compoundname[text()="mom_pressureforce"]/..) match([('id', 'namespacemom__pressureforce'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_pressureforce module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pressureforce', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_pressureforce' (exception was: ModuleNotFoundError("No module named 'mom_pressureforce'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_pressureforce::pressureforce_cs', , {'membe [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce::pressureforce_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce::pressureforce_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce::pressureforce_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce::pressureforce_cs', , {'membe [debug] members([('pressureforce', ), ('pressureforce_init', ), ('pressureforce_end', )]) [autodoc] module analyzer failed: error importing 'mom_pressureforce' (exception was: ModuleNotFoundError("No module named 'mom_pressureforce'")) [debug] DoxygenMethodDocumenter format_signature called ((h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)) [debug] add_directive_header sig((h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine pressureforce) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pressureforce', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_pressureforce::pressureforce_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_pressureforce::pressureforce ~mom_pressureforce::pressureforce_init ~mom_pressureforce::pressureforce_end .. _DETAmom_pressureforce: -------------------- Detailed Description -------------------- This thin module provides a branch to two forms of the horizontal accelerations due to pressure gradients. The two options currently available are a Montgomery potential form (used in traditional isopycnal layer models), and the analytic finite volume form. ------------------ Type Documentation ------------------ .. f:type:: pressureforce_cs Pressure force control structure. :typefield logical analytic_fv_pgf: If true, use the analytic finite volume form (Adcroft et al., Ocean Mod. 2008) of the PGF. :typefield type(pressureforce_fv_cs) pressureforce_fv_csp [pointer]: Control structure for the analytically integrated finite volume pressure force. :typefield type(pressureforce_mont_cs) pressureforce_mont_csp [pointer]: Control structure for the Montgomery potential form of pressure force. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine pressureforce(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta) A thin layer between the model and the Boussinesq and non-Boussinesq pressure force routines. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [in] A structure pointing to various thermodynamic variables :param pfu: [out] Zonal pressure force acceleration [L T-2 ~> m s-2] :param pfv: [out] Meridional pressure force acceleration [L T-2 ~> m s-2] :param cs: Pressure force control structure :param ale_csp: ALE control structure :param p_atm: The pressure at the ice-ocean or :param pbce: [out] The baroclinic pressure anomaly in each layer :param eta: [out] The bottom mass used to calculate PFu and PFv, :calledfrom: :f:func:`mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ` :calledfrom: :f:func:`mom_dynamics_unsplit::step_mom_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2 ` .. f:subroutine:: subroutine pressureforce_init(Time, G, GV, US, param_file, diag, CS, tides_CSp) Initialize the pressure force control structure. :param time: [in] Current model time :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] Parameter file handles :param diag: [inout] Diagnostics control structure :param cs: Pressure force control structure :param tides_csp: Tide control structure :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_dynamics_split_rk2::initialize_dyn_split_rk2 ` :calledfrom: :f:func:`mom_dynamics_unsplit::initialize_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::initialize_dyn_unsplit_rk2 ` .. f:subroutine:: subroutine pressureforce_end(CS) Deallocate the pressure force control structure. :param cs: Pressure force control structure [debug] xpath(./compounddef/compoundname[text()="mom_pressureforce::pressureforce_cs"]/..) match([('id', 'structmom__pressureforce_1_1pressureforce__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pressureforce::pressureforce_cs', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pressureforce::pressureforce_cs', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pressureforce::pressureforce_cs', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pressureforce::pressureforce', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pressureforce::pressureforce', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS, tides_CSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pressureforce::pressureforce_init', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pressureforce::pressureforce_init', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pressureforce::pressureforce_end', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pressureforce::pressureforce_end', , {}, [' [fd] run(.. f:type:: pressureforce_cs) [fd] sig(pressureforce_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(pressureforce_cs) arglist(None) [fd] fullname(mom_pressureforce/pressureforce_cs) ftype(None) [fd] name(('mom_pressureforce/pressureforce_cs', None)) sig(pressureforce_cs) signode(type mom_pressureforce/pressureforce_cs) [fd] run(.. f:subroutine:: subroutine pressureforce(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)) [fd] sig(subroutine pressureforce(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pressureforce) arglist(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta) [fd] fullname(mom_pressureforce/pressureforce) ftype(None) [fd] name(('mom_pressureforce/pressureforce', None)) sig(subroutine pressureforce(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)) signode(subroutine mom_pressureforce/pressureforcehtvPFuPFvGGVUSCSALE_CSpp_atmpbceeta) [fd] run(.. f:subroutine:: subroutine pressureforce_init(Time, G, GV, US, param_file, diag, CS, tides_CSp)) [fd] sig(subroutine pressureforce_init(Time, G, GV, US, param_file, diag, CS, tides_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pressureforce_init) arglist(Time, G, GV, US, param_file, diag, CS, tides_CSp) [fd] fullname(mom_pressureforce/pressureforce_init) ftype(None) [fd] name(('mom_pressureforce/pressureforce_init', None)) sig(subroutine pressureforce_init(Time, G, GV, US, param_file, diag, CS, tides_CSp)) signode(subroutine mom_pressureforce/pressureforce_initTimeGGVUSparam_filediagCStides_CSp) [fd] run(.. f:subroutine:: subroutine pressureforce_end(CS)) [fd] sig(subroutine pressureforce_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pressureforce_end) arglist(CS) [fd] fullname(mom_pressureforce/pressureforce_end) ftype(None) [fd] name(('mom_pressureforce/pressureforce_end', None)) sig(subroutine pressureforce_end(CS)) signode(subroutine mom_pressureforce/pressureforce_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 48%] api/generated/modules/mom_pressureforce_fv [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_pressure [app] emitting event: 'source-read'('api/generated/modules/mom_pressureforce_fv', ['.. autodoxymodule:: mom_pressureforce_fv\n :membe [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_pressureforce_fv.rst:1: input: .. autodoxymodule:: mom_pressureforce_fv :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_pressureforce_fv::pressureforce_fv_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_pressureforce_fv::pressureforce_fv_nonbouss ~mom_pressureforce_fv::pressureforce_fv_bouss ~mom_pressureforce_fv::pressureforce_fv_init ~mom_pressureforce_fv::pressureforce_fv_end [debug] xpath(./compounddef/compoundname[text()="mom_pressureforce_fv"]/..) match([('id', 'namespacemom__pressureforce__fv'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_pressureforce_fv module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pressureforce_fv', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_pressureforce_fv' (exception was: ModuleNotFoundError("No module named 'mom_pressureforce_fv'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_pressureforce_fv::pressureforce_fv_cs', , { [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce_fv::pressureforce_fv_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce_fv::pressureforce_fv_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce_fv::pressureforce_fv_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce_fv::pressureforce_fv_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce_fv::pressureforce_fv_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce_fv::pressureforce_fv_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce_fv::pressureforce_fv_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce_fv::pressureforce_fv_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce_fv::pressureforce_fv_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce_fv::pressureforce_fv_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce_fv::pressureforce_fv_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce_fv::pressureforce_fv_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce_fv::pressureforce_fv_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_pressureforce_fv::pressureforce_fv_cs', , { [debug] members([('pressureforce_fv_nonbouss', ), ('pressureforce_fv_bouss', ), ('pressureforce_fv_init', ), ('pressureforce_fv_end', )]) [autodoc] module analyzer failed: error importing 'mom_pressureforce_fv' (exception was: ModuleNotFoundError("No module named 'mom_pressureforce_fv'")) [debug] DoxygenMethodDocumenter format_signature called ((h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)) [debug] add_directive_header sig((h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine pressureforce_fv_nonbouss) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pressureforce_fv_nonbouss', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_pressureforce_fv::pressureforce_fv_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_pressureforce_fv::pressureforce_fv_nonbouss ~mom_pressureforce_fv::pressureforce_fv_bouss ~mom_pressureforce_fv::pressureforce_fv_init ~mom_pressureforce_fv::pressureforce_fv_end .. _DETAmom_pressureforce_fv: -------------------- Detailed Description -------------------- Provides the Boussinesq and non-Boussinesq forms of horizontal accelerations due to pressure gradients using a vertically integrated finite volume form, as described by Adcroft et al., 2008. Integration in the vertical is made either by quadrature or analytically. This form eliminates the thermobaric instabilities that had been a problem with previous forms of the pressure gradient force calculation, as described by Hallberg, 2005. Adcroft, A., R. Hallberg, and M. Harrison, 2008: A finite volume discretization of the pressure gradient force using analytic integration. Ocean Modelling, 22, 106-113. `http://doi.org/10.1016/j.ocemod.2008.02.001 `_ Hallberg, 2005: A thermobaric instability of Lagrangian vertical coordinate ocean models. Ocean Modelling, 8, 279-300. `http://dx.doi.org/10.1016/j.ocemod.2004.01.001 `_ ------------------ Type Documentation ------------------ .. f:type:: pressureforce_fv_cs Finite volume pressure gradient control structure. :typefield logical tides: If true, apply tidal momentum forcing. :typefield real rho0: The density used in the Boussinesq approximation [R ~> kg m-3]. :typefield real gfs_scale: A scaling of the surface pressure gradients to allow the use of a reduced gravity model [nondim]. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield logical usemasswghtinterp: Use mass weighting in T/S interpolation. :typefield logical boundary_extrap: Indicate whether high-order boundary extrapolation should be used within boundary cells. :typefield logical reconstruct: If true, polynomial profiles of T & S will be reconstructed and used in the integrals for the finite volume pressure gradient calculation. The default depends on whether regridding is being used. :typefield integer recon_scheme: Order of the polynomial of the reconstruction of T & S for the finite volume pressure gradient calculation. By the default (1) is for a piecewise linear method. :typefield real stanley_t2_det_coeff: The coefficient correlating SGS temperature variance with the mean temperature gradient in the deterministic part of the Stanley form of the Brankart correction. :typefield integer id_e_tidal: Diagnostic identifier. :typefield integer id_tvar_sgs: Diagnostic identifier. :typefield type(tidal_forcing_cs) tides_csp [pointer]: Tides control structure. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine pressureforce_fv_nonbouss(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta) Non-Boussinesq analytically-integrated finite volume form of pressure gradient. Determines the acceleration due to hydrostatic pressure forces, using the analytic finite volume form of the Pressure gradient, and does not make the Boussinesq approximation. To work, the following fields must be set outside of the usual (is:ie,js:je) range before this subroutine is called: h(isB:ie+1,jsB:je+1), T(isB:ie+1,jsB:je+1), and S(isB:ie+1,jsB:je+1). :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thickness [H ~> kg/m2] :param tv: [in] Thermodynamic variables :param pfu: [out] Zonal acceleration [L T-2 ~> m s-2] :param pfv: [out] Meridional acceleration [L T-2 ~> m s-2] :param cs: Finite volume PGF control structure :param ale_csp: ALE control structure :param p_atm: The pressure at the ice-ocean or atmosphere-ocean interface [R L2 T-2 ~> Pa]. :param pbce: [out] The baroclinic pressure anomaly in each layer due to eta anomalies [L2 T-2 H-1 ~> m s-2 or m4 s-2 kg-1]. :param eta: [out] The bottom mass used to calculate PFu and PFv [H ~> m or kg m-2], with any tidal contributions or compressibility compensation. :callto: :f:func:`mom_tidal_forcing::calc_tidal_forcing ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_pressureforce_mont::set_pbce_nonbouss ` :callto: :f:func:`mom_ale::ts_plm_edge_values ` :callto: :f:func:`mom_ale::ts_ppm_edge_values ` .. f:subroutine:: subroutine pressureforce_fv_bouss(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta) Boussinesq analytically-integrated finite volume form of pressure gradient. Determines the acceleration due to hydrostatic pressure forces, using the finite volume form of the terms and analytic integrals in depth. To work, the following fields must be set outside of the usual (is:ie,js:je) range before this subroutine is called: h(isB:ie+1,jsB:je+1), T(isB:ie+1,jsB:je+1), and S(isB:ie+1,jsB:je+1). :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thickness [H ~> m] :param tv: [in] Thermodynamic variables :param pfu: [out] Zonal acceleration [L T-2 ~> m s-2] :param pfv: [out] Meridional acceleration [L T-2 ~> m s-2] :param cs: Finite volume PGF control structure :param ale_csp: ALE control structure :param p_atm: The pressure at the ice-ocean or atmosphere-ocean interface [R L2 T-2 ~> Pa]. :param pbce: [out] The baroclinic pressure anomaly in each layer due to eta anomalies [L2 T-2 H-1 ~> m s-2 or m4 s-2 kg-1]. :param eta: [out] The bottom mass used to calculate PFu and PFv [H ~> m or kg m-2], with any tidal contributions or compressibility compensation. :callto: :f:func:`mom_tidal_forcing::calc_tidal_forcing ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_pressureforce_mont::set_pbce_bouss ` :callto: :f:func:`mom_ale::ts_plm_edge_values ` :callto: :f:func:`mom_ale::ts_ppm_edge_values ` .. f:subroutine:: subroutine pressureforce_fv_init(Time, G, GV, US, param_file, diag, CS, tides_CSp) Initializes the finite volume pressure gradient control structure. :param time: [in] Current model time :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] Parameter file handles :param diag: [inout] Diagnostics control structure :param cs: Finite volume PGF control structure :param tides_csp: Tides control structure :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine pressureforce_fv_end(CS) Deallocates the finite volume pressure gradient control structure. :param cs: Finite volume pressure control structure that will be deallocated in this subroutine. [debug] xpath(./compounddef/compoundname[text()="mom_pressureforce_fv::pressureforce_fv_cs"]/..) match([('id', 'structmom__pressureforce__fv_1_1pressureforce__fv__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pressureforce_fv::pressureforce_fv_cs', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pressureforce_fv::pressureforce_fv_cs', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pressureforce_fv::pressureforce_fv_cs', , [debug] DoxygenMethodDocumenter format_signature called ((h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pressureforce_fv::pressureforce_fv_nonbouss', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pressureforce_fv::pressureforce_fv_bouss', [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS, tides_CSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pressureforce_fv::pressureforce_fv_init', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pressureforce_fv::pressureforce_fv_init', , [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pressureforce_fv::pressureforce_fv_end', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pressureforce_fv::pressureforce_fv_end', , [fd] run(.. f:type:: pressureforce_fv_cs) [fd] sig(pressureforce_fv_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(pressureforce_fv_cs) arglist(None) [fd] fullname(mom_pressureforce_fv/pressureforce_fv_cs) ftype(None) [fd] name(('mom_pressureforce_fv/pressureforce_fv_cs', None)) sig(pressureforce_fv_cs) signode(type mom_pressureforce_fv/pressureforce_fv_cs) [fd] run(.. f:subroutine:: subroutine pressureforce_fv_nonbouss(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)) [fd] sig(subroutine pressureforce_fv_nonbouss(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pressureforce_fv_nonbouss) arglist(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta) [fd] fullname(mom_pressureforce_fv/pressureforce_fv_nonbouss) ftype(None) [fd] name(('mom_pressureforce_fv/pressureforce_fv_nonbouss', None)) sig(subroutine pressureforce_fv_nonbouss(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)) signode(subroutine mom_pressureforce_fv/pressureforce_fv_nonbousshtvPFuPFvGGVUSCSALE_CSpp_atmpbceeta) [fd] run(.. f:subroutine:: subroutine pressureforce_fv_bouss(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)) [fd] sig(subroutine pressureforce_fv_bouss(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pressureforce_fv_bouss) arglist(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta) [fd] fullname(mom_pressureforce_fv/pressureforce_fv_bouss) ftype(None) [fd] name(('mom_pressureforce_fv/pressureforce_fv_bouss', None)) sig(subroutine pressureforce_fv_bouss(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)) signode(subroutine mom_pressureforce_fv/pressureforce_fv_bousshtvPFuPFvGGVUSCSALE_CSpp_atmpbceeta) [fd] run(.. f:subroutine:: subroutine pressureforce_fv_init(Time, G, GV, US, param_file, diag, CS, tides_CSp)) [fd] sig(subroutine pressureforce_fv_init(Time, G, GV, US, param_file, diag, CS, tides_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pressureforce_fv_init) arglist(Time, G, GV, US, param_file, diag, CS, tides_CSp) [fd] fullname(mom_pressureforce_fv/pressureforce_fv_init) ftype(None) [fd] name(('mom_pressureforce_fv/pressureforce_fv_init', None)) sig(subroutine pressureforce_fv_init(Time, G, GV, US, param_file, diag, CS, tides_CSp)) signode(subroutine mom_pressureforce_fv/pressureforce_fv_initTimeGGVUSparam_filediagCStides_CSp) [fd] run(.. f:subroutine:: subroutine pressureforce_fv_end(CS)) [fd] sig(subroutine pressureforce_fv_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pressureforce_fv_end) arglist(CS) [fd] fullname(mom_pressureforce_fv/pressureforce_fv_end) ftype(None) [fd] name(('mom_pressureforce_fv/pressureforce_fv_end', None)) sig(subroutine pressureforce_fv_end(CS)) signode(subroutine mom_pressureforce_fv/pressureforce_fv_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 49%] api/generated/modules/mom_pressureforce_mont [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_pressure [app] emitting event: 'source-read'('api/generated/modules/mom_pressureforce_mont', ['.. autodoxymodule:: mom_pressureforce_mont\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_pressureforce_mont.rst:1: input: .. autodoxymodule:: mom_pressureforce_mont :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_pressureforce_mont::pressureforce_mont_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_pressureforce_mont::pressureforce_mont_nonbouss ~mom_pressureforce_mont::pressureforce_mont_bouss ~mom_pressureforce_mont::set_pbce_bouss ~mom_pressureforce_mont::set_pbce_nonbouss ~mom_pressureforce_mont::pressureforce_mont_init ~mom_pressureforce_mont::pressureforce_mont_end [debug] xpath(./compounddef/compoundname[text()="mom_pressureforce_mont"]/..) match([('id', 'namespacemom__pressureforce__mont'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_pressureforce_mont module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pressureforce_mont', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_pressureforce_mont' (exception was: ModuleNotFoundError("No module named 'mom_pressureforce_mont'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_pressureforce_mont::pressureforce_mont_cs', ), ('pressureforce_mont_bouss', ), ('set_pbce_bouss', ), ('set_pbce_nonbouss', ), ('pressureforce_mont_init', ), ('pressureforce_mont_end', )]) [autodoc] module analyzer failed: error importing 'mom_pressureforce_mont' (exception was: ModuleNotFoundError("No module named 'mom_pressureforce_mont'")) [debug] DoxygenMethodDocumenter format_signature called ((h, tv, PFu, PFv, G, GV, US, CS, p_atm, pbce, eta)) [debug] add_directive_header sig((h, tv, PFu, PFv, G, GV, US, CS, p_atm, pbce, eta)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine pressureforce_mont_nonbouss) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pressureforce_mont_nonbouss', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_pressureforce_mont::pressureforce_mont_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_pressureforce_mont::pressureforce_mont_nonbouss ~mom_pressureforce_mont::pressureforce_mont_bouss ~mom_pressureforce_mont::set_pbce_bouss ~mom_pressureforce_mont::set_pbce_nonbouss ~mom_pressureforce_mont::pressureforce_mont_init ~mom_pressureforce_mont::pressureforce_mont_end .. _DETAmom_pressureforce_mont: -------------------- Detailed Description -------------------- Provides the Boussunesq and non-Boussinesq forms of the horizontal accelerations due to pressure gradients using the Montgomery potential. A second-order accurate, centered scheme is used. If a split time stepping scheme is used, the vertical decomposition into barotropic and baroclinic contributions described by Hallberg (J Comp Phys 1997) is used. With a nonlinear equation of state, compressibility is added along the lines proposed by Sun et al. (JPO 1999), but with compressibility coefficients based on a fit to a user-provided reference profile. ------------------ Type Documentation ------------------ .. f:type:: pressureforce_mont_cs Control structure for the Montgomery potential form of pressure gradient. :typefield integer id_pfu_bc: Diagnostic IDs. :typefield integer id_pfv_bc: Diagnostic IDs. :typefield integer id_e_tidal: Diagnostic IDs. :typefield logical tides: If true, apply tidal momentum forcing. :typefield real rho0: The density used in the Boussinesq approximation [R ~> kg m-3]. :typefield real gfs_scale: Ratio between gravity applied to top interface and the gravitational acceleration of the planet [nondim]. Usually this ratio is 1. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield real(\:,\:,\:) pfu_bc [pointer]: Zonal accelerations due to pressure gradients deriving from density gradients within layers [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) pfv_bc [pointer]: Meridional accelerations due to pressure gradients deriving from density gradients within layers [L T-2 ~> m s-2]. :typefield type(tidal_forcing_cs) tides_csp [pointer]: The tidal forcing control structure. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine pressureforce_mont_nonbouss(h, tv, PFu, PFv, G, GV, US, CS, p_atm, pbce, eta) Non-Boussinesq Montgomery-potential form of pressure gradient. Determines the acceleration due to pressure forces in a non-Boussinesq fluid using the compressibility compensated (if appropriate) Montgomery-potential form described in Hallberg (Ocean Mod., 2005). To work, the following fields must be set outside of the usual (is:ie,js:je) range before this subroutine is called: h(isB:ie+1,jsB:je+1), T(isB:ie+1,jsB:je+1), and S(isB:ie+1,jsB:je+1). :param g: [in] Ocean grid structure. :param gv: [in] Vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [in] Layer thickness, [H ~> kg m-2]. :param tv: [in] Thermodynamic variables. :param pfu: [out] Zonal acceleration due to pressure gradients (equal to -dM/dx) [L T-2 ~> m s-2]. :param pfv: [out] Meridional acceleration due to pressure gradients (equal to -dM/dy) [L T-2 ~> m s-2]. :param cs: Control structure for Montgomery potential PGF :param p_atm: The pressure at the ice-ocean or atmosphere-ocean [R L2 T-2 ~> Pa]. :param pbce: [out] The baroclinic pressure anomaly in :param eta: [out] Free surface height [H ~> kg m-1]. :callto: :f:func:`mom_tidal_forcing::calc_tidal_forcing ` :callto: :f:func:`mom_density_integrals::int_specific_vol_dp ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_eos::query_compressible ` :callto: :f:func:`set_pbce_nonbouss ` .. f:subroutine:: subroutine pressureforce_mont_bouss(h, tv, PFu, PFv, G, GV, US, CS, p_atm, pbce, eta) Boussinesq Montgomery-potential form of pressure gradient. Determines the acceleration due to pressure forces. To work, the following fields must be set outside of the usual (is:ie,js:je) range before this subroutine is called: h(isB:ie+1,jsB:je+1), T(isB:ie+1,jsB:je+1), and S(isB:ie+1,jsB:je+1). :param g: [in] Ocean grid structure. :param gv: [in] Vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [in] Layer thickness [H ~> m]. :param tv: [in] Thermodynamic variables. :param pfu: [out] Zonal acceleration due to pressure gradients (equal to -dM/dx) [L T-2 ~> m s-2]. :param pfv: [out] Meridional acceleration due to pressure gradients (equal to -dM/dy) [L T-2 ~> m s2]. :param cs: Control structure for Montgomery potential PGF :param p_atm: The pressure at the ice-ocean or atmosphere-ocean [R L2 T-2 ~> Pa]. :param pbce: [out] The baroclinic pressure anomaly in each layer due to free surface height anomalies [L2 T-2 H-1 ~> m s-2]. :param eta: [out] Free surface height [H ~> m]. :callto: :f:func:`mom_tidal_forcing::calc_tidal_forcing ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_eos::query_compressible ` :callto: :f:func:`set_pbce_bouss ` .. f:subroutine:: subroutine set_pbce_bouss(e, tv, G, GV, US, Rho0, GFS_scale, pbce, rho_star) Determines the partial derivative of the acceleration due to pressure forces with the free surface height. :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param e: [in] Interface height [Z ~> m]. :param tv: [in] Thermodynamic variables :param us: [in] A dimensional unit scaling type :param rho0: [in] The "Boussinesq" ocean density [R ~> kg m-3]. :param gfs_scale: [in] Ratio between gravity applied to top interface and the gravitational acceleration of the planet [nondim]. Usually this ratio is 1. :param pbce: [out] The baroclinic pressure anomaly in each layer due :param rho_star: [in] The layer densities (maybe compressibility :calledfrom: :f:func:`mom_pressureforce_fv::pressureforce_fv_bouss ` :calledfrom: :f:func:`pressureforce_mont_bouss ` .. f:subroutine:: subroutine set_pbce_nonbouss(p, tv, G, GV, US, GFS_scale, pbce, alpha_star) Determines the partial derivative of the acceleration due to pressure forces with the column mass. :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param p: [in] Interface pressures [R L2 T-2 ~> Pa]. :param tv: [in] Thermodynamic variables :param us: [in] A dimensional unit scaling type :param gfs_scale: [in] Ratio between gravity applied to top interface and the gravitational acceleration of the planet [nondim]. Usually this ratio is 1. :param pbce: [out] The baroclinic pressure anomaly in each layer due to free surface height anomalies [L2 H-1 T-2 ~> m4 kg-1 s-2]. :param alpha_star: [in] The layer specific volumes (maybe compressibility compensated) [R-1 ~> m3 kg-1]. :calledfrom: :f:func:`mom_pressureforce_fv::pressureforce_fv_nonbouss ` :calledfrom: :f:func:`pressureforce_mont_nonbouss ` .. f:subroutine:: subroutine pressureforce_mont_init(Time, G, GV, US, param_file, diag, CS, tides_CSp) Initialize the Montgomery-potential form of PGF control structure. :param time: [in] Current model time :param g: [in] ocean grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] Parameter file handles :param diag: [inout] Diagnostics control structure :param cs: Montgomery PGF control structure :param tides_csp: Tides control structure :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine pressureforce_mont_end(CS) Deallocates the Montgomery-potential form of PGF control structure. :param cs: Control structure for Montgomery potential PGF [debug] xpath(./compounddef/compoundname[text()="mom_pressureforce_mont::pressureforce_mont_cs"]/..) match([('id', 'structmom__pressureforce__mont_1_1pressureforce__mont__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pressureforce_mont::pressureforce_mont_cs', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pressureforce_mont::set_pbce_bouss', , {}, [debug] DoxygenMethodDocumenter format_signature called ((p, tv, G, GV, US, GFS_scale, pbce, alpha_star)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pressureforce_mont::set_pbce_nonbouss', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pressureforce_mont::set_pbce_nonbouss', , { [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS, tides_CSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_pressureforce_mont::pressureforce_mont_init', type mom_pressureforce_mont/pressureforce_mont_cs) [fd] run(.. f:subroutine:: subroutine pressureforce_mont_nonbouss(h, tv, PFu, PFv, G, GV, US, CS, p_atm, pbce, eta)) [fd] sig(subroutine pressureforce_mont_nonbouss(h, tv, PFu, PFv, G, GV, US, CS, p_atm, pbce, eta)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pressureforce_mont_nonbouss) arglist(h, tv, PFu, PFv, G, GV, US, CS, p_atm, pbce, eta) [fd] fullname(mom_pressureforce_mont/pressureforce_mont_nonbouss) ftype(None) [fd] name(('mom_pressureforce_mont/pressureforce_mont_nonbouss', None)) sig(subroutine pressureforce_mont_nonbouss(h, tv, PFu, PFv, G, GV, US, CS, p_atm, pbce, eta)) signode(subroutine mom_pressureforce_mont/pressureforce_mont_nonbousshtvPFuPFvGGVUSCSp_atmpbceeta) [fd] run(.. f:subroutine:: subroutine pressureforce_mont_bouss(h, tv, PFu, PFv, G, GV, US, CS, p_atm, pbce, eta)) [fd] sig(subroutine pressureforce_mont_bouss(h, tv, PFu, PFv, G, GV, US, CS, p_atm, pbce, eta)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pressureforce_mont_bouss) arglist(h, tv, PFu, PFv, G, GV, US, CS, p_atm, pbce, eta) [fd] fullname(mom_pressureforce_mont/pressureforce_mont_bouss) ftype(None) [fd] name(('mom_pressureforce_mont/pressureforce_mont_bouss', None)) sig(subroutine pressureforce_mont_bouss(h, tv, PFu, PFv, G, GV, US, CS, p_atm, pbce, eta)) signode(subroutine mom_pressureforce_mont/pressureforce_mont_bousshtvPFuPFvGGVUSCSp_atmpbceeta) [fd] run(.. f:subroutine:: subroutine set_pbce_bouss(e, tv, G, GV, US, Rho0, GFS_scale, pbce, rho_star)) [fd] sig(subroutine set_pbce_bouss(e, tv, G, GV, US, Rho0, GFS_scale, pbce, rho_star)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_pbce_bouss) arglist(e, tv, G, GV, US, Rho0, GFS_scale, pbce, rho_star) [fd] fullname(mom_pressureforce_mont/set_pbce_bouss) ftype(None) [fd] name(('mom_pressureforce_mont/set_pbce_bouss', None)) sig(subroutine set_pbce_bouss(e, tv, G, GV, US, Rho0, GFS_scale, pbce, rho_star)) signode(subroutine mom_pressureforce_mont/set_pbce_boussetvGGVUSRho0GFS_scalepbcerho_star) [fd] run(.. f:subroutine:: subroutine set_pbce_nonbouss(p, tv, G, GV, US, GFS_scale, pbce, alpha_star)) [fd] sig(subroutine set_pbce_nonbouss(p, tv, G, GV, US, GFS_scale, pbce, alpha_star)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_pbce_nonbouss) arglist(p, tv, G, GV, US, GFS_scale, pbce, alpha_star) [fd] fullname(mom_pressureforce_mont/set_pbce_nonbouss) ftype(None) [fd] name(('mom_pressureforce_mont/set_pbce_nonbouss', None)) sig(subroutine set_pbce_nonbouss(p, tv, G, GV, US, GFS_scale, pbce, alpha_star)) signode(subroutine mom_pressureforce_mont/set_pbce_nonboussptvGGVUSGFS_scalepbcealpha_star) [fd] run(.. f:subroutine:: subroutine pressureforce_mont_init(Time, G, GV, US, param_file, diag, CS, tides_CSp)) [fd] sig(subroutine pressureforce_mont_init(Time, G, GV, US, param_file, diag, CS, tides_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pressureforce_mont_init) arglist(Time, G, GV, US, param_file, diag, CS, tides_CSp) [fd] fullname(mom_pressureforce_mont/pressureforce_mont_init) ftype(None) [fd] name(('mom_pressureforce_mont/pressureforce_mont_init', None)) sig(subroutine pressureforce_mont_init(Time, G, GV, US, param_file, diag, CS, tides_CSp)) signode(subroutine mom_pressureforce_mont/pressureforce_mont_initTimeGGVUSparam_filediagCStides_CSp) [fd] run(.. f:subroutine:: subroutine pressureforce_mont_end(CS)) [fd] sig(subroutine pressureforce_mont_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pressureforce_mont_end) arglist(CS) [fd] fullname(mom_pressureforce_mont/pressureforce_mont_end) ftype(None) [fd] name(('mom_pressureforce_mont/pressureforce_mont_end', None)) sig(subroutine pressureforce_mont_end(CS)) signode(subroutine mom_pressureforce_mont/pressureforce_mont_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 49%] api/generated/modules/mom_random [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_random') [app] emitting event: 'source-read'('api/generated/modules/mom_random', ['.. autodoxymodule:: mom_random\n :members:\n :methods:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_random.rst:1: input: .. autodoxymodule:: mom_random :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_random::prng --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_random::random_01 ~mom_random::random_norm ~mom_random::random_2d_01 ~mom_random::random_2d_norm ~mom_random::random_0d_constructor ~mom_random::random_2d_constructor ~mom_random::seed_from_time ~mom_random::seed_from_index ~mom_random::random_destruct ~mom_random::random_unit_tests ~mom_random::test_fn [debug] xpath(./compounddef/compoundname[text()="mom_random"]/..) match([('id', 'namespacemom__random'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_random module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_random', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_random' (exception was: ModuleNotFoundError("No module named 'mom_random'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_random::prng', , {'members': , {'members': , {'members': , {'members': ), ('random_norm', ), ('random_2d_01', ), ('random_2d_norm', ), ('random_0d_constructor', ), ('random_2d_constructor', ), ('seed_from_time', ), ('seed_from_index', ), ('random_destruct', ), ('random_unit_tests', ), ('test_fn', )]) [autodoc] module analyzer failed: error importing 'mom_random' (exception was: ModuleNotFoundError("No module named 'mom_random'")) [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] add_directive_header sig((CS)) [debug] DoxygenMethodDocumenter directive(function) name(real function random_01) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'random_01', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_random::prng --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_random::random_01 ~mom_random::random_norm ~mom_random::random_2d_01 ~mom_random::random_2d_norm ~mom_random::random_0d_constructor ~mom_random::random_2d_constructor ~mom_random::seed_from_time ~mom_random::seed_from_index ~mom_random::random_destruct ~mom_random::random_unit_tests ~mom_random::test_fn .. _DETAmom_random: -------------------- Detailed Description -------------------- Provides MOM6 wrappers to the FMS implementation of the Mersenne twister. Example usage: :: type(PRNG) :: rng real :: rn call random_0d_constructor(rng, Time, seed) ! Call this each time-step rn = random_01(rng) rn = random_norm(rng) type(PRNG) :: rng real, dimension(:,:) :: rn2d call random_2d_constructor(rng, HI, Time, seed) ! Call this each time-step call random_2d_01(rng, HI, rn2d) call random_2d_norm(rng, HI, rn2d) Note: reproducibility across restarts is implemented by using time-derived seeds to pass to the Mersenne twister. It is therefore important that any PRNG type be re-initialized each time-step. ------------------ Type Documentation ------------------ .. f:type:: prng Container for pseudo-random number generators. :typefield type(randomnumbersequence) stream0d: Scalar random number generator for whole model. :typefield type(randomnumbersequence)(\:,\:) stream2d [allocatable]: Random number generator for each cell on horizontal grid. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: real function random_01(CS) Returns a random number between 0 and 1. :param cs: [inout] Container for pseudo-random number generators :calledfrom: :f:func:`random_unit_tests ` .. f:function:: real function random_norm(CS) Returns an approximately normally distributed random number with mean 0 and variance 1. :param cs: [inout] Container for pseudo-random number generators :calledfrom: :f:func:`random_unit_tests ` .. f:subroutine:: subroutine random_2d_01(CS, HI, rand) Generates random numbers between 0 and 1 for each cell of the model grid. :param cs: [inout] Container for pseudo-random number generators :param hi: [in] Horizontal index structure :param rand: [out] Random numbers between 0 and 1 :calledfrom: :f:func:`random_unit_tests ` .. f:subroutine:: subroutine random_2d_norm(CS, HI, rand) Returns an approximately normally distributed random number with mean 0 and variance 1 for each cell of the model grid. :param cs: [inout] Container for pseudo-random number generators :param hi: [in] Horizontal index structure :param rand: [out] Random numbers between 0 and 1 :calledfrom: :f:func:`random_unit_tests ` .. f:subroutine:: subroutine random_0d_constructor(CS, Time, seed) Constructor for scalar PRNG. Can be used to reset the sequence. :param cs: [inout] Container for pseudo-random number generators :param time: [in] Current model time :param seed: [in] Seed for PRNG :callto: :f:func:`seed_from_time ` :calledfrom: :f:func:`random_unit_tests ` .. f:subroutine:: subroutine random_2d_constructor(CS, HI, Time, seed) Constructor for gridded PRNG. Can be used to reset the sequence. :param cs: [inout] Container for pseudo-random number generators :param hi: [in] Horizontal index structure :param time: [in] Current model time :param seed: [in] Seed for PRNG :callto: :f:func:`seed_from_index ` :callto: :f:func:`seed_from_time ` :calledfrom: :f:func:`random_unit_tests ` .. f:function:: integer function seed_from_time(Time) Return a seed derived as hash of values in Time. :param time: [in] Current model time :calledfrom: :f:func:`random_0d_constructor ` :calledfrom: :f:func:`random_2d_constructor ` :calledfrom: :f:func:`random_unit_tests ` .. f:function:: integer function seed_from_index(HI, i, j) Create seed from position index. :param hi: [in] Horizontal index structure :param i: [in] i-index (of h-cell) :param j: [in] j-index (of h-cell) :calledfrom: :f:func:`random_2d_constructor ` :calledfrom: :f:func:`random_unit_tests ` .. f:subroutine:: subroutine random_destruct(CS) Destructor for PRNG. :param cs: Container for pseudo-random number generators .. f:function:: logical function random_unit_tests(verbose) Runs some statistical tests on the PRNG. :param verbose: True if results should be written to stdout :callto: :f:func:`random_01 ` :callto: :f:func:`random_0d_constructor ` :callto: :f:func:`random_2d_01 ` :callto: :f:func:`random_2d_constructor ` :callto: :f:func:`random_2d_norm ` :callto: :f:func:`random_norm ` :callto: :f:func:`seed_from_index ` :callto: :f:func:`seed_from_time ` :callto: :f:func:`test_fn ` :calledfrom: :f:func:`mom_unit_tests::unit_tests ` .. f:function:: logical function test_fn(verbose, good, label, rvalue, ivalue) Convenience function for reporting result of test. :param verbose: [in] Verbosity :param good: [in] True if pass, false otherwise :param label: [in] Label for messages :param rvalue: [in] Result of calculation :param ivalue: [in] Result of calculation :calledfrom: :f:func:`random_unit_tests ` [debug] xpath(./compounddef/compoundname[text()="mom_random::prng"]/..) match([('id', 'structmom__random_1_1prng'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_random::prng', , {}, ['', 'Container for [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_random::prng', , {}, ['`More... , {}, ['', 'Container for [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::random_01', , {}, ['', 'Returns a r [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::random_01', , {}, ['', 'Returns a r [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::random_norm', , {}, ['', 'Returns a [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::random_norm', , {}, ['', 'Returns a [debug] DoxygenMethodDocumenter format_signature called ((CS, HI, rand)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::random_2d_01', , {}, ['', 'Generate [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::random_2d_01', , {}, ['', 'Generate [debug] DoxygenMethodDocumenter format_signature called ((CS, HI, rand)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::random_2d_norm', , {}, ['', 'Return [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::random_2d_norm', , {}, ['', 'Return [debug] DoxygenMethodDocumenter format_signature called ((CS, Time, seed)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::random_0d_constructor', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::random_0d_constructor', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((CS, HI, Time, seed)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::random_2d_constructor', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::random_2d_constructor', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((Time)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::seed_from_time', , {}, ['', 'Return [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::seed_from_time', , {}, ['', 'Return [debug] DoxygenMethodDocumenter format_signature called ((HI, i, j)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::seed_from_index', , {}, ['', 'Creat [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::seed_from_index', , {}, ['', 'Creat [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::random_destruct', , {}, ['', 'Destr [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::random_destruct', , {}, ['', 'Destr [debug] DoxygenMethodDocumenter format_signature called ((verbose)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::random_unit_tests', , {}, ['', 'Run [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::random_unit_tests', , {}, ['', 'Run [debug] DoxygenMethodDocumenter format_signature called ((verbose, good, label, rvalue, ivalue)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::test_fn', , {}, ['', 'Convenience f [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_random::test_fn', , {}, ['', 'Convenience f [fd] run(.. f:type:: prng) [fd] sig(prng) [fd] ftype(None) objtype(None) modname(None) typename() name(prng) arglist(None) [fd] fullname(mom_random/prng) ftype(None) [fd] name(('mom_random/prng', None)) sig(prng) signode(type mom_random/prng) [fd] run(.. f:function:: real function random_01(CS)) [fd] sig(real function random_01(CS)) [fd] ftype(real) objtype(function) modname(None) typename() name(random_01) arglist(CS) [fd] fullname(mom_random/random_01) ftype(real) [fd] name(('mom_random/random_01', 'real')) sig(real function random_01(CS)) signode(function mom_random/random_01CS [real]) [fd] run(.. f:function:: real function random_norm(CS)) [fd] sig(real function random_norm(CS)) [fd] ftype(real) objtype(function) modname(None) typename() name(random_norm) arglist(CS) [fd] fullname(mom_random/random_norm) ftype(real) [fd] name(('mom_random/random_norm', 'real')) sig(real function random_norm(CS)) signode(function mom_random/random_normCS [real]) [fd] run(.. f:subroutine:: subroutine random_2d_01(CS, HI, rand)) [fd] sig(subroutine random_2d_01(CS, HI, rand)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(random_2d_01) arglist(CS, HI, rand) [fd] fullname(mom_random/random_2d_01) ftype(None) [fd] name(('mom_random/random_2d_01', None)) sig(subroutine random_2d_01(CS, HI, rand)) signode(subroutine mom_random/random_2d_01CSHIrand) [fd] run(.. f:subroutine:: subroutine random_2d_norm(CS, HI, rand)) [fd] sig(subroutine random_2d_norm(CS, HI, rand)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(random_2d_norm) arglist(CS, HI, rand) [fd] fullname(mom_random/random_2d_norm) ftype(None) [fd] name(('mom_random/random_2d_norm', None)) sig(subroutine random_2d_norm(CS, HI, rand)) signode(subroutine mom_random/random_2d_normCSHIrand) [fd] run(.. f:subroutine:: subroutine random_0d_constructor(CS, Time, seed)) [fd] sig(subroutine random_0d_constructor(CS, Time, seed)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(random_0d_constructor) arglist(CS, Time, seed) [fd] fullname(mom_random/random_0d_constructor) ftype(None) [fd] name(('mom_random/random_0d_constructor', None)) sig(subroutine random_0d_constructor(CS, Time, seed)) signode(subroutine mom_random/random_0d_constructorCSTimeseed) [fd] run(.. f:subroutine:: subroutine random_2d_constructor(CS, HI, Time, seed)) [fd] sig(subroutine random_2d_constructor(CS, HI, Time, seed)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(random_2d_constructor) arglist(CS, HI, Time, seed) [fd] fullname(mom_random/random_2d_constructor) ftype(None) [fd] name(('mom_random/random_2d_constructor', None)) sig(subroutine random_2d_constructor(CS, HI, Time, seed)) signode(subroutine mom_random/random_2d_constructorCSHITimeseed) [fd] run(.. f:function:: integer function seed_from_time(Time)) [fd] sig(integer function seed_from_time(Time)) [fd] ftype(integer) objtype(function) modname(None) typename() name(seed_from_time) arglist(Time) [fd] fullname(mom_random/seed_from_time) ftype(integer) [fd] name(('mom_random/seed_from_time', 'integer')) sig(integer function seed_from_time(Time)) signode(function mom_random/seed_from_timeTime [integer]) [fd] run(.. f:function:: integer function seed_from_index(HI, i, j)) [fd] sig(integer function seed_from_index(HI, i, j)) [fd] ftype(integer) objtype(function) modname(None) typename() name(seed_from_index) arglist(HI, i, j) [fd] fullname(mom_random/seed_from_index) ftype(integer) [fd] name(('mom_random/seed_from_index', 'integer')) sig(integer function seed_from_index(HI, i, j)) signode(function mom_random/seed_from_indexHIij [integer]) [fd] run(.. f:subroutine:: subroutine random_destruct(CS)) [fd] sig(subroutine random_destruct(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(random_destruct) arglist(CS) [fd] fullname(mom_random/random_destruct) ftype(None) [fd] name(('mom_random/random_destruct', None)) sig(subroutine random_destruct(CS)) signode(subroutine mom_random/random_destructCS) [fd] run(.. f:function:: logical function random_unit_tests(verbose)) [fd] sig(logical function random_unit_tests(verbose)) [fd] ftype(logical) objtype(function) modname(None) typename() name(random_unit_tests) arglist(verbose) [fd] fullname(mom_random/random_unit_tests) ftype(logical) [fd] name(('mom_random/random_unit_tests', 'logical')) sig(logical function random_unit_tests(verbose)) signode(function mom_random/random_unit_testsverbose [logical]) [fd] run(.. f:function:: logical function test_fn(verbose, good, label, rvalue, ivalue)) [fd] sig(logical function test_fn(verbose, good, label, rvalue, ivalue)) [fd] ftype(logical) objtype(function) modname(None) typename() name(test_fn) arglist(verbose, good, label, rvalue, ivalue) [fd] fullname(mom_random/test_fn) ftype(logical) [fd] name(('mom_random/test_fn', 'logical')) sig(logical function test_fn(verbose, good, label, rvalue, ivalue)) signode(function mom_random/test_fnverbosegoodlabelrvalueivalue [logical]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) docstring of mom_random:5: (INFO/1) Possible title underline, too short for the title. Treating it as ordinary text because it’s so short. [filtered system message] reading sources... [ 50%] api/generated/modules/mom_regridding [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_regriddi [app] emitting event: 'source-read'('api/generated/modules/mom_regridding', ['.. autodoxymodule:: mom_regridding\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_regridding.rst:1: input: .. autodoxymodule:: mom_regridding :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_regridding::regridding_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_regridding::initialize_regridding ~mom_regridding::check_grid_def ~mom_regridding::end_regridding ~mom_regridding::regridding_main ~mom_regridding::calc_h_new_by_dz ~mom_regridding::check_remapping_grid ~mom_regridding::check_grid_column ~mom_regridding::filtered_grid_motion ~mom_regridding::build_zstar_grid ~mom_regridding::build_sigma_grid ~mom_regridding::build_rho_grid ~mom_regridding::build_grid_hycom1 ~mom_regridding::build_grid_adaptive ~mom_regridding::build_grid_slight ~mom_regridding::adjust_interface_motion ~mom_regridding::build_grid_arbitrary ~mom_regridding::inflate_vanished_layers_old ~mom_regridding::convective_adjustment ~mom_regridding::uniformresolution ~mom_regridding::initcoord ~mom_regridding::setcoordinateresolution ~mom_regridding::set_target_densities_from_gv ~mom_regridding::set_target_densities ~mom_regridding::set_regrid_max_depths ~mom_regridding::set_regrid_max_thickness ~mom_regridding::getcoordinateresolution ~mom_regridding::getcoordinateinterfaces ~mom_regridding::getcoordinateunits ~mom_regridding::getcoordinateshortname ~mom_regridding::set_regrid_params ~mom_regridding::get_regrid_size ~mom_regridding::get_zlike_cs ~mom_regridding::get_sigma_cs ~mom_regridding::get_rho_cs ~mom_regridding::getstaticthickness ~mom_regridding::dz_function1 ~mom_regridding::rho_function1 [debug] xpath(./compounddef/compoundname[text()="mom_regridding"]/..) match([('id', 'namespacemom__regridding'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_regridding module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_regridding', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_regridding' (exception was: ModuleNotFoundError("No module named 'mom_regridding'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regridding::regridding_cs', , {'members': < [debug] members([('initialize_regridding', ), ('check_grid_def', ), ('end_regridding', ), ('regridding_main', ), ('calc_h_new_by_dz', ), ('check_remapping_grid', ), ('check_grid_column', ), ('filtered_grid_motion', ), ('build_zstar_grid', ), ('build_sigma_grid', ), ('build_rho_grid', ), ('build_grid_hycom1', ), ('build_grid_adaptive', ), ('build_grid_slight', ), ('adjust_interface_motion', ), ('build_grid_arbitrary', ), ('inflate_vanished_layers_old', ), ('convective_adjustment', ), ('uniformresolution', ), ('initcoord', ), ('setcoordinateresolution', ), ('set_target_densities_from_gv', ), ('set_target_densities', ), ('set_regrid_max_depths', ), ('set_regrid_max_thickness', ), ('getcoordinateresolution', ), ('getcoordinateinterfaces', ), ('getcoordinateunits', ), ('getcoordinateshortname', ), ('set_regrid_params', ), ('get_regrid_size', ), ('get_zlike_cs', ), ('get_sigma_cs', ), ('get_rho_cs', ), ('getstaticthickness', ), ('dz_function1', ), ('rho_function1', )]) [autodoc] module analyzer failed: error importing 'mom_regridding' (exception was: ModuleNotFoundError("No module named 'mom_regridding'")) [debug] DoxygenMethodDocumenter format_signature called ((CS, GV, US, max_depth, param_file, mdl, coord_mode, param_prefix, param_suffix)) [debug] add_directive_header sig((CS, GV, US, max_depth, param_file, mdl, coord_mode, param_prefix, param_suffix)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine initialize_regridding) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_regridding', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_regridding::regridding_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_regridding::initialize_regridding ~mom_regridding::check_grid_def ~mom_regridding::end_regridding ~mom_regridding::regridding_main ~mom_regridding::calc_h_new_by_dz ~mom_regridding::check_remapping_grid ~mom_regridding::check_grid_column ~mom_regridding::filtered_grid_motion ~mom_regridding::build_zstar_grid ~mom_regridding::build_sigma_grid ~mom_regridding::build_rho_grid ~mom_regridding::build_grid_hycom1 ~mom_regridding::build_grid_adaptive ~mom_regridding::build_grid_slight ~mom_regridding::adjust_interface_motion ~mom_regridding::build_grid_arbitrary ~mom_regridding::inflate_vanished_layers_old ~mom_regridding::convective_adjustment ~mom_regridding::uniformresolution ~mom_regridding::initcoord ~mom_regridding::setcoordinateresolution ~mom_regridding::set_target_densities_from_gv ~mom_regridding::set_target_densities ~mom_regridding::set_regrid_max_depths ~mom_regridding::set_regrid_max_thickness ~mom_regridding::getcoordinateresolution ~mom_regridding::getcoordinateinterfaces ~mom_regridding::getcoordinateunits ~mom_regridding::getcoordinateshortname ~mom_regridding::set_regrid_params ~mom_regridding::get_regrid_size ~mom_regridding::get_zlike_cs ~mom_regridding::get_sigma_cs ~mom_regridding::get_rho_cs ~mom_regridding::getstaticthickness ~mom_regridding::dz_function1 ~mom_regridding::rho_function1 .. _DETAmom_regridding: -------------------- Detailed Description -------------------- A vertical grid is defined solely by the cell thicknesses, :math:`h`. Most calculations in this module start with the coordinate at the bottom of the column set to -depth, and use a increasing value of coordinate with decreasing k. This is consistent with the rest of MOM6 that uses position, :math:`z` which is a negative quantity for most of the ocean. A change in grid is define through a change in position of the interfaces: .. math:: z^n_{k+1/2} = z^{n-1}_{k+1/2} + \Delta z_{k+1/2} with the positive upward coordinate convention .. math:: z_{k-1/2} = z_{k+1/2} + h_k so that .. math:: h^n_k = h^{n-1}_k + ( \Delta z_{k-1/2} - \Delta z_{k+1/2} ) Original date of creation: 2008.06.09 by L. White ------------------ Type Documentation ------------------ .. f:type:: regridding_cs Regridding control structure. :typefield real(\:) coordinateresolution [allocatable]: This array is set by function setCoordinateResolution() It contains the "resolution" or delta coordinate of the target coordinate. It has the units of the target coordinate, e.g. [Z ~> m] for z*, non-dimensional for sigma, etc. :typefield real coord_scale: This is a scaling factor that restores coordinateResolution to values in the natural units for output. :typefield real(\:) target_density [allocatable]: This array is set by function :typefield logical target_density_set: A flag to indicate that the target_density arrays has been filled with data. :typefield real(\:) max_interface_depths [allocatable]: This array is set by function :typefield real(\:) max_layer_thickness [allocatable]: This array is set by function :typefield integer nk: Number of layers/levels in generated grid. :typefield integer regridding_scheme: Indicates which grid to use in the vertical (z*, sigma, target interface densities) :typefield type(interp_cs_type) interp_cs: Interpolation control structure. :typefield real min_thickness: Minimum thickness allowed when building the new grid through regridding [H ~> m or kg m-2]. :typefield real ref_pressure: Reference pressure for potential density calculations [R L2 T-2 ~> Pa]. :typefield real old_grid_weight: Weight given to old coordinate when blending between new and old grids [nondim] Used only below depth_of_time_filter_shallow, with a cubic variation from zero to full effect between depth_of_time_filter_shallow and depth_of_time_filter_deep. :typefield real depth_of_time_filter_shallow: Depth above which no time-filtering of grid is applied [H ~> m or kg m-2]. :typefield real depth_of_time_filter_deep: Depth below which time-filtering of grid is applied at full effect [H ~> m or kg m-2]. :typefield real compressibility_fraction: Fraction (between 0 and 1) of compressibility to add to potential density profiles when interpolating for target grid positions. [nondim]. :typefield logical set_maximum_depths: If true, each interface is given a maximum depth based on a rescaling of the indexing of coordinateResolution. :typefield real max_depth_index_scale: A scaling factor (> 1) of the rate at which the coordinateResolution list is traversed to set the minimum depth of interfaces. :typefield logical integrate_downward_for_e: If true, integrate for interface positions from the top downward. If false, integrate from the bottom upward, as does the rest of the model. :typefield logical remap_answers_2018: If true, use the order of arithmetic and expressions that recover the remapping answers from 2018. If false, use more robust forms of the same remapping expressions. :typefield type(zlike_cs) zlike_cs [pointer]: Control structure for z-like coordinate generator. :typefield type(sigma_cs) sigma_cs [pointer]: Control structure for sigma coordinate generator. :typefield type(rho_cs) rho_cs [pointer]: Control structure for rho coordinate generator. :typefield type(hycom_cs) hycom_cs [pointer]: Control structure for hybrid coordinate generator. :typefield type(slight_cs) slight_cs [pointer]: Control structure for Slight-coordinate generator. :typefield type(adapt_cs) adapt_cs [pointer]: Control structure for adaptive coordinate generator. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine initialize_regridding(CS, GV, US, max_depth, param_file, mdl, coord_mode, param_prefix, param_suffix) Initialization and configures a regridding control structure based on customizable run-time parameters. :param cs: [inout] Regridding control structure :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param max_depth: [in] The maximum depth of the ocean [Z ~> m]. :param param_file: [in] Parameter file :param mdl: [in] Name of calling module. :param coord_mode: [in] Coordinate mode :param param_prefix: [in] String to prefix to parameter names. If empty, causes main model parameters to be used. :param param_suffix: [in] String to append to parameter names. :callto: :f:func:`check_grid_def ` :callto: :f:func:`dz_function1 ` :callto: :f:func:`mom_string_functions::extract_integer ` :callto: :f:func:`mom_string_functions::extract_real ` :callto: :f:func:`mom_string_functions::extractword ` :callto: :f:func:`initcoord ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regrid_consts::regridding_adaptive ` :callto: :f:func:`regrid_consts::regridding_hycom1 ` :callto: :f:func:`regrid_consts::regridding_slight ` :callto: :f:func:`regriddingdefaultboundaryextrapolation ` :callto: :f:func:`regriddingdefaultinterpscheme ` :callto: :f:func:`regriddingdefaultminthickness ` :callto: :f:func:`regriddinginterpschemedoc ` :callto: :f:func:`rho_function1 ` :callto: :f:func:`set_regrid_max_depths ` :callto: :f:func:`set_regrid_max_thickness ` :callto: :f:func:`set_regrid_params ` :callto: :f:func:`set_target_densities ` :callto: :f:func:`set_target_densities_from_gv ` :callto: :f:func:`setcoordinateresolution ` :callto: :f:func:`uniformresolution ` .. f:subroutine:: subroutine check_grid_def(filename, varname, expected_units, msg, ierr) Do some basic checks on the vertical grid definition file, variable. :param filename: [in] File name :param varname: [in] Variable name :param expected_units: [in] Expected units of variable :param msg: [inout] Message to use for errors :param ierr: [out] True if an error occurs :calledfrom: :f:func:`initialize_regridding ` .. f:subroutine:: subroutine end_regridding(CS) Deallocation of regridding memory. :param cs: [inout] Regridding control structure :callto: :f:func:`coord_adapt::end_coord_adapt ` :callto: :f:func:`coord_hycom::end_coord_hycom ` :callto: :f:func:`coord_sigma::end_coord_sigma ` :callto: :f:func:`coord_slight::end_coord_slight ` :callto: :f:func:`coord_zlike::end_coord_zlike ` .. f:subroutine:: subroutine regridding_main(remapCS, CS, G, GV, h, tv, h_new, dzInterface, frac_shelf_h, conv_adjust) Dispatching regridding routine for orchestrating regridding & remapping. :param remapcs: [in] Remapping parameters and options :param cs: [in] Regridding control structure :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param h: [inout] Current 3D grid obtained after the last time step :param tv: [inout] Thermodynamical variables (T, S, ...) :param h_new: [inout] New 3D grid consistent with target coordinate :param dzinterface: [inout] The change in position of each interface :param frac_shelf_h: Fractional ice shelf coverage :param conv_adjust: [in] If true, do convective adjustment :callto: :f:func:`build_grid_adaptive ` :callto: :f:func:`build_grid_arbitrary ` :callto: :f:func:`build_grid_hycom1 ` :callto: :f:func:`build_grid_slight ` :callto: :f:func:`build_rho_grid ` :callto: :f:func:`build_sigma_grid ` :callto: :f:func:`build_zstar_grid ` :callto: :f:func:`calc_h_new_by_dz ` :callto: :f:func:`check_remapping_grid ` :callto: :f:func:`convective_adjustment ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regrid_consts::regridding_adaptive ` :callto: :f:func:`regrid_consts::regridding_hycom1 ` :callto: :f:func:`regrid_consts::regridding_slight ` .. f:subroutine:: subroutine calc_h_new_by_dz(CS, G, GV, h, dzInterface, h_new) Calculates h_new from h + delta_k dzInterface. :param cs: [in] Regridding control structure :param g: [in] Grid structure :param gv: [in] Ocean vertical grid structure :param h: [in] Old layer thicknesses (arbitrary units) :param dzinterface: [in] Change in interface positions (same as h) :param h_new: [inout] New layer thicknesses (same as h) :calledfrom: :f:func:`build_grid_hycom1 ` :calledfrom: :f:func:`regridding_main ` .. f:subroutine:: subroutine check_remapping_grid(G, GV, h, dzInterface, msg) Check that the total thickness of two grids match. :param g: [in] Grid structure :param gv: [in] Ocean vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param dzinterface: [in] Change in interface positions [H ~> m or kg m-2] :param msg: [in] Message to append to errors :callto: :f:func:`check_grid_column ` :calledfrom: :f:func:`regridding_main ` .. f:subroutine:: subroutine check_grid_column(nk, depth, h, dzInterface, msg) Check that the total thickness of new and old grids are consistent. :param nk: [in] Number of cells :param depth: [in] Depth of bottom [Z ~> m] or arbitrary units :param h: [in] Cell thicknesses [Z ~> m] or arbitrary units :param dzinterface: [in] Change in interface positions (same units as h) :param msg: [in] Message to append to errors :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`check_remapping_grid ` .. f:subroutine:: subroutine filtered_grid_motion(CS, nk, z_old, z_new, dz_g) Returns the change in interface position motion after filtering and assuming the top and bottom interfaces do not move. The filtering is a function of depth, and is applied as the integrated average filtering over the trajectory of the interface. By design, this code can not give tangled interfaces provided that z_old and z_new are not already tangled. :param cs: [in] Regridding control structure :param nk: [in] Number of cells in source grid :param z_old: [in] Old grid position [H ~> m or kg m-2] :param z_new: [in] New grid position [H ~> m or kg m-2] :param dz_g: [inout] Change in interface positions [H ~> m or kg m-2] :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`build_grid_adaptive ` :calledfrom: :f:func:`build_grid_hycom1 ` :calledfrom: :f:func:`build_grid_slight ` :calledfrom: :f:func:`build_rho_grid ` :calledfrom: :f:func:`build_sigma_grid ` :calledfrom: :f:func:`build_zstar_grid ` .. f:subroutine:: subroutine build_zstar_grid(CS, G, GV, h, dzInterface, frac_shelf_h) Builds a z*-ccordinate grid with partial steps (Adcroft and Campin, 2004). z* is defined as z* = (z-eta)/(H+eta)*H s.t. z*=0 when z=eta and z*=-H when z=-H . :param cs: [in] Regridding control structure :param g: [in] Ocean grid structure :param gv: [in] ocean vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param dzinterface: [inout] The change in interface depth [H ~> m or kg m-2]. :param frac_shelf_h: Fractional ice shelf coverage [nondim]. :callto: :f:func:`adjust_interface_motion ` :callto: :f:func:`coord_zlike::build_zstar_column ` :callto: :f:func:`filtered_grid_motion ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`regridding_main ` .. f:subroutine:: subroutine build_sigma_grid(CS, G, GV, h, dzInterface) This routine builds a grid based on terrain-following coordinates. :param cs: [in] Regridding control structure :param g: [in] Ocean grid structure :param gv: [in] ocean vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param dzinterface: [inout] The change in interface depth [H ~> m or kg m-2] :callto: :f:func:`coord_sigma::build_sigma_column ` :callto: :f:func:`filtered_grid_motion ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`regridding_main ` .. f:subroutine:: subroutine build_rho_grid(G, GV, US, h, tv, dzInterface, remapCS, CS) This routine builds a new grid based on a given set of target interface densities. :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [in] Thermodynamics structure :param dzinterface: [inout] The change in interface depth [H ~> m or kg m-2] :param remapcs: [in] The remapping control structure :param cs: [in] Regridding control structure :callto: :f:func:`filtered_grid_motion ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`regridding_main ` .. f:subroutine:: subroutine build_grid_hycom1(G, GV, US, h, tv, h_new, dzInterface, CS) Builds a simple HyCOM-like grid with the deepest location of potential density interpolated from the column profile and a clipping of depth for each interface to a fixed z* or p* grid. This should probably be (optionally?) changed to find the nearest location of the target density. :param g: [in] Grid structure :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Existing model thickness [H ~> m or kg m-2] :param tv: [in] Thermodynamics structure :param cs: [in] Regridding control structure :param h_new: [inout] New layer thicknesses [H ~> m or kg m-2] :param dzinterface: [inout] Changes in interface position :callto: :f:func:`adjust_interface_motion ` :callto: :f:func:`coord_hycom::build_hycom1_column ` :callto: :f:func:`calc_h_new_by_dz ` :callto: :f:func:`filtered_grid_motion ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`regridding_main ` .. f:subroutine:: subroutine build_grid_adaptive(G, GV, US, h, tv, dzInterface, remapCS, CS) This subroutine builds an adaptive grid that follows density surfaces where possible, subject to constraints on the smoothness of interface heights. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [in] A structure pointing to various thermodynamic variables :param dzinterface: [inout] The change in interface depth [H ~> m or kg m-2] :param remapcs: [in] The remapping control structure :param cs: [in] Regridding control structure :callto: :f:func:`adjust_interface_motion ` :callto: :f:func:`coord_adapt::build_adapt_column ` :callto: :f:func:`filtered_grid_motion ` :calledfrom: :f:func:`regridding_main ` .. f:subroutine:: subroutine build_grid_slight(G, GV, US, h, tv, dzInterface, CS) Builds a grid that tracks density interfaces for water that is denser than the surface density plus an increment of some number of layers, and uses all lighter layers uniformly above this location. Note that this amounts to interpolating to find the depth of an arbitrary (non-integer) interface index which should make the results vary smoothly in space to the extent that the surface density and interior stratification vary smoothly in space. Over shallow topography, this will tend to give a uniform sigma-like coordinate. For sufficiently shallow water, a minimum grid spacing is used to avoid certain instabilities. :param g: [in] Grid structure :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Existing model thickness [H ~> m or kg m-2] :param tv: [in] Thermodynamics structure :param dzinterface: [inout] Changes in interface position :param cs: [in] Regridding control structure :callto: :f:func:`adjust_interface_motion ` :callto: :f:func:`coord_slight::build_slight_column ` :callto: :f:func:`filtered_grid_motion ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`regridding_main ` .. f:subroutine:: subroutine adjust_interface_motion(CS, nk, h_old, dz_int) Adjust dz_Interface to ensure non-negative future thicknesses. :param cs: [in] Regridding control structure :param nk: [in] Number of layers in h_old :param h_old: [in] Minium allowed thickness of h [H ~> m or kg m-2] :param dz_int: [inout] Minium allowed thickness of h [H ~> m or kg m-2] :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`build_grid_adaptive ` :calledfrom: :f:func:`build_grid_hycom1 ` :calledfrom: :f:func:`build_grid_slight ` :calledfrom: :f:func:`build_zstar_grid ` .. f:subroutine:: subroutine build_grid_arbitrary(G, GV, h, dzInterface, h_new, CS) :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param h: [in] Original layer thicknesses [H ~> m or kg m-2] :param dzinterface: [inout] The change in interface depth [H ~> m or kg m-2] :param h_new: [inout] New layer thicknesses [H ~> m or kg m-2] :param cs: [in] Regridding control structure :calledfrom: :f:func:`regridding_main ` .. f:subroutine:: subroutine inflate_vanished_layers_old(CS, G, GV, h) :param cs: [in] Regridding control structure :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [inout] Layer thicknesses [H ~> m or kg m-2] :callto: :f:func:`coord_rho::old_inflate_layers_1d ` .. f:subroutine:: subroutine convective_adjustment(G, GV, h, tv) Achieve convective adjustment by swapping layers. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [inout] Layer thicknesses [H ~> m or kg m-2] :param tv: [inout] A structure pointing to various thermodynamic variables :calledfrom: :f:func:`regridding_main ` .. f:function:: real function uniformresolution(nk, coordMode, maxDepth, rhoLight, rhoHeavy) Return a uniform resolution vector in the units of the coordinate. :param nk: [in] Number of cells in source grid :param coordmode: [in] A string indicating the coordinate mode. See the documenttion for :f:func:`regrid_consts` for the recognized values. for the recognized values. :param maxdepth: [in] The range of the grid values in some modes :param rholight: [in] The minimum value of the grid in RHO mode :param rhoheavy: [in] The maximum value of the grid in RHO mode :returns undefined: The returned uniform resolution grid. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regrid_consts::regridding_adaptive ` :callto: :f:func:`regrid_consts::regridding_hycom1 ` :callto: :f:func:`regrid_consts::regridding_slight ` :calledfrom: :f:func:`initialize_regridding ` .. f:subroutine:: subroutine initcoord(CS, GV, US, coord_mode) Initialize the coordinate resolutions by calling the appropriate initialization routine for the specified coordinate mode. :param cs: [inout] Regridding control structure :param coord_mode: [in] A string indicating the coordinate mode. See the documentation for :f:func:`regrid_consts` for the recognized values. for the recognized values. :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :callto: :f:func:`coord_adapt::init_coord_adapt ` :callto: :f:func:`coord_hycom::init_coord_hycom ` :callto: :f:func:`coord_sigma::init_coord_sigma ` :callto: :f:func:`coord_slight::init_coord_slight ` :callto: :f:func:`coord_zlike::init_coord_zlike ` :callto: :f:func:`regrid_consts::regridding_adaptive ` :callto: :f:func:`regrid_consts::regridding_hycom1 ` :callto: :f:func:`regrid_consts::regridding_slight ` :calledfrom: :f:func:`initialize_regridding ` .. f:subroutine:: subroutine setcoordinateresolution(dz, CS, scale) Set the fixed resolution data. :param dz: [in] A vector of vertical grid spacings :param cs: [inout] Regridding control structure :param scale: [in] A scaling factor converting dz to coordRes :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`initialize_regridding ` .. f:subroutine:: subroutine set_target_densities_from_gv(GV, US, CS) Set target densities based on the old Rlay variable. :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param cs: [inout] Regridding control structure :calledfrom: :f:func:`initialize_regridding ` .. f:subroutine:: subroutine set_target_densities(CS, rho_int) Set target densities based on vector of interface values. :param cs: [inout] Regridding control structure :param rho_int: [in] Interface densities [R ~> kg m-3] :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`initialize_regridding ` .. f:subroutine:: subroutine set_regrid_max_depths(CS, max_depths, units_to_H) Set maximum interface depths based on a vector of input values. :param cs: [inout] Regridding control structure :param max_depths: [in] Maximum interface depths, in arbitrary units :param units_to_h: [in] A conversion factor for max_depths into H units :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regrid_consts::regridding_hycom1 ` :callto: :f:func:`regrid_consts::regridding_slight ` :callto: :f:func:`coord_hycom::set_hycom_params ` :callto: :f:func:`coord_slight::set_slight_params ` :calledfrom: :f:func:`initialize_regridding ` .. f:subroutine:: subroutine set_regrid_max_thickness(CS, max_h, units_to_H) Set maximum layer thicknesses based on a vector of input values. :param cs: [inout] Regridding control structure :param max_h: [in] Maximum interface depths, in arbitrary units :param units_to_h: [in] A conversion factor for max_h into H units :callto: :f:func:`regrid_consts::regridding_hycom1 ` :callto: :f:func:`regrid_consts::regridding_slight ` :callto: :f:func:`coord_hycom::set_hycom_params ` :callto: :f:func:`coord_slight::set_slight_params ` :calledfrom: :f:func:`initialize_regridding ` .. f:function:: real function getcoordinateresolution(CS, undo_scaling) Query the fixed resolution data. :param cs: [in] Regridding control structure :param undo_scaling: [in] If present and true, undo any internal rescaling of the resolution data. .. f:function:: real function getcoordinateinterfaces(CS, undo_scaling) Query the target coordinate interface positions. :param cs: [in] Regridding control structure :param undo_scaling: [in] If present and true, undo any internal rescaling of the resolution data. :returns undefined: Interface positions in target coordinate :callto: :f:func:`mom_error_handler::mom_error ` .. f:function:: character(len=20) function getcoordinateunits(CS) Query the target coordinate units. :param cs: [in] Regridding control structure :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regrid_consts::regridding_adaptive ` :callto: :f:func:`regrid_consts::regridding_hycom1 ` :callto: :f:func:`regrid_consts::regridding_slight ` .. f:function:: character(len=20) function getcoordinateshortname(CS) Query the short name of the coordinate. :param cs: [in] Regridding control structure :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regrid_consts::regridding_adaptive ` :callto: :f:func:`regrid_consts::regridding_hycom1 ` :callto: :f:func:`regrid_consts::regridding_slight ` .. f:subroutine:: subroutine set_regrid_params(CS, boundary_extrapolation, min_thickness, old_grid_weight, interp_scheme, depth_of_time_filter_shallow, depth_of_time_filter_deep, compress_fraction, ref_pressure, dz_min_surface, nz_fixed_surface, Rho_ML_avg_depth, nlay_ML_to_interior, fix_haloclines, halocline_filt_len, halocline_strat_tol, integrate_downward_for_e, remap_answers_2018, adaptTimeRatio, adaptZoom, adaptZoomCoeff, adaptBuoyCoeff, adaptAlpha, adaptDoMin, adaptDrho0) Can be used to set any of the parameters for MOM_regridding. :param cs: [inout] Regridding control structure :param boundary_extrapolation: [in] Extrapolate in boundary cells :param min_thickness: [in] Minimum thickness allowed when building the new grid [H ~> m or kg m-2] :param old_grid_weight: [in] Weight given to old coordinate when time-filtering grid :param interp_scheme: [in] Interpolation method for state-dependent coordinates :param depth_of_time_filter_shallow: [in] Depth to start cubic [H ~> m or kg m-2] :param depth_of_time_filter_deep: [in] Depth to end cubic [H ~> m or kg m-2] :param compress_fraction: [in] Fraction of compressibility to add to potential density [nondim] :param ref_pressure: [in] The reference pressure for density-dependent coordinates [R L2 T-2 ~> Pa] :param dz_min_surface: [in] The fixed resolution in the topmost SLight_nkml_min layers [H ~> m or kg m-2] :param nz_fixed_surface: [in] The number of fixed-thickness layers at the top of the model :param rho_ml_avg_depth: [in] Averaging depth over which to determine mixed layer potential density [H ~> m or kg m-2] :param nlay_ml_to_interior: [in] Number of layers to offset the mixed layer density to find resolved stratification [nondim] :param fix_haloclines: [in] Detect regions with much weaker stratification in the coordinate :param halocline_filt_len: [in] Length scale over which to filter T & S when looking for spuriously unstable water mass profiles [H ~> m or kg m-2] :param halocline_strat_tol: [in] Value of the stratification ratio that defines a problematic halocline region. :param integrate_downward_for_e: [in] If true, integrate for interface positions downward from the top. :param remap_answers_2018: [in] If true, use the order of arithmetic and expressions that recover the remapping answers from 2018. Otherwise use more robust but mathematically equivalent expressions. :param adapttimeratio: [in] Ratio of the ALE timestep to the grid timescale [nondim]. :param adaptzoom: [in] Depth of near-surface zooming region [H ~> m or kg m-2]. :param adaptzoomcoeff: [in] Coefficient of near-surface zooming diffusivity [nondim]. :param adaptbuoycoeff: [in] Coefficient of buoyancy diffusivity [nondim]. :param adaptalpha: [in] Scaling factor on optimization tendency [nondim]. :param adaptdomin: [in] If true, make a HyCOM-like mixed layer by preventing interfaces from being shallower than the depths specified by the regridding coordinate. :param adaptdrho0: [in] Reference density difference for stratification-dependent diffusion. [R ~> kg m-3] :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regrid_consts::regridding_adaptive ` :callto: :f:func:`regrid_consts::regridding_hycom1 ` :callto: :f:func:`regrid_consts::regridding_slight ` :callto: :f:func:`coord_adapt::set_adapt_params ` :callto: :f:func:`coord_hycom::set_hycom_params ` :callto: :f:func:`regrid_interp::set_interp_extrap ` :callto: :f:func:`regrid_interp::set_interp_scheme ` :callto: :f:func:`coord_sigma::set_sigma_params ` :callto: :f:func:`coord_slight::set_slight_params ` :callto: :f:func:`coord_zlike::set_zlike_params ` :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` :calledfrom: :f:func:`initialize_regridding ` .. f:function:: integer function get_regrid_size(CS) Returns the number of levels/layers in the regridding control structure. :param cs: [inout] Regridding control structure .. f:function:: type(zlike_cs) function get_zlike_cs(CS) This returns a copy of the zlike_CS stored in the regridding control structure. :param cs: [in] Regridding control structure :calledfrom: :f:func:`mom_diag_remap::diag_remap_update ` .. f:function:: type(sigma_cs) function get_sigma_cs(CS) This returns a copy of the sigma_CS stored in the regridding control structure. :param cs: [in] Regridding control structure :calledfrom: :f:func:`mom_diag_remap::diag_remap_update ` .. f:function:: type(rho_cs) function get_rho_cs(CS) This returns a copy of the rho_CS stored in the regridding control structure. :param cs: [in] Regridding control structure :calledfrom: :f:func:`mom_diag_remap::diag_remap_update ` .. f:function:: real function getstaticthickness(CS, SSH, depth) Return coordinate-derived thicknesses for fixed coordinate systems. :param cs: [in] Regridding control structure :param ssh: [in] The sea surface height, in the same units as depth :param depth: [in] The maximum depth of the grid, often [Z ~> m] :returns undefined: The returned thicknesses in the units of depth :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regrid_consts::regridding_adaptive ` :callto: :f:func:`regrid_consts::regridding_hycom1 ` :callto: :f:func:`regrid_consts::regridding_slight ` :calledfrom: :f:func:`mom_ale::ale_initthicknesstocoord ` .. f:subroutine:: subroutine dz_function1(string, dz) Parses a string and generates a dz(:) profile that goes like k**power. :param string: [in] String with list of parameters in form dz_min, H_total, power, precision :param dz: [inout] Profile of nominal thicknesses :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`initialize_regridding ` .. f:function:: integer function rho_function1(string, rho_target) Parses a string and generates a rho_target(:) profile with refined resolution downward and returns the number of levels. :param string: [in] String with list of parameters in form dz_min, H_total, power, precision :param rho_target: [inout] Profile of interface densities [kg m-3] :calledfrom: :f:func:`initialize_regridding ` [debug] xpath(./compounddef/compoundname[text()="mom_regridding::regridding_cs"]/..) match([('id', 'structmom__regridding_1_1regridding__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_regridding::regridding_cs', , {}, ['', 'R [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_regridding::regridding_cs', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_regridding::regridding_cs', , {}, ['', 'R [debug] DoxygenMethodDocumenter format_signature called ((CS, GV, US, max_depth, param_file, mdl, coord_mode, param_prefix, param_suffix)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::initialize_regridding', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::initialize_regridding', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((filename, varname, expected_units, msg, ierr)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::check_grid_def', , {}, ['', 'Do [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::check_grid_def', , {}, ['', 'Do [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::end_regridding', , {}, ['', 'De [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::end_regridding', , {}, ['', 'De [debug] DoxygenMethodDocumenter format_signature called ((remapCS, CS, G, GV, h, tv, h_new, dzInterface, frac_shelf_h, conv_adjust)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::regridding_main', , {}, ['', 'D [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::regridding_main', , {}, ['', 'D [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, h, dzInterface, h_new)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::calc_h_new_by_dz', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::calc_h_new_by_dz', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((G, GV, h, dzInterface, msg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::check_remapping_grid', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::check_remapping_grid', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((nk, depth, h, dzInterface, msg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::check_grid_column', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::check_grid_column', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((CS, nk, z_old, z_new, dz_g)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::filtered_grid_motion', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::filtered_grid_motion', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, h, dzInterface, frac_shelf_h)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::build_zstar_grid', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::build_zstar_grid', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, h, dzInterface)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::build_sigma_grid', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::build_sigma_grid', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, h, tv, dzInterface, remapCS, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::build_rho_grid', , {}, ['', 'Th [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::build_rho_grid', , {}, ['', 'Th [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, h, tv, h_new, dzInterface, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::build_grid_hycom1', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::build_grid_hycom1', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, h, tv, dzInterface, remapCS, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::build_grid_adaptive', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::build_grid_adaptive', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, h, tv, dzInterface, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::build_grid_slight', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::build_grid_slight', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((CS, nk, h_old, dz_int)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::adjust_interface_motion', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::adjust_interface_motion', , {}, [debug] DoxygenMethodDocumenter format_signature called ((G, GV, h, dzInterface, h_new, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::build_grid_arbitrary', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::build_grid_arbitrary', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((CS, G, GV, h)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::inflate_vanished_layers_old', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::inflate_vanished_layers_old', , [debug] DoxygenMethodDocumenter format_signature called ((G, GV, h, tv)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::convective_adjustment', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::convective_adjustment', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((nk, coordMode, maxDepth, rhoLight, rhoHeavy)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::uniformresolution', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::uniformresolution', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((CS, GV, US, coord_mode)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::initcoord', , {}, ['', 'Initial [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::initcoord', , {}, ['', 'Initial [debug] DoxygenMethodDocumenter format_signature called ((dz, CS, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::setcoordinateresolution', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::setcoordinateresolution', , {}, [debug] DoxygenMethodDocumenter format_signature called ((GV, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::set_target_densities_from_gv', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::set_target_densities_from_gv', [debug] DoxygenMethodDocumenter format_signature called ((CS, rho_int)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::set_target_densities', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::set_target_densities', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((CS, max_depths, units_to_H)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::set_regrid_max_depths', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::set_regrid_max_depths', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((CS, max_h, units_to_H)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::set_regrid_max_thickness', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::set_regrid_max_thickness', , {} [debug] DoxygenMethodDocumenter format_signature called ((CS, undo_scaling)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::getcoordinateresolution', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::getcoordinateresolution', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS, undo_scaling)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::getcoordinateinterfaces', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::getcoordinateinterfaces', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::getcoordinateunits', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::getcoordinateunits', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::getcoordinateshortname', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::getcoordinateshortname', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS, boundary_extrapolation, min_thickness, old_grid_weight, interp_scheme, depth_of_time_filter_shallow, depth_of_time_filter_deep, compress_fraction, ref_pressure, dz_min_surface, nz_fixed_surface, Rho_ML_avg_depth, nlay_ML_to_interior, fix_haloclines, halocline_filt_len, halocline_strat_tol, integrate_downward_for_e, remap_answers_2018, adaptTimeRatio, adaptZoom, adaptZoomCoeff, adaptBuoyCoeff, adaptAlpha, adaptDoMin, adaptDrho0)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::set_regrid_params', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::set_regrid_params', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::get_regrid_size', , {}, ['', 'R [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::get_regrid_size', , {}, ['', 'R [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::get_zlike_cs', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::get_zlike_cs', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::get_sigma_cs', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::get_sigma_cs', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::get_rho_cs', , {}, ['', 'This r [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::get_rho_cs', , {}, ['', 'This r [debug] DoxygenMethodDocumenter format_signature called ((CS, SSH, depth)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::getstaticthickness', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::getstaticthickness', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((string, dz)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::dz_function1', , {}, ['', 'Pars [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::dz_function1', , {}, ['', 'Pars [debug] DoxygenMethodDocumenter format_signature called ((string, rho_target)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::rho_function1', , {}, ['', 'Par [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regridding::rho_function1', , {}, ['', 'Par [fd] run(.. f:type:: regridding_cs) [fd] sig(regridding_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(regridding_cs) arglist(None) [fd] fullname(mom_regridding/regridding_cs) ftype(None) [fd] name(('mom_regridding/regridding_cs', None)) sig(regridding_cs) signode(type mom_regridding/regridding_cs) [fd] run(.. f:subroutine:: subroutine initialize_regridding(CS, GV, US, max_depth, param_file, mdl, coord_mode, param_prefix, param_suffix)) [fd] sig(subroutine initialize_regridding(CS, GV, US, max_depth, param_file, mdl, coord_mode, param_prefix, param_suffix)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_regridding) arglist(CS, GV, US, max_depth, param_file, mdl, coord_mode, param_prefix, param_suffix) [fd] fullname(mom_regridding/initialize_regridding) ftype(None) [fd] name(('mom_regridding/initialize_regridding', None)) sig(subroutine initialize_regridding(CS, GV, US, max_depth, param_file, mdl, coord_mode, param_prefix, param_suffix)) signode(subroutine mom_regridding/initialize_regriddingCSGVUSmax_depthparam_filemdlcoord_modeparam_prefixparam_suffix) [fd] run(.. f:subroutine:: subroutine check_grid_def(filename, varname, expected_units, msg, ierr)) [fd] sig(subroutine check_grid_def(filename, varname, expected_units, msg, ierr)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_grid_def) arglist(filename, varname, expected_units, msg, ierr) [fd] fullname(mom_regridding/check_grid_def) ftype(None) [fd] name(('mom_regridding/check_grid_def', None)) sig(subroutine check_grid_def(filename, varname, expected_units, msg, ierr)) signode(subroutine mom_regridding/check_grid_deffilenamevarnameexpected_unitsmsgierr) [fd] run(.. f:subroutine:: subroutine end_regridding(CS)) [fd] sig(subroutine end_regridding(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(end_regridding) arglist(CS) [fd] fullname(mom_regridding/end_regridding) ftype(None) [fd] name(('mom_regridding/end_regridding', None)) sig(subroutine end_regridding(CS)) signode(subroutine mom_regridding/end_regriddingCS) [fd] run(.. f:subroutine:: subroutine regridding_main(remapCS, CS, G, GV, h, tv, h_new, dzInterface, frac_shelf_h, conv_adjust)) [fd] sig(subroutine regridding_main(remapCS, CS, G, GV, h, tv, h_new, dzInterface, frac_shelf_h, conv_adjust)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(regridding_main) arglist(remapCS, CS, G, GV, h, tv, h_new, dzInterface, frac_shelf_h, conv_adjust) [fd] fullname(mom_regridding/regridding_main) ftype(None) [fd] name(('mom_regridding/regridding_main', None)) sig(subroutine regridding_main(remapCS, CS, G, GV, h, tv, h_new, dzInterface, frac_shelf_h, conv_adjust)) signode(subroutine mom_regridding/regridding_mainremapCSCSGGVhtvh_newdzInterfacefrac_shelf_hconv_adjust) [fd] run(.. f:subroutine:: subroutine calc_h_new_by_dz(CS, G, GV, h, dzInterface, h_new)) [fd] sig(subroutine calc_h_new_by_dz(CS, G, GV, h, dzInterface, h_new)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calc_h_new_by_dz) arglist(CS, G, GV, h, dzInterface, h_new) [fd] fullname(mom_regridding/calc_h_new_by_dz) ftype(None) [fd] name(('mom_regridding/calc_h_new_by_dz', None)) sig(subroutine calc_h_new_by_dz(CS, G, GV, h, dzInterface, h_new)) signode(subroutine mom_regridding/calc_h_new_by_dzCSGGVhdzInterfaceh_new) [fd] run(.. f:subroutine:: subroutine check_remapping_grid(G, GV, h, dzInterface, msg)) [fd] sig(subroutine check_remapping_grid(G, GV, h, dzInterface, msg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_remapping_grid) arglist(G, GV, h, dzInterface, msg) [fd] fullname(mom_regridding/check_remapping_grid) ftype(None) [fd] name(('mom_regridding/check_remapping_grid', None)) sig(subroutine check_remapping_grid(G, GV, h, dzInterface, msg)) signode(subroutine mom_regridding/check_remapping_gridGGVhdzInterfacemsg) [fd] run(.. f:subroutine:: subroutine check_grid_column(nk, depth, h, dzInterface, msg)) [fd] sig(subroutine check_grid_column(nk, depth, h, dzInterface, msg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_grid_column) arglist(nk, depth, h, dzInterface, msg) [fd] fullname(mom_regridding/check_grid_column) ftype(None) [fd] name(('mom_regridding/check_grid_column', None)) sig(subroutine check_grid_column(nk, depth, h, dzInterface, msg)) signode(subroutine mom_regridding/check_grid_columnnkdepthhdzInterfacemsg) [fd] run(.. f:subroutine:: subroutine filtered_grid_motion(CS, nk, z_old, z_new, dz_g)) [fd] sig(subroutine filtered_grid_motion(CS, nk, z_old, z_new, dz_g)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(filtered_grid_motion) arglist(CS, nk, z_old, z_new, dz_g) [fd] fullname(mom_regridding/filtered_grid_motion) ftype(None) [fd] name(('mom_regridding/filtered_grid_motion', None)) sig(subroutine filtered_grid_motion(CS, nk, z_old, z_new, dz_g)) signode(subroutine mom_regridding/filtered_grid_motionCSnkz_oldz_newdz_g) [fd] run(.. f:subroutine:: subroutine build_zstar_grid(CS, G, GV, h, dzInterface, frac_shelf_h)) [fd] sig(subroutine build_zstar_grid(CS, G, GV, h, dzInterface, frac_shelf_h)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(build_zstar_grid) arglist(CS, G, GV, h, dzInterface, frac_shelf_h) [fd] fullname(mom_regridding/build_zstar_grid) ftype(None) [fd] name(('mom_regridding/build_zstar_grid', None)) sig(subroutine build_zstar_grid(CS, G, GV, h, dzInterface, frac_shelf_h)) signode(subroutine mom_regridding/build_zstar_gridCSGGVhdzInterfacefrac_shelf_h) [fd] run(.. f:subroutine:: subroutine build_sigma_grid(CS, G, GV, h, dzInterface)) [fd] sig(subroutine build_sigma_grid(CS, G, GV, h, dzInterface)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(build_sigma_grid) arglist(CS, G, GV, h, dzInterface) [fd] fullname(mom_regridding/build_sigma_grid) ftype(None) [fd] name(('mom_regridding/build_sigma_grid', None)) sig(subroutine build_sigma_grid(CS, G, GV, h, dzInterface)) signode(subroutine mom_regridding/build_sigma_gridCSGGVhdzInterface) [fd] run(.. f:subroutine:: subroutine build_rho_grid(G, GV, US, h, tv, dzInterface, remapCS, CS)) [fd] sig(subroutine build_rho_grid(G, GV, US, h, tv, dzInterface, remapCS, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(build_rho_grid) arglist(G, GV, US, h, tv, dzInterface, remapCS, CS) [fd] fullname(mom_regridding/build_rho_grid) ftype(None) [fd] name(('mom_regridding/build_rho_grid', None)) sig(subroutine build_rho_grid(G, GV, US, h, tv, dzInterface, remapCS, CS)) signode(subroutine mom_regridding/build_rho_gridGGVUShtvdzInterfaceremapCSCS) [fd] run(.. f:subroutine:: subroutine build_grid_hycom1(G, GV, US, h, tv, h_new, dzInterface, CS)) [fd] sig(subroutine build_grid_hycom1(G, GV, US, h, tv, h_new, dzInterface, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(build_grid_hycom1) arglist(G, GV, US, h, tv, h_new, dzInterface, CS) [fd] fullname(mom_regridding/build_grid_hycom1) ftype(None) [fd] name(('mom_regridding/build_grid_hycom1', None)) sig(subroutine build_grid_hycom1(G, GV, US, h, tv, h_new, dzInterface, CS)) signode(subroutine mom_regridding/build_grid_hycom1GGVUShtvh_newdzInterfaceCS) [fd] run(.. f:subroutine:: subroutine build_grid_adaptive(G, GV, US, h, tv, dzInterface, remapCS, CS)) [fd] sig(subroutine build_grid_adaptive(G, GV, US, h, tv, dzInterface, remapCS, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(build_grid_adaptive) arglist(G, GV, US, h, tv, dzInterface, remapCS, CS) [fd] fullname(mom_regridding/build_grid_adaptive) ftype(None) [fd] name(('mom_regridding/build_grid_adaptive', None)) sig(subroutine build_grid_adaptive(G, GV, US, h, tv, dzInterface, remapCS, CS)) signode(subroutine mom_regridding/build_grid_adaptiveGGVUShtvdzInterfaceremapCSCS) [fd] run(.. f:subroutine:: subroutine build_grid_slight(G, GV, US, h, tv, dzInterface, CS)) [fd] sig(subroutine build_grid_slight(G, GV, US, h, tv, dzInterface, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(build_grid_slight) arglist(G, GV, US, h, tv, dzInterface, CS) [fd] fullname(mom_regridding/build_grid_slight) ftype(None) [fd] name(('mom_regridding/build_grid_slight', None)) sig(subroutine build_grid_slight(G, GV, US, h, tv, dzInterface, CS)) signode(subroutine mom_regridding/build_grid_slightGGVUShtvdzInterfaceCS) [fd] run(.. f:subroutine:: subroutine adjust_interface_motion(CS, nk, h_old, dz_int)) [fd] sig(subroutine adjust_interface_motion(CS, nk, h_old, dz_int)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(adjust_interface_motion) arglist(CS, nk, h_old, dz_int) [fd] fullname(mom_regridding/adjust_interface_motion) ftype(None) [fd] name(('mom_regridding/adjust_interface_motion', None)) sig(subroutine adjust_interface_motion(CS, nk, h_old, dz_int)) signode(subroutine mom_regridding/adjust_interface_motionCSnkh_olddz_int) [fd] run(.. f:subroutine:: subroutine build_grid_arbitrary(G, GV, h, dzInterface, h_new, CS)) [fd] sig(subroutine build_grid_arbitrary(G, GV, h, dzInterface, h_new, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(build_grid_arbitrary) arglist(G, GV, h, dzInterface, h_new, CS) [fd] fullname(mom_regridding/build_grid_arbitrary) ftype(None) [fd] name(('mom_regridding/build_grid_arbitrary', None)) sig(subroutine build_grid_arbitrary(G, GV, h, dzInterface, h_new, CS)) signode(subroutine mom_regridding/build_grid_arbitraryGGVhdzInterfaceh_newCS) [fd] run(.. f:subroutine:: subroutine inflate_vanished_layers_old(CS, G, GV, h)) [fd] sig(subroutine inflate_vanished_layers_old(CS, G, GV, h)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(inflate_vanished_layers_old) arglist(CS, G, GV, h) [fd] fullname(mom_regridding/inflate_vanished_layers_old) ftype(None) [fd] name(('mom_regridding/inflate_vanished_layers_old', None)) sig(subroutine inflate_vanished_layers_old(CS, G, GV, h)) signode(subroutine mom_regridding/inflate_vanished_layers_oldCSGGVh) [fd] run(.. f:subroutine:: subroutine convective_adjustment(G, GV, h, tv)) [fd] sig(subroutine convective_adjustment(G, GV, h, tv)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(convective_adjustment) arglist(G, GV, h, tv) [fd] fullname(mom_regridding/convective_adjustment) ftype(None) [fd] name(('mom_regridding/convective_adjustment', None)) sig(subroutine convective_adjustment(G, GV, h, tv)) signode(subroutine mom_regridding/convective_adjustmentGGVhtv) [fd] run(.. f:function:: real function uniformresolution(nk, coordMode, maxDepth, rhoLight, rhoHeavy)) [fd] sig(real function uniformresolution(nk, coordMode, maxDepth, rhoLight, rhoHeavy)) [fd] ftype(real) objtype(function) modname(None) typename() name(uniformresolution) arglist(nk, coordMode, maxDepth, rhoLight, rhoHeavy) [fd] fullname(mom_regridding/uniformresolution) ftype(real) [fd] name(('mom_regridding/uniformresolution', 'real')) sig(real function uniformresolution(nk, coordMode, maxDepth, rhoLight, rhoHeavy)) signode(function mom_regridding/uniformresolutionnkcoordModemaxDepthrhoLightrhoHeavy [real]) [fd] run(.. f:subroutine:: subroutine initcoord(CS, GV, US, coord_mode)) [fd] sig(subroutine initcoord(CS, GV, US, coord_mode)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initcoord) arglist(CS, GV, US, coord_mode) [fd] fullname(mom_regridding/initcoord) ftype(None) [fd] name(('mom_regridding/initcoord', None)) sig(subroutine initcoord(CS, GV, US, coord_mode)) signode(subroutine mom_regridding/initcoordCSGVUScoord_mode) [fd] run(.. f:subroutine:: subroutine setcoordinateresolution(dz, CS, scale)) [fd] sig(subroutine setcoordinateresolution(dz, CS, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(setcoordinateresolution) arglist(dz, CS, scale) [fd] fullname(mom_regridding/setcoordinateresolution) ftype(None) [fd] name(('mom_regridding/setcoordinateresolution', None)) sig(subroutine setcoordinateresolution(dz, CS, scale)) signode(subroutine mom_regridding/setcoordinateresolutiondzCSscale) [fd] run(.. f:subroutine:: subroutine set_target_densities_from_gv(GV, US, CS)) [fd] sig(subroutine set_target_densities_from_gv(GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_target_densities_from_gv) arglist(GV, US, CS) [fd] fullname(mom_regridding/set_target_densities_from_gv) ftype(None) [fd] name(('mom_regridding/set_target_densities_from_gv', None)) sig(subroutine set_target_densities_from_gv(GV, US, CS)) signode(subroutine mom_regridding/set_target_densities_from_gvGVUSCS) [fd] run(.. f:subroutine:: subroutine set_target_densities(CS, rho_int)) [fd] sig(subroutine set_target_densities(CS, rho_int)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_target_densities) arglist(CS, rho_int) [fd] fullname(mom_regridding/set_target_densities) ftype(None) [fd] name(('mom_regridding/set_target_densities', None)) sig(subroutine set_target_densities(CS, rho_int)) signode(subroutine mom_regridding/set_target_densitiesCSrho_int) [fd] run(.. f:subroutine:: subroutine set_regrid_max_depths(CS, max_depths, units_to_H)) [fd] sig(subroutine set_regrid_max_depths(CS, max_depths, units_to_H)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_regrid_max_depths) arglist(CS, max_depths, units_to_H) [fd] fullname(mom_regridding/set_regrid_max_depths) ftype(None) [fd] name(('mom_regridding/set_regrid_max_depths', None)) sig(subroutine set_regrid_max_depths(CS, max_depths, units_to_H)) signode(subroutine mom_regridding/set_regrid_max_depthsCSmax_depthsunits_to_H) [fd] run(.. f:subroutine:: subroutine set_regrid_max_thickness(CS, max_h, units_to_H)) [fd] sig(subroutine set_regrid_max_thickness(CS, max_h, units_to_H)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_regrid_max_thickness) arglist(CS, max_h, units_to_H) [fd] fullname(mom_regridding/set_regrid_max_thickness) ftype(None) [fd] name(('mom_regridding/set_regrid_max_thickness', None)) sig(subroutine set_regrid_max_thickness(CS, max_h, units_to_H)) signode(subroutine mom_regridding/set_regrid_max_thicknessCSmax_hunits_to_H) [fd] run(.. f:function:: real function getcoordinateresolution(CS, undo_scaling)) [fd] sig(real function getcoordinateresolution(CS, undo_scaling)) [fd] ftype(real) objtype(function) modname(None) typename() name(getcoordinateresolution) arglist(CS, undo_scaling) [fd] fullname(mom_regridding/getcoordinateresolution) ftype(real) [fd] name(('mom_regridding/getcoordinateresolution', 'real')) sig(real function getcoordinateresolution(CS, undo_scaling)) signode(function mom_regridding/getcoordinateresolutionCSundo_scaling [real]) [fd] run(.. f:function:: real function getcoordinateinterfaces(CS, undo_scaling)) [fd] sig(real function getcoordinateinterfaces(CS, undo_scaling)) [fd] ftype(real) objtype(function) modname(None) typename() name(getcoordinateinterfaces) arglist(CS, undo_scaling) [fd] fullname(mom_regridding/getcoordinateinterfaces) ftype(real) [fd] name(('mom_regridding/getcoordinateinterfaces', 'real')) sig(real function getcoordinateinterfaces(CS, undo_scaling)) signode(function mom_regridding/getcoordinateinterfacesCSundo_scaling [real]) [fd] run(.. f:function:: character(len=20) function getcoordinateunits(CS)) [fd] sig(character(len=20) function getcoordinateunits(CS)) [fd] ftype(character(len=20)) objtype(function) modname(None) typename() name(getcoordinateunits) arglist(CS) [fd] fullname(mom_regridding/getcoordinateunits) ftype(character(len=20)) [fd] name(('mom_regridding/getcoordinateunits', 'character(len=20)')) sig(character(len=20) function getcoordinateunits(CS)) signode(function mom_regridding/getcoordinateunitsCS [character(len=20)]) [fd] run(.. f:function:: character(len=20) function getcoordinateshortname(CS)) [fd] sig(character(len=20) function getcoordinateshortname(CS)) [fd] ftype(character(len=20)) objtype(function) modname(None) typename() name(getcoordinateshortname) arglist(CS) [fd] fullname(mom_regridding/getcoordinateshortname) ftype(character(len=20)) [fd] name(('mom_regridding/getcoordinateshortname', 'character(len=20)')) sig(character(len=20) function getcoordinateshortname(CS)) signode(function mom_regridding/getcoordinateshortnameCS [character(len=20)]) [fd] run(.. f:subroutine:: subroutine set_regrid_params(CS, boundary_extrapolation, min_thickness, old_grid_weight, interp_scheme, depth_of_time_filter_shallow, depth_of_time_filter_deep, compress_fraction, ref_pressure, dz_min_surface, nz_fixed_surface, Rho_ML_avg_depth, nlay_ML_to_interior, fix_haloclines, halocline_filt_len, halocline_strat_tol, integrate_downward_for_e, remap_answers_2018, adaptTimeRatio, adaptZoom, adaptZoomCoeff, adaptBuoyCoeff, adaptAlpha, adaptDoMin, adaptDrho0)) [fd] sig(subroutine set_regrid_params(CS, boundary_extrapolation, min_thickness, old_grid_weight, interp_scheme, depth_of_time_filter_shallow, depth_of_time_filter_deep, compress_fraction, ref_pressure, dz_min_surface, nz_fixed_surface, Rho_ML_avg_depth, nlay_ML_to_interior, fix_haloclines, halocline_filt_len, halocline_strat_tol, integrate_downward_for_e, remap_answers_2018, adaptTimeRatio, adaptZoom, adaptZoomCoeff, adaptBuoyCoeff, adaptAlpha, adaptDoMin, adaptDrho0)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_regrid_params) arglist(CS, boundary_extrapolation, min_thickness, old_grid_weight, interp_scheme, depth_of_time_filter_shallow, depth_of_time_filter_deep, compress_fraction, ref_pressure, dz_min_surface, nz_fixed_surface, Rho_ML_avg_depth, nlay_ML_to_interior, fix_haloclines, halocline_filt_len, halocline_strat_tol, integrate_downward_for_e, remap_answers_2018, adaptTimeRatio, adaptZoom, adaptZoomCoeff, adaptBuoyCoeff, adaptAlpha, adaptDoMin, adaptDrho0) [fd] fullname(mom_regridding/set_regrid_params) ftype(None) [fd] name(('mom_regridding/set_regrid_params', None)) sig(subroutine set_regrid_params(CS, boundary_extrapolation, min_thickness, old_grid_weight, interp_scheme, depth_of_time_filter_shallow, depth_of_time_filter_deep, compress_fraction, ref_pressure, dz_min_surface, nz_fixed_surface, Rho_ML_avg_depth, nlay_ML_to_interior, fix_haloclines, halocline_filt_len, halocline_strat_tol, integrate_downward_for_e, remap_answers_2018, adaptTimeRatio, adaptZoom, adaptZoomCoeff, adaptBuoyCoeff, adaptAlpha, adaptDoMin, adaptDrho0)) signode(subroutine mom_regridding/set_regrid_paramsCSboundary_extrapolationmin_thicknessold_grid_weightinterp_schemedepth_of_time_filter_shallowdepth_of_time_filter_deepcompress_fractionref_pressuredz_min_surfacenz_fixed_surfaceRho_ML_avg_depthnlay_ML_to_interiorfix_haloclineshalocline_filt_lenhalocline_strat_tolintegrate_downward_for_eremap_answers_2018adaptTimeRatioadaptZoomadaptZoomCoeffadaptBuoyCoeffadaptAlphaadaptDoMinadaptDrho0) [fd] run(.. f:function:: integer function get_regrid_size(CS)) [fd] sig(integer function get_regrid_size(CS)) [fd] ftype(integer) objtype(function) modname(None) typename() name(get_regrid_size) arglist(CS) [fd] fullname(mom_regridding/get_regrid_size) ftype(integer) [fd] name(('mom_regridding/get_regrid_size', 'integer')) sig(integer function get_regrid_size(CS)) signode(function mom_regridding/get_regrid_sizeCS [integer]) [fd] run(.. f:function:: type(zlike_cs) function get_zlike_cs(CS)) [fd] sig(type(zlike_cs) function get_zlike_cs(CS)) [fd] ftype(type(zlike_cs)) objtype(function) modname(None) typename() name(get_zlike_cs) arglist(CS) [fd] fullname(mom_regridding/get_zlike_cs) ftype(type(zlike_cs)) [fd] name(('mom_regridding/get_zlike_cs', 'type(zlike_cs)')) sig(type(zlike_cs) function get_zlike_cs(CS)) signode(function mom_regridding/get_zlike_csCS [type(zlike_cs)]) [fd] run(.. f:function:: type(sigma_cs) function get_sigma_cs(CS)) [fd] sig(type(sigma_cs) function get_sigma_cs(CS)) [fd] ftype(type(sigma_cs)) objtype(function) modname(None) typename() name(get_sigma_cs) arglist(CS) [fd] fullname(mom_regridding/get_sigma_cs) ftype(type(sigma_cs)) [fd] name(('mom_regridding/get_sigma_cs', 'type(sigma_cs)')) sig(type(sigma_cs) function get_sigma_cs(CS)) signode(function mom_regridding/get_sigma_csCS [type(sigma_cs)]) [fd] run(.. f:function:: type(rho_cs) function get_rho_cs(CS)) [fd] sig(type(rho_cs) function get_rho_cs(CS)) [fd] ftype(type(rho_cs)) objtype(function) modname(None) typename() name(get_rho_cs) arglist(CS) [fd] fullname(mom_regridding/get_rho_cs) ftype(type(rho_cs)) [fd] name(('mom_regridding/get_rho_cs', 'type(rho_cs)')) sig(type(rho_cs) function get_rho_cs(CS)) signode(function mom_regridding/get_rho_csCS [type(rho_cs)]) [fd] run(.. f:function:: real function getstaticthickness(CS, SSH, depth)) [fd] sig(real function getstaticthickness(CS, SSH, depth)) [fd] ftype(real) objtype(function) modname(None) typename() name(getstaticthickness) arglist(CS, SSH, depth) [fd] fullname(mom_regridding/getstaticthickness) ftype(real) [fd] name(('mom_regridding/getstaticthickness', 'real')) sig(real function getstaticthickness(CS, SSH, depth)) signode(function mom_regridding/getstaticthicknessCSSSHdepth [real]) [fd] run(.. f:subroutine:: subroutine dz_function1(string, dz)) [fd] sig(subroutine dz_function1(string, dz)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dz_function1) arglist(string, dz) [fd] fullname(mom_regridding/dz_function1) ftype(None) [fd] name(('mom_regridding/dz_function1', None)) sig(subroutine dz_function1(string, dz)) signode(subroutine mom_regridding/dz_function1stringdz) [fd] run(.. f:function:: integer function rho_function1(string, rho_target)) [fd] sig(integer function rho_function1(string, rho_target)) [fd] ftype(integer) objtype(function) modname(None) typename() name(rho_function1) arglist(string, rho_target) [fd] fullname(mom_regridding/rho_function1) ftype(integer) [fd] name(('mom_regridding/rho_function1', 'integer')) sig(integer function rho_function1(string, rho_target)) signode(function mom_regridding/rho_function1stringrho_target [integer]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 50%] api/generated/modules/mom_regularize_layers [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_regulari [app] emitting event: 'source-read'('api/generated/modules/mom_regularize_layers', ['.. autodoxymodule:: mom_regularize_layers\n :mem [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_regularize_layers.rst:1: input: .. autodoxymodule:: mom_regularize_layers :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_regularize_layers::regularize_layers_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_regularize_layers::regularize_layers ~mom_regularize_layers::regularize_surface ~mom_regularize_layers::find_deficit_ratios ~mom_regularize_layers::regularize_layers_init [debug] xpath(./compounddef/compoundname[text()="mom_regularize_layers"]/..) match([('id', 'namespacemom__regularize__layers'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_regularize_layers module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_regularize_layers', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_regularize_layers' (exception was: ModuleNotFoundError("No module named 'mom_regularize_layers'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_regularize_layers::regularize_layers_cs', , [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regularize_layers::regularize_layers_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regularize_layers::regularize_layers_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regularize_layers::regularize_layers_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regularize_layers::regularize_layers_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regularize_layers::regularize_layers_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regularize_layers::regularize_layers_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regularize_layers::regularize_layers_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regularize_layers::regularize_layers_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regularize_layers::regularize_layers_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regularize_layers::regularize_layers_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regularize_layers::regularize_layers_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regularize_layers::regularize_layers_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regularize_layers::regularize_layers_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regularize_layers::regularize_layers_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_regularize_layers::regularize_layers_cs', , [debug] members([('regularize_layers', ), ('regularize_surface', ), ('find_deficit_ratios', ), ('regularize_layers_init', )]) [autodoc] module analyzer failed: error importing 'mom_regularize_layers' (exception was: ModuleNotFoundError("No module named 'mom_regularize_layers'")) [debug] DoxygenMethodDocumenter format_signature called ((h, tv, dt, ea, eb, G, GV, US, CS)) [debug] add_directive_header sig((h, tv, dt, ea, eb, G, GV, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine regularize_layers) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regularize_layers', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_regularize_layers::regularize_layers_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_regularize_layers::regularize_layers ~mom_regularize_layers::regularize_surface ~mom_regularize_layers::find_deficit_ratios ~mom_regularize_layers::regularize_layers_init .. _DETAmom_regularize_layers: -------------------- Detailed Description -------------------- Provides regularization of layers in isopycnal mode. ------------------ Type Documentation ------------------ .. f:type:: regularize_layers_cs This control structure holds parameters used by the MOM_regularize_layers module. :typefield logical regularize_surface_layers: If true, vertically restructure the near-surface layers when they have too much lateral variations to allow for sensible lateral barotropic transports. :typefield logical reg_sfc_detrain: If true, allow the buffer layers to detrain into the interior as a part of the restructuring when regularize_surface_layers is true. :typefield real density_match_tol: A relative tolerance for how well the densities must match with the target densities during detrainment when regularizing the near-surface layers [nondim]. :typefield real h_def_tol1: The value of the relative thickness deficit at which to start modifying the structure, 0.5 by default (or a thickness ratio of 5.83) [nondim]. :typefield real h_def_tol2: The value of the relative thickness deficit at which to the structure modification is in full force, now 20% of the way from h_def_tol1 to 1 [nondim]. :typefield real h_def_tol3: The value of the relative thickness deficit at which to start detrainment from the buffer layers to the interior, now 30% of the way from h_def_tol1 to 1 [nondim]. :typefield real h_def_tol4: The value of the relative thickness deficit at which to do detrainment from the buffer layers to the interior at full force, now 50% of the way from h_def_tol1 to 1 [nondim]. :typefield real hmix_min: The minimum mixed layer thickness [H ~> m or kg m-2]. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield logical answers_2018: If true, use the order of arithmetic and expressions that recover the answers from the end of 2018. Otherwise, use updated and more robust forms of the same expressions. :typefield logical debug: If true, do more thorough checks for debugging purposes. :typefield integer id_def_rat: A diagnostic ID. :typefield logical allow_clocks_in_omp_loops: If true, clocks can be called from inside loops that can be threaded. To run with multiple threads, set to False. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine regularize_layers(h, tv, dt, ea, eb, G, GV, US, CS) This subroutine partially steps the bulk mixed layer model. The following processes are executed, in the order listed. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [inout] Layer thicknesses [H ~> m or kg m-2]. :param tv: [inout] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. :param dt: [in] Time increment [T ~> s]. :param ea: [inout] The amount of fluid moved downward into a :param eb: [inout] The amount of fluid moved upward into a layer :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to regularize_layers_init. :callto: :f:func:`id_clock_pass ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regularize_surface ` :calledfrom: :f:func:`mom_diabatic_driver::layered_diabatic ` .. f:subroutine:: subroutine regularize_surface(h, tv, dt, ea, eb, G, GV, US, CS) This subroutine ensures that there is a degree of horizontal smoothness in the depths of the near-surface interfaces. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [inout] Layer thicknesses [H ~> m or kg m-2]. :param tv: [inout] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. :param dt: [in] Time increment [T ~> s]. :param ea: [inout] The amount of fluid moved downward into a :param eb: [inout] The amount of fluid moved upward into a layer :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to regularize_layers_init. :callto: :f:func:`mom_eos::eos_domain ` :callto: :f:func:`find_deficit_ratios ` :callto: :f:func:`id_clock_eos ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`regularize_layers ` .. f:subroutine:: subroutine find_deficit_ratios(e, def_rat_u, def_rat_v, G, GV, CS, def_rat_u_2lay, def_rat_v_2lay, halo, h) This subroutine determines the amount by which the harmonic mean thickness at velocity points differ from the arithmetic means, relative to the the arithmetic means, after eliminating thickness variations that are solely due to topography and aggregating all interior layers into one. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param e: [in] Interface depths [H ~> m or kg m-2] :param def_rat_u: [out] The thickness deficit ratio at u points, :param def_rat_v: [out] The thickness deficit ratio at v points, :param cs: The control structure returned by a previous call to regularize_layers_init. :param def_rat_u_2lay: [out] The thickness deficit ratio at u :param def_rat_v_2lay: [out] The thickness deficit ratio at v :param halo: [in] An extra-wide halo size, 0 by default. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :calledfrom: :f:func:`regularize_surface ` .. f:subroutine:: subroutine regularize_layers_init(Time, G, GV, param_file, diag, CS) Initializes the regularize_layers control structure. :param time: [in] The current model time. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param param_file: [in] A structure to parse for run-time parameters. :param diag: [inout] A structure that is used to regulate diagnostic output. :param cs: A pointer that is set to point to the control structure for this module. :callto: :f:func:`mom_cpu_clock::cpu_clock_id ` :callto: :f:func:`id_clock_eos ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_driver_init ` [debug] xpath(./compounddef/compoundname[text()="mom_regularize_layers::regularize_layers_cs"]/..) match([('id', 'structmom__regularize__layers_1_1regularize__layers__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_regularize_layers::regularize_layers_cs', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regularize_layers::regularize_layers', , {} [debug] DoxygenMethodDocumenter format_signature called ((h, tv, dt, ea, eb, G, GV, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regularize_layers::regularize_surface', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regularize_layers::regularize_surface', , { [debug] DoxygenMethodDocumenter format_signature called ((e, def_rat_u, def_rat_v, G, GV, CS, def_rat_u_2lay, def_rat_v_2lay, halo, h)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regularize_layers::find_deficit_ratios', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regularize_layers::find_deficit_ratios', , [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_regularize_layers::regularize_layers_init', type mom_regularize_layers/regularize_layers_cs) [fd] run(.. f:subroutine:: subroutine regularize_layers(h, tv, dt, ea, eb, G, GV, US, CS)) [fd] sig(subroutine regularize_layers(h, tv, dt, ea, eb, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(regularize_layers) arglist(h, tv, dt, ea, eb, G, GV, US, CS) [fd] fullname(mom_regularize_layers/regularize_layers) ftype(None) [fd] name(('mom_regularize_layers/regularize_layers', None)) sig(subroutine regularize_layers(h, tv, dt, ea, eb, G, GV, US, CS)) signode(subroutine mom_regularize_layers/regularize_layershtvdteaebGGVUSCS) [fd] run(.. f:subroutine:: subroutine regularize_surface(h, tv, dt, ea, eb, G, GV, US, CS)) [fd] sig(subroutine regularize_surface(h, tv, dt, ea, eb, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(regularize_surface) arglist(h, tv, dt, ea, eb, G, GV, US, CS) [fd] fullname(mom_regularize_layers/regularize_surface) ftype(None) [fd] name(('mom_regularize_layers/regularize_surface', None)) sig(subroutine regularize_surface(h, tv, dt, ea, eb, G, GV, US, CS)) signode(subroutine mom_regularize_layers/regularize_surfacehtvdteaebGGVUSCS) [fd] run(.. f:subroutine:: subroutine find_deficit_ratios(e, def_rat_u, def_rat_v, G, GV, CS, def_rat_u_2lay, def_rat_v_2lay, halo, h)) [fd] sig(subroutine find_deficit_ratios(e, def_rat_u, def_rat_v, G, GV, CS, def_rat_u_2lay, def_rat_v_2lay, halo, h)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_deficit_ratios) arglist(e, def_rat_u, def_rat_v, G, GV, CS, def_rat_u_2lay, def_rat_v_2lay, halo, h) [fd] fullname(mom_regularize_layers/find_deficit_ratios) ftype(None) [fd] name(('mom_regularize_layers/find_deficit_ratios', None)) sig(subroutine find_deficit_ratios(e, def_rat_u, def_rat_v, G, GV, CS, def_rat_u_2lay, def_rat_v_2lay, halo, h)) signode(subroutine mom_regularize_layers/find_deficit_ratiosedef_rat_udef_rat_vGGVCSdef_rat_u_2laydef_rat_v_2layhaloh) [fd] run(.. f:subroutine:: subroutine regularize_layers_init(Time, G, GV, param_file, diag, CS)) [fd] sig(subroutine regularize_layers_init(Time, G, GV, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(regularize_layers_init) arglist(Time, G, GV, param_file, diag, CS) [fd] fullname(mom_regularize_layers/regularize_layers_init) ftype(None) [fd] name(('mom_regularize_layers/regularize_layers_init', None)) sig(subroutine regularize_layers_init(Time, G, GV, param_file, diag, CS)) signode(subroutine mom_regularize_layers/regularize_layers_initTimeGGVparam_filediagCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 50%] api/generated/modules/mom_remapping [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_remappin [app] emitting event: 'source-read'('api/generated/modules/mom_remapping', ['.. autodoxymodule:: mom_remapping\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_remapping.rst:1: input: .. autodoxymodule:: mom_remapping :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_remapping::remapping_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_remapping::remapping_set_param ~mom_remapping::extract_member_remapping_cs ~mom_remapping::buildgridfromh ~mom_remapping::ispossumerrsignificant ~mom_remapping::remapping_core_h ~mom_remapping::remapping_core_w ~mom_remapping::build_reconstructions_1d ~mom_remapping::check_reconstructions_1d ~mom_remapping::remap_via_sub_cells ~mom_remapping::average_value_ppoly ~mom_remapping::measure_input_bounds ~mom_remapping::measure_output_bounds ~mom_remapping::remapbyprojection ~mom_remapping::remapbydeltaz ~mom_remapping::integraterecononinterval ~mom_remapping::dzfromh1h2 ~mom_remapping::initialize_remapping ~mom_remapping::setreconstructiontype ~mom_remapping::end_remapping ~mom_remapping::remapping_unit_tests ~mom_remapping::test_answer ~mom_remapping::dumpgrid [debug] xpath(./compounddef/compoundname[text()="mom_remapping"]/..) match([('id', 'namespacemom__remapping'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_remapping module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_remapping', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_remapping' (exception was: ModuleNotFoundError("No module named 'mom_remapping'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_remapping::remapping_cs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('extract_member_remapping_cs', ), ('buildgridfromh', ), ('ispossumerrsignificant', ), ('remapping_core_h', ), ('remapping_core_w', ), ('build_reconstructions_1d', ), ('check_reconstructions_1d', ), ('remap_via_sub_cells', ), ('average_value_ppoly', ), ('measure_input_bounds', ), ('measure_output_bounds', ), ('remapbyprojection', ), ('remapbydeltaz', ), ('integraterecononinterval', ), ('dzfromh1h2', ), ('initialize_remapping', ), ('setreconstructiontype', ), ('end_remapping', ), ('remapping_unit_tests', ), ('test_answer', ), ('dumpgrid', )]) [autodoc] module analyzer failed: error importing 'mom_remapping' (exception was: ModuleNotFoundError("No module named 'mom_remapping'")) [debug] DoxygenMethodDocumenter format_signature called ((CS, remapping_scheme, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell, answers_2018)) [debug] add_directive_header sig((CS, remapping_scheme, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell, answers_2018)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine remapping_set_param) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'remapping_set_param', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_remapping::remapping_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_remapping::remapping_set_param ~mom_remapping::extract_member_remapping_cs ~mom_remapping::buildgridfromh ~mom_remapping::ispossumerrsignificant ~mom_remapping::remapping_core_h ~mom_remapping::remapping_core_w ~mom_remapping::build_reconstructions_1d ~mom_remapping::check_reconstructions_1d ~mom_remapping::remap_via_sub_cells ~mom_remapping::average_value_ppoly ~mom_remapping::measure_input_bounds ~mom_remapping::measure_output_bounds ~mom_remapping::remapbyprojection ~mom_remapping::remapbydeltaz ~mom_remapping::integraterecononinterval ~mom_remapping::dzfromh1h2 ~mom_remapping::initialize_remapping ~mom_remapping::setreconstructiontype ~mom_remapping::end_remapping ~mom_remapping::remapping_unit_tests ~mom_remapping::test_answer ~mom_remapping::dumpgrid .. _DETAmom_remapping: -------------------- Detailed Description -------------------- Provides column-wise vertical remapping functions. ------------------ Type Documentation ------------------ .. f:type:: remapping_cs Container for remapping parameters. :typefield integer remapping_scheme: Determines which reconstruction to use. :typefield integer degree: Degree of polynomial reconstruction. :typefield logical boundary_extrapolation: If true, extrapolate boundaries. :typefield logical check_reconstruction: If true, reconstructions are checked for consistency. :typefield logical check_remapping: If true, the result of remapping are checked for conservation and bounds. :typefield logical force_bounds_in_subcell: If true, the intermediate values used in remapping are forced to be bounded. :typefield logical answers_2018: If true use older, less acccurate expressions. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine remapping_set_param(CS, remapping_scheme, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell, answers_2018) Set parameters within remapping object. :param cs: [inout] Remapping control structure :param remapping_scheme: [in] Remapping scheme to use :param boundary_extrapolation: [in] Indicate to extrapolate in boundary cells :param check_reconstruction: [in] Indicate to check reconstructions :param check_remapping: [in] Indicate to check results of remapping :param force_bounds_in_subcell: [in] Force subcells values to be bounded :param answers_2018: [in] If true use older, less acccurate expressions. :callto: :f:func:`setreconstructiontype ` :calledfrom: :f:func:`initialize_remapping ` .. f:subroutine:: subroutine extract_member_remapping_cs(CS, remapping_scheme, degree, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell) :param cs: [in] Control structure for remapping module :param remapping_scheme: [out] Determines which reconstruction scheme to use :param degree: [out] Degree of polynomial reconstruction :param boundary_extrapolation: [out] If true, extrapolate boundaries :param check_reconstruction: [out] If true, reconstructions are checked for consistency. :param check_remapping: [out] If true, the result of remapping are checked for conservation and bounds. :param force_bounds_in_subcell: [out] If true, the intermediate values used in remapping are forced to be bounded. .. f:subroutine:: subroutine buildgridfromh(nz, h, x) Calculate edge coordinate x from cell width h. :param nz: [in] Number of cells :param h: [in] Cell widths :param x: [inout] Edge coordiantes starting at x(1)=0 :calledfrom: :f:func:`remapping_unit_tests ` .. f:function:: logical function ispossumerrsignificant(n1, sum1, n2, sum2) Compare two summation estimates of positive data and judge if due to more than round-off. When two sums are calculated from different vectors that should add up to the same value, the results can differ by round off. The round off error can be bounded to be proportional to the number of operations. This function returns true if the difference between sum1 and sum2 is larger than than the estimated round off bound. :param n1: [in] Number of values in sum1 :param n2: [in] Number of values in sum2 :param sum1: [in] Sum of n1 values :param sum2: [in] Sum of n2 values :returns undefined: True if difference in sums is large :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine remapping_core_h(CS, n0, h0, u0, n1, h1, u1, h_neglect, h_neglect_edge) Remaps column of values u0 on grid h0 to grid h1 assuming the top edge is aligned. :param cs: [in] Remapping control structure :param n0: [in] Number of cells on source grid :param h0: [in] Cell widths on source grid :param u0: [in] Cell averages on source grid :param n1: [in] Number of cells on target grid :param h1: [in] Cell widths on target grid :param u1: [out] Cell averages on target grid :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions in the same units as h0. :param h_neglect_edge: [in] A negligibly small width for the purpose of edge value calculations in the same units as h0. :callto: :f:func:`build_reconstructions_1d ` :callto: :f:func:`check_reconstructions_1d ` :callto: :f:func:`measure_input_bounds ` :callto: :f:func:`measure_output_bounds ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`remap_via_sub_cells ` :calledfrom: :f:func:`mom_ale_sponge::apply_ale_sponge ` :calledfrom: :f:func:`coord_rho::build_rho_column_iteratively ` :calledfrom: :f:func:`mom_tidal_mixing::calculate_cvmix_tidal ` :calledfrom: :f:func:`mom_state_initialization::cut_off_column_top ` :calledfrom: :f:func:`mom_diag_remap::diag_remap_do_remap ` :calledfrom: :f:func:`mom_oda_driver_mod::set_prior_tracer ` :calledfrom: :f:func:`mom_wave_speed::wave_speed ` .. f:subroutine:: subroutine remapping_core_w(CS, n0, h0, u0, n1, dx, u1, h_neglect, h_neglect_edge) Remaps column of values u0 on grid h0 to implied grid h1 where the interfaces of h1 differ from those of h0 by dx. :param cs: [in] Remapping control structure :param n0: [in] Number of cells on source grid :param h0: [in] Cell widths on source grid :param u0: [in] Cell averages on source grid :param n1: [in] Number of cells on target grid :param dx: [in] Cell widths on target grid :param u1: [out] Cell averages on target grid :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions in the same units as h0. :param h_neglect_edge: [in] A negligibly small width for the purpose of edge value calculations in the same units as h0. :callto: :f:func:`build_reconstructions_1d ` :callto: :f:func:`check_reconstructions_1d ` :callto: :f:func:`measure_input_bounds ` :callto: :f:func:`measure_output_bounds ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`remap_via_sub_cells ` :calledfrom: :f:func:`remapping_unit_tests ` .. f:subroutine:: subroutine build_reconstructions_1d(CS, n0, h0, u0, ppoly_r_coefs, ppoly_r_E, ppoly_r_S, iMethod, h_neglect, h_neglect_edge) Creates polynomial reconstructions of u0 on the source grid h0. :param cs: [in] Remapping control structure :param n0: [in] Number of cells on source grid :param h0: [in] Cell widths on source grid :param u0: [in] Cell averages on source grid :param ppoly_r_coefs: [out] Coefficients of polynomial :param ppoly_r_e: [out] Edge value of polynomial :param ppoly_r_s: [out] Edge slope of polynomial :param imethod: [out] Integration method :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions in the same units as h0. :param h_neglect_edge: [in] A negligibly small width for the purpose of edge value calculations in the same units as h0. :callto: :f:func:`regrid_edge_values::edge_slopes_implicit_h3 ` :callto: :f:func:`regrid_edge_values::edge_slopes_implicit_h5 ` :callto: :f:func:`integration_pcm ` :callto: :f:func:`integration_plm ` :callto: :f:func:`integration_ppm ` :callto: :f:func:`integration_pqm ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`pcm_functions::pcm_reconstruction ` :callto: :f:func:`plm_functions::plm_boundary_extrapolation ` :callto: :f:func:`plm_functions::plm_reconstruction ` :callto: :f:func:`ppm_functions::ppm_boundary_extrapolation ` :callto: :f:func:`ppm_functions::ppm_reconstruction ` :callto: :f:func:`pqm_functions::pqm_boundary_extrapolation_v1 ` :callto: :f:func:`pqm_functions::pqm_reconstruction ` :callto: :f:func:`remapping_pcm ` :callto: :f:func:`remapping_plm ` :callto: :f:func:`remapping_ppm_h4 ` :callto: :f:func:`remapping_ppm_ih4 ` :callto: :f:func:`remapping_pqm_ih4ih3 ` :callto: :f:func:`remapping_pqm_ih6ih5 ` :calledfrom: :f:func:`remapping_core_h ` :calledfrom: :f:func:`remapping_core_w ` .. f:subroutine:: subroutine check_reconstructions_1d(n0, h0, u0, deg, boundary_extrapolation, ppoly_r_coefs, ppoly_r_E, ppoly_r_S) Checks that edge values and reconstructions satisfy bounds. :param n0: [in] Number of cells on source grid :param h0: [in] Cell widths on source grid :param u0: [in] Cell averages on source grid :param deg: [in] Degree of polynomial reconstruction :param boundary_extrapolation: [in] Extrapolate at boundaries if true :param ppoly_r_coefs: [out] Coefficients of polynomial :param ppoly_r_e: [out] Edge value of polynomial :param ppoly_r_s: [out] Edge slope of polynomial :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`remapping_core_h ` :calledfrom: :f:func:`remapping_core_w ` .. f:subroutine:: subroutine remap_via_sub_cells(n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, h1, method, force_bounds_in_subcell, u1, uh_err, ah_sub, aisub_src, aiss, aise) Remaps column of n0 values u0 on grid h0 to grid h1 with n1 cells by calculating the n0+n1+1 sub-integrals of the intersection of h0 and h1, and the summing the appropriate integrals into the h1*u1 values. h0 and h1 must have the same units. :param n0: [in] Number of cells in source grid :param h0: [in] Source grid widths (size n0) :param u0: [in] Source cell averages (size n0) :param ppoly0_e: [in] Edge value of polynomial :param ppoly0_coefs: [in] Coefficients of polynomial :param n1: [in] Number of cells in target grid :param h1: [in] Target grid widths (size n1) :param method: [in] Remapping scheme to use :param force_bounds_in_subcell: [in] Force sub-cell values to be bounded :param u1: [out] Target cell averages (size n1) :param uh_err: [out] Estimate of bound on error in sum of u*h :param ah_sub: [out] h_sub :param aisub_src: [out] i_sub_src :param aiss: [out] isrc_start :param aise: [out] isrc_ens :callto: :f:func:`average_value_ppoly ` :callto: :f:func:`measure_input_bounds ` :callto: :f:func:`measure_output_bounds ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`old_algorithm ` :calledfrom: :f:func:`remapping_core_h ` :calledfrom: :f:func:`remapping_core_w ` :calledfrom: :f:func:`remapping_unit_tests ` .. f:function:: real function average_value_ppoly(n0, u0, ppoly0_E, ppoly0_coefs, method, i0, xa, xb) Returns the average value of a reconstruction within a single source cell, i0, between the non-dimensional positions xa and xb (xa<=xb) with dimensional separation dh. :param n0: [in] Number of cells in source grid :param u0: [in] Cell means :param ppoly0_e: [in] Edge value of polynomial :param ppoly0_coefs: [in] Coefficients of polynomial :param method: [in] Remapping scheme to use :param i0: [in] Source cell index :param xa: [in] Non-dimensional start position within source cell :param xb: [in] Non-dimensional end position within source cell :callto: :f:func:`integration_pcm ` :callto: :f:func:`integration_plm ` :callto: :f:func:`integration_ppm ` :callto: :f:func:`integration_pqm ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_lateral_boundary_diffusion::bulk_average ` :calledfrom: :f:func:`mom_lateral_boundary_diffusion::fluxes_layer_method ` :calledfrom: :f:func:`mom_neutral_diffusion::neutral_surface_t_eval ` :calledfrom: :f:func:`remap_via_sub_cells ` .. f:subroutine:: subroutine measure_input_bounds(n0, h0, u0, edge_values, h0tot, h0err, u0tot, u0err, u0min, u0max) Measure totals and bounds on source grid. :param n0: [in] Number of cells on source grid :param h0: [in] Cell widths on source grid :param u0: [in] Cell averages on source grid :param edge_values: [in] Cell edge values on source grid :param h0tot: [out] Sum of cell widths :param h0err: [out] Magnitude of round-off error in h0tot :param u0tot: [out] Sum of cell widths times values :param u0err: [out] Magnitude of round-off error in u0tot :param u0min: [out] Minimum value in reconstructions of u0 :param u0max: [out] Maximum value in reconstructions of u0 :calledfrom: :f:func:`remap_via_sub_cells ` :calledfrom: :f:func:`remapping_core_h ` :calledfrom: :f:func:`remapping_core_w ` .. f:subroutine:: subroutine measure_output_bounds(n1, h1, u1, h1tot, h1err, u1tot, u1err, u1min, u1max) Measure totals and bounds on destination grid. :param n1: [in] Number of cells on destination grid :param h1: [in] Cell widths on destination grid :param u1: [in] Cell averages on destination grid :param h1tot: [out] Sum of cell widths :param h1err: [out] Magnitude of round-off error in h1tot :param u1tot: [out] Sum of cell widths times values :param u1err: [out] Magnitude of round-off error in u1tot :param u1min: [out] Minimum value in reconstructions of u1 :param u1max: [out] Maximum value in reconstructions of u1 :calledfrom: :f:func:`remap_via_sub_cells ` :calledfrom: :f:func:`remapping_core_h ` :calledfrom: :f:func:`remapping_core_w ` .. f:subroutine:: subroutine remapbyprojection(n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, h1, method, u1, h_neglect) Remaps column of values u0 on grid h0 to grid h1 by integrating over the projection of each h1 cell onto the h0 grid. :param n0: [in] Number of cells in source grid :param h0: [in] Source grid widths (size n0) :param u0: [in] Source cell averages (size n0) :param ppoly0_e: [in] Edge value of polynomial :param ppoly0_coefs: [in] Coefficients of polynomial :param n1: [in] Number of cells in target grid :param h1: [in] Target grid widths (size n1) :param method: [in] Remapping scheme to use :param u1: [out] Target cell averages (size n1) :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions in the same units as h. :callto: :f:func:`integraterecononinterval ` :calledfrom: :f:func:`remapping_unit_tests ` .. f:subroutine:: subroutine remapbydeltaz(n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, dx1, method, u1, h1, h_neglect) Remaps column of values u0 on grid h0 to implied grid h1 where the interfaces of h1 differ from those of h0 by dx. The new grid is defined relative to the original grid by change dx1(:) = xNew(:) - xOld(:) and the remapping calculated so that hNew(k) qNew(k) = hOld(k) qOld(k) + F(k+1) - F(k) where F(k) = dx1(k) qAverage and where qAverage is the average qOld in the region zOld(k) to zNew(k). :param n0: [in] Number of cells in source grid :param h0: [in] Source grid sizes (size n0) :param u0: [in] Source cell averages (size n0) :param ppoly0_e: [in] Edge value of polynomial :param ppoly0_coefs: [in] Coefficients of polynomial :param n1: [in] Number of cells in target grid :param dx1: [in] Target grid edge positions (size n1+1) :param method: [in] Remapping scheme to use :param u1: [out] Target cell averages (size n1) :param h1: [out] Target grid widths (size n1) :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions in the same units as h. :callto: :f:func:`integraterecononinterval ` :calledfrom: :f:func:`remapping_unit_tests ` .. f:subroutine:: subroutine integraterecononinterval(n0, h0, u0, ppoly0_E, ppoly0_coefs, method, xL, xR, hC, uAve, jStart, xStart, h_neglect) Integrate the reconstructed column profile over a single cell. :param n0: [in] Number of cells in source grid :param h0: [in] Source grid sizes (size n0) :param u0: [in] Source cell averages :param ppoly0_e: [in] Edge value of polynomial :param ppoly0_coefs: [in] Coefficients of polynomial :param method: [in] Remapping scheme to use :param xl: [in] Left edges of target cell :param xr: [in] Right edges of target cell :param hc: [in] Cell width hC = xR - xL :param uave: [out] Average value on target cell :param jstart: [inout] The index of the cell to start searching from On exit, contains index of last cell used :param xstart: [inout] The left edge position of cell jStart On first entry should be 0. :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions in the same units as h. :callto: :f:func:`hneglect_dflt ` :callto: :f:func:`integration_pcm ` :callto: :f:func:`integration_plm ` :callto: :f:func:`integration_ppm ` :callto: :f:func:`integration_pqm ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`remapbydeltaz ` :calledfrom: :f:func:`remapbyprojection ` .. f:subroutine:: subroutine dzfromh1h2(n1, h1, n2, h2, dx) Calculates the change in interface positions based on h1 and h2. :param n1: [in] Number of cells on source grid :param h1: [in] Cell widths of source grid (size n1) :param n2: [in] Number of cells on target grid :param h2: [in] Cell widths of target grid (size n2) :param dx: [out] Change in interface position (size n2+1) :calledfrom: :f:func:`mom_ale::ale_remap_scalar ` :calledfrom: :f:func:`remapping_unit_tests ` .. f:subroutine:: subroutine initialize_remapping(CS, remapping_scheme, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell, answers_2018) Constructor for remapping control structure. :param cs: [inout] Remapping control structure :param remapping_scheme: [in] Remapping scheme to use :param boundary_extrapolation: [in] Indicate to extrapolate in boundary cells :param check_reconstruction: [in] Indicate to check reconstructions :param check_remapping: [in] Indicate to check results of remapping :param force_bounds_in_subcell: [in] Force subcells values to be bounded :param answers_2018: [in] If true use older, less acccurate expressions. :callto: :f:func:`remapping_set_param ` :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` :calledfrom: :f:func:`mom_ale_sponge::initialize_ale_sponge_fixed ` :calledfrom: :f:func:`mom_ale_sponge::initialize_ale_sponge_varying ` :calledfrom: :f:func:`mom_open_boundary::open_boundary_config ` :calledfrom: :f:func:`mom_tidal_mixing::read_tidal_constituents ` :calledfrom: :f:func:`remapping_unit_tests ` :calledfrom: :f:func:`mom_wave_speed::wave_speed_init ` .. f:subroutine:: subroutine setreconstructiontype(string, CS) Changes the method of reconstruction Use this routine to parse a string parameter specifying the reconstruction and re-allocates work arrays appropriately. It is called from initialize_remapping but can be called from an external module too. :param string: [in] String to parse for method :param cs: [inout] Remapping control structure :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`remapping_pcm ` :callto: :f:func:`remapping_plm ` :callto: :f:func:`remapping_ppm_h4 ` :callto: :f:func:`remapping_ppm_ih4 ` :callto: :f:func:`remapping_pqm_ih4ih3 ` :callto: :f:func:`remapping_pqm_ih6ih5 ` :callto: :f:func:`mom_string_functions::uppercase ` :calledfrom: :f:func:`remapping_set_param ` .. f:subroutine:: subroutine end_remapping(CS) Destrcutor for remapping control structure. :param cs: [inout] Remapping control structure .. f:function:: logical function remapping_unit_tests(verbose) Runs unit tests on remapping functions. Should only be called from a single/root thread Returns True if a test fails, otherwise False. :param verbose: [in] If true, write results to stdout :callto: :f:func:`buildgridfromh ` :callto: :f:func:`dumpgrid ` :callto: :f:func:`dzfromh1h2 ` :callto: :f:func:`hneglect_dflt ` :callto: :f:func:`initialize_remapping ` :callto: :f:func:`integration_plm ` :callto: :f:func:`integration_ppm ` :callto: :f:func:`pcm_functions::pcm_reconstruction ` :callto: :f:func:`plm_functions::plm_reconstruction ` :callto: :f:func:`ppm_functions::ppm_boundary_extrapolation ` :callto: :f:func:`ppm_functions::ppm_reconstruction ` :callto: :f:func:`remap_via_sub_cells ` :callto: :f:func:`remapbydeltaz ` :callto: :f:func:`remapbyprojection ` :callto: :f:func:`remapping_core_w ` :callto: :f:func:`test_answer ` :calledfrom: :f:func:`mom_unit_tests::unit_tests ` .. f:function:: logical function test_answer(verbose, n, u, u_true, label, tol) Returns true if any cell of u and u_true are not identical. Returns false otherwise. :param verbose: [in] If true, write results to stdout :param n: [in] Number of cells in u :param u: [in] Values to test :param u_true: [in] Values to test against (correct answer) :param label: [in] Message :param tol: [in] The tolerance for differences between u and u_true :calledfrom: :f:func:`remapping_unit_tests ` .. f:subroutine:: subroutine dumpgrid(n, h, x, u) Convenience function for printing grid to screen. :param n: [in] Number of cells :param h: [in] Cell thickness :param x: [in] Interface delta :param u: [in] Cell average values :calledfrom: :f:func:`remapping_unit_tests ` [debug] xpath(./compounddef/compoundname[text()="mom_remapping::remapping_cs"]/..) match([('id', 'structmom__remapping_1_1remapping__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_remapping::remapping_cs', , {}, ['', 'Con [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_remapping::remapping_cs', , {}, ['`More.. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_remapping::remapping_cs', , {}, ['', 'Con [debug] DoxygenMethodDocumenter format_signature called ((CS, remapping_scheme, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::remapping_set_param', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::remapping_set_param', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((CS, remapping_scheme, degree, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::extract_member_remapping_cs', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::extract_member_remapping_cs', , [debug] DoxygenMethodDocumenter format_signature called ((nz, h, x)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::buildgridfromh', , {}, ['', 'Cal [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::buildgridfromh', , {}, ['', 'Cal [debug] DoxygenMethodDocumenter format_signature called ((n1, sum1, n2, sum2)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::ispossumerrsignificant', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::ispossumerrsignificant', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((CS, n0, h0, u0, n1, h1, u1, h_neglect, h_neglect_edge)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::remapping_core_h', , {}, ['', 'R [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::remapping_core_h', , {}, ['', 'R [debug] DoxygenMethodDocumenter format_signature called ((CS, n0, h0, u0, n1, dx, u1, h_neglect, h_neglect_edge)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::remapping_core_w', , {}, ['', 'R [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::remapping_core_w', , {}, ['', 'R [debug] DoxygenMethodDocumenter format_signature called ((CS, n0, h0, u0, ppoly_r_coefs, ppoly_r_E, ppoly_r_S, iMethod, h_neglect, h_neglect_edge)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::build_reconstructions_1d', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::build_reconstructions_1d', , {}, [debug] DoxygenMethodDocumenter format_signature called ((n0, h0, u0, deg, boundary_extrapolation, ppoly_r_coefs, ppoly_r_E, ppoly_r_S)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::check_reconstructions_1d', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::check_reconstructions_1d', , {}, [debug] DoxygenMethodDocumenter format_signature called ((n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, h1, method, force_bounds_in_subcell, u1, uh_err, ah_sub, aisub_src, aiss, aise)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::remap_via_sub_cells', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::remap_via_sub_cells', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((n0, u0, ppoly0_E, ppoly0_coefs, method, i0, xa, xb)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::average_value_ppoly', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::average_value_ppoly', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((n0, h0, u0, edge_values, h0tot, h0err, u0tot, u0err, u0min, u0max)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::measure_input_bounds', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::measure_input_bounds', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((n1, h1, u1, h1tot, h1err, u1tot, u1err, u1min, u1max)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::measure_output_bounds', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::measure_output_bounds', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, h1, method, u1, h_neglect)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::remapbyprojection', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::remapbyprojection', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, dx1, method, u1, h1, h_neglect)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::remapbydeltaz', , {}, ['', 'Rema [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::remapbydeltaz', , {}, ['', 'Rema [debug] DoxygenMethodDocumenter format_signature called ((n0, h0, u0, ppoly0_E, ppoly0_coefs, method, xL, xR, hC, uAve, jStart, xStart, h_neglect)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::integraterecononinterval', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::integraterecononinterval', , {}, [debug] DoxygenMethodDocumenter format_signature called ((n1, h1, n2, h2, dx)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::dzfromh1h2', , {}, ['', 'Calcula [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::dzfromh1h2', , {}, ['', 'Calcula [debug] DoxygenMethodDocumenter format_signature called ((CS, remapping_scheme, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::initialize_remapping', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::initialize_remapping', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((string, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::setreconstructiontype', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::setreconstructiontype', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::end_remapping', , {}, ['', 'Dest [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::end_remapping', , {}, ['', 'Dest [debug] DoxygenMethodDocumenter format_signature called ((verbose)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::remapping_unit_tests', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::remapping_unit_tests', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((verbose, n, u, u_true, label, tol)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::test_answer', , {}, ['', 'Return [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::test_answer', , {}, ['', 'Return [debug] DoxygenMethodDocumenter format_signature called ((n, h, x, u)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::dumpgrid', , {}, ['', 'Convenien [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_remapping::dumpgrid', , {}, ['', 'Convenien [fd] run(.. f:type:: remapping_cs) [fd] sig(remapping_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(remapping_cs) arglist(None) [fd] fullname(mom_remapping/remapping_cs) ftype(None) [fd] name(('mom_remapping/remapping_cs', None)) sig(remapping_cs) signode(type mom_remapping/remapping_cs) [fd] run(.. f:subroutine:: subroutine remapping_set_param(CS, remapping_scheme, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell, answers_2018)) [fd] sig(subroutine remapping_set_param(CS, remapping_scheme, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(remapping_set_param) arglist(CS, remapping_scheme, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell, answers_2018) [fd] fullname(mom_remapping/remapping_set_param) ftype(None) [fd] name(('mom_remapping/remapping_set_param', None)) sig(subroutine remapping_set_param(CS, remapping_scheme, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell, answers_2018)) signode(subroutine mom_remapping/remapping_set_paramCSremapping_schemeboundary_extrapolationcheck_reconstructioncheck_remappingforce_bounds_in_subcellanswers_2018) [fd] run(.. f:subroutine:: subroutine extract_member_remapping_cs(CS, remapping_scheme, degree, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell)) [fd] sig(subroutine extract_member_remapping_cs(CS, remapping_scheme, degree, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(extract_member_remapping_cs) arglist(CS, remapping_scheme, degree, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell) [fd] fullname(mom_remapping/extract_member_remapping_cs) ftype(None) [fd] name(('mom_remapping/extract_member_remapping_cs', None)) sig(subroutine extract_member_remapping_cs(CS, remapping_scheme, degree, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell)) signode(subroutine mom_remapping/extract_member_remapping_csCSremapping_schemedegreeboundary_extrapolationcheck_reconstructioncheck_remappingforce_bounds_in_subcell) [fd] run(.. f:subroutine:: subroutine buildgridfromh(nz, h, x)) [fd] sig(subroutine buildgridfromh(nz, h, x)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(buildgridfromh) arglist(nz, h, x) [fd] fullname(mom_remapping/buildgridfromh) ftype(None) [fd] name(('mom_remapping/buildgridfromh', None)) sig(subroutine buildgridfromh(nz, h, x)) signode(subroutine mom_remapping/buildgridfromhnzhx) [fd] run(.. f:function:: logical function ispossumerrsignificant(n1, sum1, n2, sum2)) [fd] sig(logical function ispossumerrsignificant(n1, sum1, n2, sum2)) [fd] ftype(logical) objtype(function) modname(None) typename() name(ispossumerrsignificant) arglist(n1, sum1, n2, sum2) [fd] fullname(mom_remapping/ispossumerrsignificant) ftype(logical) [fd] name(('mom_remapping/ispossumerrsignificant', 'logical')) sig(logical function ispossumerrsignificant(n1, sum1, n2, sum2)) signode(function mom_remapping/ispossumerrsignificantn1sum1n2sum2 [logical]) [fd] run(.. f:subroutine:: subroutine remapping_core_h(CS, n0, h0, u0, n1, h1, u1, h_neglect, h_neglect_edge)) [fd] sig(subroutine remapping_core_h(CS, n0, h0, u0, n1, h1, u1, h_neglect, h_neglect_edge)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(remapping_core_h) arglist(CS, n0, h0, u0, n1, h1, u1, h_neglect, h_neglect_edge) [fd] fullname(mom_remapping/remapping_core_h) ftype(None) [fd] name(('mom_remapping/remapping_core_h', None)) sig(subroutine remapping_core_h(CS, n0, h0, u0, n1, h1, u1, h_neglect, h_neglect_edge)) signode(subroutine mom_remapping/remapping_core_hCSn0h0u0n1h1u1h_neglecth_neglect_edge) [fd] run(.. f:subroutine:: subroutine remapping_core_w(CS, n0, h0, u0, n1, dx, u1, h_neglect, h_neglect_edge)) [fd] sig(subroutine remapping_core_w(CS, n0, h0, u0, n1, dx, u1, h_neglect, h_neglect_edge)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(remapping_core_w) arglist(CS, n0, h0, u0, n1, dx, u1, h_neglect, h_neglect_edge) [fd] fullname(mom_remapping/remapping_core_w) ftype(None) [fd] name(('mom_remapping/remapping_core_w', None)) sig(subroutine remapping_core_w(CS, n0, h0, u0, n1, dx, u1, h_neglect, h_neglect_edge)) signode(subroutine mom_remapping/remapping_core_wCSn0h0u0n1dxu1h_neglecth_neglect_edge) [fd] run(.. f:subroutine:: subroutine build_reconstructions_1d(CS, n0, h0, u0, ppoly_r_coefs, ppoly_r_E, ppoly_r_S, iMethod, h_neglect, h_neglect_edge)) [fd] sig(subroutine build_reconstructions_1d(CS, n0, h0, u0, ppoly_r_coefs, ppoly_r_E, ppoly_r_S, iMethod, h_neglect, h_neglect_edge)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(build_reconstructions_1d) arglist(CS, n0, h0, u0, ppoly_r_coefs, ppoly_r_E, ppoly_r_S, iMethod, h_neglect, h_neglect_edge) [fd] fullname(mom_remapping/build_reconstructions_1d) ftype(None) [fd] name(('mom_remapping/build_reconstructions_1d', None)) sig(subroutine build_reconstructions_1d(CS, n0, h0, u0, ppoly_r_coefs, ppoly_r_E, ppoly_r_S, iMethod, h_neglect, h_neglect_edge)) signode(subroutine mom_remapping/build_reconstructions_1dCSn0h0u0ppoly_r_coefsppoly_r_Eppoly_r_SiMethodh_neglecth_neglect_edge) [fd] run(.. f:subroutine:: subroutine check_reconstructions_1d(n0, h0, u0, deg, boundary_extrapolation, ppoly_r_coefs, ppoly_r_E, ppoly_r_S)) [fd] sig(subroutine check_reconstructions_1d(n0, h0, u0, deg, boundary_extrapolation, ppoly_r_coefs, ppoly_r_E, ppoly_r_S)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_reconstructions_1d) arglist(n0, h0, u0, deg, boundary_extrapolation, ppoly_r_coefs, ppoly_r_E, ppoly_r_S) [fd] fullname(mom_remapping/check_reconstructions_1d) ftype(None) [fd] name(('mom_remapping/check_reconstructions_1d', None)) sig(subroutine check_reconstructions_1d(n0, h0, u0, deg, boundary_extrapolation, ppoly_r_coefs, ppoly_r_E, ppoly_r_S)) signode(subroutine mom_remapping/check_reconstructions_1dn0h0u0degboundary_extrapolationppoly_r_coefsppoly_r_Eppoly_r_S) [fd] run(.. f:subroutine:: subroutine remap_via_sub_cells(n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, h1, method, force_bounds_in_subcell, u1, uh_err, ah_sub, aisub_src, aiss, aise)) [fd] sig(subroutine remap_via_sub_cells(n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, h1, method, force_bounds_in_subcell, u1, uh_err, ah_sub, aisub_src, aiss, aise)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(remap_via_sub_cells) arglist(n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, h1, method, force_bounds_in_subcell, u1, uh_err, ah_sub, aisub_src, aiss, aise) [fd] fullname(mom_remapping/remap_via_sub_cells) ftype(None) [fd] name(('mom_remapping/remap_via_sub_cells', None)) sig(subroutine remap_via_sub_cells(n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, h1, method, force_bounds_in_subcell, u1, uh_err, ah_sub, aisub_src, aiss, aise)) signode(subroutine mom_remapping/remap_via_sub_cellsn0h0u0ppoly0_Eppoly0_coefsn1h1methodforce_bounds_in_subcellu1uh_errah_subaisub_srcaissaise) [fd] run(.. f:function:: real function average_value_ppoly(n0, u0, ppoly0_E, ppoly0_coefs, method, i0, xa, xb)) [fd] sig(real function average_value_ppoly(n0, u0, ppoly0_E, ppoly0_coefs, method, i0, xa, xb)) [fd] ftype(real) objtype(function) modname(None) typename() name(average_value_ppoly) arglist(n0, u0, ppoly0_E, ppoly0_coefs, method, i0, xa, xb) [fd] fullname(mom_remapping/average_value_ppoly) ftype(real) [fd] name(('mom_remapping/average_value_ppoly', 'real')) sig(real function average_value_ppoly(n0, u0, ppoly0_E, ppoly0_coefs, method, i0, xa, xb)) signode(function mom_remapping/average_value_ppolyn0u0ppoly0_Eppoly0_coefsmethodi0xaxb [real]) [fd] run(.. f:subroutine:: subroutine measure_input_bounds(n0, h0, u0, edge_values, h0tot, h0err, u0tot, u0err, u0min, u0max)) [fd] sig(subroutine measure_input_bounds(n0, h0, u0, edge_values, h0tot, h0err, u0tot, u0err, u0min, u0max)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(measure_input_bounds) arglist(n0, h0, u0, edge_values, h0tot, h0err, u0tot, u0err, u0min, u0max) [fd] fullname(mom_remapping/measure_input_bounds) ftype(None) [fd] name(('mom_remapping/measure_input_bounds', None)) sig(subroutine measure_input_bounds(n0, h0, u0, edge_values, h0tot, h0err, u0tot, u0err, u0min, u0max)) signode(subroutine mom_remapping/measure_input_boundsn0h0u0edge_valuesh0toth0erru0totu0erru0minu0max) [fd] run(.. f:subroutine:: subroutine measure_output_bounds(n1, h1, u1, h1tot, h1err, u1tot, u1err, u1min, u1max)) [fd] sig(subroutine measure_output_bounds(n1, h1, u1, h1tot, h1err, u1tot, u1err, u1min, u1max)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(measure_output_bounds) arglist(n1, h1, u1, h1tot, h1err, u1tot, u1err, u1min, u1max) [fd] fullname(mom_remapping/measure_output_bounds) ftype(None) [fd] name(('mom_remapping/measure_output_bounds', None)) sig(subroutine measure_output_bounds(n1, h1, u1, h1tot, h1err, u1tot, u1err, u1min, u1max)) signode(subroutine mom_remapping/measure_output_boundsn1h1u1h1toth1erru1totu1erru1minu1max) [fd] run(.. f:subroutine:: subroutine remapbyprojection(n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, h1, method, u1, h_neglect)) [fd] sig(subroutine remapbyprojection(n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, h1, method, u1, h_neglect)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(remapbyprojection) arglist(n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, h1, method, u1, h_neglect) [fd] fullname(mom_remapping/remapbyprojection) ftype(None) [fd] name(('mom_remapping/remapbyprojection', None)) sig(subroutine remapbyprojection(n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, h1, method, u1, h_neglect)) signode(subroutine mom_remapping/remapbyprojectionn0h0u0ppoly0_Eppoly0_coefsn1h1methodu1h_neglect) [fd] run(.. f:subroutine:: subroutine remapbydeltaz(n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, dx1, method, u1, h1, h_neglect)) [fd] sig(subroutine remapbydeltaz(n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, dx1, method, u1, h1, h_neglect)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(remapbydeltaz) arglist(n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, dx1, method, u1, h1, h_neglect) [fd] fullname(mom_remapping/remapbydeltaz) ftype(None) [fd] name(('mom_remapping/remapbydeltaz', None)) sig(subroutine remapbydeltaz(n0, h0, u0, ppoly0_E, ppoly0_coefs, n1, dx1, method, u1, h1, h_neglect)) signode(subroutine mom_remapping/remapbydeltazn0h0u0ppoly0_Eppoly0_coefsn1dx1methodu1h1h_neglect) [fd] run(.. f:subroutine:: subroutine integraterecononinterval(n0, h0, u0, ppoly0_E, ppoly0_coefs, method, xL, xR, hC, uAve, jStart, xStart, h_neglect)) [fd] sig(subroutine integraterecononinterval(n0, h0, u0, ppoly0_E, ppoly0_coefs, method, xL, xR, hC, uAve, jStart, xStart, h_neglect)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(integraterecononinterval) arglist(n0, h0, u0, ppoly0_E, ppoly0_coefs, method, xL, xR, hC, uAve, jStart, xStart, h_neglect) [fd] fullname(mom_remapping/integraterecononinterval) ftype(None) [fd] name(('mom_remapping/integraterecononinterval', None)) sig(subroutine integraterecononinterval(n0, h0, u0, ppoly0_E, ppoly0_coefs, method, xL, xR, hC, uAve, jStart, xStart, h_neglect)) signode(subroutine mom_remapping/integraterecononintervaln0h0u0ppoly0_Eppoly0_coefsmethodxLxRhCuAvejStartxStarth_neglect) [fd] run(.. f:subroutine:: subroutine dzfromh1h2(n1, h1, n2, h2, dx)) [fd] sig(subroutine dzfromh1h2(n1, h1, n2, h2, dx)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dzfromh1h2) arglist(n1, h1, n2, h2, dx) [fd] fullname(mom_remapping/dzfromh1h2) ftype(None) [fd] name(('mom_remapping/dzfromh1h2', None)) sig(subroutine dzfromh1h2(n1, h1, n2, h2, dx)) signode(subroutine mom_remapping/dzfromh1h2n1h1n2h2dx) [fd] run(.. f:subroutine:: subroutine initialize_remapping(CS, remapping_scheme, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell, answers_2018)) [fd] sig(subroutine initialize_remapping(CS, remapping_scheme, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_remapping) arglist(CS, remapping_scheme, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell, answers_2018) [fd] fullname(mom_remapping/initialize_remapping) ftype(None) [fd] name(('mom_remapping/initialize_remapping', None)) sig(subroutine initialize_remapping(CS, remapping_scheme, boundary_extrapolation, check_reconstruction, check_remapping, force_bounds_in_subcell, answers_2018)) signode(subroutine mom_remapping/initialize_remappingCSremapping_schemeboundary_extrapolationcheck_reconstructioncheck_remappingforce_bounds_in_subcellanswers_2018) [fd] run(.. f:subroutine:: subroutine setreconstructiontype(string, CS)) [fd] sig(subroutine setreconstructiontype(string, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(setreconstructiontype) arglist(string, CS) [fd] fullname(mom_remapping/setreconstructiontype) ftype(None) [fd] name(('mom_remapping/setreconstructiontype', None)) sig(subroutine setreconstructiontype(string, CS)) signode(subroutine mom_remapping/setreconstructiontypestringCS) [fd] run(.. f:subroutine:: subroutine end_remapping(CS)) [fd] sig(subroutine end_remapping(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(end_remapping) arglist(CS) [fd] fullname(mom_remapping/end_remapping) ftype(None) [fd] name(('mom_remapping/end_remapping', None)) sig(subroutine end_remapping(CS)) signode(subroutine mom_remapping/end_remappingCS) [fd] run(.. f:function:: logical function remapping_unit_tests(verbose)) [fd] sig(logical function remapping_unit_tests(verbose)) [fd] ftype(logical) objtype(function) modname(None) typename() name(remapping_unit_tests) arglist(verbose) [fd] fullname(mom_remapping/remapping_unit_tests) ftype(logical) [fd] name(('mom_remapping/remapping_unit_tests', 'logical')) sig(logical function remapping_unit_tests(verbose)) signode(function mom_remapping/remapping_unit_testsverbose [logical]) [fd] run(.. f:function:: logical function test_answer(verbose, n, u, u_true, label, tol)) [fd] sig(logical function test_answer(verbose, n, u, u_true, label, tol)) [fd] ftype(logical) objtype(function) modname(None) typename() name(test_answer) arglist(verbose, n, u, u_true, label, tol) [fd] fullname(mom_remapping/test_answer) ftype(logical) [fd] name(('mom_remapping/test_answer', 'logical')) sig(logical function test_answer(verbose, n, u, u_true, label, tol)) signode(function mom_remapping/test_answerverbosenuu_truelabeltol [logical]) [fd] run(.. f:subroutine:: subroutine dumpgrid(n, h, x, u)) [fd] sig(subroutine dumpgrid(n, h, x, u)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dumpgrid) arglist(n, h, x, u) [fd] fullname(mom_remapping/dumpgrid) ftype(None) [fd] name(('mom_remapping/dumpgrid', None)) sig(subroutine dumpgrid(n, h, x, u)) signode(subroutine mom_remapping/dumpgridnhxu) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 51%] api/generated/modules/mom_restart [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_restart' [app] emitting event: 'source-read'('api/generated/modules/mom_restart', ['.. autodoxymodule:: mom_restart\n :members:\n :methods:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_restart.rst:1: input: .. autodoxymodule:: mom_restart :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_restart::field_restart ~mom_restart::mom_restart_cs ~mom_restart::obsolete_restart ~mom_restart::p0d ~mom_restart::p1d ~mom_restart::p2d ~mom_restart::p3d ~mom_restart::p4d --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_restart::register_restart_field_as_obsolete ~mom_restart::register_restart_field_ptr3d ~mom_restart::register_restart_field_ptr4d ~mom_restart::register_restart_field_ptr2d ~mom_restart::register_restart_field_ptr1d ~mom_restart::register_restart_field_ptr0d ~mom_restart::register_restart_pair_ptr2d ~mom_restart::register_restart_pair_ptr3d ~mom_restart::register_restart_pair_ptr4d ~mom_restart::register_restart_field_4d ~mom_restart::register_restart_field_3d ~mom_restart::register_restart_field_2d ~mom_restart::register_restart_field_1d ~mom_restart::register_restart_field_0d ~mom_restart::query_initialized_name ~mom_restart::query_initialized_0d ~mom_restart::query_initialized_1d ~mom_restart::query_initialized_2d ~mom_restart::query_initialized_3d ~mom_restart::query_initialized_4d ~mom_restart::query_initialized_0d_name ~mom_restart::query_initialized_1d_name ~mom_restart::query_initialized_2d_name ~mom_restart::query_initialized_3d_name ~mom_restart::query_initialized_4d_name ~mom_restart::save_restart ~mom_restart::restore_state ~mom_restart::restart_files_exist ~mom_restart::determine_is_new_run ~mom_restart::is_new_run ~mom_restart::open_restart_units ~mom_restart::restart_init ~mom_restart::restart_init_end ~mom_restart::restart_end ~mom_restart::restart_error ~mom_restart::get_checksum_loop_ranges [debug] xpath(./compounddef/compoundname[text()="mom_restart"]/..) match([('id', 'namespacemom__restart'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_restart module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart', , {'members': , {'members': , {'members': ), ('mom_restart::mom_restart_cs', ), ('mom_restart::obsolete_restart', ), ('mom_restart::p0d', ), ('mom_restart::p1d', ), ('mom_restart::p2d', ), ('mom_restart::p3d', ), ('mom_restart::p4d', )]) [autodoc] module analyzer failed: error importing 'mom_restart' (exception was: ModuleNotFoundError("No module named 'mom_restart'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_restart::field_restart', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_restart::obsolete_restart', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_restart::obsolete_restart', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_restart::obsolete_restart', , {'members': < [autodoc] module analyzer failed: error importing 'mom_restart' (exception was: ModuleNotFoundError("No module named 'mom_restart'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_restart::p0d', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('register_restart_field_ptr3d', ), ('register_restart_field_ptr4d', ), ('register_restart_field_ptr2d', ), ('register_restart_field_ptr1d', ), ('register_restart_field_ptr0d', ), ('register_restart_pair_ptr2d', ), ('register_restart_pair_ptr3d', ), ('register_restart_pair_ptr4d', ), ('register_restart_field_4d', ), ('register_restart_field_3d', ), ('register_restart_field_2d', ), ('register_restart_field_1d', ), ('register_restart_field_0d', ), ('query_initialized_name', ), ('query_initialized_0d', ), ('query_initialized_1d', ), ('query_initialized_2d', ), ('query_initialized_3d', ), ('query_initialized_4d', ), ('query_initialized_0d_name', ), ('query_initialized_1d_name', ), ('query_initialized_2d_name', ), ('query_initialized_3d_name', ), ('query_initialized_4d_name', ), ('save_restart', ), ('restore_state', ), ('restart_files_exist', ), ('determine_is_new_run', ), ('is_new_run', ), ('open_restart_units', ), ('restart_init', ), ('restart_init_end', ), ('restart_end', ), ('restart_error', ), ('get_checksum_loop_ranges', )]) [autodoc] module analyzer failed: error importing 'mom_restart' (exception was: ModuleNotFoundError("No module named 'mom_restart'")) [debug] DoxygenMethodDocumenter format_signature called ((field_name, replacement_name, CS)) [debug] add_directive_header sig((field_name, replacement_name, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine register_restart_field_as_obsolete) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_restart_field_as_obsolete', , {'member [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_restart_field_as_obsolete', , {'member [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_restart_field_as_obsolete', , {'member [autodoc] module analyzer failed: error importing 'mom_restart' (exception was: ModuleNotFoundError("No module named 'mom_restart'")) [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, var_desc, mandatory, CS)) [debug] add_directive_header sig((f_ptr, var_desc, mandatory, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine register_restart_field_ptr3d) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_restart_field_ptr3d', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_restart::field_restart ~mom_restart::mom_restart_cs ~mom_restart::obsolete_restart ~mom_restart::p0d ~mom_restart::p1d ~mom_restart::p2d ~mom_restart::p3d ~mom_restart::p4d --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_restart::register_restart_field_as_obsolete ~mom_restart::register_restart_field_ptr3d ~mom_restart::register_restart_field_ptr4d ~mom_restart::register_restart_field_ptr2d ~mom_restart::register_restart_field_ptr1d ~mom_restart::register_restart_field_ptr0d ~mom_restart::register_restart_pair_ptr2d ~mom_restart::register_restart_pair_ptr3d ~mom_restart::register_restart_pair_ptr4d ~mom_restart::register_restart_field_4d ~mom_restart::register_restart_field_3d ~mom_restart::register_restart_field_2d ~mom_restart::register_restart_field_1d ~mom_restart::register_restart_field_0d ~mom_restart::query_initialized_name ~mom_restart::query_initialized_0d ~mom_restart::query_initialized_1d ~mom_restart::query_initialized_2d ~mom_restart::query_initialized_3d ~mom_restart::query_initialized_4d ~mom_restart::query_initialized_0d_name ~mom_restart::query_initialized_1d_name ~mom_restart::query_initialized_2d_name ~mom_restart::query_initialized_3d_name ~mom_restart::query_initialized_4d_name ~mom_restart::save_restart ~mom_restart::restore_state ~mom_restart::restart_files_exist ~mom_restart::determine_is_new_run ~mom_restart::is_new_run ~mom_restart::open_restart_units ~mom_restart::restart_init ~mom_restart::restart_init_end ~mom_restart::restart_end ~mom_restart::restart_error ~mom_restart::get_checksum_loop_ranges .. _DETAmom_restart: -------------------- Detailed Description -------------------- The MOM6 facility for reading and writing restart files, and querying what has been read. ------------------ Type Documentation ------------------ .. f:type:: field_restart A structure with information about a single restart field. :typefield type(vardesc) vars [private]: Description of a field that is to be read from or written to the restart file. :typefield logical mand_var [private]: If .true. the run will abort if this field is not successfully read from the restart file. :typefield logical initialized [private]: .true. if this field has been read from the restart file. :typefield character (len=32) var_name [private]: A name by which a variable may be queried. .. f:type:: mom_restart_cs A restart registry and the control structure for restarts. :typefield type( p0d )(\:) var_ptr0d [pointer]: Pointers to the fields that have been registered for restarts. :typefield type( p1d )(\:) var_ptr1d [pointer]: Pointers to the fields that have been registered for restarts. :typefield type( p2d )(\:) var_ptr2d [pointer]: Pointers to the fields that have been registered for restarts. :typefield type( p3d )(\:) var_ptr3d [pointer]: Pointers to the fields that have been registered for restarts. :typefield type( p4d )(\:) var_ptr4d [pointer]: Pointers to the fields that have been registered for restarts. :typefield logical restart: restart is set to .true. if the run has been started from a full restart file. Otherwise some fields must be initialized approximately. :typefield integer novars: The number of restart fields that have been registered. :typefield integer num_obsolete_vars: The number of obsolete restart fields that have been registered. :typefield logical parallel_restartfiles: If true, each PE writes its own restart file, otherwise they are combined internally. :typefield logical large_file_support: If true, NetCDF 3.6 or later is being used and large-file-support is enabled. :typefield logical new_run: If true, the input filenames and restart file existence will result in a new run that is not initialized from restart files. :typefield logical new_run_set: If true, new_run has been determined for this restart_CS. :typefield logical checksum_required: If true, require the restart checksums to match and error out otherwise. Users may want to avoid this comparison if for example the restarts are made from a run with a different mask_table than the current run, in which case the checksums will not match and cause crash. :typefield character (len=240) restartfile: The name or name root for MOM restart files. :typefield integer turns: Number of quarter turns from input to model domain. :typefield type( field_restart )(\:) restart_field [pointer]: An array of descriptions of the registered fields. :typefield type( obsolete_restart )(\:) restart_obsolete [pointer]: An array of obsolete restart fields. :typefield integer max_fields: The maximum number of restart fields. .. f:type:: obsolete_restart A structure to store information about restart fields that are no longer used. :typefield character (len=32) field_name [private]: Name of restart field that is no longer in use. :typefield character (len=32) replacement_name [private]: Name of replacement restart field, if applicable. .. f:type:: p0d A type for making arrays of pointers to scalars. :typefield real p [pointer, private]: A pointer to a scalar. .. f:type:: p1d A type for making arrays of pointers to 1-d arrays. :typefield real(\:) p [pointer, private]: A pointer to a 1d array. .. f:type:: p2d A type for making arrays of pointers to 2-d arrays. :typefield real(\:,\:) p [pointer, private]: A pointer to a 2d array. .. f:type:: p3d A type for making arrays of pointers to 3-d arrays. :typefield real(\:,\:,\:) p [pointer, private]: A pointer to a 3d array. .. f:type:: p4d A type for making arrays of pointers to 4-d arrays. :typefield real(\:,\:,\:,\:) p [pointer, private]: A pointer to a 4d array. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine register_restart_field_as_obsolete(field_name, replacement_name, CS) :param field_name: [in] Name of restart field that is no longer in use :param replacement_name: [in] Name of replacement restart field, if applicable :param cs: A pointer to a MOM_restart_CS object (intent in/out) :calledfrom: :f:func:`mom_set_visc::set_visc_init ` .. f:subroutine:: subroutine register_restart_field_ptr3d(f_ptr, var_desc, mandatory, CS) Register a 3-d field for restarts, providing the metadata in a structure. :param f_ptr: [in] A pointer to the field to be read or written :param var_desc: [in] A structure with metadata about this variable :param mandatory: [in] If true, the run will abort if this field is not successfully read from the restart file. :param cs: A pointer to a MOM_restart_CS object (intent in/out) :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`register_restart_field_3d ` .. f:subroutine:: subroutine register_restart_field_ptr4d(f_ptr, var_desc, mandatory, CS) Register a 4-d field for restarts, providing the metadata in a structure. :param f_ptr: [in] A pointer to the field to be read or written :param var_desc: [in] A structure with metadata about this variable :param mandatory: [in] If true, the run will abort if this field is not successfully read from the restart file. :param cs: A pointer to a MOM_restart_CS object (intent in/out) :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`register_restart_field_4d ` .. f:subroutine:: subroutine register_restart_field_ptr2d(f_ptr, var_desc, mandatory, CS) Register a 2-d field for restarts, providing the metadata in a structure. :param f_ptr: [in] A pointer to the field to be read or written :param var_desc: [in] A structure with metadata about this variable :param mandatory: [in] If true, the run will abort if this field is not successfully read from the restart file. :param cs: A pointer to a MOM_restart_CS object (intent in/out) :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`register_restart_field_2d ` .. f:subroutine:: subroutine register_restart_field_ptr1d(f_ptr, var_desc, mandatory, CS) Register a 1-d field for restarts, providing the metadata in a structure. :param f_ptr: [in] A pointer to the field to be read or written :param var_desc: [in] A structure with metadata about this variable :param mandatory: [in] If true, the run will abort if this field is not successfully read from the restart file. :param cs: A pointer to a MOM_restart_CS object (intent in/out) :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`register_restart_field_1d ` .. f:subroutine:: subroutine register_restart_field_ptr0d(f_ptr, var_desc, mandatory, CS) Register a 0-d field for restarts, providing the metadata in a structure. :param f_ptr: [in] A pointer to the field to be read or written :param var_desc: [in] A structure with metadata about this variable :param mandatory: [in] If true, the run will abort if this field is not successfully read from the restart file. :param cs: A pointer to a MOM_restart_CS object (intent in/out) :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`register_restart_field_0d ` .. f:subroutine:: subroutine register_restart_pair_ptr2d(a_ptr, b_ptr, a_desc, b_desc, mandatory, CS) Register a pair of rotationally equivalent 2d restart fields. :param a_ptr: [in] First field pointer :param b_ptr: [in] Second field pointer :param a_desc: [in] First field descriptor :param b_desc: [in] Second field descriptor :param mandatory: [in] If true, abort if field is missing :param cs: MOM restart control structure .. f:subroutine:: subroutine register_restart_pair_ptr3d(a_ptr, b_ptr, a_desc, b_desc, mandatory, CS) Register a pair of rotationally equivalent 3d restart fields. :param a_ptr: [in] First field pointer :param b_ptr: [in] Second field pointer :param a_desc: [in] First field descriptor :param b_desc: [in] Second field descriptor :param mandatory: [in] If true, abort if field is missing :param cs: MOM restart control structure .. f:subroutine:: subroutine register_restart_pair_ptr4d(a_ptr, b_ptr, a_desc, b_desc, mandatory, CS) Register a pair of rotationally equivalent 2d restart fields. :param a_ptr: [in] First field pointer :param b_ptr: [in] Second field pointer :param a_desc: [in] First field descriptor :param b_desc: [in] Second field descriptor :param mandatory: [in] If true, abort if field is missing :param cs: MOM restart control structure .. f:subroutine:: subroutine register_restart_field_4d(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid) Register a 4-d field for restarts, providing the metadata as individual arguments. :param f_ptr: [in] A pointer to the field to be read or written :param name: [in] variable name to be used in the restart file :param mandatory: [in] If true, the run will abort if this field is not successfully read from the restart file. :param cs: A pointer to a MOM_restart_CS object (intent in/out) :param longname: [in] variable long name :param units: [in] variable units :param hor_grid: [in] variable horizonal staggering, 'h' if absent :param z_grid: [in] variable vertical staggering, 'L' if absent :param t_grid: [in] time description: s, p, or 1, 's' if absent :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`register_restart_field_ptr4d ` .. f:subroutine:: subroutine register_restart_field_3d(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid) Register a 3-d field for restarts, providing the metadata as individual arguments. :param f_ptr: [in] A pointer to the field to be read or written :param name: [in] variable name to be used in the restart file :param mandatory: [in] If true, the run will abort if this field is not successfully read from the restart file. :param cs: A pointer to a MOM_restart_CS object (intent in/out) :param longname: [in] variable long name :param units: [in] variable units :param hor_grid: [in] variable horizonal staggering, 'h' if absent :param z_grid: [in] variable vertical staggering, 'L' if absent :param t_grid: [in] time description: s, p, or 1, 's' if absent :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`register_restart_field_ptr3d ` .. f:subroutine:: subroutine register_restart_field_2d(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid) Register a 2-d field for restarts, providing the metadata as individual arguments. :param f_ptr: [in] A pointer to the field to be read or written :param name: [in] variable name to be used in the restart file :param mandatory: [in] If true, the run will abort if this field is not successfully read from the restart file. :param cs: A pointer to a MOM_restart_CS object (intent in/out) :param longname: [in] variable long name :param units: [in] variable units :param hor_grid: [in] variable horizonal staggering, 'h' if absent :param z_grid: [in] variable vertical staggering, '1' if absent :param t_grid: [in] time description: s, p, or 1, 's' if absent :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`register_restart_field_ptr2d ` .. f:subroutine:: subroutine register_restart_field_1d(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid) Register a 1-d field for restarts, providing the metadata as individual arguments. :param f_ptr: [in] A pointer to the field to be read or written :param name: [in] variable name to be used in the restart file :param mandatory: [in] If true, the run will abort if this field is not successfully read from the restart file. :param cs: A pointer to a MOM_restart_CS object (intent in/out) :param longname: [in] variable long name :param units: [in] variable units :param hor_grid: [in] variable horizonal staggering, '1' if absent :param z_grid: [in] variable vertical staggering, 'L' if absent :param t_grid: [in] time description: s, p, or 1, 's' if absent :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`register_restart_field_ptr1d ` .. f:subroutine:: subroutine register_restart_field_0d(f_ptr, name, mandatory, CS, longname, units, t_grid) Register a 0-d field for restarts, providing the metadata as individual arguments. :param f_ptr: [in] A pointer to the field to be read or written :param name: [in] variable name to be used in the restart file :param mandatory: [in] If true, the run will abort if this field is not successfully read from the restart file. :param cs: A pointer to a MOM_restart_CS object (intent in/out) :param longname: [in] variable long name :param units: [in] variable units :param t_grid: [in] time description: s, p, or 1, 's' if absent :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`register_restart_field_ptr0d ` .. f:function:: logical function query_initialized_name(name, CS) query_initialized_name determines whether a named field has been successfully read from a restart file yet. :param name: [in] The name of the field that is being queried :param cs: A pointer to a MOM_restart_CS object (intent in) :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`restart_error ` :calledfrom: :f:func:`query_initialized_0d_name ` :calledfrom: :f:func:`query_initialized_1d_name ` :calledfrom: :f:func:`query_initialized_2d_name ` :calledfrom: :f:func:`query_initialized_3d_name ` :calledfrom: :f:func:`query_initialized_4d_name ` .. f:function:: logical function query_initialized_0d(f_ptr, CS) Indicate whether the field pointed to by f_ptr has been initialized from a restart file. :param f_ptr: [in] A pointer to the field that is being queried :param cs: A pointer to a MOM_restart_CS object (intent in) :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`restart_error ` .. f:function:: logical function query_initialized_1d(f_ptr, CS) Indicate whether the field pointed to by f_ptr has been initialized from a restart file. :param f_ptr: [in] A pointer to the field that is being queried :param cs: A pointer to a MOM_restart_CS object (intent in) :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`restart_error ` .. f:function:: logical function query_initialized_2d(f_ptr, CS) Indicate whether the field pointed to by f_ptr has been initialized from a restart file. :param f_ptr: [in] A pointer to the field that is being queried :param cs: A pointer to a MOM_restart_CS object (intent in) :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`restart_error ` .. f:function:: logical function query_initialized_3d(f_ptr, CS) Indicate whether the field pointed to by f_ptr has been initialized from a restart file. :param f_ptr: [in] A pointer to the field that is being queried :param cs: A pointer to a MOM_restart_CS object (intent in) :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`restart_error ` .. f:function:: logical function query_initialized_4d(f_ptr, CS) Indicate whether the field pointed to by f_ptr has been initialized from a restart file. :param f_ptr: [in] A pointer to the field that is being queried :param cs: A pointer to a MOM_restart_CS object (intent in) :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`restart_error ` .. f:function:: logical function query_initialized_0d_name(f_ptr, name, CS) Indicate whether the field pointed to by f_ptr or with the specified variable name has been initialized from a restart file. :param f_ptr: [in] A pointer to the field that is being queried :param name: [in] The name of the field that is being queried :param cs: A pointer to a MOM_restart_CS object (intent in) :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`query_initialized_name ` :callto: :f:func:`restart_error ` .. f:function:: logical function query_initialized_1d_name(f_ptr, name, CS) Indicate whether the field pointed to by f_ptr or with the specified variable name has been initialized from a restart file. :param f_ptr: [in] A pointer to the field that is being queried :param name: [in] The name of the field that is being queried :param cs: A pointer to a MOM_restart_CS object (intent in) :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`query_initialized_name ` :callto: :f:func:`restart_error ` .. f:function:: logical function query_initialized_2d_name(f_ptr, name, CS) Indicate whether the field pointed to by f_ptr or with the specified variable name has been initialized from a restart file. :param f_ptr: [in] A pointer to the field that is being queried :param name: [in] The name of the field that is being queried :param cs: A pointer to a MOM_restart_CS object (intent in) :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`query_initialized_name ` :callto: :f:func:`restart_error ` .. f:function:: logical function query_initialized_3d_name(f_ptr, name, CS) Indicate whether the field pointed to by f_ptr or with the specified variable name has been initialized from a restart file. :param f_ptr: [in] A pointer to the field that is being queried :param name: [in] The name of the field that is being queried :param cs: A pointer to a MOM_restart_CS object (intent in) :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`query_initialized_name ` :callto: :f:func:`restart_error ` .. f:function:: logical function query_initialized_4d_name(f_ptr, name, CS) Indicate whether the field pointed to by f_ptr or with the specified variable name has been initialized from a restart file. :param f_ptr: [in] A pointer to the field that is being queried :param name: [in] The name of the field that is being queried :param cs: A pointer to a MOM_restart_CS object (intent in) :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`query_initialized_name ` :callto: :f:func:`restart_error ` .. f:subroutine:: subroutine save_restart(directory, time, G, CS, time_stamped, filename, GV, num_rest_files) save_restart saves all registered variables to restart files. :param directory: [in] The directory where the restart files are to be written :param time: [in] The current model time :param g: [inout] The ocean's grid structure :param cs: The control structure returned by a previous call to restart_init. :param time_stamped: [in] If present and true, add time-stamp to the restart file names. :param filename: [in] A filename that overrides the name in CSrestartfile. :param gv: [in] The ocean's vertical grid structure :param num_rest_files: [out] number of restart files written :callto: :f:func:`get_checksum_loop_ranges ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`restart_error ` :calledfrom: :f:func:`mom_surface_forcing_gfdl::forcing_save_restart ` :calledfrom: :f:func:`mom_surface_forcing::forcing_save_restart ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`ocean_model_mod::ocean_model_restart ` :calledfrom: :f:func:`ocean_model_mod::ocean_model_save_restart ` .. f:subroutine:: subroutine restore_state(filename, directory, day, G, CS) restore_state reads the model state from previously generated files. All restart variables are read from the first file in the input filename list in which they are found. :param filename: [in] The list of restart file names or a single character 'r' to read automatically named files. :param directory: [in] The directory in which to find restart files :param day: [out] The time of the restarted run :param g: [in] The ocean's grid structure :param cs: The control structure returned by a previous call to restart_init. :callto: :f:func:`get_checksum_loop_ranges ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_string_functions::lowercase ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`open_restart_units ` :callto: :f:func:`restart_error ` :calledfrom: :f:func:`mom_ice_shelf::initialize_ice_shelf ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` :calledfrom: :f:func:`mom_surface_forcing_gfdl::surface_forcing_init ` :calledfrom: :f:func:`mom_surface_forcing::surface_forcing_init ` .. f:function:: logical function restart_files_exist(filename, directory, G, CS) restart_files_exist determines whether any restart files exist. :param filename: [in] The list of restart file names or a single character 'r' to read automatically named files. :param directory: [in] The directory in which to find restart files :param g: [in] The ocean's grid structure :param cs: The control structure returned by a previous call to restart_init. :returns undefined: The function result, which indicates whether any of the explicitly or automatically named restart files exist in directory. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`open_restart_units ` .. f:function:: logical function determine_is_new_run(filename, directory, G, CS) determine_is_new_run determines from the value of filename and the existence automatically named restart files in directory whether this would be a new, and as a side effect stores this information in CS. :param filename: [in] The list of restart file names or a single character 'r' to read automatically named files. :param directory: [in] The directory in which to find restart files :param g: [in] The ocean's grid structure :param cs: The control structure returned by a previous call to restart_init. :returns undefined: The function result, which indicates whether this is a new run, based on the value of filename and whether restart files exist. :callto: :f:func:`is_new_run ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`open_restart_units ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` .. f:function:: logical function is_new_run(CS) is_new_run returns whether this is going to be a new run based on the information stored in CS by a previous call to determine_is_new_run. :param cs: The control structure returned by a previous call to restart_init. :returns undefined: The function result, which indicates whether this is a new run, based on the value of filename and whether restart files exist. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`determine_is_new_run ` :calledfrom: :f:func:`mom_dynamics_split_rk2::initialize_dyn_split_rk2 ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:function:: integer function open_restart_units(filename, directory, G, CS, units, file_paths, global_files) open_restart_units determines the number of existing restart files and optionally opens them and returns unit ids, paths and whether the files are global or spatially decomposed. :param filename: [in] The list of restart file names or a single character 'r' to read automatically named files. :param directory: [in] The directory in which to find restart files :param g: [in] The ocean's grid structure :param cs: The control structure returned by a previous call to restart_init. :param units: [out] The mpp units of all opened files. :param file_paths: [out] The full paths to open files. :param global_files: [out] True if a file is global. :returns undefined: The number of files (both automatically named restart files and others explicitly in filename) that have been opened. :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`determine_is_new_run ` :calledfrom: :f:func:`restart_files_exist ` :calledfrom: :f:func:`restore_state ` .. f:subroutine:: subroutine restart_init(param_file, CS, restart_root) Initialize this module and set up a restart control structure. :param param_file: [in] A structure to parse for run-time parameters :param cs: A pointer to a MOM_restart_CS object that is allocated here :param restart_root: [in] A filename root that overrides the value :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_ice_shelf::initialize_ice_shelf ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine restart_init_end(CS) Indicate that all variables have now been registered. :param cs: A pointer to a MOM_restart_CS object :callto: :f:func:`restart_end ` :calledfrom: :f:func:`mom_surface_forcing_gfdl::surface_forcing_init ` :calledfrom: :f:func:`mom_surface_forcing::surface_forcing_init ` .. f:subroutine:: subroutine restart_end(CS) Deallocate memory associated with a MOM_restart_CS variable. :param cs: A pointer to a MOM_restart_CS object :calledfrom: :f:func:`restart_init_end ` .. f:subroutine:: subroutine restart_error(CS) :param cs: A pointer to a MOM_restart_CS object :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`query_initialized_0d ` :calledfrom: :f:func:`query_initialized_0d_name ` :calledfrom: :f:func:`query_initialized_1d ` :calledfrom: :f:func:`query_initialized_1d_name ` :calledfrom: :f:func:`query_initialized_2d ` :calledfrom: :f:func:`query_initialized_2d_name ` :calledfrom: :f:func:`query_initialized_3d ` :calledfrom: :f:func:`query_initialized_3d_name ` :calledfrom: :f:func:`query_initialized_4d ` :calledfrom: :f:func:`query_initialized_4d_name ` :calledfrom: :f:func:`query_initialized_name ` :calledfrom: :f:func:`restore_state ` :calledfrom: :f:func:`save_restart ` .. f:subroutine:: subroutine get_checksum_loop_ranges(G, pos, isL, ieL, jsL, jeL) Return bounds for computing checksums to store in restart files. :param g: [in] The ocean's grid structure :param pos: [in] An integer indicating staggering of variable :param isl: [out] i-start for checksum :param iel: [out] i-end for checksum :param jsl: [out] j-start for checksum :param jel: [out] j-end for checksum :calledfrom: :f:func:`restore_state ` :calledfrom: :f:func:`save_restart ` [debug] xpath(./compounddef/compoundname[text()="mom_restart::field_restart"]/..) match([('id', 'structmom__restart_1_1field__restart'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::field_restart', , {}, ['', 'A st [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::field_restart', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::field_restart', , {}, ['', 'A st [debug] xpath(./compounddef/compoundname[text()="mom_restart::mom_restart_cs"]/..) match([('id', 'structmom__restart_1_1mom__restart__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::mom_restart_cs', , {}, ['', 'A r [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::mom_restart_cs', , {}, ['`More.. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::mom_restart_cs', , {}, ['', 'A r [debug] xpath(./compounddef/compoundname[text()="mom_restart::obsolete_restart"]/..) match([('id', 'structmom__restart_1_1obsolete__restart'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::obsolete_restart', , {}, ['', 'A [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::obsolete_restart', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::obsolete_restart', , {}, ['', 'A [debug] xpath(./compounddef/compoundname[text()="mom_restart::p0d"]/..) match([('id', 'structmom__restart_1_1p0d'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::p0d', , {}, ['', 'A type for mak [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::p0d', , {}, ['`More... , {}, ['', 'A type for mak [debug] xpath(./compounddef/compoundname[text()="mom_restart::p1d"]/..) match([('id', 'structmom__restart_1_1p1d'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::p1d', , {}, ['', 'A type for mak [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::p1d', , {}, ['`More... , {}, ['', 'A type for mak [debug] xpath(./compounddef/compoundname[text()="mom_restart::p2d"]/..) match([('id', 'structmom__restart_1_1p2d'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::p2d', , {}, ['', 'A type for mak [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::p2d', , {}, ['`More... , {}, ['', 'A type for mak [debug] xpath(./compounddef/compoundname[text()="mom_restart::p3d"]/..) match([('id', 'structmom__restart_1_1p3d'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::p3d', , {}, ['', 'A type for mak [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::p3d', , {}, ['`More... , {}, ['', 'A type for mak [debug] xpath(./compounddef/compoundname[text()="mom_restart::p4d"]/..) match([('id', 'structmom__restart_1_1p4d'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::p4d', , {}, ['', 'A type for mak [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart::p4d', , {}, ['`More... , {}, ['', 'A type for mak [debug] DoxygenMethodDocumenter format_signature called ((field_name, replacement_name, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_as_obsolete', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_ptr3d', , { [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, var_desc, mandatory, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_ptr4d', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_ptr4d', , { [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, var_desc, mandatory, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_ptr2d', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_ptr2d', , { [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, var_desc, mandatory, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_ptr1d', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_ptr1d', , { [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, var_desc, mandatory, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_ptr0d', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_ptr0d', , { [debug] DoxygenMethodDocumenter format_signature called ((a_ptr, b_ptr, a_desc, b_desc, mandatory, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_pair_ptr2d', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_pair_ptr2d', , {} [debug] DoxygenMethodDocumenter format_signature called ((a_ptr, b_ptr, a_desc, b_desc, mandatory, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_pair_ptr3d', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_pair_ptr3d', , {} [debug] DoxygenMethodDocumenter format_signature called ((a_ptr, b_ptr, a_desc, b_desc, mandatory, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_pair_ptr4d', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_pair_ptr4d', , {} [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_4d', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_4d', , {}, [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_3d', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_3d', , {}, [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_2d', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_2d', , {}, [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_1d', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_1d', , {}, [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, name, mandatory, CS, longname, units, t_grid)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_0d', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::register_restart_field_0d', , {}, [debug] DoxygenMethodDocumenter format_signature called ((name, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_name', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_name', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_0d', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_0d', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_1d', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_1d', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_2d', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_2d', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_3d', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_3d', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_4d', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_4d', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, name, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_0d_name', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_0d_name', , {}, [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, name, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_1d_name', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_1d_name', , {}, [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, name, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_2d_name', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_2d_name', , {}, [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, name, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_3d_name', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_3d_name', , {}, [debug] DoxygenMethodDocumenter format_signature called ((f_ptr, name, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_4d_name', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::query_initialized_4d_name', , {}, [debug] DoxygenMethodDocumenter format_signature called ((directory, time, G, CS, time_stamped, filename, GV, num_rest_files)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::save_restart', , {}, ['', 'save_re [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::save_restart', , {}, ['', 'save_re [debug] DoxygenMethodDocumenter format_signature called ((filename, directory, day, G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::restore_state', , {}, ['', 'restor [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::restore_state', , {}, ['', 'restor [debug] DoxygenMethodDocumenter format_signature called ((filename, directory, G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::restart_files_exist', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::restart_files_exist', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((filename, directory, G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::determine_is_new_run', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::determine_is_new_run', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::is_new_run', , {}, ['', 'is_new_ru [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::is_new_run', , {}, ['', 'is_new_ru [debug] DoxygenMethodDocumenter format_signature called ((filename, directory, G, CS, units, file_paths, global_files)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::open_restart_units', , {}, ['', 'o [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::open_restart_units', , {}, ['', 'o [debug] DoxygenMethodDocumenter format_signature called ((param_file, CS, restart_root)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::restart_init', , {}, ['', 'Initial [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::restart_init', , {}, ['', 'Initial [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::restart_init_end', , {}, ['', 'Ind [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::restart_init_end', , {}, ['', 'Ind [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::restart_end', , {}, ['', 'Dealloca [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::restart_end', , {}, ['', 'Dealloca [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::restart_error', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::restart_error', , {}, ['']) [debug] DoxygenMethodDocumenter format_signature called ((G, pos, isL, ieL, jsL, jeL)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::get_checksum_loop_ranges', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_restart::get_checksum_loop_ranges', , {}, [ [fd] run(.. f:type:: field_restart) [fd] sig(field_restart) [fd] ftype(None) objtype(None) modname(None) typename() name(field_restart) arglist(None) [fd] fullname(mom_restart/field_restart) ftype(None) [fd] name(('mom_restart/field_restart', None)) sig(field_restart) signode(type mom_restart/field_restart) [fd] run(.. f:type:: mom_restart_cs) [fd] sig(mom_restart_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(mom_restart_cs) arglist(None) [fd] fullname(mom_restart/mom_restart_cs) ftype(None) [fd] name(('mom_restart/mom_restart_cs', None)) sig(mom_restart_cs) signode(type mom_restart/mom_restart_cs) [fd] run(.. f:type:: obsolete_restart) [fd] sig(obsolete_restart) [fd] ftype(None) objtype(None) modname(None) typename() name(obsolete_restart) arglist(None) [fd] fullname(mom_restart/obsolete_restart) ftype(None) [fd] name(('mom_restart/obsolete_restart', None)) sig(obsolete_restart) signode(type mom_restart/obsolete_restart) [fd] run(.. f:type:: p0d) [fd] sig(p0d) [fd] ftype(None) objtype(None) modname(None) typename() name(p0d) arglist(None) [fd] fullname(mom_restart/p0d) ftype(None) [fd] name(('mom_restart/p0d', None)) sig(p0d) signode(type mom_restart/p0d) [fd] run(.. f:type:: p1d) [fd] sig(p1d) [fd] ftype(None) objtype(None) modname(None) typename() name(p1d) arglist(None) [fd] fullname(mom_restart/p1d) ftype(None) [fd] name(('mom_restart/p1d', None)) sig(p1d) signode(type mom_restart/p1d) [fd] run(.. f:type:: p2d) [fd] sig(p2d) [fd] ftype(None) objtype(None) modname(None) typename() name(p2d) arglist(None) [fd] fullname(mom_restart/p2d) ftype(None) [fd] name(('mom_restart/p2d', None)) sig(p2d) signode(type mom_restart/p2d) [fd] run(.. f:type:: p3d) [fd] sig(p3d) [fd] ftype(None) objtype(None) modname(None) typename() name(p3d) arglist(None) [fd] fullname(mom_restart/p3d) ftype(None) [fd] name(('mom_restart/p3d', None)) sig(p3d) signode(type mom_restart/p3d) [fd] run(.. f:type:: p4d) [fd] sig(p4d) [fd] ftype(None) objtype(None) modname(None) typename() name(p4d) arglist(None) [fd] fullname(mom_restart/p4d) ftype(None) [fd] name(('mom_restart/p4d', None)) sig(p4d) signode(type mom_restart/p4d) [fd] run(.. f:subroutine:: subroutine register_restart_field_as_obsolete(field_name, replacement_name, CS)) [fd] sig(subroutine register_restart_field_as_obsolete(field_name, replacement_name, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_restart_field_as_obsolete) arglist(field_name, replacement_name, CS) [fd] fullname(mom_restart/register_restart_field_as_obsolete) ftype(None) [fd] name(('mom_restart/register_restart_field_as_obsolete', None)) sig(subroutine register_restart_field_as_obsolete(field_name, replacement_name, CS)) signode(subroutine mom_restart/register_restart_field_as_obsoletefield_namereplacement_nameCS) [fd] run(.. f:subroutine:: subroutine register_restart_field_ptr3d(f_ptr, var_desc, mandatory, CS)) [fd] sig(subroutine register_restart_field_ptr3d(f_ptr, var_desc, mandatory, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_restart_field_ptr3d) arglist(f_ptr, var_desc, mandatory, CS) [fd] fullname(mom_restart/register_restart_field_ptr3d) ftype(None) [fd] name(('mom_restart/register_restart_field_ptr3d', None)) sig(subroutine register_restart_field_ptr3d(f_ptr, var_desc, mandatory, CS)) signode(subroutine mom_restart/register_restart_field_ptr3df_ptrvar_descmandatoryCS) [fd] run(.. f:subroutine:: subroutine register_restart_field_ptr4d(f_ptr, var_desc, mandatory, CS)) [fd] sig(subroutine register_restart_field_ptr4d(f_ptr, var_desc, mandatory, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_restart_field_ptr4d) arglist(f_ptr, var_desc, mandatory, CS) [fd] fullname(mom_restart/register_restart_field_ptr4d) ftype(None) [fd] name(('mom_restart/register_restart_field_ptr4d', None)) sig(subroutine register_restart_field_ptr4d(f_ptr, var_desc, mandatory, CS)) signode(subroutine mom_restart/register_restart_field_ptr4df_ptrvar_descmandatoryCS) [fd] run(.. f:subroutine:: subroutine register_restart_field_ptr2d(f_ptr, var_desc, mandatory, CS)) [fd] sig(subroutine register_restart_field_ptr2d(f_ptr, var_desc, mandatory, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_restart_field_ptr2d) arglist(f_ptr, var_desc, mandatory, CS) [fd] fullname(mom_restart/register_restart_field_ptr2d) ftype(None) [fd] name(('mom_restart/register_restart_field_ptr2d', None)) sig(subroutine register_restart_field_ptr2d(f_ptr, var_desc, mandatory, CS)) signode(subroutine mom_restart/register_restart_field_ptr2df_ptrvar_descmandatoryCS) [fd] run(.. f:subroutine:: subroutine register_restart_field_ptr1d(f_ptr, var_desc, mandatory, CS)) [fd] sig(subroutine register_restart_field_ptr1d(f_ptr, var_desc, mandatory, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_restart_field_ptr1d) arglist(f_ptr, var_desc, mandatory, CS) [fd] fullname(mom_restart/register_restart_field_ptr1d) ftype(None) [fd] name(('mom_restart/register_restart_field_ptr1d', None)) sig(subroutine register_restart_field_ptr1d(f_ptr, var_desc, mandatory, CS)) signode(subroutine mom_restart/register_restart_field_ptr1df_ptrvar_descmandatoryCS) [fd] run(.. f:subroutine:: subroutine register_restart_field_ptr0d(f_ptr, var_desc, mandatory, CS)) [fd] sig(subroutine register_restart_field_ptr0d(f_ptr, var_desc, mandatory, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_restart_field_ptr0d) arglist(f_ptr, var_desc, mandatory, CS) [fd] fullname(mom_restart/register_restart_field_ptr0d) ftype(None) [fd] name(('mom_restart/register_restart_field_ptr0d', None)) sig(subroutine register_restart_field_ptr0d(f_ptr, var_desc, mandatory, CS)) signode(subroutine mom_restart/register_restart_field_ptr0df_ptrvar_descmandatoryCS) [fd] run(.. f:subroutine:: subroutine register_restart_pair_ptr2d(a_ptr, b_ptr, a_desc, b_desc, mandatory, CS)) [fd] sig(subroutine register_restart_pair_ptr2d(a_ptr, b_ptr, a_desc, b_desc, mandatory, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_restart_pair_ptr2d) arglist(a_ptr, b_ptr, a_desc, b_desc, mandatory, CS) [fd] fullname(mom_restart/register_restart_pair_ptr2d) ftype(None) [fd] name(('mom_restart/register_restart_pair_ptr2d', None)) sig(subroutine register_restart_pair_ptr2d(a_ptr, b_ptr, a_desc, b_desc, mandatory, CS)) signode(subroutine mom_restart/register_restart_pair_ptr2da_ptrb_ptra_descb_descmandatoryCS) [fd] run(.. f:subroutine:: subroutine register_restart_pair_ptr3d(a_ptr, b_ptr, a_desc, b_desc, mandatory, CS)) [fd] sig(subroutine register_restart_pair_ptr3d(a_ptr, b_ptr, a_desc, b_desc, mandatory, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_restart_pair_ptr3d) arglist(a_ptr, b_ptr, a_desc, b_desc, mandatory, CS) [fd] fullname(mom_restart/register_restart_pair_ptr3d) ftype(None) [fd] name(('mom_restart/register_restart_pair_ptr3d', None)) sig(subroutine register_restart_pair_ptr3d(a_ptr, b_ptr, a_desc, b_desc, mandatory, CS)) signode(subroutine mom_restart/register_restart_pair_ptr3da_ptrb_ptra_descb_descmandatoryCS) [fd] run(.. f:subroutine:: subroutine register_restart_pair_ptr4d(a_ptr, b_ptr, a_desc, b_desc, mandatory, CS)) [fd] sig(subroutine register_restart_pair_ptr4d(a_ptr, b_ptr, a_desc, b_desc, mandatory, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_restart_pair_ptr4d) arglist(a_ptr, b_ptr, a_desc, b_desc, mandatory, CS) [fd] fullname(mom_restart/register_restart_pair_ptr4d) ftype(None) [fd] name(('mom_restart/register_restart_pair_ptr4d', None)) sig(subroutine register_restart_pair_ptr4d(a_ptr, b_ptr, a_desc, b_desc, mandatory, CS)) signode(subroutine mom_restart/register_restart_pair_ptr4da_ptrb_ptra_descb_descmandatoryCS) [fd] run(.. f:subroutine:: subroutine register_restart_field_4d(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid)) [fd] sig(subroutine register_restart_field_4d(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_restart_field_4d) arglist(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid) [fd] fullname(mom_restart/register_restart_field_4d) ftype(None) [fd] name(('mom_restart/register_restart_field_4d', None)) sig(subroutine register_restart_field_4d(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid)) signode(subroutine mom_restart/register_restart_field_4df_ptrnamemandatoryCSlongnameunitshor_gridz_gridt_grid) [fd] run(.. f:subroutine:: subroutine register_restart_field_3d(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid)) [fd] sig(subroutine register_restart_field_3d(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_restart_field_3d) arglist(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid) [fd] fullname(mom_restart/register_restart_field_3d) ftype(None) [fd] name(('mom_restart/register_restart_field_3d', None)) sig(subroutine register_restart_field_3d(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid)) signode(subroutine mom_restart/register_restart_field_3df_ptrnamemandatoryCSlongnameunitshor_gridz_gridt_grid) [fd] run(.. f:subroutine:: subroutine register_restart_field_2d(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid)) [fd] sig(subroutine register_restart_field_2d(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_restart_field_2d) arglist(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid) [fd] fullname(mom_restart/register_restart_field_2d) ftype(None) [fd] name(('mom_restart/register_restart_field_2d', None)) sig(subroutine register_restart_field_2d(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid)) signode(subroutine mom_restart/register_restart_field_2df_ptrnamemandatoryCSlongnameunitshor_gridz_gridt_grid) [fd] run(.. f:subroutine:: subroutine register_restart_field_1d(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid)) [fd] sig(subroutine register_restart_field_1d(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_restart_field_1d) arglist(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid) [fd] fullname(mom_restart/register_restart_field_1d) ftype(None) [fd] name(('mom_restart/register_restart_field_1d', None)) sig(subroutine register_restart_field_1d(f_ptr, name, mandatory, CS, longname, units, hor_grid, z_grid, t_grid)) signode(subroutine mom_restart/register_restart_field_1df_ptrnamemandatoryCSlongnameunitshor_gridz_gridt_grid) [fd] run(.. f:subroutine:: subroutine register_restart_field_0d(f_ptr, name, mandatory, CS, longname, units, t_grid)) [fd] sig(subroutine register_restart_field_0d(f_ptr, name, mandatory, CS, longname, units, t_grid)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_restart_field_0d) arglist(f_ptr, name, mandatory, CS, longname, units, t_grid) [fd] fullname(mom_restart/register_restart_field_0d) ftype(None) [fd] name(('mom_restart/register_restart_field_0d', None)) sig(subroutine register_restart_field_0d(f_ptr, name, mandatory, CS, longname, units, t_grid)) signode(subroutine mom_restart/register_restart_field_0df_ptrnamemandatoryCSlongnameunitst_grid) [fd] run(.. f:function:: logical function query_initialized_name(name, CS)) [fd] sig(logical function query_initialized_name(name, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(query_initialized_name) arglist(name, CS) [fd] fullname(mom_restart/query_initialized_name) ftype(logical) [fd] name(('mom_restart/query_initialized_name', 'logical')) sig(logical function query_initialized_name(name, CS)) signode(function mom_restart/query_initialized_namenameCS [logical]) [fd] run(.. f:function:: logical function query_initialized_0d(f_ptr, CS)) [fd] sig(logical function query_initialized_0d(f_ptr, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(query_initialized_0d) arglist(f_ptr, CS) [fd] fullname(mom_restart/query_initialized_0d) ftype(logical) [fd] name(('mom_restart/query_initialized_0d', 'logical')) sig(logical function query_initialized_0d(f_ptr, CS)) signode(function mom_restart/query_initialized_0df_ptrCS [logical]) [fd] run(.. f:function:: logical function query_initialized_1d(f_ptr, CS)) [fd] sig(logical function query_initialized_1d(f_ptr, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(query_initialized_1d) arglist(f_ptr, CS) [fd] fullname(mom_restart/query_initialized_1d) ftype(logical) [fd] name(('mom_restart/query_initialized_1d', 'logical')) sig(logical function query_initialized_1d(f_ptr, CS)) signode(function mom_restart/query_initialized_1df_ptrCS [logical]) [fd] run(.. f:function:: logical function query_initialized_2d(f_ptr, CS)) [fd] sig(logical function query_initialized_2d(f_ptr, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(query_initialized_2d) arglist(f_ptr, CS) [fd] fullname(mom_restart/query_initialized_2d) ftype(logical) [fd] name(('mom_restart/query_initialized_2d', 'logical')) sig(logical function query_initialized_2d(f_ptr, CS)) signode(function mom_restart/query_initialized_2df_ptrCS [logical]) [fd] run(.. f:function:: logical function query_initialized_3d(f_ptr, CS)) [fd] sig(logical function query_initialized_3d(f_ptr, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(query_initialized_3d) arglist(f_ptr, CS) [fd] fullname(mom_restart/query_initialized_3d) ftype(logical) [fd] name(('mom_restart/query_initialized_3d', 'logical')) sig(logical function query_initialized_3d(f_ptr, CS)) signode(function mom_restart/query_initialized_3df_ptrCS [logical]) [fd] run(.. f:function:: logical function query_initialized_4d(f_ptr, CS)) [fd] sig(logical function query_initialized_4d(f_ptr, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(query_initialized_4d) arglist(f_ptr, CS) [fd] fullname(mom_restart/query_initialized_4d) ftype(logical) [fd] name(('mom_restart/query_initialized_4d', 'logical')) sig(logical function query_initialized_4d(f_ptr, CS)) signode(function mom_restart/query_initialized_4df_ptrCS [logical]) [fd] run(.. f:function:: logical function query_initialized_0d_name(f_ptr, name, CS)) [fd] sig(logical function query_initialized_0d_name(f_ptr, name, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(query_initialized_0d_name) arglist(f_ptr, name, CS) [fd] fullname(mom_restart/query_initialized_0d_name) ftype(logical) [fd] name(('mom_restart/query_initialized_0d_name', 'logical')) sig(logical function query_initialized_0d_name(f_ptr, name, CS)) signode(function mom_restart/query_initialized_0d_namef_ptrnameCS [logical]) [fd] run(.. f:function:: logical function query_initialized_1d_name(f_ptr, name, CS)) [fd] sig(logical function query_initialized_1d_name(f_ptr, name, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(query_initialized_1d_name) arglist(f_ptr, name, CS) [fd] fullname(mom_restart/query_initialized_1d_name) ftype(logical) [fd] name(('mom_restart/query_initialized_1d_name', 'logical')) sig(logical function query_initialized_1d_name(f_ptr, name, CS)) signode(function mom_restart/query_initialized_1d_namef_ptrnameCS [logical]) [fd] run(.. f:function:: logical function query_initialized_2d_name(f_ptr, name, CS)) [fd] sig(logical function query_initialized_2d_name(f_ptr, name, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(query_initialized_2d_name) arglist(f_ptr, name, CS) [fd] fullname(mom_restart/query_initialized_2d_name) ftype(logical) [fd] name(('mom_restart/query_initialized_2d_name', 'logical')) sig(logical function query_initialized_2d_name(f_ptr, name, CS)) signode(function mom_restart/query_initialized_2d_namef_ptrnameCS [logical]) [fd] run(.. f:function:: logical function query_initialized_3d_name(f_ptr, name, CS)) [fd] sig(logical function query_initialized_3d_name(f_ptr, name, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(query_initialized_3d_name) arglist(f_ptr, name, CS) [fd] fullname(mom_restart/query_initialized_3d_name) ftype(logical) [fd] name(('mom_restart/query_initialized_3d_name', 'logical')) sig(logical function query_initialized_3d_name(f_ptr, name, CS)) signode(function mom_restart/query_initialized_3d_namef_ptrnameCS [logical]) [fd] run(.. f:function:: logical function query_initialized_4d_name(f_ptr, name, CS)) [fd] sig(logical function query_initialized_4d_name(f_ptr, name, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(query_initialized_4d_name) arglist(f_ptr, name, CS) [fd] fullname(mom_restart/query_initialized_4d_name) ftype(logical) [fd] name(('mom_restart/query_initialized_4d_name', 'logical')) sig(logical function query_initialized_4d_name(f_ptr, name, CS)) signode(function mom_restart/query_initialized_4d_namef_ptrnameCS [logical]) [fd] run(.. f:subroutine:: subroutine save_restart(directory, time, G, CS, time_stamped, filename, GV, num_rest_files)) [fd] sig(subroutine save_restart(directory, time, G, CS, time_stamped, filename, GV, num_rest_files)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(save_restart) arglist(directory, time, G, CS, time_stamped, filename, GV, num_rest_files) [fd] fullname(mom_restart/save_restart) ftype(None) [fd] name(('mom_restart/save_restart', None)) sig(subroutine save_restart(directory, time, G, CS, time_stamped, filename, GV, num_rest_files)) signode(subroutine mom_restart/save_restartdirectorytimeGCStime_stampedfilenameGVnum_rest_files) [fd] run(.. f:subroutine:: subroutine restore_state(filename, directory, day, G, CS)) [fd] sig(subroutine restore_state(filename, directory, day, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(restore_state) arglist(filename, directory, day, G, CS) [fd] fullname(mom_restart/restore_state) ftype(None) [fd] name(('mom_restart/restore_state', None)) sig(subroutine restore_state(filename, directory, day, G, CS)) signode(subroutine mom_restart/restore_statefilenamedirectorydayGCS) [fd] run(.. f:function:: logical function restart_files_exist(filename, directory, G, CS)) [fd] sig(logical function restart_files_exist(filename, directory, G, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(restart_files_exist) arglist(filename, directory, G, CS) [fd] fullname(mom_restart/restart_files_exist) ftype(logical) [fd] name(('mom_restart/restart_files_exist', 'logical')) sig(logical function restart_files_exist(filename, directory, G, CS)) signode(function mom_restart/restart_files_existfilenamedirectoryGCS [logical]) [fd] run(.. f:function:: logical function determine_is_new_run(filename, directory, G, CS)) [fd] sig(logical function determine_is_new_run(filename, directory, G, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(determine_is_new_run) arglist(filename, directory, G, CS) [fd] fullname(mom_restart/determine_is_new_run) ftype(logical) [fd] name(('mom_restart/determine_is_new_run', 'logical')) sig(logical function determine_is_new_run(filename, directory, G, CS)) signode(function mom_restart/determine_is_new_runfilenamedirectoryGCS [logical]) [fd] run(.. f:function:: logical function is_new_run(CS)) [fd] sig(logical function is_new_run(CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(is_new_run) arglist(CS) [fd] fullname(mom_restart/is_new_run) ftype(logical) [fd] name(('mom_restart/is_new_run', 'logical')) sig(logical function is_new_run(CS)) signode(function mom_restart/is_new_runCS [logical]) [fd] run(.. f:function:: integer function open_restart_units(filename, directory, G, CS, units, file_paths, global_files)) [fd] sig(integer function open_restart_units(filename, directory, G, CS, units, file_paths, global_files)) [fd] ftype(integer) objtype(function) modname(None) typename() name(open_restart_units) arglist(filename, directory, G, CS, units, file_paths, global_files) [fd] fullname(mom_restart/open_restart_units) ftype(integer) [fd] name(('mom_restart/open_restart_units', 'integer')) sig(integer function open_restart_units(filename, directory, G, CS, units, file_paths, global_files)) signode(function mom_restart/open_restart_unitsfilenamedirectoryGCSunitsfile_pathsglobal_files [integer]) [fd] run(.. f:subroutine:: subroutine restart_init(param_file, CS, restart_root)) [fd] sig(subroutine restart_init(param_file, CS, restart_root)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(restart_init) arglist(param_file, CS, restart_root) [fd] fullname(mom_restart/restart_init) ftype(None) [fd] name(('mom_restart/restart_init', None)) sig(subroutine restart_init(param_file, CS, restart_root)) signode(subroutine mom_restart/restart_initparam_fileCSrestart_root) [fd] run(.. f:subroutine:: subroutine restart_init_end(CS)) [fd] sig(subroutine restart_init_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(restart_init_end) arglist(CS) [fd] fullname(mom_restart/restart_init_end) ftype(None) [fd] name(('mom_restart/restart_init_end', None)) sig(subroutine restart_init_end(CS)) signode(subroutine mom_restart/restart_init_endCS) [fd] run(.. f:subroutine:: subroutine restart_end(CS)) [fd] sig(subroutine restart_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(restart_end) arglist(CS) [fd] fullname(mom_restart/restart_end) ftype(None) [fd] name(('mom_restart/restart_end', None)) sig(subroutine restart_end(CS)) signode(subroutine mom_restart/restart_endCS) [fd] run(.. f:subroutine:: subroutine restart_error(CS)) [fd] sig(subroutine restart_error(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(restart_error) arglist(CS) [fd] fullname(mom_restart/restart_error) ftype(None) [fd] name(('mom_restart/restart_error', None)) sig(subroutine restart_error(CS)) signode(subroutine mom_restart/restart_errorCS) [fd] run(.. f:subroutine:: subroutine get_checksum_loop_ranges(G, pos, isL, ieL, jsL, jeL)) [fd] sig(subroutine get_checksum_loop_ranges(G, pos, isL, ieL, jsL, jeL)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_checksum_loop_ranges) arglist(G, pos, isL, ieL, jsL, jeL) [fd] fullname(mom_restart/get_checksum_loop_ranges) ftype(None) [fd] name(('mom_restart/get_checksum_loop_ranges', None)) sig(subroutine get_checksum_loop_ranges(G, pos, isL, ieL, jsL, jeL)) signode(subroutine mom_restart/get_checksum_loop_rangesGposisLieLjsLjeL) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 51%] api/generated/modules/mom_safe_alloc [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_safe_all [app] emitting event: 'source-read'('api/generated/modules/mom_safe_alloc', ['.. autodoxymodule:: mom_safe_alloc\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_safe_alloc.rst:1: input: .. autodoxymodule:: mom_safe_alloc :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_safe_alloc::safe_alloc_ptr_1d ~mom_safe_alloc::safe_alloc_ptr_2d_2arg ~mom_safe_alloc::safe_alloc_ptr_3d_3arg ~mom_safe_alloc::safe_alloc_ptr_2d ~mom_safe_alloc::safe_alloc_ptr_3d ~mom_safe_alloc::safe_alloc_ptr_3d_6arg ~mom_safe_alloc::safe_alloc_allocatable_2d ~mom_safe_alloc::safe_alloc_allocatable_3d ~mom_safe_alloc::safe_alloc_allocatable_3d_6arg [debug] xpath(./compounddef/compoundname[text()="mom_safe_alloc"]/..) match([('id', 'namespacemom__safe__alloc'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_safe_alloc module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_safe_alloc', , {'members': , {'members': , {'members': ), ('safe_alloc_ptr_2d_2arg', ), ('safe_alloc_ptr_3d_3arg', ), ('safe_alloc_ptr_2d', ), ('safe_alloc_ptr_3d', ), ('safe_alloc_ptr_3d_6arg', ), ('safe_alloc_allocatable_2d', ), ('safe_alloc_allocatable_3d', ), ('safe_alloc_allocatable_3d_6arg', )]) [autodoc] module analyzer failed: error importing 'mom_safe_alloc' (exception was: ModuleNotFoundError("No module named 'mom_safe_alloc'")) [debug] DoxygenMethodDocumenter format_signature called ((ptr, i1, i2)) [debug] add_directive_header sig((ptr, i1, i2)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine safe_alloc_ptr_1d) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'safe_alloc_ptr_1d', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'safe_alloc_allocatable_3d_6arg', , {'members': [autodoc] output: =============================== mom_safe_alloc module reference =============================== .. f:module:: mom_safe_alloc Convenience functions for safely allocating memory without accidentally reallocating pointer and causing memory leaks. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_safe_alloc::safe_alloc_ptr_1d ~mom_safe_alloc::safe_alloc_ptr_2d_2arg ~mom_safe_alloc::safe_alloc_ptr_3d_3arg ~mom_safe_alloc::safe_alloc_ptr_2d ~mom_safe_alloc::safe_alloc_ptr_3d ~mom_safe_alloc::safe_alloc_ptr_3d_6arg ~mom_safe_alloc::safe_alloc_allocatable_2d ~mom_safe_alloc::safe_alloc_allocatable_3d ~mom_safe_alloc::safe_alloc_allocatable_3d_6arg .. _DETAmom_safe_alloc: -------------------- Detailed Description -------------------- Convenience functions for safely allocating memory without accidentally reallocating pointer and causing memory leaks. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine safe_alloc_ptr_1d(ptr, i1, i2) Allocate a pointer to a 1-d array. :param ptr: A pointer to allocate :param i1: [in] The size of the array, or its starting index if i2 is present :param i2: [in] The ending index of the array .. f:subroutine:: subroutine safe_alloc_ptr_2d_2arg(ptr, ni, nj) Allocate a pointer to a 2-d array based on its dimension sizes. :param ptr: A pointer to allocate :param ni: [in] The size of the 1st dimension of the array :param nj: [in] The size of the 2nd dimension of the array .. f:subroutine:: subroutine safe_alloc_ptr_3d_3arg(ptr, ni, nj, nk) Allocate a pointer to a 3-d array based on its dimension sizes. :param ptr: A pointer to allocate :param ni: [in] The size of the 1st dimension of the array :param nj: [in] The size of the 2nd dimension of the array :param nk: [in] The size of the 3rd dimension of the array .. f:subroutine:: subroutine safe_alloc_ptr_2d(ptr, is, ie, js, je) Allocate a pointer to a 2-d array based on its index starting and ending values. :param ptr: A pointer to allocate :param is: [in] The start index to allocate for the 1st dimension :param ie: [in] The end index to allocate for the 1st dimension :param js: [in] The start index to allocate for the 2nd dimension :param je: [in] The end index to allocate for the 2nd dimension .. f:subroutine:: subroutine safe_alloc_ptr_3d(ptr, is, ie, js, je, nk) Allocate a pointer to a 3-d array based on its index starting and ending values. :param ptr: A pointer to allocate :param is: [in] The start index to allocate for the 1st dimension :param ie: [in] The end index to allocate for the 1st dimension :param js: [in] The start index to allocate for the 2nd dimension :param je: [in] The end index to allocate for the 2nd dimension :param nk: [in] The size to allocate for the 3rd dimension .. f:subroutine:: subroutine safe_alloc_ptr_3d_6arg(ptr, is, ie, js, je, ks, ke) Allocate a pointer to a 3-d array based on its index starting and ending values. :param ptr: A pointer to allocate :param is: [in] The start index to allocate for the 1st dimension :param ie: [in] The end index to allocate for the 1st dimension :param js: [in] The start index to allocate for the 2nd dimension :param je: [in] The end index to allocate for the 2nd dimension :param ks: [in] The start index to allocate for the 3rd dimension :param ke: [in] The end index to allocate for the 3rd dimension .. f:subroutine:: subroutine safe_alloc_allocatable_2d(ptr, is, ie, js, je) Allocate a 2-d allocatable array based on its index starting and ending values. :param ptr: An allocatable array to allocate :param is: [in] The start index to allocate for the 1st dimension :param ie: [in] The end index to allocate for the 1st dimension :param js: [in] The start index to allocate for the 2nd dimension :param je: [in] The end index to allocate for the 2nd dimension .. f:subroutine:: subroutine safe_alloc_allocatable_3d(ptr, is, ie, js, je, nk) Allocate a 3-d allocatable array based on its index starting and ending values and k-index size. :param ptr: An allocatable array to allocate :param is: [in] The start index to allocate for the 1st dimension :param ie: [in] The end index to allocate for the 1st dimension :param js: [in] The start index to allocate for the 2nd dimension :param je: [in] The end index to allocate for the 2nd dimension :param nk: [in] The size to allocate for the 3rd dimension .. f:subroutine:: subroutine safe_alloc_allocatable_3d_6arg(ptr, is, ie, js, je, ks, ke) Allocate a 3-d allocatable array based on its 6 index starting and ending values. :param ptr: An allocatable array to allocate :param is: [in] The start index to allocate for the 1st dimension :param ie: [in] The end index to allocate for the 1st dimension :param js: [in] The start index to allocate for the 2nd dimension :param je: [in] The end index to allocate for the 2nd dimension :param ks: [in] The start index to allocate for the 3rd dimension :param ke: [in] The end index to allocate for the 3rd dimension [debug] DoxygenMethodDocumenter format_signature called ((ptr, i1, i2)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_safe_alloc::safe_alloc_ptr_1d', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_safe_alloc::safe_alloc_ptr_1d', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((ptr, ni, nj)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_safe_alloc::safe_alloc_ptr_2d_2arg', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_safe_alloc::safe_alloc_ptr_2d_2arg', , {}, [debug] DoxygenMethodDocumenter format_signature called ((ptr, ni, nj, nk)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_safe_alloc::safe_alloc_ptr_3d_3arg', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_safe_alloc::safe_alloc_ptr_3d_3arg', , {}, [debug] DoxygenMethodDocumenter format_signature called ((ptr, is, ie, js, je)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_safe_alloc::safe_alloc_ptr_2d', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_safe_alloc::safe_alloc_ptr_2d', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((ptr, is, ie, js, je, nk)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_safe_alloc::safe_alloc_ptr_3d', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_safe_alloc::safe_alloc_ptr_3d', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((ptr, is, ie, js, je, ks, ke)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_safe_alloc::safe_alloc_ptr_3d_6arg', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_safe_alloc::safe_alloc_ptr_3d_6arg', , {}, [debug] DoxygenMethodDocumenter format_signature called ((ptr, is, ie, js, je)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_safe_alloc::safe_alloc_allocatable_2d', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_safe_alloc::safe_alloc_allocatable_2d', , { [debug] DoxygenMethodDocumenter format_signature called ((ptr, is, ie, js, je, nk)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_safe_alloc::safe_alloc_allocatable_3d', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_safe_alloc::safe_alloc_allocatable_3d', , { [debug] DoxygenMethodDocumenter format_signature called ((ptr, is, ie, js, je, ks, ke)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_safe_alloc::safe_alloc_allocatable_3d_6arg', subroutine mom_safe_alloc/safe_alloc_ptr_1dptri1i2) [fd] run(.. f:subroutine:: subroutine safe_alloc_ptr_2d_2arg(ptr, ni, nj)) [fd] sig(subroutine safe_alloc_ptr_2d_2arg(ptr, ni, nj)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(safe_alloc_ptr_2d_2arg) arglist(ptr, ni, nj) [fd] fullname(mom_safe_alloc/safe_alloc_ptr_2d_2arg) ftype(None) [fd] name(('mom_safe_alloc/safe_alloc_ptr_2d_2arg', None)) sig(subroutine safe_alloc_ptr_2d_2arg(ptr, ni, nj)) signode(subroutine mom_safe_alloc/safe_alloc_ptr_2d_2argptrninj) [fd] run(.. f:subroutine:: subroutine safe_alloc_ptr_3d_3arg(ptr, ni, nj, nk)) [fd] sig(subroutine safe_alloc_ptr_3d_3arg(ptr, ni, nj, nk)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(safe_alloc_ptr_3d_3arg) arglist(ptr, ni, nj, nk) [fd] fullname(mom_safe_alloc/safe_alloc_ptr_3d_3arg) ftype(None) [fd] name(('mom_safe_alloc/safe_alloc_ptr_3d_3arg', None)) sig(subroutine safe_alloc_ptr_3d_3arg(ptr, ni, nj, nk)) signode(subroutine mom_safe_alloc/safe_alloc_ptr_3d_3argptrninjnk) [fd] run(.. f:subroutine:: subroutine safe_alloc_ptr_2d(ptr, is, ie, js, je)) [fd] sig(subroutine safe_alloc_ptr_2d(ptr, is, ie, js, je)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(safe_alloc_ptr_2d) arglist(ptr, is, ie, js, je) [fd] fullname(mom_safe_alloc/safe_alloc_ptr_2d) ftype(None) [fd] name(('mom_safe_alloc/safe_alloc_ptr_2d', None)) sig(subroutine safe_alloc_ptr_2d(ptr, is, ie, js, je)) signode(subroutine mom_safe_alloc/safe_alloc_ptr_2dptrisiejsje) [fd] run(.. f:subroutine:: subroutine safe_alloc_ptr_3d(ptr, is, ie, js, je, nk)) [fd] sig(subroutine safe_alloc_ptr_3d(ptr, is, ie, js, je, nk)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(safe_alloc_ptr_3d) arglist(ptr, is, ie, js, je, nk) [fd] fullname(mom_safe_alloc/safe_alloc_ptr_3d) ftype(None) [fd] name(('mom_safe_alloc/safe_alloc_ptr_3d', None)) sig(subroutine safe_alloc_ptr_3d(ptr, is, ie, js, je, nk)) signode(subroutine mom_safe_alloc/safe_alloc_ptr_3dptrisiejsjenk) [fd] run(.. f:subroutine:: subroutine safe_alloc_ptr_3d_6arg(ptr, is, ie, js, je, ks, ke)) [fd] sig(subroutine safe_alloc_ptr_3d_6arg(ptr, is, ie, js, je, ks, ke)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(safe_alloc_ptr_3d_6arg) arglist(ptr, is, ie, js, je, ks, ke) [fd] fullname(mom_safe_alloc/safe_alloc_ptr_3d_6arg) ftype(None) [fd] name(('mom_safe_alloc/safe_alloc_ptr_3d_6arg', None)) sig(subroutine safe_alloc_ptr_3d_6arg(ptr, is, ie, js, je, ks, ke)) signode(subroutine mom_safe_alloc/safe_alloc_ptr_3d_6argptrisiejsjekske) [fd] run(.. f:subroutine:: subroutine safe_alloc_allocatable_2d(ptr, is, ie, js, je)) [fd] sig(subroutine safe_alloc_allocatable_2d(ptr, is, ie, js, je)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(safe_alloc_allocatable_2d) arglist(ptr, is, ie, js, je) [fd] fullname(mom_safe_alloc/safe_alloc_allocatable_2d) ftype(None) [fd] name(('mom_safe_alloc/safe_alloc_allocatable_2d', None)) sig(subroutine safe_alloc_allocatable_2d(ptr, is, ie, js, je)) signode(subroutine mom_safe_alloc/safe_alloc_allocatable_2dptrisiejsje) [fd] run(.. f:subroutine:: subroutine safe_alloc_allocatable_3d(ptr, is, ie, js, je, nk)) [fd] sig(subroutine safe_alloc_allocatable_3d(ptr, is, ie, js, je, nk)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(safe_alloc_allocatable_3d) arglist(ptr, is, ie, js, je, nk) [fd] fullname(mom_safe_alloc/safe_alloc_allocatable_3d) ftype(None) [fd] name(('mom_safe_alloc/safe_alloc_allocatable_3d', None)) sig(subroutine safe_alloc_allocatable_3d(ptr, is, ie, js, je, nk)) signode(subroutine mom_safe_alloc/safe_alloc_allocatable_3dptrisiejsjenk) [fd] run(.. f:subroutine:: subroutine safe_alloc_allocatable_3d_6arg(ptr, is, ie, js, je, ks, ke)) [fd] sig(subroutine safe_alloc_allocatable_3d_6arg(ptr, is, ie, js, je, ks, ke)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(safe_alloc_allocatable_3d_6arg) arglist(ptr, is, ie, js, je, ks, ke) [fd] fullname(mom_safe_alloc/safe_alloc_allocatable_3d_6arg) ftype(None) [fd] name(('mom_safe_alloc/safe_alloc_allocatable_3d_6arg', None)) sig(subroutine safe_alloc_allocatable_3d_6arg(ptr, is, ie, js, je, ks, ke)) signode(subroutine mom_safe_alloc/safe_alloc_allocatable_3d_6argptrisiejsjekske) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 51%] api/generated/modules/mom_set_diffusivity [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_set_diff [app] emitting event: 'source-read'('api/generated/modules/mom_set_diffusivity', ['.. autodoxymodule:: mom_set_diffusivity\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_set_diffusivity.rst:1: input: .. autodoxymodule:: mom_set_diffusivity :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_set_diffusivity::diffusivity_diags ~mom_set_diffusivity::set_diffusivity_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_set_diffusivity::set_diffusivity ~mom_set_diffusivity::find_tke_to_kd ~mom_set_diffusivity::find_n2 ~mom_set_diffusivity::double_diffusion ~mom_set_diffusivity::add_drag_diffusivity ~mom_set_diffusivity::add_lotw_bbl_diffusivity ~mom_set_diffusivity::add_mlrad_diffusivity ~mom_set_diffusivity::set_bbl_tke ~mom_set_diffusivity::set_density_ratios ~mom_set_diffusivity::set_diffusivity_init ~mom_set_diffusivity::set_diffusivity_end [debug] xpath(./compounddef/compoundname[text()="mom_set_diffusivity"]/..) match([('id', 'namespacemom__set__diffusivity'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_set_diffusivity module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_set_diffusivity', , {'members': , {'members': , {'members': ), ('mom_set_diffusivity::set_diffusivity_cs', )]) [autodoc] module analyzer failed: error importing 'mom_set_diffusivity' (exception was: ModuleNotFoundError("No module named 'mom_set_diffusivity'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_set_diffusivity::diffusivity_diags', , {'me [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::diffusivity_diags', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::diffusivity_diags', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::diffusivity_diags', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::diffusivity_diags', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::diffusivity_diags', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::diffusivity_diags', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::diffusivity_diags', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::diffusivity_diags', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::diffusivity_diags', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::diffusivity_diags', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::diffusivity_diags', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::diffusivity_diags', , {'me [autodoc] module analyzer failed: error importing 'mom_set_diffusivity' (exception was: ModuleNotFoundError("No module named 'mom_set_diffusivity'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_set_diffusivity::set_diffusivity_cs', , {'m [debug] members([('set_diffusivity', ), ('find_tke_to_kd', ), ('find_n2', ), ('double_diffusion', ), ('add_drag_diffusivity', ), ('add_lotw_bbl_diffusivity', ), ('add_mlrad_diffusivity', ), ('set_bbl_tke', ), ('set_density_ratios', ), ('set_diffusivity_init', ), ('set_diffusivity_end', )]) [autodoc] module analyzer failed: error importing 'mom_set_diffusivity' (exception was: ModuleNotFoundError("No module named 'mom_set_diffusivity'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, u_h, v_h, tv, fluxes, optics, visc, dt, G, GV, US, CS, Kd_lay, Kd_int, Kd_extra_T, Kd_extra_S)) [debug] add_directive_header sig((u, v, h, u_h, v_h, tv, fluxes, optics, visc, dt, G, GV, US, CS, Kd_lay, Kd_int, Kd_extra_T, Kd_extra_S)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine set_diffusivity) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_orderedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM__tidal__mixing_8F90) kindref(compound) ref([]) [debug] ref([('id', 'MOM__tidal__mixing_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_diffusivity', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_set_diffusivity::diffusivity_diags ~mom_set_diffusivity::set_diffusivity_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_set_diffusivity::set_diffusivity ~mom_set_diffusivity::find_tke_to_kd ~mom_set_diffusivity::find_n2 ~mom_set_diffusivity::double_diffusion ~mom_set_diffusivity::add_drag_diffusivity ~mom_set_diffusivity::add_lotw_bbl_diffusivity ~mom_set_diffusivity::add_mlrad_diffusivity ~mom_set_diffusivity::set_bbl_tke ~mom_set_diffusivity::set_density_ratios ~mom_set_diffusivity::set_diffusivity_init ~mom_set_diffusivity::set_diffusivity_end .. _DETAmom_set_diffusivity: -------------------- Detailed Description -------------------- Calculate vertical diffusivity from all mixing processes. ------------------ Type Documentation ------------------ .. f:type:: diffusivity_diags This structure has memory for used in calculating diagnostics of diffusivity. :typefield real(\:,\:,\:) n2_3d [pointer, private]: squared buoyancy frequency at interfaces [T-2 ~> s-2] :typefield real(\:,\:,\:) kd_user [pointer, private]: user-added diffusivity at interfaces [Z2 T-1 ~> m2 s-1] :typefield real(\:,\:,\:) kd_bbl [pointer, private]: BBL diffusivity at interfaces [Z2 T-1 ~> m2 s-1]. :typefield real(\:,\:,\:) kd_work [pointer, private]: layer integrated work by diapycnal mixing [R Z3 T-3 ~> W m-2] :typefield real(\:,\:,\:) maxtke [pointer, private]: energy required to entrain to h_max [Z3 T-3 ~> m3 s-3] :typefield real(\:,\:,\:) kd_bkgnd [pointer, private]: Background diffusivity at interfaces [Z2 T-1 ~> m2 s-1]. :typefield real(\:,\:,\:) kv_bkgnd [pointer, private]: Viscosity from ackground diffusivity at interfaces [Z2 T-1 ~> m2 s-1]. :typefield real(\:,\:,\:) kt_extra [pointer, private]: double diffusion diffusivity for temp [Z2 T-1 ~> m2 s-1]. :typefield real(\:,\:,\:) ks_extra [pointer, private]: double diffusion diffusivity for saln [Z2 T-1 ~> m2 s-1]. :typefield real(\:,\:,\:) drho_rat [pointer, private]: The density difference ratio used in double diffusion [nondim]. :typefield real(\:,\:,\:) tke_to_kd [pointer, private]: conversion rate (~1.0 / (G_Earth + dRho_lay)) between TKE dissipated within a layer and Kd in that layer [Z2 T-1 / Z3 T-3 = T2 Z-1 ~> s2 m-1] .. f:type:: set_diffusivity_cs This control structure contains parameters for MOM_set_diffusivity. :typefield integer id_maxtke: Diagnostic IDs. :typefield integer id_tke_to_kd: Diagnostic IDs. :typefield integer id_kd_user: Diagnostic IDs. :typefield integer id_kd_layer: Diagnostic IDs. :typefield integer id_kd_bbl: Diagnostic IDs. :typefield integer id_n2: Diagnostic IDs. :typefield integer id_kd_work: Diagnostic IDs. :typefield integer id_kt_extra: Diagnostic IDs. :typefield integer id_ks_extra: Diagnostic IDs. :typefield integer id_r_rho: Diagnostic IDs. :typefield integer id_kd_bkgnd: Diagnostic IDs. :typefield integer id_kv_bkgnd: Diagnostic IDs. :typefield logical debug: If true, write verbose checksums for debugging. :typefield logical bulkmixedlayer: If true, a refined bulk mixed layer is used with GVnk_rho_varies variable density mixed & buffer layers. :typefield real fluxri_max: The flux Richardson number where the stratification is large enough that N2 > omega2 [nondim]. The full expression for the Flux Richardson number is usually FLUX_RI_MAX*N2/(N2+OMEGA2). The default is 0.2. :typefield logical bottomdraglaw: If true, the bottom stress is calculated with a drag law c_drag*|u|*u. :typefield logical bbl_mixing_as_max: If true, take the maximum of the diffusivity from the BBL mixing and the other diffusivities. Otherwise, diffusivities from the BBL_mixing is added. :typefield logical use_lotw_bbl_diffusivity: If true, use simpler/less precise, BBL diffusivity. :typefield logical lotw_bbl_use_omega: If true, use simpler/less precise, BBL diffusivity. :typefield real bbl_effic: efficiency with which the energy extracted by bottom drag drives BBL diffusion [nondim] :typefield real cdrag: quadratic drag coefficient [nondim] :typefield real imax_decay: inverse of a maximum decay scale for bottom-drag driven turbulence [Z-1 ~> m-1]. :typefield real kv: The interior vertical viscosity [Z2 T-1 ~> m2 s-1]. :typefield real kd: interior diapycnal diffusivity [Z2 T-1 ~> m2 s-1]. :typefield real kd_min: minimum diapycnal diffusivity [Z2 T-1 ~> m2 s-1]. :typefield real kd_max: maximum increment for diapycnal diffusivity [Z2 T-1 ~> m2 s-1]. Set to a negative value to have no limit. :typefield real kd_add: uniform diffusivity added everywhere without filtering or scaling [Z2 T-1 ~> m2 s-1]. :typefield real kd_smooth: Vertical diffusivity used to interpolate more sensible values of T & S into thin layers [Z2 T-1 ~> m2 s-1]. :typefield type(diag_ctrl) diag [pointer]: structure to regulate diagnostic output timing :typefield logical limit_dissipation: If enabled, dissipation is limited to be larger than the following: :typefield real dissip_min: Minimum dissipation [R Z2 T-3 ~> W m-3]. :typefield real dissip_n0: Coefficient a in minimum dissipation = a+b*N [R Z2 T-3 ~> W m-3]. :typefield real dissip_n1: Coefficient b in minimum dissipation = a+b*N [R Z2 T-2 ~> J m-3]. :typefield real dissip_n2: Coefficient c in minimum dissipation = c*N2 [R Z2 T-1 ~> J s m-3]. :typefield real dissip_kd_min: Minimum Kd [Z2 T-1 ~> m2 s-1], with dissipation Rho0*Kd_min*N^2. :typefield real omega: Earth's rotation frequency [T-1 ~> s-1]. :typefield logical ml_radiation: allow a fraction of TKE available from wind work to penetrate below mixed layer base with a vertical decay scale determined by the minimum of (1) The depth of the mixed layer, or (2) An Ekman length scale. Energy available to drive mixing below the mixed layer is given by E = ML_RAD_COEFF*MSTAR*USTAR**3. Optionally, if ML_rad_TKE_decay is true, this is further reduced by a factor of exp(-h_ML*Idecay_len_TkE), where Idecay_len_TKE is calculated the same way as in the mixed layer code. The diapycnal diffusivity is KD(k) = E/(N2(k)+OMEGA2), where N2 is the squared buoyancy frequency [T-2 ~> s-2] and OMEGA2 is the rotation rate of the earth squared. :typefield real ml_rad_kd_max: Maximum diapycnal diffusivity due to turbulence radiated from the base of the mixed layer [Z2 T-1 ~> m2 s-1]. :typefield real ml_rad_efold_coeff: non-dim coefficient to scale penetration depth :typefield real ml_rad_coeff: coefficient, which scales MSTAR*USTAR^3 to obtain energy available for mixing below mixed layer base [nondim] :typefield logical ml_rad_bug: If true use code with a bug that reduces the energy available in the transition layer by a factor of the inverse of the energy deposition lenthscale (in m). :typefield logical ml_rad_tke_decay: If true, apply same exponential decay to ML_rad as applied to the other surface sources of TKE in the mixed layer code. :typefield real ustar_min: A minimum value of ustar to avoid numerical problems [Z T-1 ~> m s-1]. If the value is small enough, this parameter should not affect the solution. :typefield real tke_decay: ratio of natural Ekman depth to TKE decay scale [nondim] :typefield real mstar: ratio of friction velocity cubed to TKE input to the mixed layer [nondim] :typefield logical ml_use_omega: If true, use absolute rotation rate instead of the vertical component of rotation when setting the decay scale for mixed layer turbulence. :typefield real ml_omega_frac: When setting the decay scale for turbulence, use this fraction of the absolute rotation rate blended with the local value of f, as f^2 ~= (1-of)*f^2 + of*4*omega^2. :typefield logical user_change_diff: If true, call user-defined code to change diffusivity. :typefield logical usekappashear: If true, use the kappa_shear module to find the shear-driven diapycnal diffusivity. :typefield logical vertex_shear: If true, do the calculations of the shear-driven mixing at the cell vertices (i.e., the vorticity points). :typefield logical use_cvmix_shear: If true, use one of the CVMix modules to find shear-driven diapycnal diffusivity. :typefield logical double_diffusion: If true, enable double-diffusive mixing using an old method. :typefield logical use_cvmix_ddiff: If true, enable double-diffusive mixing via CVMix. :typefield logical use_tidal_mixing: If true, activate tidal mixing diffusivity. :typefield logical simple_tke_to_kd: If true, uses a simple estimate of Kd/TKE that does not rely on a layer-formulation. :typefield real max_rrho_salt_fingers: max density ratio for salt fingering :typefield real max_salt_diff_salt_fingers: max salt diffusivity for salt fingers [Z2 T-1 ~> m2 s-1] :typefield real kv_molecular: molecular visc for double diff convect [Z2 T-1 ~> m2 s-1] :typefield logical answers_2018: If true, use the order of arithmetic and expressions that recover the answers from the end of 2018. Otherwise, use updated and more robust forms of the same expressions. :typefield character (len=200) inputdir: The directory in which input files are found. :typefield type(user_change_diff_cs) user_change_diff_csp [pointer]: Control structure for a child module. :typefield type(kappa_shear_cs) kappashear_csp [pointer]: Control structure for a child module. :typefield type(cvmix_shear_cs) cvmix_shear_csp [pointer]: Control structure for a child module. :typefield type(cvmix_ddiff_cs) cvmix_ddiff_csp [pointer]: Control structure for a child module. :typefield type(bkgnd_mixing_cs) bkgnd_mixing_csp [pointer]: Control structure for a child module. :typefield type(int_tide_cs) int_tide_csp [pointer]: Control structure for a child module. :typefield type(tidal_mixing_cs) tidal_mixing_csp [pointer]: Control structure for a child module. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine set_diffusivity(u, v, h, u_h, v_h, tv, fluxes, optics, visc, dt, G, GV, US, CS, Kd_lay, Kd_int, Kd_extra_T, Kd_extra_S) Sets the interior vertical diffusion of scalars due to the following processes: #. Shear-driven mixing: two options, Jackson et at. and KPP interior; #. Background mixing via CVMix (Bryan-Lewis profile) or the scheme described by Harrison & Hallberg, JPO 2008; #. Double-diffusion, old method and new method via CVMix; #. Tidal mixing: many options available, see ``MOM_tidal_mixing.F90``; In addition, this subroutine has the option to set the interior vertical viscosity associated with processes 1,2 and 4 listed above, which is stored in viscKv_slow. Vertical viscosity due to shear-driven mixing is passed via viscKv_shear :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param u: [in] The zonal velocity [L T-1 ~> m s-1]. :param v: [in] The meridional velocity [L T-1 ~> m s-1]. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param u_h: [in] Zonal velocity interpolated to h points [L T-1 ~> m s-1]. :param v_h: [in] Meridional velocity interpolated to h points [L T-1 ~> m s-1]. :param tv: [inout] Structure with pointers to thermodynamic fields. Out is for tvTempxPmE. :param fluxes: [in] A structure of thermodynamic surface fluxes :param optics: A structure describing the optical properties of the ocean. :param visc: [inout] Structure containing vertical viscosities, bottom boundary layer properies, and related fields. :param dt: [in] Time increment [T ~> s]. :param cs: Module control structure. :param kd_lay: [out] Diapycnal diffusivity of each layer [Z2 T-1 ~> m2 s-1]. :param kd_int: [out] Diapycnal diffusivity at each interface [Z2 T-1 ~> m2 s-1]. :param kd_extra_t: [out] The extra diffusivity at interfaces of :param kd_extra_s: [out] The extra diffusivity at interfaces of :callto: :f:func:`add_drag_diffusivity ` :callto: :f:func:`add_lotw_bbl_diffusivity ` :callto: :f:func:`add_mlrad_diffusivity ` :callto: :f:func:`mom_kappa_shear::calc_kappa_shear_vertex ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_error_handler::calltree_waypoint ` :callto: :f:func:`mom_cvmix_ddiff::compute_ddiff_coeffs ` :callto: :f:func:`double_diffusion ` :callto: :f:func:`find_n2 ` :callto: :f:func:`find_tke_to_kd ` :callto: :f:func:`mom_full_convection::full_convection ` :callto: :f:func:`id_clock_cvmix_ddiff ` :callto: :f:func:`id_clock_kappashear ` :callto: :f:func:`mom_isopycnal_slopes::vert_fill_ts ` .. f:subroutine:: subroutine find_tke_to_kd(h, tv, dRho_int, N2_lay, j, dt, G, GV, US, CS, TKE_to_Kd, maxTKE, kb) Convert turbulent kinetic energy to diffusivity. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [in] Structure containing pointers to any available thermodynamic fields. :param drho_int: [in] Change in locally referenced potential density across each interface [R ~> kg m-3]. :param n2_lay: [in] The squared buoyancy frequency of the layers [T-2 ~> s-2]. :param j: [in] j-index of row to work on :param dt: [in] Time increment [T ~> s]. :param cs: Diffusivity control structure :param tke_to_kd: [out] The conversion rate between the TKE dissipated within a layer and the diapycnal diffusivity witin that layer, usually (~Rho_0 / (G_Earth * dRho_lay)) [Z2 T-1 / Z3 T-3 = T2 Z-1 ~> s2 m-1] :param maxtke: [out] The energy required to for a layer to entrain to its maximum realizable thickness [Z3 T-3 ~> m3 s-3] :param kb: [out] Index of lightest layer denser than the buffer layer, or -1 without a bulk mixed layer. :callto: :f:func:`mom_eos::eos_domain ` :callto: :f:func:`set_density_ratios ` :calledfrom: :f:func:`set_diffusivity ` .. f:subroutine:: subroutine find_n2(h, tv, T_f, S_f, fluxes, j, G, GV, US, CS, dRho_int, N2_lay, N2_int, N2_bot) Calculate Brunt-Vaisala frequency, N^2. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [in] Structure containing pointers to any available thermodynamic fields. :param t_f: [in] layer temperature with the values in massless layers :param s_f: [in] Layer salinities with values in massless :param fluxes: [in] A structure of thermodynamic surface fluxes :param j: [in] j-index of row to work on :param cs: Diffusivity control structure :param drho_int: [out] Change in locally referenced potential density :param n2_int: [out] The squared buoyancy frequency at the interfaces [T-2 ~> s-2]. :param n2_lay: [out] The squared buoyancy frequency of the layers [T-2 ~> s-2]. :param n2_bot: [out] The near-bottom squared buoyancy frequency [T-2 ~> s-2]. :callto: :f:func:`mom_eos::eos_domain ` :calledfrom: :f:func:`set_diffusivity ` .. f:subroutine:: subroutine double_diffusion(tv, h, T_f, S_f, j, G, GV, US, CS, Kd_T_dd, Kd_S_dd) This subroutine sets the additional diffusivities of temperature and salinity due to double diffusion, using the same functional form as is used in MOM4.1, and taken from an NCAR technical note (REF?) that updates what was in Large et al. (1994). All the coefficients here should probably be made run-time variables rather than hard-coded constants. .. admonition:: Todo Find reference for NCAR tech note above. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param tv: [in] Structure containing pointers to any available thermodynamic fields; absent fields have NULL ptrs. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param t_f: [in] layer temperatures with the values in massless layers :param s_f: [in] Layer salinities with values in massless :param j: [in] Meridional index upon which to work. :param cs: Module control structure. :param kd_t_dd: [out] Interface double diffusion diapycnal :param kd_s_dd: [out] Interface double diffusion diapycnal :callto: :f:func:`mom_eos::eos_domain ` :calledfrom: :f:func:`set_diffusivity ` .. f:subroutine:: subroutine add_drag_diffusivity(h, u, v, tv, fluxes, visc, j, TKE_to_Kd, maxTKE, kb, G, GV, US, CS, Kd_lay, Kd_int, Kd_BBL) This routine adds diffusion sustained by flow energy extracted by bottom drag. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param u: [in] The zonal velocity [L T-1 ~> m s-1] :param v: [in] The meridional velocity [L T-1 ~> m s-1] :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [in] Structure containing pointers to any available thermodynamic fields. :param fluxes: [in] A structure of thermodynamic surface fluxes :param visc: [in] Structure containing vertical viscosities, bottom boundary layer properies, and related fields :param j: [in] j-index of row to work on :param tke_to_kd: [in] The conversion rate between the TKE TKE dissipated within a layer and the diapycnal diffusivity witin that layer, usually (~Rho_0 / (G_Earth * dRho_lay)) [Z2 T-1 / Z3 T-3 = T2 Z-1 ~> s2 m-1] :param maxtke: [in] The energy required to for a layer to entrain to its maximum-realizable thickness [Z3 T-3 ~> m3 s-3] :param kb: [in] Index of lightest layer denser than the buffer layer, or -1 without a bulk mixed layer :param cs: Diffusivity control structure :param kd_lay: [inout] The diapycnal diffusivity in layers, [Z2 T-1 ~> m2 s-1]. :param kd_int: [inout] The diapycnal diffusivity at interfaces, :param kd_bbl: Interface BBL diffusivity [Z2 T-1 ~> m2 s-1]. :calledfrom: :f:func:`set_diffusivity ` .. f:subroutine:: subroutine add_lotw_bbl_diffusivity(h, u, v, tv, fluxes, visc, j, N2_int, G, GV, US, CS, Kd_BBL, Kd_lay, Kd_int) Calculates a BBL diffusivity use a Prandtl number 1 diffusivity with a law of the wall turbulent viscosity, up to a BBL height where the energy used for mixing has consumed the mechanical TKE input. :param g: [in] Grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param u: [in] u component of flow [L T-1 ~> m s-1] :param v: [in] v component of flow [L T-1 ~> m s-1] :param h: [in] Layer thickness [H ~> m or kg m-2] :param tv: [in] Structure containing pointers to any available thermodynamic fields. :param fluxes: [in] Surface fluxes structure :param visc: [in] Structure containing vertical viscosities, bottom boundary layer properies, and related fields. :param j: [in] j-index of row to work on :param n2_int: [in] Square of Brunt-Vaisala at interfaces [T-2 ~> s-2] :param cs: Diffusivity control structure :param kd_bbl: Interface BBL diffusivity [Z2 T-1 ~> m2 s-1] :param kd_lay: [inout] Layer net diffusivity [Z2 T-1 ~> m2 s-1] :param kd_int: [inout] Interface net diffusivity [Z2 T-1 ~> m2 s-1] :calledfrom: :f:func:`set_diffusivity ` .. f:subroutine:: subroutine add_mlrad_diffusivity(h, fluxes, j, G, GV, US, CS, TKE_to_Kd, Kd_lay, Kd_int) This routine adds effects of mixed layer radiation to the layer diffusivities. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param fluxes: [in] Surface fluxes structure :param j: [in] The j-index to work on :param cs: Diffusivity control structure :param tke_to_kd: [in] The conversion rate between the TKE TKE dissipated within a layer and the diapycnal diffusivity witin that layer, usually (~Rho_0 / (G_Earth * dRho_lay)) [Z2 T-1 / Z3 T-3 = T2 Z-1 ~> s2 m-1] :param kd_lay: [inout] The diapycnal diffusivity in layers [Z2 T-1 ~> m2 s-1]. :param kd_int: [inout] The diapycnal diffusivity at interfaces :calledfrom: :f:func:`set_diffusivity ` .. f:subroutine:: subroutine set_bbl_tke(u, v, h, fluxes, visc, G, GV, US, CS, OBC) This subroutine calculates several properties related to bottom boundary layer turbulence. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param u: [in] The zonal velocity [L T-1 ~> m s-1] :param v: [in] The meridional velocity [L T-1 ~> m s-1] :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param fluxes: [in] A structure of thermodynamic surface fluxes :param visc: [in] Structure containing vertical viscosities, bottom boundary layer properies, and related fields. :param cs: Diffusivity control structure :param obc: Open boundaries control structure. :callto: :f:func:`mom_open_boundary::obc_direction_e ` :callto: :f:func:`mom_open_boundary::obc_direction_n ` .. f:subroutine:: subroutine set_density_ratios(h, tv, kb, G, GV, US, CS, j, ds_dsp1, rho_0) :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param tv: [in] Structure containing pointers to any available thermodynamic fields; absent fields have NULL ptrs. :param kb: [in] Index of lightest layer denser than the buffer layer, or -1 without a bulk mixed layer. :param us: [in] A dimensional unit scaling type :param cs: Control structure returned by previous call to diabatic_entrain_init. :param j: [in] Meridional index upon which to work. :param ds_dsp1: [out] Coordinate variable (sigma-2) difference across an interface divided by the difference across the interface below it [nondim] :param rho_0: [in] Layer potential densities relative to :callto: :f:func:`mom_eos::eos_domain ` :calledfrom: :f:func:`find_tke_to_kd ` .. f:subroutine:: subroutine set_diffusivity_init(Time, G, GV, US, param_file, diag, CS, int_tide_CSp, halo_TS, double_diffuse) :param time: [in] The current model time :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters. :param diag: [inout] A structure used to regulate diagnostic output. :param cs: pointer set to point to the module control structure. :param int_tide_csp: A pointer to the internal tides control structure :param halo_ts: [out] The halo size of tracer points that must be valid for the calculations in set_diffusivity. :param double_diffuse: [out] If present, this indicates whether some version of double diffusion is being used. :callto: :f:func:`id_clock_cvmix_ddiff ` :callto: :f:func:`id_clock_kappashear ` :callto: :f:func:`mom_kappa_shear::kappa_shear_at_vertex ` :callto: :f:func:`mom_diag_mediator::register_diag_field ` :callto: :f:func:`mom_tidal_mixing::tidal_mixing_init ` .. f:subroutine:: subroutine set_diffusivity_end(CS) Clear pointers and dealocate memory. :param cs: Control structure for this module :callto: :f:func:`mom_bkgnd_mixing::bkgnd_mixing_end ` :callto: :f:func:`mom_cvmix_shear::cvmix_shear_end ` :callto: :f:func:`mom_tidal_mixing::tidal_mixing_end ` :callto: :f:func:`user_change_diffusivity::user_change_diff_end ` [debug] xpath(./compounddef/compoundname[text()="mom_set_diffusivity::diffusivity_diags"]/..) match([('id', 'structmom__set__diffusivity_1_1diffusivity__diags'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_set_diffusivity::diffusivity_diags', , {} [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_set_diffusivity::diffusivity_diags', , {} [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_set_diffusivity::diffusivity_diags', , {} [debug] xpath(./compounddef/compoundname[text()="mom_set_diffusivity::set_diffusivity_cs"]/..) match([('id', 'structmom__set__diffusivity_1_1set__diffusivity__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_set_diffusivity::set_diffusivity_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_set_diffusivity::set_diffusivity_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_set_diffusivity::set_diffusivity_cs', , { [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, u_h, v_h, tv, fluxes, optics, visc, dt, G, GV, US, CS, Kd_lay, Kd_int, Kd_extra_T, Kd_extra_S)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::set_diffusivity', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::set_diffusivity', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((h, tv, dRho_int, N2_lay, j, dt, G, GV, US, CS, TKE_to_Kd, maxTKE, kb)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::find_tke_to_kd', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::find_tke_to_kd', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((h, tv, T_f, S_f, fluxes, j, G, GV, US, CS, dRho_int, N2_lay, N2_int, N2_bot)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::find_n2', , {}, ['', 'Calc [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::find_n2', , {}, ['', 'Calc [debug] DoxygenMethodDocumenter format_signature called ((tv, h, T_f, S_f, j, G, GV, US, CS, Kd_T_dd, Kd_S_dd)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::double_diffusion', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::double_diffusion', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((h, u, v, tv, fluxes, visc, j, TKE_to_Kd, maxTKE, kb, G, GV, US, CS, Kd_lay, Kd_int, Kd_BBL)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::add_drag_diffusivity', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::add_drag_diffusivity', , { [debug] DoxygenMethodDocumenter format_signature called ((h, u, v, tv, fluxes, visc, j, N2_int, G, GV, US, CS, Kd_BBL, Kd_lay, Kd_int)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::add_lotw_bbl_diffusivity', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::add_mlrad_diffusivity', , [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, fluxes, visc, G, GV, US, CS, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::set_bbl_tke', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::set_bbl_tke', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((h, tv, kb, G, GV, US, CS, j, ds_dsp1, rho_0)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::set_density_ratios', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::set_density_ratios', , {}, [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS, int_tide_CSp, halo_TS, double_diffuse)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::set_diffusivity_init', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::set_diffusivity_init', , { [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::set_diffusivity_end', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_diffusivity::set_diffusivity_end', , {} [fd] run(.. f:type:: diffusivity_diags) [fd] sig(diffusivity_diags) [fd] ftype(None) objtype(None) modname(None) typename() name(diffusivity_diags) arglist(None) [fd] fullname(mom_set_diffusivity/diffusivity_diags) ftype(None) [fd] name(('mom_set_diffusivity/diffusivity_diags', None)) sig(diffusivity_diags) signode(type mom_set_diffusivity/diffusivity_diags) [fd] run(.. f:type:: set_diffusivity_cs) [fd] sig(set_diffusivity_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(set_diffusivity_cs) arglist(None) [fd] fullname(mom_set_diffusivity/set_diffusivity_cs) ftype(None) [fd] name(('mom_set_diffusivity/set_diffusivity_cs', None)) sig(set_diffusivity_cs) signode(type mom_set_diffusivity/set_diffusivity_cs) [fd] run(.. f:subroutine:: subroutine set_diffusivity(u, v, h, u_h, v_h, tv, fluxes, optics, visc, dt, G, GV, US, CS, Kd_lay, Kd_int, Kd_extra_T, Kd_extra_S)) [fd] sig(subroutine set_diffusivity(u, v, h, u_h, v_h, tv, fluxes, optics, visc, dt, G, GV, US, CS, Kd_lay, Kd_int, Kd_extra_T, Kd_extra_S)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_diffusivity) arglist(u, v, h, u_h, v_h, tv, fluxes, optics, visc, dt, G, GV, US, CS, Kd_lay, Kd_int, Kd_extra_T, Kd_extra_S) [fd] fullname(mom_set_diffusivity/set_diffusivity) ftype(None) [fd] name(('mom_set_diffusivity/set_diffusivity', None)) sig(subroutine set_diffusivity(u, v, h, u_h, v_h, tv, fluxes, optics, visc, dt, G, GV, US, CS, Kd_lay, Kd_int, Kd_extra_T, Kd_extra_S)) signode(subroutine mom_set_diffusivity/set_diffusivityuvhu_hv_htvfluxesopticsviscdtGGVUSCSKd_layKd_intKd_extra_TKd_extra_S) [fd] run(.. f:subroutine:: subroutine find_tke_to_kd(h, tv, dRho_int, N2_lay, j, dt, G, GV, US, CS, TKE_to_Kd, maxTKE, kb)) [fd] sig(subroutine find_tke_to_kd(h, tv, dRho_int, N2_lay, j, dt, G, GV, US, CS, TKE_to_Kd, maxTKE, kb)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_tke_to_kd) arglist(h, tv, dRho_int, N2_lay, j, dt, G, GV, US, CS, TKE_to_Kd, maxTKE, kb) [fd] fullname(mom_set_diffusivity/find_tke_to_kd) ftype(None) [fd] name(('mom_set_diffusivity/find_tke_to_kd', None)) sig(subroutine find_tke_to_kd(h, tv, dRho_int, N2_lay, j, dt, G, GV, US, CS, TKE_to_Kd, maxTKE, kb)) signode(subroutine mom_set_diffusivity/find_tke_to_kdhtvdRho_intN2_layjdtGGVUSCSTKE_to_KdmaxTKEkb) [fd] run(.. f:subroutine:: subroutine find_n2(h, tv, T_f, S_f, fluxes, j, G, GV, US, CS, dRho_int, N2_lay, N2_int, N2_bot)) [fd] sig(subroutine find_n2(h, tv, T_f, S_f, fluxes, j, G, GV, US, CS, dRho_int, N2_lay, N2_int, N2_bot)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_n2) arglist(h, tv, T_f, S_f, fluxes, j, G, GV, US, CS, dRho_int, N2_lay, N2_int, N2_bot) [fd] fullname(mom_set_diffusivity/find_n2) ftype(None) [fd] name(('mom_set_diffusivity/find_n2', None)) sig(subroutine find_n2(h, tv, T_f, S_f, fluxes, j, G, GV, US, CS, dRho_int, N2_lay, N2_int, N2_bot)) signode(subroutine mom_set_diffusivity/find_n2htvT_fS_ffluxesjGGVUSCSdRho_intN2_layN2_intN2_bot) [fd] run(.. f:subroutine:: subroutine double_diffusion(tv, h, T_f, S_f, j, G, GV, US, CS, Kd_T_dd, Kd_S_dd)) [fd] sig(subroutine double_diffusion(tv, h, T_f, S_f, j, G, GV, US, CS, Kd_T_dd, Kd_S_dd)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(double_diffusion) arglist(tv, h, T_f, S_f, j, G, GV, US, CS, Kd_T_dd, Kd_S_dd) [fd] fullname(mom_set_diffusivity/double_diffusion) ftype(None) [fd] name(('mom_set_diffusivity/double_diffusion', None)) sig(subroutine double_diffusion(tv, h, T_f, S_f, j, G, GV, US, CS, Kd_T_dd, Kd_S_dd)) signode(subroutine mom_set_diffusivity/double_diffusiontvhT_fS_fjGGVUSCSKd_T_ddKd_S_dd) [fd] run(.. f:subroutine:: subroutine add_drag_diffusivity(h, u, v, tv, fluxes, visc, j, TKE_to_Kd, maxTKE, kb, G, GV, US, CS, Kd_lay, Kd_int, Kd_BBL)) [fd] sig(subroutine add_drag_diffusivity(h, u, v, tv, fluxes, visc, j, TKE_to_Kd, maxTKE, kb, G, GV, US, CS, Kd_lay, Kd_int, Kd_BBL)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(add_drag_diffusivity) arglist(h, u, v, tv, fluxes, visc, j, TKE_to_Kd, maxTKE, kb, G, GV, US, CS, Kd_lay, Kd_int, Kd_BBL) [fd] fullname(mom_set_diffusivity/add_drag_diffusivity) ftype(None) [fd] name(('mom_set_diffusivity/add_drag_diffusivity', None)) sig(subroutine add_drag_diffusivity(h, u, v, tv, fluxes, visc, j, TKE_to_Kd, maxTKE, kb, G, GV, US, CS, Kd_lay, Kd_int, Kd_BBL)) signode(subroutine mom_set_diffusivity/add_drag_diffusivityhuvtvfluxesviscjTKE_to_KdmaxTKEkbGGVUSCSKd_layKd_intKd_BBL) [fd] run(.. f:subroutine:: subroutine add_lotw_bbl_diffusivity(h, u, v, tv, fluxes, visc, j, N2_int, G, GV, US, CS, Kd_BBL, Kd_lay, Kd_int)) [fd] sig(subroutine add_lotw_bbl_diffusivity(h, u, v, tv, fluxes, visc, j, N2_int, G, GV, US, CS, Kd_BBL, Kd_lay, Kd_int)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(add_lotw_bbl_diffusivity) arglist(h, u, v, tv, fluxes, visc, j, N2_int, G, GV, US, CS, Kd_BBL, Kd_lay, Kd_int) [fd] fullname(mom_set_diffusivity/add_lotw_bbl_diffusivity) ftype(None) [fd] name(('mom_set_diffusivity/add_lotw_bbl_diffusivity', None)) sig(subroutine add_lotw_bbl_diffusivity(h, u, v, tv, fluxes, visc, j, N2_int, G, GV, US, CS, Kd_BBL, Kd_lay, Kd_int)) signode(subroutine mom_set_diffusivity/add_lotw_bbl_diffusivityhuvtvfluxesviscjN2_intGGVUSCSKd_BBLKd_layKd_int) [fd] run(.. f:subroutine:: subroutine add_mlrad_diffusivity(h, fluxes, j, G, GV, US, CS, TKE_to_Kd, Kd_lay, Kd_int)) [fd] sig(subroutine add_mlrad_diffusivity(h, fluxes, j, G, GV, US, CS, TKE_to_Kd, Kd_lay, Kd_int)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(add_mlrad_diffusivity) arglist(h, fluxes, j, G, GV, US, CS, TKE_to_Kd, Kd_lay, Kd_int) [fd] fullname(mom_set_diffusivity/add_mlrad_diffusivity) ftype(None) [fd] name(('mom_set_diffusivity/add_mlrad_diffusivity', None)) sig(subroutine add_mlrad_diffusivity(h, fluxes, j, G, GV, US, CS, TKE_to_Kd, Kd_lay, Kd_int)) signode(subroutine mom_set_diffusivity/add_mlrad_diffusivityhfluxesjGGVUSCSTKE_to_KdKd_layKd_int) [fd] run(.. f:subroutine:: subroutine set_bbl_tke(u, v, h, fluxes, visc, G, GV, US, CS, OBC)) [fd] sig(subroutine set_bbl_tke(u, v, h, fluxes, visc, G, GV, US, CS, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_bbl_tke) arglist(u, v, h, fluxes, visc, G, GV, US, CS, OBC) [fd] fullname(mom_set_diffusivity/set_bbl_tke) ftype(None) [fd] name(('mom_set_diffusivity/set_bbl_tke', None)) sig(subroutine set_bbl_tke(u, v, h, fluxes, visc, G, GV, US, CS, OBC)) signode(subroutine mom_set_diffusivity/set_bbl_tkeuvhfluxesviscGGVUSCSOBC) [fd] run(.. f:subroutine:: subroutine set_density_ratios(h, tv, kb, G, GV, US, CS, j, ds_dsp1, rho_0)) [fd] sig(subroutine set_density_ratios(h, tv, kb, G, GV, US, CS, j, ds_dsp1, rho_0)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_density_ratios) arglist(h, tv, kb, G, GV, US, CS, j, ds_dsp1, rho_0) [fd] fullname(mom_set_diffusivity/set_density_ratios) ftype(None) [fd] name(('mom_set_diffusivity/set_density_ratios', None)) sig(subroutine set_density_ratios(h, tv, kb, G, GV, US, CS, j, ds_dsp1, rho_0)) signode(subroutine mom_set_diffusivity/set_density_ratioshtvkbGGVUSCSjds_dsp1rho_0) [fd] run(.. f:subroutine:: subroutine set_diffusivity_init(Time, G, GV, US, param_file, diag, CS, int_tide_CSp, halo_TS, double_diffuse)) [fd] sig(subroutine set_diffusivity_init(Time, G, GV, US, param_file, diag, CS, int_tide_CSp, halo_TS, double_diffuse)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_diffusivity_init) arglist(Time, G, GV, US, param_file, diag, CS, int_tide_CSp, halo_TS, double_diffuse) [fd] fullname(mom_set_diffusivity/set_diffusivity_init) ftype(None) [fd] name(('mom_set_diffusivity/set_diffusivity_init', None)) sig(subroutine set_diffusivity_init(Time, G, GV, US, param_file, diag, CS, int_tide_CSp, halo_TS, double_diffuse)) signode(subroutine mom_set_diffusivity/set_diffusivity_initTimeGGVUSparam_filediagCSint_tide_CSphalo_TSdouble_diffuse) [fd] run(.. f:subroutine:: subroutine set_diffusivity_end(CS)) [fd] sig(subroutine set_diffusivity_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_diffusivity_end) arglist(CS) [fd] fullname(mom_set_diffusivity/set_diffusivity_end) ftype(None) [fd] name(('mom_set_diffusivity/set_diffusivity_end', None)) sig(subroutine set_diffusivity_end(CS)) signode(subroutine mom_set_diffusivity/set_diffusivity_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 52%] api/generated/modules/mom_set_visc [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_set_visc [app] emitting event: 'source-read'('api/generated/modules/mom_set_visc', ['.. autodoxymodule:: mom_set_visc\n :members:\n :methods [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_set_visc.rst:1: input: .. autodoxymodule:: mom_set_visc :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_set_visc::set_visc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_set_visc::set_viscous_bbl ~mom_set_visc::set_v_at_u ~mom_set_visc::set_u_at_v ~mom_set_visc::set_viscous_ml ~mom_set_visc::set_visc_register_restarts ~mom_set_visc::set_visc_init ~mom_set_visc::set_visc_end [debug] xpath(./compounddef/compoundname[text()="mom_set_visc"]/..) match([('id', 'namespacemom__set__visc'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_set_visc module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_set_visc', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_set_visc' (exception was: ModuleNotFoundError("No module named 'mom_set_visc'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_set_visc::set_visc_cs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('set_v_at_u', ), ('set_u_at_v', ), ('set_viscous_ml', ), ('set_visc_register_restarts', ), ('set_visc_init', ), ('set_visc_end', )]) [autodoc] module analyzer failed: error importing 'mom_set_visc' (exception was: ModuleNotFoundError("No module named 'mom_set_visc'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, tv, visc, G, GV, US, CS, symmetrize)) [debug] add_directive_header sig((u, v, h, tv, visc, G, GV, US, CS, symmetrize)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine set_viscous_bbl) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_sect1 [debug] visit_sect id(namespacemom__set__visc_1set_viscous_BBL) title(Viscous Bottom Boundary Layer) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__set__visc_1_1set__visc__cs_1aca87adb9636e724f7ccb78e7c640f399) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'structmom__set__visc_1_1set__visc__cs_1aca87adb9636e724f7ccb78e7c640f399'), ('prot', 'public'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_set_visc::set_visc_cs::bottomdraglaw) node_name(None) [debug] method=visit_formula [debug] method=visit_ref [debug] refid(structmom__set__visc_1_1set__visc__cs_1aca87adb9636e724f7ccb78e7c640f399) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'structmom__set__visc_1_1set__visc__cs_1aca87adb9636e724f7ccb78e7c640f399'), ('prot', 'public'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_set_visc::set_visc_cs::bottomdraglaw) node_name(None) [debug] method=visit_formula [debug] method=visit_ref [debug] refid(structmom__set__visc_1_1set__visc__cs_1a8e5f72291c7e5c5e602c9b4765d63ae0) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'structmom__set__visc_1_1set__visc__cs_1a8e5f72291c7e5c5e602c9b4765d63ae0'), ('prot', 'public'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_set_visc::set_visc_cs::drag_bg_vel) node_name(None) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_ref [debug] refid(structmom__set__visc_1_1set__visc__cs_1a20768c8872b3eab25e59dfe7c5ff62a0) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'structmom__set__visc_1_1set__visc__cs_1a20768c8872b3eab25e59dfe7c5ff62a0'), ('prot', 'public'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_set_visc::set_visc_cs::hbbl) node_name(None) [debug] method=visit_ref [debug] refid(structmom__set__visc_1_1set__visc__cs_1a765c0eec288ee86e83afc501b757a821) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'structmom__set__visc_1_1set__visc__cs_1a765c0eec288ee86e83afc501b757a821'), ('prot', 'public'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_set_visc::set_visc_cs::tideamp) node_name(None) [debug] method=visit_ref [debug] refid(structmom__set__visc_1_1set__visc__cs_1a8e5f72291c7e5c5e602c9b4765d63ae0) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'structmom__set__visc_1_1set__visc__cs_1a8e5f72291c7e5c5e602c9b4765d63ae0'), ('prot', 'public'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_set_visc::set_visc_cs::drag_bg_vel) node_name(None) [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__set__visc_1_1set__visc__cs_1abf6d0c52b4c7697848e11790fed715dc) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'structmom__set__visc_1_1set__visc__cs_1abf6d0c52b4c7697848e11790fed715dc'), ('prot', 'public'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_set_visc::set_visc_cs::rino_mix) node_name(None) [debug] method=visit_ref [debug] refid(structmom__set__visc_1_1set__visc__cs_1a20768c8872b3eab25e59dfe7c5ff62a0) kindref(member) ref([]) [debug] ref([('kind', 'variable'), ('id', 'structmom__set__visc_1_1set__visc__cs_1a20768c8872b3eab25e59dfe7c5ff62a0'), ('prot', 'public'), ('static', 'no'), ('mutable', 'no')]) [debug] kind(variable) real_name(mom_set_visc::set_visc_cs::hbbl) node_name(None) [debug] method=visit_para [debug] method=visit_xrefsect [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_sect2 [debug] visit_sect id(namespacemom__set__visc_1set_viscous_BBL_ref) title(References) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_itemizedlist [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_listitem [debug] listitem indent = 0 [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_viscous_bbl', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_set_visc::set_visc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_set_visc::set_viscous_bbl ~mom_set_visc::set_v_at_u ~mom_set_visc::set_u_at_v ~mom_set_visc::set_viscous_ml ~mom_set_visc::set_visc_register_restarts ~mom_set_visc::set_visc_init ~mom_set_visc::set_visc_end .. _DETAmom_set_visc: -------------------- Detailed Description -------------------- This would also be the module in which other viscous quantities that are flow-independent might be set. This information is transmitted to other modules via a vertvisc type structure. The same code is used for the two velocity components, by indirectly referencing the velocities and defining a handful of direction-specific defined variables. ------------------ Type Documentation ------------------ .. f:type:: set_visc_cs Control structure for MOM_set_visc. :typefield integer id_bbl_thick_u: Diagnostics handles. :typefield integer id_kv_bbl_u: Diagnostics handles. :typefield integer id_bbl_u: Diagnostics handles. :typefield integer id_bbl_thick_v: Diagnostics handles. :typefield integer id_kv_bbl_v: Diagnostics handles. :typefield integer id_bbl_v: Diagnostics handles. :typefield integer id_ray_u: Diagnostics handles. :typefield integer id_ray_v: Diagnostics handles. :typefield integer id_nkml_visc_u: Diagnostics handles. :typefield integer id_nkml_visc_v: Diagnostics handles. :typefield real hbbl: The static bottom boundary layer thickness [H ~> m or kg m-2]. Runtime parameter :typefield real cdrag: The quadratic drag coefficient. Runtime parameter :typefield real c_smag: The Laplacian Smagorinsky coefficient for calculating the drag in channels. :typefield real drag_bg_vel: An assumed unresolved background velocity for calculating the bottom drag [L T-1 ~> m s-1]. Runtime parameter :typefield real bbl_thick_min: The minimum bottom boundary layer thickness [H ~> m or kg m-2]. This might be Kv / (cdrag * drag_bg_vel) to give Kv as the minimum near-bottom viscosity. :typefield real htbl_shelf: A nominal thickness of the surface boundary layer for use in calculating the near-surface velocity [H ~> m or kg m-2]. :typefield real htbl_shelf_min: The minimum surface boundary layer thickness [H ~> m or kg m-2]. :typefield real kv_bbl_min: The minimum viscosity in the bottom boundary layer [Z2 T-1 ~> m2 s-1]. :typefield real kv_tbl_min: The minimum viscosity in the top boundary layer [Z2 T-1 ~> m2 s-1]. :typefield logical bottomdraglaw: If true, the bottom stress is calculated with a drag law c_drag*|u|*u. The velocity magnitude may be an assumed value or it may be based on the actual velocity in the bottommost :typefield logical bbl_use_eos: If true, use the equation of state in determining the properties of the bottom boundary layer. :typefield logical linear_drag: If true, the drag law is cdrag* :typefield logical channel_drag: If true, the drag is exerted directly on each layer according to what fraction of the bottom they overlie. :typefield logical correct_bbl_bounds: If true, uses the correct bounds on the BBL thickness and viscosity so that the bottom layer feels the intended drag. :typefield logical rino_mix: If true, use Richardson number dependent mixing. :typefield logical dynamic_viscous_ml: If true, use a bulk Richardson number criterion to determine the mixed layer thickness for viscosity. :typefield real bulk_ri_ml: The bulk mixed layer used to determine the thickness of the viscous mixed layer. Nondim. :typefield real omega: The Earth's rotation rate [T-1 ~> s-1]. :typefield real ustar_min: A minimum value of ustar to avoid numerical problems [Z T-1 ~> m s-1]. If the value is small enough, this should not affect the solution. :typefield real tke_decay: The ratio of the natural Ekman depth to the TKE decay scale, nondimensional. :typefield real omega_frac: When setting the decay scale for turbulence, use this fraction of the absolute rotation rate blended with the local value of f, as sqrt((1-of)*f^2 + of*4*omega^2). :typefield logical answers_2018: If true, use the order of arithmetic and expressions that recover the answers from the end of 2018. Otherwise, use updated and more robust forms of the same expressions. :typefield logical debug: If true, write verbose checksums for debugging purposes. :typefield logical bbl_use_tidal_bg: If true, use a tidal background amplitude for the bottom velocity when computing the bottom stress. :typefield character (len=200) inputdir: The directory for input files. :typefield type(ocean_obc_type) obc [pointer]: Open boundaries control structure. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield real(\:,\:) tideamp [allocatable]: RMS tidal amplitude at h points [Z T-1 ~> m s-1]. :typefield real(\:,\:) bbl_u [allocatable]: BBL mean U current [L T-1 ~> m s-1]. :typefield real(\:,\:) bbl_v [allocatable]: BBL mean V current [L T-1 ~> m s-1]. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine set_viscous_bbl(u, v, h, tv, visc, G, GV, US, CS, symmetrize) Calculates the thickness of the bottom boundary layer and the viscosity within that layer. A drag law is used, either linearized about an assumed bottom velocity or using the actual near-bottom velocities combined with an assumed unresolved velocity. The bottom boundary layer thickness is limited by a combination of stratification and rotation, as in the paper of Killworth and Edwards, JPO 1999. It is not necessary to calculate the thickness and viscosity every time step; instead previous values may be used. .. _namespacemom__set__visc_1set_viscous_BBL: Viscous Bottom Boundary Layer ============================= If :f:func:`set_visc_cs.bottomdraglaw ` is True then a bottom boundary layer viscosity and thickness are calculated so that the bottom stress is is True then a bottom boundary layer viscosity and thickness are calculated so that the bottom stress is .. math:: \mathbf{\tau}_b = C_d | U_{bbl} | \mathbf{u}_{bbl} If :f:func:`set_visc_cs.bottomdraglaw ` is True then the term is True then the term :math:`|U_{bbl}|` is set equal to the value in :f:func:`set_visc_cs.drag_bg_vel ` so that so that :math:`C_d |U_{bbl}|` becomes a Rayleigh bottom drag. Otherwise :math:`|U_{bbl}|` is found by averaging the flow over the bottom :f:func:`set_visc_cs.hbbl ` of the model, adding the amplitude of tides of the model, adding the amplitude of tides :f:func:`set_visc_cs.tideamp ` and a constant and a constant :f:func:`set_visc_cs.drag_bg_vel `. For these calculations the vertical grid at the velocity component locations is found by . For these calculations the vertical grid at the velocity component locations is found by .. math:: \begin{array}{ll} \frac{2 h^- h^+}{h^- + h^+} & u \left( h^+ - h^-\right) >= 0 \\ \frac{1}{2} \left( h^- + h^+ \right) & u \left( h^+ - h^-\right) < 0 \end{array} which biases towards the thin cell if the thin cell is upwind. Biasing the grid toward thin upwind cells helps increase the effect of viscosity and inhibits flow out of these thin cells. After diagnosing :math:`|U_{bbl}|` over a fixed depth an active viscous boundary layer thickness is found using the ideas of Killworth and Edwards, 1999 (hereafter KW99). KW99 solve the equation .. math:: \left( \frac{h_{bbl}}{h_f} \right)^2 + \frac{h_{bbl}}{h_N} = 1 for the boundary layer depth :math:`h_{bbl}`. Here .. math:: h_f = \frac{C_n u_*}{f} is the rotation controlled boundary layer depth in the absence of stratification. :math:`u_*` is the surface friction speed given by .. math:: u_*^2 = C_d |U_{bbl}|^2 and is a function of near bottom model flow. .. math:: h_N = \frac{C_i u_*}{N} = \frac{ (C_i u_* )^2 }{g^\prime} is the stratification controlled boundary layer depth. The non-dimensional parameters :math:`C_n=0.5` and :math:`C_i=20` are suggested by Zilitinkevich and Mironov, 1996. If a Richardson number dependent mixing scheme is being used, as indicated by :f:func:`set_visc_cs.rino_mix `, then the boundary layer thickness is bounded to be no larger than a half of , then the boundary layer thickness is bounded to be no larger than a half of :f:func:`set_visc_cs.hbbl ` .. .. admonition:: Todo Channel drag needs to be explained A BBL viscosity is calculated so that the no-slip boundary condition in the vertical viscosity solver implies the stress :math:`\mathbf{\tau}_b`. .. _namespacemom__set__visc_1set_viscous_BBL_ref: References ---------- * Killworth, P. D., and N. R. Edwards, 1999: A Turbulent Bottom Boundary Layer Code for Use in Numerical Ocean Models. J. Phys. Oceanogr., 29, 1221-1238, `doi:10.1175/1520-0485(1999)029<1221:ATBBLC>2.0.CO;2 2.0.CO;2>`_ * Zilitinkevich, S., Mironov, D.V., 1996: A multi-limit formulation for the equilibrium depth of a stably stratified boundary layer. Boundary-Layer Meteorology 81, 325-351. `doi:10.1007/BF02430334 `_ :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param u: [in] The zonal velocity [L T-1 ~> m s-1]. :param v: [in] The meridional velocity [L T-1 ~> m s-1]. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param tv: [in] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs.. :param visc: [inout] A structure containing vertical viscosities and related fields. :param cs: The control structure returned by a previous call to set_visc_init. :param symmetrize: [in] If present and true, do extra calculations of those values in visc that would be calculated with symmetric memory. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`set_u_at_v ` :callto: :f:func:`set_v_at_u ` .. f:function:: real function set_v_at_u(v, h, G, i, j, k, mask2dCv, OBC) This subroutine finds a thickness-weighted value of v at the u-points. :param g: [in] The ocean's grid structure :param v: [in] The meridional velocity [L T-1 ~> m s-1] :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param i: [in] The i-index of the u-location to work on. :param j: [in] The j-index of the u-location to work on. :param k: [in] The k-index of the u-location to work on. :param mask2dcv: [in] A multiplicative mask of the v-points :param obc: A pointer to an open boundary condition structure :returns undefined: The return value of v at u points points in the same units as u, i.e. [L T-1 ~> m s-1] or other units. :calledfrom: :f:func:`set_viscous_bbl ` :calledfrom: :f:func:`set_viscous_ml ` .. f:function:: real function set_u_at_v(u, h, G, i, j, k, mask2dCu, OBC) This subroutine finds a thickness-weighted value of u at the v-points. :param g: [in] The ocean's grid structure :param u: [in] The zonal velocity [L T-1 ~> m s-1] or other units. :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param i: [in] The i-index of the u-location to work on. :param j: [in] The j-index of the u-location to work on. :param k: [in] The k-index of the u-location to work on. :param mask2dcu: [in] A multiplicative mask of the u-points :param obc: A pointer to an open boundary condition structure :returns undefined: The return value of u at v points in the same units as u, i.e. [L T-1 ~> m s-1] or other units. :calledfrom: :f:func:`set_viscous_bbl ` :calledfrom: :f:func:`set_viscous_ml ` .. f:subroutine:: subroutine set_viscous_ml(u, v, h, tv, forces, visc, dt, G, GV, US, CS, symmetrize) Calculates the thickness of the surface boundary layer for applying an elevated viscosity. A bulk Richardson criterion or the thickness of the topmost NKML layers (with a bulk mixed layer) are currently used. The thicknesses are given in terms of fractional layers, so that this thickness will move as the thickness of the topmost layers change. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param u: [in] The zonal velocity [L T-1 ~> m s-1]. :param v: [in] The meridional velocity [L T-1 ~> m s-1]. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param tv: [in] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. :param forces: [in] A structure with the driving mechanical forces :param visc: [inout] A structure containing vertical viscosities and related fields. :param dt: [in] Time increment [T ~> s]. :param cs: The control structure returned by a previous call to set_visc_init. :param symmetrize: [in] If present and true, do extra calculations of those values in visc that would be calculated with symmetric memory. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`set_u_at_v ` :callto: :f:func:`set_v_at_u ` :calledfrom: :f:func:`mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ` :calledfrom: :f:func:`mom_dynamics_unsplit::step_mom_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2 ` .. f:subroutine:: subroutine set_visc_register_restarts(HI, GV, param_file, visc, restart_CS) Register any fields associated with the vertvisc_type. :param hi: [in] A horizontal index type structure. :param gv: [in] The ocean's vertical grid structure. :param param_file: [in] A structure to parse for run-time parameters. :param visc: [inout] A structure containing vertical viscosities and related fields. Allocated here. :param restart_cs: A pointer to the restart control structure. :callto: :f:func:`mom_cvmix_conv::cvmix_conv_is_used ` :callto: :f:func:`mom_cvmix_shear::cvmix_shear_is_used ` :callto: :f:func:`mom_kappa_shear::kappa_shear_at_vertex ` :callto: :f:func:`mom_kappa_shear::kappa_shear_is_used ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine set_visc_init(Time, G, GV, US, param_file, diag, visc, CS, restart_CS, OBC) Initializes the MOM_set_visc control structure. :param time: [in] The current model time. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters. :param diag: [inout] A structure that is used to regulate diagnostic output. :param visc: [inout] A structure containing vertical viscosities and related fields. Allocated here. :param cs: A pointer that is set to point to the control structure for this module :param restart_cs: A pointer to the restart control structure. :param obc: A pointer to an open boundary condition structure :callto: :f:func:`mom_kappa_shear::kappa_shear_at_vertex ` :callto: :f:func:`mom_kappa_shear::kappa_shear_is_used ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_restart::register_restart_field_as_obsolete ` .. f:subroutine:: subroutine set_visc_end(visc, CS) This subroutine dellocates any memory in the set_visc control structure. :param visc: [inout] A structure containing vertical viscosities and related fields. Elements are deallocated here. :param cs: The control structure returned by a previous call to set_visc_init. [debug] xpath(./compounddef/compoundname[text()="mom_set_visc::set_visc_cs"]/..) match([('id', 'structmom__set__visc_1_1set__visc__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_set_visc::set_visc_cs', , {}, ['', 'Contr [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_set_visc::set_visc_cs', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_set_visc::set_visc_cs', , {}, ['', 'Contr [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, tv, visc, G, GV, US, CS, symmetrize)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_visc::set_viscous_bbl', , {}, ['', 'Cal [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_visc::set_viscous_bbl', , {}, ['', 'Cal [debug] DoxygenMethodDocumenter format_signature called ((v, h, G, i, j, k, mask2dCv, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_visc::set_v_at_u', , {}, ['', 'This sub [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_visc::set_v_at_u', , {}, ['', 'This sub [debug] DoxygenMethodDocumenter format_signature called ((u, h, G, i, j, k, mask2dCu, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_visc::set_u_at_v', , {}, ['', 'This sub [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_visc::set_u_at_v', , {}, ['', 'This sub [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, tv, forces, visc, dt, G, GV, US, CS, symmetrize)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_visc::set_viscous_ml', , {}, ['', 'Calc [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_visc::set_viscous_ml', , {}, ['', 'Calc [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, visc, restart_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_visc::set_visc_register_restarts', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_visc::set_visc_register_restarts', , {} [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, visc, CS, restart_CS, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_visc::set_visc_init', , {}, ['', 'Initi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_visc::set_visc_init', , {}, ['', 'Initi [debug] DoxygenMethodDocumenter format_signature called ((visc, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_visc::set_visc_end', , {}, ['', 'This s [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_set_visc::set_visc_end', , {}, ['', 'This s [fd] run(.. f:type:: set_visc_cs) [fd] sig(set_visc_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(set_visc_cs) arglist(None) [fd] fullname(mom_set_visc/set_visc_cs) ftype(None) [fd] name(('mom_set_visc/set_visc_cs', None)) sig(set_visc_cs) signode(type mom_set_visc/set_visc_cs) [fd] run(.. f:subroutine:: subroutine set_viscous_bbl(u, v, h, tv, visc, G, GV, US, CS, symmetrize)) [fd] sig(subroutine set_viscous_bbl(u, v, h, tv, visc, G, GV, US, CS, symmetrize)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_viscous_bbl) arglist(u, v, h, tv, visc, G, GV, US, CS, symmetrize) [fd] fullname(mom_set_visc/set_viscous_bbl) ftype(None) [fd] name(('mom_set_visc/set_viscous_bbl', None)) sig(subroutine set_viscous_bbl(u, v, h, tv, visc, G, GV, US, CS, symmetrize)) signode(subroutine mom_set_visc/set_viscous_bbluvhtvviscGGVUSCSsymmetrize) [fd] run(.. f:function:: real function set_v_at_u(v, h, G, i, j, k, mask2dCv, OBC)) [fd] sig(real function set_v_at_u(v, h, G, i, j, k, mask2dCv, OBC)) [fd] ftype(real) objtype(function) modname(None) typename() name(set_v_at_u) arglist(v, h, G, i, j, k, mask2dCv, OBC) [fd] fullname(mom_set_visc/set_v_at_u) ftype(real) [fd] name(('mom_set_visc/set_v_at_u', 'real')) sig(real function set_v_at_u(v, h, G, i, j, k, mask2dCv, OBC)) signode(function mom_set_visc/set_v_at_uvhGijkmask2dCvOBC [real]) [fd] run(.. f:function:: real function set_u_at_v(u, h, G, i, j, k, mask2dCu, OBC)) [fd] sig(real function set_u_at_v(u, h, G, i, j, k, mask2dCu, OBC)) [fd] ftype(real) objtype(function) modname(None) typename() name(set_u_at_v) arglist(u, h, G, i, j, k, mask2dCu, OBC) [fd] fullname(mom_set_visc/set_u_at_v) ftype(real) [fd] name(('mom_set_visc/set_u_at_v', 'real')) sig(real function set_u_at_v(u, h, G, i, j, k, mask2dCu, OBC)) signode(function mom_set_visc/set_u_at_vuhGijkmask2dCuOBC [real]) [fd] run(.. f:subroutine:: subroutine set_viscous_ml(u, v, h, tv, forces, visc, dt, G, GV, US, CS, symmetrize)) [fd] sig(subroutine set_viscous_ml(u, v, h, tv, forces, visc, dt, G, GV, US, CS, symmetrize)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_viscous_ml) arglist(u, v, h, tv, forces, visc, dt, G, GV, US, CS, symmetrize) [fd] fullname(mom_set_visc/set_viscous_ml) ftype(None) [fd] name(('mom_set_visc/set_viscous_ml', None)) sig(subroutine set_viscous_ml(u, v, h, tv, forces, visc, dt, G, GV, US, CS, symmetrize)) signode(subroutine mom_set_visc/set_viscous_mluvhtvforcesviscdtGGVUSCSsymmetrize) [fd] run(.. f:subroutine:: subroutine set_visc_register_restarts(HI, GV, param_file, visc, restart_CS)) [fd] sig(subroutine set_visc_register_restarts(HI, GV, param_file, visc, restart_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_visc_register_restarts) arglist(HI, GV, param_file, visc, restart_CS) [fd] fullname(mom_set_visc/set_visc_register_restarts) ftype(None) [fd] name(('mom_set_visc/set_visc_register_restarts', None)) sig(subroutine set_visc_register_restarts(HI, GV, param_file, visc, restart_CS)) signode(subroutine mom_set_visc/set_visc_register_restartsHIGVparam_fileviscrestart_CS) [fd] run(.. f:subroutine:: subroutine set_visc_init(Time, G, GV, US, param_file, diag, visc, CS, restart_CS, OBC)) [fd] sig(subroutine set_visc_init(Time, G, GV, US, param_file, diag, visc, CS, restart_CS, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_visc_init) arglist(Time, G, GV, US, param_file, diag, visc, CS, restart_CS, OBC) [fd] fullname(mom_set_visc/set_visc_init) ftype(None) [fd] name(('mom_set_visc/set_visc_init', None)) sig(subroutine set_visc_init(Time, G, GV, US, param_file, diag, visc, CS, restart_CS, OBC)) signode(subroutine mom_set_visc/set_visc_initTimeGGVUSparam_filediagviscCSrestart_CSOBC) [fd] run(.. f:subroutine:: subroutine set_visc_end(visc, CS)) [fd] sig(subroutine set_visc_end(visc, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_visc_end) arglist(visc, CS) [fd] fullname(mom_set_visc/set_visc_end) ftype(None) [fd] name(('mom_set_visc/set_visc_end', None)) sig(subroutine set_visc_end(visc, CS)) signode(subroutine mom_set_visc/set_visc_endviscCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 52%] api/generated/modules/mom_shared_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_shared_i [app] emitting event: 'source-read'('api/generated/modules/mom_shared_initialization', ['.. autodoxymodule:: mom_shared_initialization\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_shared_initialization.rst:1: input: .. autodoxymodule:: mom_shared_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_shared_initialization::mom_shared_init_init ~mom_shared_initialization::mom_initialize_rotation ~mom_shared_initialization::mom_calculate_grad_coriolis ~mom_shared_initialization::diagnosemaximumdepth ~mom_shared_initialization::initialize_topography_from_file ~mom_shared_initialization::apply_topography_edits_from_file ~mom_shared_initialization::initialize_topography_named ~mom_shared_initialization::limit_topography ~mom_shared_initialization::set_rotation_planetary ~mom_shared_initialization::set_rotation_beta_plane ~mom_shared_initialization::initialize_grid_rotation_angle ~mom_shared_initialization::modulo_around_point ~mom_shared_initialization::reset_face_lengths_named ~mom_shared_initialization::reset_face_lengths_file ~mom_shared_initialization::reset_face_lengths_list ~mom_shared_initialization::read_face_length_list ~mom_shared_initialization::set_velocity_depth_max ~mom_shared_initialization::set_velocity_depth_min ~mom_shared_initialization::compute_global_grid_integrals ~mom_shared_initialization::write_ocean_geometry_file [debug] xpath(./compounddef/compoundname[text()="mom_shared_initialization"]/..) match([('id', 'namespacemom__shared__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_shared_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_shared_initialization', , {'members': , {'members': , {'members': ), ('mom_initialize_rotation', ), ('mom_calculate_grad_coriolis', ), ('diagnosemaximumdepth', ), ('initialize_topography_from_file', ), ('apply_topography_edits_from_file', ), ('initialize_topography_named', ), ('limit_topography', ), ('set_rotation_planetary', ), ('set_rotation_beta_plane', ), ('initialize_grid_rotation_angle', ), ('modulo_around_point', ), ('reset_face_lengths_named', ), ('reset_face_lengths_file', ), ('reset_face_lengths_list', ), ('read_face_length_list', ), ('set_velocity_depth_max', ), ('set_velocity_depth_min', ), ('compute_global_grid_integrals', ), ('write_ocean_geometry_file', )]) [autodoc] module analyzer failed: error importing 'mom_shared_initialization' (exception was: ModuleNotFoundError("No module named 'mom_shared_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((PF)) [debug] add_directive_header sig((PF)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine mom_shared_init_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_shared_init_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_topography_from_file', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_topography_from_file', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_topography_from_file', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_topography_from_file', , {'members': [autodoc] module analyzer failed: error importing 'mom_shared_initialization' (exception was: ModuleNotFoundError("No module named 'mom_shared_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, US)) [debug] add_directive_header sig((D, G, param_file, US)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine apply_topography_edits_from_file) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'apply_topography_edits_from_file', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'apply_topography_edits_from_file', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'apply_topography_edits_from_file', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'apply_topography_edits_from_file', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'apply_topography_edits_from_file', , {'members' [autodoc] module analyzer failed: error importing 'mom_shared_initialization' (exception was: ModuleNotFoundError("No module named 'mom_shared_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, topog_config, max_depth, US)) [debug] add_directive_header sig((D, G, param_file, topog_config, max_depth, US)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine initialize_topography_named) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_topography_named', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_grid_rotation_angle', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_grid_rotation_angle', , {'members': [autodoc] module analyzer failed: error importing 'mom_shared_initialization' (exception was: ModuleNotFoundError("No module named 'mom_shared_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((x, xc, Lx)) [debug] add_directive_header sig((x, xc, Lx)) [debug] DoxygenMethodDocumenter directive(function) name(real function modulo_around_point) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [debug] method=visit_simplesect [debug] simplesect kind(return) [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'modulo_around_point', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'compute_global_grid_integrals', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'compute_global_grid_integrals', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'compute_global_grid_integrals', , {'members': < [autodoc] module analyzer failed: error importing 'mom_shared_initialization' (exception was: ModuleNotFoundError("No module named 'mom_shared_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((G, param_file, directory, geom_file, US)) [debug] add_directive_header sig((G, param_file, directory, geom_file, US)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine write_ocean_geometry_file) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'write_ocean_geometry_file', , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_shared_initialization::mom_shared_init_init ~mom_shared_initialization::mom_initialize_rotation ~mom_shared_initialization::mom_calculate_grad_coriolis ~mom_shared_initialization::diagnosemaximumdepth ~mom_shared_initialization::initialize_topography_from_file ~mom_shared_initialization::apply_topography_edits_from_file ~mom_shared_initialization::initialize_topography_named ~mom_shared_initialization::limit_topography ~mom_shared_initialization::set_rotation_planetary ~mom_shared_initialization::set_rotation_beta_plane ~mom_shared_initialization::initialize_grid_rotation_angle ~mom_shared_initialization::modulo_around_point ~mom_shared_initialization::reset_face_lengths_named ~mom_shared_initialization::reset_face_lengths_file ~mom_shared_initialization::reset_face_lengths_list ~mom_shared_initialization::read_face_length_list ~mom_shared_initialization::set_velocity_depth_max ~mom_shared_initialization::set_velocity_depth_min ~mom_shared_initialization::compute_global_grid_integrals ~mom_shared_initialization::write_ocean_geometry_file .. _DETAmom_shared_initialization: -------------------- Detailed Description -------------------- Code that initializes fixed aspects of the model grid, such as horizontal grid metrics, topography and Coriolis, and can be shared between components. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine mom_shared_init_init(PF) MOM_shared_init_init just writes the code version. :param pf: [in] A structure indicating the open file to parse for model parameter values. .. f:subroutine:: subroutine mom_initialize_rotation(f, G, PF, US) MOM_initialize_rotation makes the appropriate call to set up the Coriolis parameter. :param g: [in] The dynamic horizontal grid type :param f: [out] The Coriolis parameter [T-1 ~> s-1] :param pf: [in] Parameter file structure :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`set_rotation_beta_plane ` :callto: :f:func:`set_rotation_planetary ` .. f:subroutine:: subroutine mom_calculate_grad_coriolis(dF_dx, dF_dy, G, US) Calculates the components of grad f (Coriolis parameter) :param g: [inout] The dynamic horizontal grid type :param df_dx: [out] x-component of grad f [T-1 L-1 ~> s-1 m-1] :param df_dy: [out] y-component of grad f [T-1 L-1 ~> s-1 m-1] :param us: [in] A dimensional unit scaling type .. f:function:: real function diagnosemaximumdepth(D, G) Return the global maximum ocean bottom depth in the same units as the input depth. :param g: [in] The dynamic horizontal grid type :param d: [in] Ocean bottom depth in m or Z :returns undefined: The global maximum ocean bottom depth in m or Z .. f:subroutine:: subroutine initialize_topography_from_file(D, G, param_file, US) Read gridded depths from file. :param g: [in] The dynamic horizontal grid type :param d: [out] Ocean bottom depth in m or Z if US is present :param param_file: [in] Parameter file structure :param us: [in] A dimensional unit scaling type :callto: :f:func:`apply_topography_edits_from_file ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` .. f:subroutine:: subroutine apply_topography_edits_from_file(D, G, param_file, US) Applies a list of topography overrides read from a netcdf file. :param g: [in] The dynamic horizontal grid type :param d: [inout] Ocean bottom depth in m or Z if US is present :param param_file: [in] Parameter file structure :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`initialize_topography_from_file ` .. f:subroutine:: subroutine initialize_topography_named(D, G, param_file, topog_config, max_depth, US) initialize the bathymetry based on one of several named idealized configurations :param g: [in] The dynamic horizontal grid type :param d: [out] Ocean bottom depth in m or Z if US is present :param param_file: [in] Parameter file structure :param topog_config: [in] The name of an idealized topographic configuration :param max_depth: [in] Maximum depth of model in the units of D :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` .. f:subroutine:: subroutine limit_topography(D, G, param_file, max_depth, US) limit_topography ensures that min_depth < D(x,y) < max_depth :param g: [in] The dynamic horizontal grid type :param d: [inout] Ocean bottom depth in m or Z if US is present :param param_file: [in] Parameter file structure :param max_depth: [in] Maximum depth of model in the units of D :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` .. f:subroutine:: subroutine set_rotation_planetary(f, G, param_file, US) This subroutine sets up the Coriolis parameter for a sphere. :param g: [in] The dynamic horizontal grid :param f: [out] Coriolis parameter (vertical component) [T-1 ~> s-1] :param param_file: [in] A structure to parse for run-time parameters :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`mom_initialize_rotation ` .. f:subroutine:: subroutine set_rotation_beta_plane(f, G, param_file, US) This subroutine sets up the Coriolis parameter for a beta-plane or f-plane. :param g: [in] The dynamic horizontal grid :param f: [out] Coriolis parameter (vertical component) [T-1 ~> s-1] :param param_file: [in] A structure to parse for run-time parameters :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`mom_initialize_rotation ` .. f:subroutine:: subroutine initialize_grid_rotation_angle(G, PF) initialize_grid_rotation_angle initializes the arrays with the sine and cosine of the angle between logical north on the grid and true north. :param g: [inout] The dynamic horizontal grid :param pf: [in] A structure indicating the open file to parse for model parameter values. :callto: :f:func:`modulo_around_point ` .. f:function:: real function modulo_around_point(x, xc, Lx) Return the modulo value of x in an interval [xc-(Lx/2) xc+(Lx/2)] If Lx<=0, then it returns x without applying modulo arithmetic. :param x: [in] Value to which to apply modulo arithmetic :param xc: [in] Center of modulo range :param lx: [in] Modulo range width :returns undefined: x shifted by an integer multiple of Lx to be close to xc. :calledfrom: :f:func:`initialize_grid_rotation_angle ` .. f:subroutine:: subroutine reset_face_lengths_named(G, param_file, name, US) This subroutine sets the open face lengths at selected points to restrict passages to their observed widths based on a named set of sizes. :param g: [inout] The dynamic horizontal grid :param param_file: [in] A structure to parse for run-time parameters :param name: [in] The name for the set of face lengths. Only "global_1deg" is currently implemented. :param us: [in] A dimensional unit scaling type .. f:subroutine:: subroutine reset_face_lengths_file(G, param_file, US) This subroutine sets the open face lengths at selected points to restrict passages to their observed widths from a arrays read from a file. :param g: [inout] The dynamic horizontal grid :param param_file: [in] A structure to parse for run-time parameters :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_domains::to_all ` .. f:subroutine:: subroutine reset_face_lengths_list(G, param_file, US) This subroutine sets the open face lengths at selected points to restrict passages to their observed widths from a list read from a file. :param g: [inout] The dynamic horizontal grid :param param_file: [in] A structure to parse for run-time parameters :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`read_face_length_list ` :callto: :f:func:`mom_string_functions::uppercase ` .. f:subroutine:: subroutine read_face_length_list(iounit, filename, num_lines, lines) This subroutine reads and counts the non-blank lines in the face length list file, after removing comments. :param iounit: [in] An open I/O unit number for the file :param filename: [in] The name of the face-length file to read :param num_lines: [out] The number of non-blank lines in the file :param lines: The non-blank lines, after removing comments :callto: :f:func:`mom_string_functions::uppercase ` :calledfrom: :f:func:`reset_face_lengths_list ` .. f:subroutine:: subroutine set_velocity_depth_max(G) Set the bathymetry at velocity points to be the maximum of the depths at the neighoring tracer points. :param g: [inout] The dynamic horizontal grid .. f:subroutine:: subroutine set_velocity_depth_min(G) Set the bathymetry at velocity points to be the minimum of the depths at the neighoring tracer points. :param g: [inout] The dynamic horizontal grid .. f:subroutine:: subroutine compute_global_grid_integrals(G, US) Pre-compute global integrals of grid quantities (like masked ocean area) for later use in reporting diagnostics. :param g: [inout] The dynamic horizontal grid :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_fixed ` .. f:subroutine:: subroutine write_ocean_geometry_file(G, param_file, directory, geom_file, US) Write out a file describing the topography, Coriolis parameter, grid locations and various other fixed fields from the grid. :param g: [inout] The dynamic horizontal grid :param param_file: [in] Parameter file structure :param directory: [in] The directory into which to place the geometry file. :param geom_file: [in] If present, the name of the geometry file (otherwise the file is "ocean_geometry") :param us: [in] A dimensional unit scaling type :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_fixed ` [debug] DoxygenMethodDocumenter format_signature called ((PF)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_shared_initialization::mom_shared_init_init', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_shared_initialization::limit_topography', , [debug] DoxygenMethodDocumenter format_signature called ((f, G, param_file, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_shared_initialization::set_rotation_planetary', subroutine mom_shared_initialization/mom_shared_init_initPF) [fd] run(.. f:subroutine:: subroutine mom_initialize_rotation(f, G, PF, US)) [fd] sig(subroutine mom_initialize_rotation(f, G, PF, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_initialize_rotation) arglist(f, G, PF, US) [fd] fullname(mom_shared_initialization/mom_initialize_rotation) ftype(None) [fd] name(('mom_shared_initialization/mom_initialize_rotation', None)) sig(subroutine mom_initialize_rotation(f, G, PF, US)) signode(subroutine mom_shared_initialization/mom_initialize_rotationfGPFUS) [fd] run(.. f:subroutine:: subroutine mom_calculate_grad_coriolis(dF_dx, dF_dy, G, US)) [fd] sig(subroutine mom_calculate_grad_coriolis(dF_dx, dF_dy, G, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_calculate_grad_coriolis) arglist(dF_dx, dF_dy, G, US) [fd] fullname(mom_shared_initialization/mom_calculate_grad_coriolis) ftype(None) [fd] name(('mom_shared_initialization/mom_calculate_grad_coriolis', None)) sig(subroutine mom_calculate_grad_coriolis(dF_dx, dF_dy, G, US)) signode(subroutine mom_shared_initialization/mom_calculate_grad_coriolisdF_dxdF_dyGUS) [fd] run(.. f:function:: real function diagnosemaximumdepth(D, G)) [fd] sig(real function diagnosemaximumdepth(D, G)) [fd] ftype(real) objtype(function) modname(None) typename() name(diagnosemaximumdepth) arglist(D, G) [fd] fullname(mom_shared_initialization/diagnosemaximumdepth) ftype(real) [fd] name(('mom_shared_initialization/diagnosemaximumdepth', 'real')) sig(real function diagnosemaximumdepth(D, G)) signode(function mom_shared_initialization/diagnosemaximumdepthDG [real]) [fd] run(.. f:subroutine:: subroutine initialize_topography_from_file(D, G, param_file, US)) [fd] sig(subroutine initialize_topography_from_file(D, G, param_file, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_topography_from_file) arglist(D, G, param_file, US) [fd] fullname(mom_shared_initialization/initialize_topography_from_file) ftype(None) [fd] name(('mom_shared_initialization/initialize_topography_from_file', None)) sig(subroutine initialize_topography_from_file(D, G, param_file, US)) signode(subroutine mom_shared_initialization/initialize_topography_from_fileDGparam_fileUS) [fd] run(.. f:subroutine:: subroutine apply_topography_edits_from_file(D, G, param_file, US)) [fd] sig(subroutine apply_topography_edits_from_file(D, G, param_file, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(apply_topography_edits_from_file) arglist(D, G, param_file, US) [fd] fullname(mom_shared_initialization/apply_topography_edits_from_file) ftype(None) [fd] name(('mom_shared_initialization/apply_topography_edits_from_file', None)) sig(subroutine apply_topography_edits_from_file(D, G, param_file, US)) signode(subroutine mom_shared_initialization/apply_topography_edits_from_fileDGparam_fileUS) [fd] run(.. f:subroutine:: subroutine initialize_topography_named(D, G, param_file, topog_config, max_depth, US)) [fd] sig(subroutine initialize_topography_named(D, G, param_file, topog_config, max_depth, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_topography_named) arglist(D, G, param_file, topog_config, max_depth, US) [fd] fullname(mom_shared_initialization/initialize_topography_named) ftype(None) [fd] name(('mom_shared_initialization/initialize_topography_named', None)) sig(subroutine initialize_topography_named(D, G, param_file, topog_config, max_depth, US)) signode(subroutine mom_shared_initialization/initialize_topography_namedDGparam_filetopog_configmax_depthUS) [fd] run(.. f:subroutine:: subroutine limit_topography(D, G, param_file, max_depth, US)) [fd] sig(subroutine limit_topography(D, G, param_file, max_depth, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(limit_topography) arglist(D, G, param_file, max_depth, US) [fd] fullname(mom_shared_initialization/limit_topography) ftype(None) [fd] name(('mom_shared_initialization/limit_topography', None)) sig(subroutine limit_topography(D, G, param_file, max_depth, US)) signode(subroutine mom_shared_initialization/limit_topographyDGparam_filemax_depthUS) [fd] run(.. f:subroutine:: subroutine set_rotation_planetary(f, G, param_file, US)) [fd] sig(subroutine set_rotation_planetary(f, G, param_file, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_rotation_planetary) arglist(f, G, param_file, US) [fd] fullname(mom_shared_initialization/set_rotation_planetary) ftype(None) [fd] name(('mom_shared_initialization/set_rotation_planetary', None)) sig(subroutine set_rotation_planetary(f, G, param_file, US)) signode(subroutine mom_shared_initialization/set_rotation_planetaryfGparam_fileUS) [fd] run(.. f:subroutine:: subroutine set_rotation_beta_plane(f, G, param_file, US)) [fd] sig(subroutine set_rotation_beta_plane(f, G, param_file, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_rotation_beta_plane) arglist(f, G, param_file, US) [fd] fullname(mom_shared_initialization/set_rotation_beta_plane) ftype(None) [fd] name(('mom_shared_initialization/set_rotation_beta_plane', None)) sig(subroutine set_rotation_beta_plane(f, G, param_file, US)) signode(subroutine mom_shared_initialization/set_rotation_beta_planefGparam_fileUS) [fd] run(.. f:subroutine:: subroutine initialize_grid_rotation_angle(G, PF)) [fd] sig(subroutine initialize_grid_rotation_angle(G, PF)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_grid_rotation_angle) arglist(G, PF) [fd] fullname(mom_shared_initialization/initialize_grid_rotation_angle) ftype(None) [fd] name(('mom_shared_initialization/initialize_grid_rotation_angle', None)) sig(subroutine initialize_grid_rotation_angle(G, PF)) signode(subroutine mom_shared_initialization/initialize_grid_rotation_angleGPF) [fd] run(.. f:function:: real function modulo_around_point(x, xc, Lx)) [fd] sig(real function modulo_around_point(x, xc, Lx)) [fd] ftype(real) objtype(function) modname(None) typename() name(modulo_around_point) arglist(x, xc, Lx) [fd] fullname(mom_shared_initialization/modulo_around_point) ftype(real) [fd] name(('mom_shared_initialization/modulo_around_point', 'real')) sig(real function modulo_around_point(x, xc, Lx)) signode(function mom_shared_initialization/modulo_around_pointxxcLx [real]) [fd] run(.. f:subroutine:: subroutine reset_face_lengths_named(G, param_file, name, US)) [fd] sig(subroutine reset_face_lengths_named(G, param_file, name, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(reset_face_lengths_named) arglist(G, param_file, name, US) [fd] fullname(mom_shared_initialization/reset_face_lengths_named) ftype(None) [fd] name(('mom_shared_initialization/reset_face_lengths_named', None)) sig(subroutine reset_face_lengths_named(G, param_file, name, US)) signode(subroutine mom_shared_initialization/reset_face_lengths_namedGparam_filenameUS) [fd] run(.. f:subroutine:: subroutine reset_face_lengths_file(G, param_file, US)) [fd] sig(subroutine reset_face_lengths_file(G, param_file, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(reset_face_lengths_file) arglist(G, param_file, US) [fd] fullname(mom_shared_initialization/reset_face_lengths_file) ftype(None) [fd] name(('mom_shared_initialization/reset_face_lengths_file', None)) sig(subroutine reset_face_lengths_file(G, param_file, US)) signode(subroutine mom_shared_initialization/reset_face_lengths_fileGparam_fileUS) [fd] run(.. f:subroutine:: subroutine reset_face_lengths_list(G, param_file, US)) [fd] sig(subroutine reset_face_lengths_list(G, param_file, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(reset_face_lengths_list) arglist(G, param_file, US) [fd] fullname(mom_shared_initialization/reset_face_lengths_list) ftype(None) [fd] name(('mom_shared_initialization/reset_face_lengths_list', None)) sig(subroutine reset_face_lengths_list(G, param_file, US)) signode(subroutine mom_shared_initialization/reset_face_lengths_listGparam_fileUS) [fd] run(.. f:subroutine:: subroutine read_face_length_list(iounit, filename, num_lines, lines)) [fd] sig(subroutine read_face_length_list(iounit, filename, num_lines, lines)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(read_face_length_list) arglist(iounit, filename, num_lines, lines) [fd] fullname(mom_shared_initialization/read_face_length_list) ftype(None) [fd] name(('mom_shared_initialization/read_face_length_list', None)) sig(subroutine read_face_length_list(iounit, filename, num_lines, lines)) signode(subroutine mom_shared_initialization/read_face_length_listiounitfilenamenum_lineslines) [fd] run(.. f:subroutine:: subroutine set_velocity_depth_max(G)) [fd] sig(subroutine set_velocity_depth_max(G)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_velocity_depth_max) arglist(G) [fd] fullname(mom_shared_initialization/set_velocity_depth_max) ftype(None) [fd] name(('mom_shared_initialization/set_velocity_depth_max', None)) sig(subroutine set_velocity_depth_max(G)) signode(subroutine mom_shared_initialization/set_velocity_depth_maxG) [fd] run(.. f:subroutine:: subroutine set_velocity_depth_min(G)) [fd] sig(subroutine set_velocity_depth_min(G)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_velocity_depth_min) arglist(G) [fd] fullname(mom_shared_initialization/set_velocity_depth_min) ftype(None) [fd] name(('mom_shared_initialization/set_velocity_depth_min', None)) sig(subroutine set_velocity_depth_min(G)) signode(subroutine mom_shared_initialization/set_velocity_depth_minG) [fd] run(.. f:subroutine:: subroutine compute_global_grid_integrals(G, US)) [fd] sig(subroutine compute_global_grid_integrals(G, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(compute_global_grid_integrals) arglist(G, US) [fd] fullname(mom_shared_initialization/compute_global_grid_integrals) ftype(None) [fd] name(('mom_shared_initialization/compute_global_grid_integrals', None)) sig(subroutine compute_global_grid_integrals(G, US)) signode(subroutine mom_shared_initialization/compute_global_grid_integralsGUS) [fd] run(.. f:subroutine:: subroutine write_ocean_geometry_file(G, param_file, directory, geom_file, US)) [fd] sig(subroutine write_ocean_geometry_file(G, param_file, directory, geom_file, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(write_ocean_geometry_file) arglist(G, param_file, directory, geom_file, US) [fd] fullname(mom_shared_initialization/write_ocean_geometry_file) ftype(None) [fd] name(('mom_shared_initialization/write_ocean_geometry_file', None)) sig(subroutine write_ocean_geometry_file(G, param_file, directory, geom_file, US)) signode(subroutine mom_shared_initialization/write_ocean_geometry_fileGparam_filedirectorygeom_fileUS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 52%] api/generated/modules/mom_spatial_means [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_spatial_ [app] emitting event: 'source-read'('api/generated/modules/mom_spatial_means', ['.. autodoxymodule:: mom_spatial_means\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_spatial_means.rst:1: input: .. autodoxymodule:: mom_spatial_means :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_spatial_means::global_area_mean ~mom_spatial_means::global_area_integral ~mom_spatial_means::global_layer_mean ~mom_spatial_means::global_volume_mean ~mom_spatial_means::global_mass_integral ~mom_spatial_means::global_i_mean ~mom_spatial_means::global_j_mean ~mom_spatial_means::adjust_area_mean_to_zero [debug] xpath(./compounddef/compoundname[text()="mom_spatial_means"]/..) match([('id', 'namespacemom__spatial__means'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_spatial_means module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_spatial_means', , {'members': , {'members': , {'members': ), ('global_area_integral', ), ('global_layer_mean', ), ('global_volume_mean', ), ('global_mass_integral', ), ('global_i_mean', ), ('global_j_mean', ), ('adjust_area_mean_to_zero', )]) [autodoc] module analyzer failed: error importing 'mom_spatial_means' (exception was: ModuleNotFoundError("No module named 'mom_spatial_means'")) [debug] DoxygenMethodDocumenter format_signature called ((var, G, scale)) [debug] add_directive_header sig((var, G, scale)) [debug] DoxygenMethodDocumenter directive(function) name(real function global_area_mean) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'global_area_mean', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_spatial_means::global_area_mean ~mom_spatial_means::global_area_integral ~mom_spatial_means::global_layer_mean ~mom_spatial_means::global_volume_mean ~mom_spatial_means::global_mass_integral ~mom_spatial_means::global_i_mean ~mom_spatial_means::global_j_mean ~mom_spatial_means::adjust_area_mean_to_zero .. _DETAmom_spatial_means: -------------------- Detailed Description -------------------- Functions and routines to take area, volume, mass-weighted, layerwise, zonal or meridional means. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: real function global_area_mean(var, G, scale) Return the global area mean of a variable. This uses reproducing sums. :param g: [in] The ocean's grid structure :param var: [in] The variable to average :param scale: [in] A rescaling factor for the variable :calledfrom: :f:func:`mom_forcing_type::forcing_diagnostics ` :calledfrom: :f:func:`mom_generic_tracer::mom_generic_tracer_column_physics ` :calledfrom: :f:func:`mom_generic_tracer::mom_generic_tracer_surface_state ` :calledfrom: :f:func:`mom_internal_tides::sum_en ` .. f:function:: real function global_area_integral(var, G, scale, area) Return the global area integral of a variable, by default using the masked area from the grid, but an alternate could be used instead. This uses reproducing sums. :param g: [in] The ocean's grid structure :param var: [in] The variable to integrate :param scale: [in] A rescaling factor for the variable :param area: [in] The alternate area to use, including any required masking [L2 ~> m2]. :returns undefined: The returned area integral, usually in the units of var times [m2]. :calledfrom: :f:func:`mom_ice_shelf::add_shelf_flux ` :calledfrom: :f:func:`mom_forcing_type::forcing_diagnostics ` :calledfrom: :f:func:`mom_diagnostics::post_surface_thermo_diags ` .. f:function:: real function global_layer_mean(var, h, G, GV, scale) Return the layerwise global thickness-weighted mean of a variable. This uses reproducing sums. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param var: [in] The variable to average :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param scale: [in] A rescaling factor for the variable .. f:function:: real function global_volume_mean(var, h, G, GV, scale) Find the global thickness-weighted mean of a variable. This uses reproducing sums. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param var: [in] The variable being averaged :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param scale: [in] A rescaling factor for the variable :returns undefined: The thickness-weighted average of var :calledfrom: :f:func:`mom_diagnostics::calculate_diagnostic_fields ` .. f:function:: real function global_mass_integral(h, G, GV, var, on_PE_only, scale) Find the global mass-weighted integral of a variable. This uses reproducing sums. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param var: [in] The variable being integrated :param on_pe_only: [in] If present and true, the sum is only done on the local PE, and it is *not* order invariant. :param scale: [in] A rescaling factor for the variable :returns undefined: The mass-weighted integral of var (or 1) in kg times the units of var :calledfrom: :f:func:`mom::get_ocean_stocks ` .. f:subroutine:: subroutine global_i_mean(array, i_mean, G, mask, scale, tmp_scale) Determine the global mean of a field along rows of constant i, returning it in a 1-d array using the local indexing. This uses reproducing sums. :param g: [inout] The ocean's grid structure :param array: [in] The variable being averaged :param i_mean: [out] Global mean of array along its i-axis :param mask: [in] An array used for weighting the i-mean :param scale: [in] A rescaling factor for the output variable :param tmp_scale: [in] A rescaling factor for the internal calculations that is removed from the output :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_coms::query_efp_overflow_error ` :callto: :f:func:`mom_coms::reset_efp_overflow_error ` :calledfrom: :f:func:`mom_sponge::apply_sponge ` .. f:subroutine:: subroutine global_j_mean(array, j_mean, G, mask, scale, tmp_scale) Determine the global mean of a field along rows of constant j, returning it in a 1-d array using the local indexing. This uses reproducing sums. :param g: [inout] The ocean's grid structure :param array: [in] The variable being averaged :param j_mean: [out] Global mean of array along its j-axis :param mask: [in] An array used for weighting the j-mean :param scale: [in] A rescaling factor for the output variable :param tmp_scale: [in] A rescaling factor for the internal calculations that is removed from the output :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_coms::query_efp_overflow_error ` :callto: :f:func:`mom_coms::reset_efp_overflow_error ` .. f:subroutine:: subroutine adjust_area_mean_to_zero(array, G, scaling, unit_scale) Adjust 2d array such that area mean is zero without moving the zero contour. :param g: [in] Grid structure :param array: [inout] 2D array to be adjusted :param scaling: [out] The scaling factor used :param unit_scale: [in] A rescaling factor for the variable :calledfrom: :f:func:`mom_surface_forcing_gfdl::convert_iob_to_fluxes ` [debug] DoxygenMethodDocumenter format_signature called ((var, G, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_spatial_means::global_area_mean', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_spatial_means::global_area_mean', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((var, G, scale, area)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_spatial_means::global_area_integral', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_spatial_means::global_area_integral', , {}, [debug] DoxygenMethodDocumenter format_signature called ((var, h, G, GV, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_spatial_means::global_layer_mean', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_spatial_means::global_layer_mean', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((var, h, G, GV, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_spatial_means::global_volume_mean', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_spatial_means::global_volume_mean', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, var, on_PE_only, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_spatial_means::global_mass_integral', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_spatial_means::global_mass_integral', , {}, [debug] DoxygenMethodDocumenter format_signature called ((array, i_mean, G, mask, scale, tmp_scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_spatial_means::global_i_mean', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_spatial_means::global_i_mean', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((array, j_mean, G, mask, scale, tmp_scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_spatial_means::global_j_mean', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_spatial_means::global_j_mean', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((array, G, scaling, unit_scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_spatial_means::adjust_area_mean_to_zero', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_spatial_means::adjust_area_mean_to_zero', , [fd] run(.. f:function:: real function global_area_mean(var, G, scale)) [fd] sig(real function global_area_mean(var, G, scale)) [fd] ftype(real) objtype(function) modname(None) typename() name(global_area_mean) arglist(var, G, scale) [fd] fullname(mom_spatial_means/global_area_mean) ftype(real) [fd] name(('mom_spatial_means/global_area_mean', 'real')) sig(real function global_area_mean(var, G, scale)) signode(function mom_spatial_means/global_area_meanvarGscale [real]) [fd] run(.. f:function:: real function global_area_integral(var, G, scale, area)) [fd] sig(real function global_area_integral(var, G, scale, area)) [fd] ftype(real) objtype(function) modname(None) typename() name(global_area_integral) arglist(var, G, scale, area) [fd] fullname(mom_spatial_means/global_area_integral) ftype(real) [fd] name(('mom_spatial_means/global_area_integral', 'real')) sig(real function global_area_integral(var, G, scale, area)) signode(function mom_spatial_means/global_area_integralvarGscalearea [real]) [fd] run(.. f:function:: real function global_layer_mean(var, h, G, GV, scale)) [fd] sig(real function global_layer_mean(var, h, G, GV, scale)) [fd] ftype(real) objtype(function) modname(None) typename() name(global_layer_mean) arglist(var, h, G, GV, scale) [fd] fullname(mom_spatial_means/global_layer_mean) ftype(real) [fd] name(('mom_spatial_means/global_layer_mean', 'real')) sig(real function global_layer_mean(var, h, G, GV, scale)) signode(function mom_spatial_means/global_layer_meanvarhGGVscale [real]) [fd] run(.. f:function:: real function global_volume_mean(var, h, G, GV, scale)) [fd] sig(real function global_volume_mean(var, h, G, GV, scale)) [fd] ftype(real) objtype(function) modname(None) typename() name(global_volume_mean) arglist(var, h, G, GV, scale) [fd] fullname(mom_spatial_means/global_volume_mean) ftype(real) [fd] name(('mom_spatial_means/global_volume_mean', 'real')) sig(real function global_volume_mean(var, h, G, GV, scale)) signode(function mom_spatial_means/global_volume_meanvarhGGVscale [real]) [fd] run(.. f:function:: real function global_mass_integral(h, G, GV, var, on_PE_only, scale)) [fd] sig(real function global_mass_integral(h, G, GV, var, on_PE_only, scale)) [fd] ftype(real) objtype(function) modname(None) typename() name(global_mass_integral) arglist(h, G, GV, var, on_PE_only, scale) [fd] fullname(mom_spatial_means/global_mass_integral) ftype(real) [fd] name(('mom_spatial_means/global_mass_integral', 'real')) sig(real function global_mass_integral(h, G, GV, var, on_PE_only, scale)) signode(function mom_spatial_means/global_mass_integralhGGVvaron_PE_onlyscale [real]) [fd] run(.. f:subroutine:: subroutine global_i_mean(array, i_mean, G, mask, scale, tmp_scale)) [fd] sig(subroutine global_i_mean(array, i_mean, G, mask, scale, tmp_scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(global_i_mean) arglist(array, i_mean, G, mask, scale, tmp_scale) [fd] fullname(mom_spatial_means/global_i_mean) ftype(None) [fd] name(('mom_spatial_means/global_i_mean', None)) sig(subroutine global_i_mean(array, i_mean, G, mask, scale, tmp_scale)) signode(subroutine mom_spatial_means/global_i_meanarrayi_meanGmaskscaletmp_scale) [fd] run(.. f:subroutine:: subroutine global_j_mean(array, j_mean, G, mask, scale, tmp_scale)) [fd] sig(subroutine global_j_mean(array, j_mean, G, mask, scale, tmp_scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(global_j_mean) arglist(array, j_mean, G, mask, scale, tmp_scale) [fd] fullname(mom_spatial_means/global_j_mean) ftype(None) [fd] name(('mom_spatial_means/global_j_mean', None)) sig(subroutine global_j_mean(array, j_mean, G, mask, scale, tmp_scale)) signode(subroutine mom_spatial_means/global_j_meanarrayj_meanGmaskscaletmp_scale) [fd] run(.. f:subroutine:: subroutine adjust_area_mean_to_zero(array, G, scaling, unit_scale)) [fd] sig(subroutine adjust_area_mean_to_zero(array, G, scaling, unit_scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(adjust_area_mean_to_zero) arglist(array, G, scaling, unit_scale) [fd] fullname(mom_spatial_means/adjust_area_mean_to_zero) ftype(None) [fd] name(('mom_spatial_means/adjust_area_mean_to_zero', None)) sig(subroutine adjust_area_mean_to_zero(array, G, scaling, unit_scale)) signode(subroutine mom_spatial_means/adjust_area_mean_to_zeroarrayGscalingunit_scale) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 53%] api/generated/modules/mom_sponge [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_sponge') [app] emitting event: 'source-read'('api/generated/modules/mom_sponge', ['.. autodoxymodule:: mom_sponge\n :members:\n :methods:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_sponge.rst:1: input: .. autodoxymodule:: mom_sponge :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_sponge::p2d ~mom_sponge::p3d ~mom_sponge::sponge_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_sponge::initialize_sponge ~mom_sponge::init_sponge_diags ~mom_sponge::set_up_sponge_field ~mom_sponge::set_up_sponge_ml_density ~mom_sponge::apply_sponge ~mom_sponge::sponge_end [debug] xpath(./compounddef/compoundname[text()="mom_sponge"]/..) match([('id', 'namespacemom__sponge'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_sponge module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sponge', , {'members': , {'members': , {'members': ), ('mom_sponge::p3d', ), ('mom_sponge::sponge_cs', )]) [autodoc] module analyzer failed: error importing 'mom_sponge' (exception was: ModuleNotFoundError("No module named 'mom_sponge'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_sponge::p2d', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('init_sponge_diags', ), ('set_up_sponge_field', ), ('set_up_sponge_ml_density', ), ('apply_sponge', ), ('sponge_end', )]) [autodoc] module analyzer failed: error importing 'mom_sponge' (exception was: ModuleNotFoundError("No module named 'mom_sponge'")) [debug] DoxygenMethodDocumenter format_signature called ((Iresttime, int_height, G, param_file, CS, GV, Iresttime_i_mean, int_height_i_mean)) [debug] add_directive_header sig((Iresttime, int_height, G, param_file, CS, GV, Iresttime_i_mean, int_height_i_mean)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine initialize_sponge) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_sponge', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_sponge::p2d ~mom_sponge::p3d ~mom_sponge::sponge_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_sponge::initialize_sponge ~mom_sponge::init_sponge_diags ~mom_sponge::set_up_sponge_field ~mom_sponge::set_up_sponge_ml_density ~mom_sponge::apply_sponge ~mom_sponge::sponge_end .. _DETAmom_sponge: -------------------- Detailed Description -------------------- By Robert Hallberg, March 1999-June 2000 This program contains the subroutines that implement sponge regions, in which the stratification and water mass properties are damped toward some profiles. There are three externally callable subroutines in this file. initialize_sponge determines the mapping from the model variables into the arrays of damped columns. This remapping is done for efficiency and to conserve memory. Only columns which have positive inverse damping times and which are deeper than a supplied depth are placed in sponges. The inverse damping time is also stored in this subroutine, and memory is allocated for all of the reference profiles which will subsequently be provided through calls to set_up_sponge_field. The first two arguments are a two-dimensional array containing the damping rates, and the interface heights to damp towards. set_up_sponge_field is called to provide a reference profile and the location of the field that will be damped back toward that reference profile. A third argument, the number of layers in the field is also provided, but this should always be nz. Apply_sponge damps all of the fields that have been registered with set_up_sponge_field toward their reference profiles. The four arguments are the thickness to be damped, the amount of time over which the damping occurs, and arrays to which the movement of fluid into a layer from above and below will be added. The effect on momentum of the sponge may be accounted for later using the movement of water recorded in these later arrays. ------------------ Type Documentation ------------------ .. f:type:: p2d A structure for creating arrays of pointers to 2D arrays. :typefield real(\:,\:) p [pointer]: A pointer to a 2D array. .. f:type:: p3d A structure for creating arrays of pointers to 3D arrays. :typefield real(\:,\:,\:) p [pointer]: A pointer to a 3D array. .. f:type:: sponge_cs This control structure holds memory and parameters for the MOM_sponge module. :typefield logical bulkmixedlayer: If true, a refined bulk mixed layer is used with nkml sublayers and nkbl buffer layer. :typefield integer nz: The total number of layers. :typefield integer isc: The starting i-index of the computational domain at h. :typefield integer iec: The ending i-index of the computational domain at h. :typefield integer jsc: The starting j-index of the computational domain at h. :typefield integer jec: The ending j-index of the computational domain at h. :typefield integer isd: The starting i-index of the data domain at h. :typefield integer ied: The ending i-index of the data domain at h. :typefield integer jsd: The starting j-index of the data domain at h. :typefield integer jed: The ending j-index of the data domain at h. :typefield integer num_col: The number of sponge points within the computational domain. :typefield integer fldno: The number of fields which have already been registered by calls to set_up_sponge_field. :typefield integer(\:) col_i [pointer]: Array of the i-indicies of each of the columns being damped. :typefield integer(\:) col_j [pointer]: Array of the j-indicies of each of the columns being damped. :typefield real(\:) iresttime_col [pointer]: The inverse restoring time of each column [T-1 ~> s-1]. :typefield real(\:) rcv_ml_ref [pointer]: The value toward which the mixed layer coordinate-density is being damped [R ~> kg m-3]. :typefield real(\:,\:) ref_eta [pointer]: The value toward which the interface heights are being damped [Z ~> m]. :typefield type( p3d )(50) var: Pointers to the fields that are being damped. :typefield type( p2d )(50) ref_val: The values to which the fields are damped. :typefield logical do_i_mean_sponge: If true, apply sponges to the i-mean fields. :typefield real(\:) iresttime_im [pointer]: The inverse restoring time of each row for i-mean sponges [T-1 ~> s-1]. :typefield real(\:) rcv_ml_ref_im [pointer]: mixed layer coordinate-density is being damped [R ~> kg m-3]. :typefield real(\:,\:) ref_eta_im [pointer]: The value toward which the i-mean interface heights are being damped [Z ~> m]. :typefield type( p2d )(50) ref_val_im: The values toward which the i-means of fields are damped. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield integer id_w_sponge: A diagnostic ID. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine initialize_sponge(Iresttime, int_height, G, param_file, CS, GV, Iresttime_i_mean, int_height_i_mean) This subroutine determines the number of points which are within sponges in this computational domain. Only points that have positive values of Iresttime and which mask2dT indicates are ocean points are included in the sponges. It also stores the target interface heights. :param g: [in] The ocean's grid structure :param iresttime: [in] The inverse of the restoring time [T-1 ~> s-1]. :param int_height: [in] The interface heights to damp back toward [Z ~> m]. :param param_file: [in] A structure to parse for run-time parameters :param cs: A pointer that is set to point to the control structure for this module :param gv: [in] The ocean's vertical grid structure :param iresttime_i_mean: [in] The inverse of the restoring time for :param int_height_i_mean: [in] The interface heights toward which to :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`bfb_initialization::bfb_initialize_sponges_southonly ` :calledfrom: :f:func:`dome2d_initialization::dome2d_initialize_sponges ` :calledfrom: :f:func:`dome_initialization::dome_initialize_sponges ` :calledfrom: :f:func:`isomip_initialization::isomip_initialize_sponges ` :calledfrom: :f:func:`phillips_initialization::phillips_initialize_sponges ` .. f:subroutine:: subroutine init_sponge_diags(Time, G, GV, US, diag, CS) This subroutine sets up diagnostics for the sponges. It is separate from initialize_sponge because it requires fields that are not readily available where initialize_sponge is called. :param time: [in] The current model time :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param diag: [inout] A structure that is used to regulate diagnostic output :param cs: A pointer to the control structure for this module that is set by a previous call to initialize_sponge. :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine set_up_sponge_field(sp_val, f_ptr, G, nlay, CS, sp_val_i_mean) This subroutine stores the reference profile for the variable whose address is given by f_ptr. nlay is the number of layers in this variable. :param g: [in] The ocean's grid structure :param sp_val: [in] The reference profiles of the quantity being registered. :param f_ptr: [in] a pointer to the field which will be damped :param nlay: [in] the number of layers in this quantity :param cs: A pointer to the control structure for this module that is set by a previous call to initialize_sponge. :param sp_val_i_mean: [in] The i-mean reference value for :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`dome_initialization::dome_initialize_sponges ` :calledfrom: :f:func:`dome_tracer::initialize_dome_tracer ` :calledfrom: :f:func:`rgc_tracer::initialize_rgc_tracer ` :calledfrom: :f:func:`isomip_initialization::isomip_initialize_sponges ` :calledfrom: :f:func:`user_tracer_example::user_initialize_tracer ` .. f:subroutine:: subroutine set_up_sponge_ml_density(sp_val, G, CS, sp_val_i_mean) This subroutine stores the reference value for mixed layer density. It is handled differently from other values because it is only used in determining which layers can be inflated. :param g: [in] The ocean's grid structure :param sp_val: [in] The reference values of the mixed layer density [R ~> kg m-3] :param cs: A pointer to the control structure for this module that is set by a previous call to initialize_sponge. :param sp_val_i_mean: [in] the reference values of the zonal mean mixed :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`rgc_initialization::rgc_initialize_sponges ` .. f:subroutine:: subroutine apply_sponge(h, dt, G, GV, US, ea, eb, CS, Rcv_ml) This subroutine applies damping to the layers thicknesses, mixed layer buoyancy, and a variety of tracers for every column where there is damping. :param g: [inout] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [inout] Layer thicknesses [H ~> m or kg m-2] :param dt: [in] The amount of time covered by this call [T ~> s]. :param ea: [inout] An array to which the amount of fluid entrained :param eb: [inout] An array to which the amount of fluid entrained :param cs: A pointer to the control structure for this module that is set by a previous call to initialize_sponge. :param rcv_ml: [inout] The coordinate density of the mixed layer [R ~> kg m-3]. :callto: :f:func:`mom_spatial_means::global_i_mean ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_diabatic_driver::layered_diabatic ` .. f:subroutine:: subroutine sponge_end(CS) This call deallocates any memory in the sponge control structure. :param cs: A pointer to the control structure for this module that is set by a previous call to initialize_sponge. [debug] xpath(./compounddef/compoundname[text()="mom_sponge::p2d"]/..) match([('id', 'structmom__sponge_1_1p2d'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sponge::p2d', , {}, ['', 'A structure for [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sponge::p2d', , {}, ['`More... , {}, ['', 'A structure for [debug] xpath(./compounddef/compoundname[text()="mom_sponge::p3d"]/..) match([('id', 'structmom__sponge_1_1p3d'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sponge::p3d', , {}, ['', 'A structure for [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sponge::p3d', , {}, ['`More... , {}, ['', 'A structure for [debug] xpath(./compounddef/compoundname[text()="mom_sponge::sponge_cs"]/..) match([('id', 'structmom__sponge_1_1sponge__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sponge::sponge_cs', , {}, ['', 'This cont [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sponge::sponge_cs', , {}, ['`More... , {}, ['', 'This cont [debug] DoxygenMethodDocumenter format_signature called ((Iresttime, int_height, G, param_file, CS, GV, Iresttime_i_mean, int_height_i_mean)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sponge::initialize_sponge', , {}, ['', 'Thi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sponge::initialize_sponge', , {}, ['', 'Thi [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sponge::init_sponge_diags', , {}, ['', 'Thi [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sponge::init_sponge_diags', , {}, ['', 'Thi [debug] DoxygenMethodDocumenter format_signature called ((sp_val, f_ptr, G, nlay, CS, sp_val_i_mean)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sponge::set_up_sponge_field', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sponge::set_up_sponge_field', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((sp_val, G, CS, sp_val_i_mean)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sponge::set_up_sponge_ml_density', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sponge::set_up_sponge_ml_density', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((h, dt, G, GV, US, ea, eb, CS, Rcv_ml)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sponge::apply_sponge', , {}, ['', 'This sub [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sponge::apply_sponge', , {}, ['', 'This sub [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sponge::sponge_end', , {}, ['', 'This call [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sponge::sponge_end', , {}, ['', 'This call [fd] run(.. f:type:: p2d) [fd] sig(p2d) [fd] ftype(None) objtype(None) modname(None) typename() name(p2d) arglist(None) [fd] fullname(mom_sponge/p2d) ftype(None) [fd] name(('mom_sponge/p2d', None)) sig(p2d) signode(type mom_sponge/p2d) [fd] run(.. f:type:: p3d) [fd] sig(p3d) [fd] ftype(None) objtype(None) modname(None) typename() name(p3d) arglist(None) [fd] fullname(mom_sponge/p3d) ftype(None) [fd] name(('mom_sponge/p3d', None)) sig(p3d) signode(type mom_sponge/p3d) [fd] run(.. f:type:: sponge_cs) [fd] sig(sponge_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(sponge_cs) arglist(None) [fd] fullname(mom_sponge/sponge_cs) ftype(None) [fd] name(('mom_sponge/sponge_cs', None)) sig(sponge_cs) signode(type mom_sponge/sponge_cs) [fd] run(.. f:subroutine:: subroutine initialize_sponge(Iresttime, int_height, G, param_file, CS, GV, Iresttime_i_mean, int_height_i_mean)) [fd] sig(subroutine initialize_sponge(Iresttime, int_height, G, param_file, CS, GV, Iresttime_i_mean, int_height_i_mean)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_sponge) arglist(Iresttime, int_height, G, param_file, CS, GV, Iresttime_i_mean, int_height_i_mean) [fd] fullname(mom_sponge/initialize_sponge) ftype(None) [fd] name(('mom_sponge/initialize_sponge', None)) sig(subroutine initialize_sponge(Iresttime, int_height, G, param_file, CS, GV, Iresttime_i_mean, int_height_i_mean)) signode(subroutine mom_sponge/initialize_spongeIresttimeint_heightGparam_fileCSGVIresttime_i_meanint_height_i_mean) [fd] run(.. f:subroutine:: subroutine init_sponge_diags(Time, G, GV, US, diag, CS)) [fd] sig(subroutine init_sponge_diags(Time, G, GV, US, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(init_sponge_diags) arglist(Time, G, GV, US, diag, CS) [fd] fullname(mom_sponge/init_sponge_diags) ftype(None) [fd] name(('mom_sponge/init_sponge_diags', None)) sig(subroutine init_sponge_diags(Time, G, GV, US, diag, CS)) signode(subroutine mom_sponge/init_sponge_diagsTimeGGVUSdiagCS) [fd] run(.. f:subroutine:: subroutine set_up_sponge_field(sp_val, f_ptr, G, nlay, CS, sp_val_i_mean)) [fd] sig(subroutine set_up_sponge_field(sp_val, f_ptr, G, nlay, CS, sp_val_i_mean)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_up_sponge_field) arglist(sp_val, f_ptr, G, nlay, CS, sp_val_i_mean) [fd] fullname(mom_sponge/set_up_sponge_field) ftype(None) [fd] name(('mom_sponge/set_up_sponge_field', None)) sig(subroutine set_up_sponge_field(sp_val, f_ptr, G, nlay, CS, sp_val_i_mean)) signode(subroutine mom_sponge/set_up_sponge_fieldsp_valf_ptrGnlayCSsp_val_i_mean) [fd] run(.. f:subroutine:: subroutine set_up_sponge_ml_density(sp_val, G, CS, sp_val_i_mean)) [fd] sig(subroutine set_up_sponge_ml_density(sp_val, G, CS, sp_val_i_mean)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_up_sponge_ml_density) arglist(sp_val, G, CS, sp_val_i_mean) [fd] fullname(mom_sponge/set_up_sponge_ml_density) ftype(None) [fd] name(('mom_sponge/set_up_sponge_ml_density', None)) sig(subroutine set_up_sponge_ml_density(sp_val, G, CS, sp_val_i_mean)) signode(subroutine mom_sponge/set_up_sponge_ml_densitysp_valGCSsp_val_i_mean) [fd] run(.. f:subroutine:: subroutine apply_sponge(h, dt, G, GV, US, ea, eb, CS, Rcv_ml)) [fd] sig(subroutine apply_sponge(h, dt, G, GV, US, ea, eb, CS, Rcv_ml)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(apply_sponge) arglist(h, dt, G, GV, US, ea, eb, CS, Rcv_ml) [fd] fullname(mom_sponge/apply_sponge) ftype(None) [fd] name(('mom_sponge/apply_sponge', None)) sig(subroutine apply_sponge(h, dt, G, GV, US, ea, eb, CS, Rcv_ml)) signode(subroutine mom_sponge/apply_spongehdtGGVUSeaebCSRcv_ml) [fd] run(.. f:subroutine:: subroutine sponge_end(CS)) [fd] sig(subroutine sponge_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(sponge_end) arglist(CS) [fd] fullname(mom_sponge/sponge_end) ftype(None) [fd] name(('mom_sponge/sponge_end', None)) sig(subroutine sponge_end(CS)) signode(subroutine mom_sponge/sponge_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 53%] api/generated/modules/mom_state_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_state_in [app] emitting event: 'source-read'('api/generated/modules/mom_state_initialization', ['.. autodoxymodule:: mom_state_initialization\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_state_initialization.rst:1: input: .. autodoxymodule:: mom_state_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_state_initialization::mom_initialize_state ~mom_state_initialization::initialize_thickness_from_file ~mom_state_initialization::adjustetatofitbathymetry ~mom_state_initialization::initialize_thickness_uniform ~mom_state_initialization::initialize_thickness_list ~mom_state_initialization::initialize_thickness_search ~mom_state_initialization::convert_thickness ~mom_state_initialization::depress_surface ~mom_state_initialization::trim_for_ice ~mom_state_initialization::cut_off_column_top ~mom_state_initialization::initialize_velocity_from_file ~mom_state_initialization::initialize_velocity_zero ~mom_state_initialization::initialize_velocity_uniform ~mom_state_initialization::initialize_velocity_circular ~mom_state_initialization::initialize_temp_salt_from_file ~mom_state_initialization::initialize_temp_salt_from_profile ~mom_state_initialization::initialize_temp_salt_fit ~mom_state_initialization::initialize_temp_salt_linear ~mom_state_initialization::initialize_sponges_file ~mom_state_initialization::set_velocity_depth_max ~mom_state_initialization::compute_global_grid_integrals ~mom_state_initialization::set_velocity_depth_min ~mom_state_initialization::mom_temp_salt_initialize_from_z ~mom_state_initialization::find_interfaces ~mom_state_initialization::mom_state_init_tests [debug] xpath(./compounddef/compoundname[text()="mom_state_initialization"]/..) match([('id', 'namespacemom__state__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_state_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_state_initialization', , {'members': , {'members': , {'members': ), ('initialize_thickness_from_file', ), ('adjustetatofitbathymetry', ), ('initialize_thickness_uniform', ), ('initialize_thickness_list', ), ('initialize_thickness_search', ), ('convert_thickness', ), ('depress_surface', ), ('trim_for_ice', ), ('cut_off_column_top', ), ('initialize_velocity_from_file', ), ('initialize_velocity_zero', ), ('initialize_velocity_uniform', ), ('initialize_velocity_circular', ), ('initialize_temp_salt_from_file', ), ('initialize_temp_salt_from_profile', ), ('initialize_temp_salt_fit', ), ('initialize_temp_salt_linear', ), ('initialize_sponges_file', ), ('set_velocity_depth_max', ), ('compute_global_grid_integrals', ), ('set_velocity_depth_min', ), ('mom_temp_salt_initialize_from_z', ), ('find_interfaces', ), ('mom_state_init_tests', )]) [autodoc] module analyzer failed: error importing 'mom_state_initialization' (exception was: ModuleNotFoundError("No module named 'mom_state_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, tv, Time, G, GV, US, PF, dirs, restart_CS, ALE_CSp, tracer_Reg, sponge_CSp, ALE_sponge_CSp, OBC, Time_in)) [debug] add_directive_header sig((u, v, h, tv, Time, G, GV, US, PF, dirs, restart_CS, ALE_CSp, tracer_Reg, sponge_CSp, ALE_sponge_CSp, OBC, Time_in)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine mom_initialize_state) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_initialize_state', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_thickness_from_file', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_thickness_from_file', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_thickness_from_file', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_thickness_from_file', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_thickness_from_file', , {'members': [autodoc] module analyzer failed: error importing 'mom_state_initialization' (exception was: ModuleNotFoundError("No module named 'mom_state_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, eta, h)) [debug] add_directive_header sig((G, GV, US, eta, h)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine adjustetatofitbathymetry) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_simplesect [debug] simplesect kind(remark) [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'adjustetatofitbathymetry', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_velocity_from_file', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_velocity_from_file', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_velocity_from_file', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_velocity_from_file', , {'members': < [autodoc] module analyzer failed: error importing 'mom_state_initialization' (exception was: ModuleNotFoundError("No module named 'mom_state_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, G, param_file, just_read_params)) [debug] add_directive_header sig((u, v, G, param_file, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine initialize_velocity_zero) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_velocity_zero', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_temp_salt_from_file', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_temp_salt_from_file', , {'members': [autodoc] module analyzer failed: error importing 'mom_state_initialization' (exception was: ModuleNotFoundError("No module named 'mom_state_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, G, param_file, just_read_params)) [debug] add_directive_header sig((T, S, G, param_file, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine initialize_temp_salt_from_profile) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_temp_salt_from_profile', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_temp_salt_from_profile', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_temp_salt_from_profile', , {'members [autodoc] module analyzer failed: error importing 'mom_state_initialization' (exception was: ModuleNotFoundError("No module named 'mom_state_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params)) [debug] add_directive_header sig((T, S, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine initialize_temp_salt_fit) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_temp_salt_fit', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'compute_global_grid_integrals', , {'members': < [autodoc] module analyzer failed: error importing 'mom_state_initialization' (exception was: ModuleNotFoundError("No module named 'mom_state_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((G)) [debug] add_directive_header sig((G)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine set_velocity_depth_min) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_velocity_depth_min', , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_temp_salt_initialize_from_z', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_temp_salt_initialize_from_z', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_temp_salt_initialize_from_z', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_temp_salt_initialize_from_z', , {'members': [autodoc] module analyzer failed: error importing 'mom_state_initialization' (exception was: ModuleNotFoundError("No module named 'mom_state_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((rho, zin, nk_data, Rb, depth, zi, G, US, nlevs, nkml, hml, eps_z, eps_rho)) [debug] add_directive_header sig((rho, zin, nk_data, Rb, depth, zi, G, US, nlevs, nkml, hml, eps_z, eps_rho)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine find_interfaces) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'find_interfaces', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_state_initialization::mom_initialize_state ~mom_state_initialization::initialize_thickness_from_file ~mom_state_initialization::adjustetatofitbathymetry ~mom_state_initialization::initialize_thickness_uniform ~mom_state_initialization::initialize_thickness_list ~mom_state_initialization::initialize_thickness_search ~mom_state_initialization::convert_thickness ~mom_state_initialization::depress_surface ~mom_state_initialization::trim_for_ice ~mom_state_initialization::cut_off_column_top ~mom_state_initialization::initialize_velocity_from_file ~mom_state_initialization::initialize_velocity_zero ~mom_state_initialization::initialize_velocity_uniform ~mom_state_initialization::initialize_velocity_circular ~mom_state_initialization::initialize_temp_salt_from_file ~mom_state_initialization::initialize_temp_salt_from_profile ~mom_state_initialization::initialize_temp_salt_fit ~mom_state_initialization::initialize_temp_salt_linear ~mom_state_initialization::initialize_sponges_file ~mom_state_initialization::set_velocity_depth_max ~mom_state_initialization::compute_global_grid_integrals ~mom_state_initialization::set_velocity_depth_min ~mom_state_initialization::mom_temp_salt_initialize_from_z ~mom_state_initialization::find_interfaces ~mom_state_initialization::mom_state_init_tests .. _DETAmom_state_initialization: -------------------- Detailed Description -------------------- Initialization functions for state variables, u, v, h, T and S. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine mom_initialize_state(u, v, h, tv, Time, G, GV, US, PF, dirs, restart_CS, ALE_CSp, tracer_Reg, sponge_CSp, ALE_sponge_CSp, OBC, Time_in) Initialize temporally evolving fields, either as initial conditions or by reading them from a restart (or saves) file. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param u: [out] The zonal velocity that is being :param v: [out] The meridional velocity that is being :param h: [out] Layer thicknesses [H ~> m or kg m-2] :param tv: [inout] A structure pointing to various thermodynamic variables :param time: [inout] Time at the start of the run segment. :param pf: [in] A structure indicating the open file to parse for model parameter values. :param dirs: [in] A structure containing several relevant directory paths. :param restart_cs: A pointer to the restart control structure. :param ale_csp: The ALE control structure for remapping :param tracer_reg: A pointer to the tracer registry :param sponge_csp: The layerwise sponge control structure. :param ale_sponge_csp: The ALE sponge control structure. :param obc: The open boundary condition control structure. :param time_in: [in] Time at the start of the run segment. Time_in overrides any value set for Time. :callto: :f:func:`adjustment_initialization::adjustment_initialize_temperature_salinity ` :callto: :f:func:`baroclinic_zone_initialization::baroclinic_zone_init_temperature_salinity ` :callto: :f:func:`benchmark_initialization::benchmark_init_temperature_salinity ` :callto: :f:func:`bfb_initialization::bfb_initialize_sponges_southonly ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`circle_obcs_initialization::circle_obcs_initialize_thickness ` :callto: :f:func:`convert_thickness ` :callto: :f:func:`dense_water_initialization::dense_water_initialize_sponges ` :callto: :f:func:`depress_surface ` :callto: :f:func:`mom_restart::determine_is_new_run ` :callto: :f:func:`dome2d_initialization::dome2d_initialize_sponges ` :callto: :f:func:`dome_initialization::dome_initialize_sponges ` :callto: :f:func:`dumbbell_initialization::dumbbell_initialize_sponges ` :callto: :f:func:`dyed_channel_initialization::dyed_channel_set_obc_tracer_data ` :callto: :f:func:`dyed_obcs_initialization::dyed_obcs_set_obc_data ` :callto: :f:func:`external_gwave_initialization::external_gwave_initialize_thickness ` :callto: :f:func:`initialize_sponges_file ` :callto: :f:func:`initialize_temp_salt_fit ` :callto: :f:func:`initialize_temp_salt_from_file ` :callto: :f:func:`initialize_temp_salt_from_profile ` :callto: :f:func:`initialize_temp_salt_linear ` :callto: :f:func:`initialize_thickness_from_file ` :callto: :f:func:`initialize_thickness_list ` :callto: :f:func:`initialize_thickness_search ` :callto: :f:func:`initialize_thickness_uniform ` :callto: :f:func:`initialize_velocity_circular ` :callto: :f:func:`initialize_velocity_from_file ` :callto: :f:func:`initialize_velocity_uniform ` :callto: :f:func:`initialize_velocity_zero ` :callto: :f:func:`isomip_initialization::isomip_initialize_temperature_salinity ` :callto: :f:func:`lock_exchange_initialization::lock_exchange_initialize_thickness ` :callto: :f:func:`mom_string_functions::lowercase ` :callto: :f:func:`mdl ` :callto: :f:func:`mom_temp_salt_initialize_from_z ` :callto: :f:func:`neverworld_initialization::neverworld_initialize_thickness ` :callto: :f:func:`phillips_initialization::phillips_initialize_sponges ` :callto: :f:func:`mom_restart::restore_state ` :callto: :f:func:`rgc_initialization::rgc_initialize_sponges ` :callto: :f:func:`rossby_front_2d_initialization::rossby_front_initialize_velocity ` :callto: :f:func:`scm_cvmix_tests::scm_cvmix_tests_ts_init ` :callto: :f:func:`seamount_initialization::seamount_initialize_temperature_salinity ` :callto: :f:func:`sloshing_initialization::sloshing_initialize_temperature_salinity ` :callto: :f:func:`soliton_initialization::soliton_initialize_thickness ` :callto: :f:func:`supercritical_initialization::supercritical_set_obc_data ` :callto: :f:func:`trim_for_ice ` :callto: :f:func:`mom_open_boundary::update_obc_segment_data ` :callto: :f:func:`user_initialization::user_initialize_sponges ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine initialize_thickness_from_file(h, G, GV, US, param_file, file_has_thickness, just_read_params) Reads the layer thicknesses or interface heights from a file. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [out] The thickness that is being initialized [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param file_has_thickness: [in] If true, this file contains layer thicknesses; otherwise it contains interface heights. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`adjustetatofitbathymetry ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`mom_initialize_state ` .. f:subroutine:: subroutine adjustetatofitbathymetry(G, GV, US, eta, h) Adjust interface heights to fit the bathymetry and diagnose layer thickness. If the bottom most interface is below the topography then the bottom-most layers are contracted to GVAngstrom_m. If the bottom most interface is above the topography then the entire column is dilated (expanded) to fill the void. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param eta: [inout] Interface heights [Z ~> m]. :param h: [inout] Layer thicknesses [H ~> m or kg m-2] :calledfrom: :f:func:`initialize_thickness_from_file ` :calledfrom: :f:func:`mom_temp_salt_initialize_from_z ` .. f:subroutine:: subroutine initialize_thickness_uniform(h, G, GV, param_file, just_read_params) Initializes thickness to be uniform. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [out] The thickness that is being initialized [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`mom_initialize_state ` .. f:subroutine:: subroutine initialize_thickness_list(h, G, GV, US, param_file, just_read_params) Initialize thickness from a 1D list. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [out] The thickness that is being initialized [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`mom_initialize_state ` .. f:subroutine:: subroutine initialize_thickness_searchNone Search density space for location of layers (not implemented!) :calledfrom: :f:func:`mom_initialize_state ` .. f:subroutine:: subroutine convert_thickness(h, G, GV, US, tv) Converts thickness from geometric to pressure units. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [inout] Input geometric layer thicknesses being converted :param tv: [in] A structure pointing to various thermodynamic variables :calledfrom: :f:func:`mom_initialize_state ` .. f:subroutine:: subroutine depress_surface(h, G, GV, US, param_file, tv, just_read_params) Depress the sea-surface based on an initial condition file. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [inout] Layer thicknesses [H ~> m or kg m-2] :param param_file: [in] A structure to parse for run-time parameters :param tv: [in] A structure pointing to various thermodynamic variables :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :calledfrom: :f:func:`mom_initialize_state ` .. f:subroutine:: subroutine trim_for_ice(PF, G, GV, US, ALE_CSp, tv, h, just_read_params) Adjust the layer thicknesses by cutting away the top of each model column at the depth where the hydrostatic pressure matches an imposed surface pressure read from file. :param pf: [in] Parameter file structure :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param ale_csp: ALE control structure :param tv: [inout] Thermodynamics structure :param h: [inout] Layer thickness [H ~> m or kg m-2] :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`cut_off_column_top ` :callto: :f:func:`mom_ale::ts_plm_edge_values ` :calledfrom: :f:func:`mom_initialize_state ` .. f:subroutine:: subroutine cut_off_column_top(nk, tv, GV, US, G_earth, depth, min_thickness, T, T_t, T_b, S, S_t, S_b, p_surf, h, remap_CS, z_tol, remap_answers_2018) Adjust the layer thicknesses by removing the top of the water column above the depth where the hydrostatic pressure matches p_surf. :param nk: [in] Number of layers :param tv: [in] Thermodynamics structure :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param g_earth: [in] Gravitational acceleration [L2 Z-1 T-2 ~> m s-2] :param depth: [in] Depth of ocean column [Z ~> m]. :param min_thickness: [in] Smallest thickness allowed [Z ~> m]. :param t: [inout] Layer mean temperature [degC] :param t_t: [in] Temperature at top of layer [degC] :param t_b: [in] Temperature at bottom of layer [degC] :param s: [inout] Layer mean salinity [ppt] :param s_t: [in] Salinity at top of layer [ppt] :param s_b: [in] Salinity at bottom of layer [ppt] :param p_surf: [in] Imposed pressure on ocean at surface [R L2 T-2 ~> Pa] :param h: [inout] Layer thickness [H ~> m or kg m-2] :param remap_cs: Remapping structure for remapping T and S, if associated :param z_tol: [in] The tolerance with which to find the depth matching the specified pressure [Z ~> m]. :param remap_answers_2018: [in] If true, use the order of arithmetic and expressions that recover the answers for remapping from the end of 2018. Otherwise, use more robust forms of the same expressions. :callto: :f:func:`mom_density_integrals::find_depth_of_pressure_in_cell ` :callto: :f:func:`mom_remapping::remapping_core_h ` :calledfrom: :f:func:`mom_state_init_tests ` :calledfrom: :f:func:`trim_for_ice ` .. f:subroutine:: subroutine initialize_velocity_from_file(u, v, G, US, param_file, just_read_params) Initialize horizontal velocity components from file. :param g: [in] The ocean's grid structure :param u: [out] The zonal velocity that is being initialized [L T-1 ~> m s-1] :param v: [out] The meridional velocity that is being initialized [L T-1 ~> m s-1] :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure indicating the open file to parse for modelparameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`mom_initialize_state ` .. f:subroutine:: subroutine initialize_velocity_zero(u, v, G, param_file, just_read_params) Initialize horizontal velocity components to zero. :param g: [in] The ocean's grid structure :param u: [out] The zonal velocity that is being initialized [L T-1 ~> m s-1] :param v: [out] The meridional velocity that is being initialized [L T-1 ~> m s-1] :param param_file: [in] A structure indicating the open file to parse for modelparameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`mom_initialize_state ` .. f:subroutine:: subroutine initialize_velocity_uniform(u, v, G, US, param_file, just_read_params) Sets the initial velocity components to uniform. :param g: [in] The ocean's grid structure :param u: [out] The zonal velocity that is being initialized [L T-1 ~> m s-1] :param v: [out] The meridional velocity that is being initialized [L T-1 ~> m s-1] :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure indicating the open file to parse for modelparameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :calledfrom: :f:func:`mom_initialize_state ` .. f:subroutine:: subroutine initialize_velocity_circular(u, v, G, US, param_file, just_read_params) Sets the initial velocity components to be circular with no flow at edges of domain and center. :param g: [in] The ocean's grid structure :param u: [out] The zonal velocity that is being initialized [L T-1 ~> m s-1] :param v: [out] The meridional velocity that is being initialized [L T-1 ~> m s-1] :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`my_psi ` :calledfrom: :f:func:`mom_initialize_state ` .. f:subroutine:: subroutine initialize_temp_salt_from_file(T, S, G, param_file, just_read_params) Initializes temperature and salinity from file. :param g: [in] The ocean's grid structure :param t: [out] The potential temperature that is being initialized [degC] :param s: [out] The salinity that is being initialized [ppt] :param param_file: [in] A structure to parse for run-time parameters :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :calledfrom: :f:func:`mom_initialize_state ` .. f:subroutine:: subroutine initialize_temp_salt_from_profile(T, S, G, param_file, just_read_params) Initializes temperature and salinity from a 1D profile. :param g: [in] The ocean's grid structure :param t: [out] The potential temperature that is being initialized [degC] :param s: [out] The salinity that is being initialized [ppt] :param param_file: [in] A structure to parse for run-time parameters :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :calledfrom: :f:func:`mom_initialize_state ` .. f:subroutine:: subroutine initialize_temp_salt_fit(T, S, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params) Initializes temperature and salinity by fitting to density. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param t: [out] The potential temperature that is being initialized [degC]. :param s: [out] The salinity that is being initialized [ppt]. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters. :param eqn_of_state: Equation of state structure :param p_ref: [in] The coordinate-density reference pressure [R L2 T-2 ~> Pa]. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :calledfrom: :f:func:`mom_initialize_state ` .. f:subroutine:: subroutine initialize_temp_salt_linear(T, S, G, param_file, just_read_params) Initializes T and S with linear profiles according to reference surface layer salinity and temperature and a specified range. :param g: [in] The ocean's grid structure :param t: [out] The potential temperature that is being initialized [degC] :param s: [out] The salinity that is being initialized [ppt] :param param_file: [in] A structure to parse for run-time parameters :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :calledfrom: :f:func:`mom_initialize_state ` .. f:subroutine:: subroutine initialize_sponges_file(G, GV, US, use_temperature, tv, param_file, Layer_CSp, ALE_CSp, Time) This subroutine sets the inverse restoration time (Idamp), and the values towards which the interface heights and an arbitrary number of tracers should be restored within each sponge. The interface height is always subject to damping, and must always be the first registered field. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param use_temperature: [in] If true, T & S are state variables. :param tv: [in] A structure pointing to various thermodynamic variables. :param param_file: [in] A structure to parse for run-time parameters. :param layer_csp: A pointer that is set to point to the control structure for this module (in layered mode). :param ale_csp: A pointer that is set to point to the control structure for this module (in ALE mode). :param time: [in] Time at the start of the run segment. Time_in overrides any value set for Time. :calledfrom: :f:func:`mom_initialize_state ` .. f:subroutine:: subroutine set_velocity_depth_max(G) This subroutine sets the 4 bottom depths at velocity points to be the maximum of the adjacent depths. :param g: [inout] The ocean's grid structure .. f:subroutine:: subroutine compute_global_grid_integrals(G, US) Subroutine to pre-compute global integrals of grid quantities for later use in reporting diagnostics. :param g: [inout] The ocean's grid structure :param us: [in] A dimensional unit scaling type .. f:subroutine:: subroutine set_velocity_depth_min(G) This subroutine sets the 4 bottom depths at velocity points to be the minimum of the adjacent depths. :param g: [inout] The ocean's grid structure .. f:subroutine:: subroutine mom_temp_salt_initialize_from_z(h, tv, G, GV, US, PF, just_read_params) This subroutine determines the isopycnal or other coordinate interfaces and layer potential temperatures and salinities directly from a z-space file on a latitude-longitude grid. :param g: [inout] The ocean's grid structure :param h: [out] Layer thicknesses being initialized [H ~> m or kg m-2] :param tv: [inout] A structure pointing to various thermodynamic variables including temperature and salinity :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param pf: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`adjustetatofitbathymetry ` :callto: :f:func:`find_interfaces ` :calledfrom: :f:func:`mom_initialize_state ` .. f:subroutine:: subroutine find_interfaces(rho, zin, nk_data, Rb, depth, zi, G, US, nlevs, nkml, hml, eps_z, eps_rho) Find interface positions corresponding to interpolated depths in a density profile. :param g: [in] The ocean's grid structure :param nk_data: [in] The number of levels in the input data :param rho: [in] Potential density in z-space [R ~> kg m-3] :param zin: [in] Input data levels [Z ~> m]. :param rb: [in] target interface densities [R ~> kg m-3] :param depth: [in] ocean depth [Z ~> m]. :param zi: [out] The returned interface heights [Z ~> m] :param us: [in] A dimensional unit scaling type :param nlevs: [in] number of valid points in each column :param nkml: [in] number of mixed layer pieces to distribute over a depth of hml. :param hml: [in] mixed layer depth [Z ~> m]. :param eps_z: [in] A negligibly small layer thickness [Z ~> m]. :param eps_rho: [in] A negligibly small density difference [R ~> kg m-3]. :calledfrom: :f:func:`mom_temp_salt_initialize_from_z ` .. f:subroutine:: subroutine mom_state_init_tests(G, GV, US, tv) Run simple unit tests. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param tv: [in] Thermodynamics structure. :callto: :f:func:`cut_off_column_top ` [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, tv, Time, G, GV, US, PF, dirs, restart_CS, ALE_CSp, tracer_Reg, sponge_CSp, ALE_sponge_CSp, OBC, Time_in)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_state_initialization::mom_initialize_state', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_state_initialization::convert_thickness', , [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US, param_file, tv, just_read_params)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_state_initialization::depress_surface', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_state_initialization::depress_surface', , { [debug] DoxygenMethodDocumenter format_signature called ((PF, G, GV, US, ALE_CSp, tv, h, just_read_params)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_state_initialization::trim_for_ice', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_state_initialization::trim_for_ice', , {}, [debug] DoxygenMethodDocumenter format_signature called ((nk, tv, GV, US, G_earth, depth, min_thickness, T, T_t, T_b, S, S_t, S_b, p_surf, h, remap_CS, z_tol, remap_answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_state_initialization::cut_off_column_top', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_state_initialization::cut_off_column_top', [debug] DoxygenMethodDocumenter format_signature called ((u, v, G, US, param_file, just_read_params)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_state_initialization::initialize_velocity_from_file', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_state_initialization::find_interfaces', , { [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, tv)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_state_initialization::mom_state_init_tests', subroutine mom_state_initialization/mom_initialize_stateuvhtvTimeGGVUSPFdirsrestart_CSALE_CSptracer_Regsponge_CSpALE_sponge_CSpOBCTime_in) [fd] run(.. f:subroutine:: subroutine initialize_thickness_from_file(h, G, GV, US, param_file, file_has_thickness, just_read_params)) [fd] sig(subroutine initialize_thickness_from_file(h, G, GV, US, param_file, file_has_thickness, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_thickness_from_file) arglist(h, G, GV, US, param_file, file_has_thickness, just_read_params) [fd] fullname(mom_state_initialization/initialize_thickness_from_file) ftype(None) [fd] name(('mom_state_initialization/initialize_thickness_from_file', None)) sig(subroutine initialize_thickness_from_file(h, G, GV, US, param_file, file_has_thickness, just_read_params)) signode(subroutine mom_state_initialization/initialize_thickness_from_filehGGVUSparam_filefile_has_thicknessjust_read_params) [fd] run(.. f:subroutine:: subroutine adjustetatofitbathymetry(G, GV, US, eta, h)) [fd] sig(subroutine adjustetatofitbathymetry(G, GV, US, eta, h)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(adjustetatofitbathymetry) arglist(G, GV, US, eta, h) [fd] fullname(mom_state_initialization/adjustetatofitbathymetry) ftype(None) [fd] name(('mom_state_initialization/adjustetatofitbathymetry', None)) sig(subroutine adjustetatofitbathymetry(G, GV, US, eta, h)) signode(subroutine mom_state_initialization/adjustetatofitbathymetryGGVUSetah) [fd] run(.. f:subroutine:: subroutine initialize_thickness_uniform(h, G, GV, param_file, just_read_params)) [fd] sig(subroutine initialize_thickness_uniform(h, G, GV, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_thickness_uniform) arglist(h, G, GV, param_file, just_read_params) [fd] fullname(mom_state_initialization/initialize_thickness_uniform) ftype(None) [fd] name(('mom_state_initialization/initialize_thickness_uniform', None)) sig(subroutine initialize_thickness_uniform(h, G, GV, param_file, just_read_params)) signode(subroutine mom_state_initialization/initialize_thickness_uniformhGGVparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine initialize_thickness_list(h, G, GV, US, param_file, just_read_params)) [fd] sig(subroutine initialize_thickness_list(h, G, GV, US, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_thickness_list) arglist(h, G, GV, US, param_file, just_read_params) [fd] fullname(mom_state_initialization/initialize_thickness_list) ftype(None) [fd] name(('mom_state_initialization/initialize_thickness_list', None)) sig(subroutine initialize_thickness_list(h, G, GV, US, param_file, just_read_params)) signode(subroutine mom_state_initialization/initialize_thickness_listhGGVUSparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine initialize_thickness_searchNone) [fd] sig(subroutine initialize_thickness_searchNone) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_thickness_searchNone) arglist(None) [fd] fullname(mom_state_initialization/initialize_thickness_searchNone) ftype(None) [fd] name(('mom_state_initialization/initialize_thickness_searchNone', None)) sig(subroutine initialize_thickness_searchNone) signode(subroutine mom_state_initialization/initialize_thickness_searchNone) [fd] run(.. f:subroutine:: subroutine convert_thickness(h, G, GV, US, tv)) [fd] sig(subroutine convert_thickness(h, G, GV, US, tv)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(convert_thickness) arglist(h, G, GV, US, tv) [fd] fullname(mom_state_initialization/convert_thickness) ftype(None) [fd] name(('mom_state_initialization/convert_thickness', None)) sig(subroutine convert_thickness(h, G, GV, US, tv)) signode(subroutine mom_state_initialization/convert_thicknesshGGVUStv) [fd] run(.. f:subroutine:: subroutine depress_surface(h, G, GV, US, param_file, tv, just_read_params)) [fd] sig(subroutine depress_surface(h, G, GV, US, param_file, tv, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(depress_surface) arglist(h, G, GV, US, param_file, tv, just_read_params) [fd] fullname(mom_state_initialization/depress_surface) ftype(None) [fd] name(('mom_state_initialization/depress_surface', None)) sig(subroutine depress_surface(h, G, GV, US, param_file, tv, just_read_params)) signode(subroutine mom_state_initialization/depress_surfacehGGVUSparam_filetvjust_read_params) [fd] run(.. f:subroutine:: subroutine trim_for_ice(PF, G, GV, US, ALE_CSp, tv, h, just_read_params)) [fd] sig(subroutine trim_for_ice(PF, G, GV, US, ALE_CSp, tv, h, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(trim_for_ice) arglist(PF, G, GV, US, ALE_CSp, tv, h, just_read_params) [fd] fullname(mom_state_initialization/trim_for_ice) ftype(None) [fd] name(('mom_state_initialization/trim_for_ice', None)) sig(subroutine trim_for_ice(PF, G, GV, US, ALE_CSp, tv, h, just_read_params)) signode(subroutine mom_state_initialization/trim_for_icePFGGVUSALE_CSptvhjust_read_params) [fd] run(.. f:subroutine:: subroutine cut_off_column_top(nk, tv, GV, US, G_earth, depth, min_thickness, T, T_t, T_b, S, S_t, S_b, p_surf, h, remap_CS, z_tol, remap_answers_2018)) [fd] sig(subroutine cut_off_column_top(nk, tv, GV, US, G_earth, depth, min_thickness, T, T_t, T_b, S, S_t, S_b, p_surf, h, remap_CS, z_tol, remap_answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(cut_off_column_top) arglist(nk, tv, GV, US, G_earth, depth, min_thickness, T, T_t, T_b, S, S_t, S_b, p_surf, h, remap_CS, z_tol, remap_answers_2018) [fd] fullname(mom_state_initialization/cut_off_column_top) ftype(None) [fd] name(('mom_state_initialization/cut_off_column_top', None)) sig(subroutine cut_off_column_top(nk, tv, GV, US, G_earth, depth, min_thickness, T, T_t, T_b, S, S_t, S_b, p_surf, h, remap_CS, z_tol, remap_answers_2018)) signode(subroutine mom_state_initialization/cut_off_column_topnktvGVUSG_earthdepthmin_thicknessTT_tT_bSS_tS_bp_surfhremap_CSz_tolremap_answers_2018) [fd] run(.. f:subroutine:: subroutine initialize_velocity_from_file(u, v, G, US, param_file, just_read_params)) [fd] sig(subroutine initialize_velocity_from_file(u, v, G, US, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_velocity_from_file) arglist(u, v, G, US, param_file, just_read_params) [fd] fullname(mom_state_initialization/initialize_velocity_from_file) ftype(None) [fd] name(('mom_state_initialization/initialize_velocity_from_file', None)) sig(subroutine initialize_velocity_from_file(u, v, G, US, param_file, just_read_params)) signode(subroutine mom_state_initialization/initialize_velocity_from_fileuvGUSparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine initialize_velocity_zero(u, v, G, param_file, just_read_params)) [fd] sig(subroutine initialize_velocity_zero(u, v, G, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_velocity_zero) arglist(u, v, G, param_file, just_read_params) [fd] fullname(mom_state_initialization/initialize_velocity_zero) ftype(None) [fd] name(('mom_state_initialization/initialize_velocity_zero', None)) sig(subroutine initialize_velocity_zero(u, v, G, param_file, just_read_params)) signode(subroutine mom_state_initialization/initialize_velocity_zerouvGparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine initialize_velocity_uniform(u, v, G, US, param_file, just_read_params)) [fd] sig(subroutine initialize_velocity_uniform(u, v, G, US, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_velocity_uniform) arglist(u, v, G, US, param_file, just_read_params) [fd] fullname(mom_state_initialization/initialize_velocity_uniform) ftype(None) [fd] name(('mom_state_initialization/initialize_velocity_uniform', None)) sig(subroutine initialize_velocity_uniform(u, v, G, US, param_file, just_read_params)) signode(subroutine mom_state_initialization/initialize_velocity_uniformuvGUSparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine initialize_velocity_circular(u, v, G, US, param_file, just_read_params)) [fd] sig(subroutine initialize_velocity_circular(u, v, G, US, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_velocity_circular) arglist(u, v, G, US, param_file, just_read_params) [fd] fullname(mom_state_initialization/initialize_velocity_circular) ftype(None) [fd] name(('mom_state_initialization/initialize_velocity_circular', None)) sig(subroutine initialize_velocity_circular(u, v, G, US, param_file, just_read_params)) signode(subroutine mom_state_initialization/initialize_velocity_circularuvGUSparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine initialize_temp_salt_from_file(T, S, G, param_file, just_read_params)) [fd] sig(subroutine initialize_temp_salt_from_file(T, S, G, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_temp_salt_from_file) arglist(T, S, G, param_file, just_read_params) [fd] fullname(mom_state_initialization/initialize_temp_salt_from_file) ftype(None) [fd] name(('mom_state_initialization/initialize_temp_salt_from_file', None)) sig(subroutine initialize_temp_salt_from_file(T, S, G, param_file, just_read_params)) signode(subroutine mom_state_initialization/initialize_temp_salt_from_fileTSGparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine initialize_temp_salt_from_profile(T, S, G, param_file, just_read_params)) [fd] sig(subroutine initialize_temp_salt_from_profile(T, S, G, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_temp_salt_from_profile) arglist(T, S, G, param_file, just_read_params) [fd] fullname(mom_state_initialization/initialize_temp_salt_from_profile) ftype(None) [fd] name(('mom_state_initialization/initialize_temp_salt_from_profile', None)) sig(subroutine initialize_temp_salt_from_profile(T, S, G, param_file, just_read_params)) signode(subroutine mom_state_initialization/initialize_temp_salt_from_profileTSGparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine initialize_temp_salt_fit(T, S, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params)) [fd] sig(subroutine initialize_temp_salt_fit(T, S, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_temp_salt_fit) arglist(T, S, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params) [fd] fullname(mom_state_initialization/initialize_temp_salt_fit) ftype(None) [fd] name(('mom_state_initialization/initialize_temp_salt_fit', None)) sig(subroutine initialize_temp_salt_fit(T, S, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params)) signode(subroutine mom_state_initialization/initialize_temp_salt_fitTSGGVUSparam_fileeqn_of_stateP_Refjust_read_params) [fd] run(.. f:subroutine:: subroutine initialize_temp_salt_linear(T, S, G, param_file, just_read_params)) [fd] sig(subroutine initialize_temp_salt_linear(T, S, G, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_temp_salt_linear) arglist(T, S, G, param_file, just_read_params) [fd] fullname(mom_state_initialization/initialize_temp_salt_linear) ftype(None) [fd] name(('mom_state_initialization/initialize_temp_salt_linear', None)) sig(subroutine initialize_temp_salt_linear(T, S, G, param_file, just_read_params)) signode(subroutine mom_state_initialization/initialize_temp_salt_linearTSGparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine initialize_sponges_file(G, GV, US, use_temperature, tv, param_file, Layer_CSp, ALE_CSp, Time)) [fd] sig(subroutine initialize_sponges_file(G, GV, US, use_temperature, tv, param_file, Layer_CSp, ALE_CSp, Time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_sponges_file) arglist(G, GV, US, use_temperature, tv, param_file, Layer_CSp, ALE_CSp, Time) [fd] fullname(mom_state_initialization/initialize_sponges_file) ftype(None) [fd] name(('mom_state_initialization/initialize_sponges_file', None)) sig(subroutine initialize_sponges_file(G, GV, US, use_temperature, tv, param_file, Layer_CSp, ALE_CSp, Time)) signode(subroutine mom_state_initialization/initialize_sponges_fileGGVUSuse_temperaturetvparam_fileLayer_CSpALE_CSpTime) [fd] run(.. f:subroutine:: subroutine set_velocity_depth_max(G)) [fd] sig(subroutine set_velocity_depth_max(G)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_velocity_depth_max) arglist(G) [fd] fullname(mom_state_initialization/set_velocity_depth_max) ftype(None) [fd] name(('mom_state_initialization/set_velocity_depth_max', None)) sig(subroutine set_velocity_depth_max(G)) signode(subroutine mom_state_initialization/set_velocity_depth_maxG) [fd] run(.. f:subroutine:: subroutine compute_global_grid_integrals(G, US)) [fd] sig(subroutine compute_global_grid_integrals(G, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(compute_global_grid_integrals) arglist(G, US) [fd] fullname(mom_state_initialization/compute_global_grid_integrals) ftype(None) [fd] name(('mom_state_initialization/compute_global_grid_integrals', None)) sig(subroutine compute_global_grid_integrals(G, US)) signode(subroutine mom_state_initialization/compute_global_grid_integralsGUS) [fd] run(.. f:subroutine:: subroutine set_velocity_depth_min(G)) [fd] sig(subroutine set_velocity_depth_min(G)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_velocity_depth_min) arglist(G) [fd] fullname(mom_state_initialization/set_velocity_depth_min) ftype(None) [fd] name(('mom_state_initialization/set_velocity_depth_min', None)) sig(subroutine set_velocity_depth_min(G)) signode(subroutine mom_state_initialization/set_velocity_depth_minG) [fd] run(.. f:subroutine:: subroutine mom_temp_salt_initialize_from_z(h, tv, G, GV, US, PF, just_read_params)) [fd] sig(subroutine mom_temp_salt_initialize_from_z(h, tv, G, GV, US, PF, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_temp_salt_initialize_from_z) arglist(h, tv, G, GV, US, PF, just_read_params) [fd] fullname(mom_state_initialization/mom_temp_salt_initialize_from_z) ftype(None) [fd] name(('mom_state_initialization/mom_temp_salt_initialize_from_z', None)) sig(subroutine mom_temp_salt_initialize_from_z(h, tv, G, GV, US, PF, just_read_params)) signode(subroutine mom_state_initialization/mom_temp_salt_initialize_from_zhtvGGVUSPFjust_read_params) [fd] run(.. f:subroutine:: subroutine find_interfaces(rho, zin, nk_data, Rb, depth, zi, G, US, nlevs, nkml, hml, eps_z, eps_rho)) [fd] sig(subroutine find_interfaces(rho, zin, nk_data, Rb, depth, zi, G, US, nlevs, nkml, hml, eps_z, eps_rho)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_interfaces) arglist(rho, zin, nk_data, Rb, depth, zi, G, US, nlevs, nkml, hml, eps_z, eps_rho) [fd] fullname(mom_state_initialization/find_interfaces) ftype(None) [fd] name(('mom_state_initialization/find_interfaces', None)) sig(subroutine find_interfaces(rho, zin, nk_data, Rb, depth, zi, G, US, nlevs, nkml, hml, eps_z, eps_rho)) signode(subroutine mom_state_initialization/find_interfacesrhozinnk_dataRbdepthziGUSnlevsnkmlhmleps_zeps_rho) [fd] run(.. f:subroutine:: subroutine mom_state_init_tests(G, GV, US, tv)) [fd] sig(subroutine mom_state_init_tests(G, GV, US, tv)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_state_init_tests) arglist(G, GV, US, tv) [fd] fullname(mom_state_initialization/mom_state_init_tests) ftype(None) [fd] name(('mom_state_initialization/mom_state_init_tests', None)) sig(subroutine mom_state_init_tests(G, GV, US, tv)) signode(subroutine mom_state_initialization/mom_state_init_testsGGVUStv) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 54%] api/generated/modules/mom_string_functions [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_string_f [app] emitting event: 'source-read'('api/generated/modules/mom_string_functions', ['.. autodoxymodule:: mom_string_functions\n :membe [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_string_functions.rst:1: input: .. autodoxymodule:: mom_string_functions :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_string_functions::lowercase ~mom_string_functions::uppercase ~mom_string_functions::left_int ~mom_string_functions::left_ints ~mom_string_functions::left_real ~mom_string_functions::left_reals ~mom_string_functions::isformattedfloatequalto ~mom_string_functions::extractword ~mom_string_functions::extract_word ~mom_string_functions::extract_integer ~mom_string_functions::extract_real ~mom_string_functions::remove_spaces ~mom_string_functions::string_functions_unit_tests ~mom_string_functions::localtests ~mom_string_functions::localtesti ~mom_string_functions::localtestr ~mom_string_functions::slasher [debug] xpath(./compounddef/compoundname[text()="mom_string_functions"]/..) match([('id', 'namespacemom__string__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_string_functions module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_string_functions', , {'members': , {'members': , {'members': ), ('uppercase', ), ('left_int', ), ('left_ints', ), ('left_real', ), ('left_reals', ), ('isformattedfloatequalto', ), ('extractword', ), ('extract_word', ), ('extract_integer', ), ('extract_real', ), ('remove_spaces', ), ('string_functions_unit_tests', ), ('localtests', ), ('localtesti', ), ('localtestr', ), ('slasher', )]) [autodoc] module analyzer failed: error importing 'mom_string_functions' (exception was: ModuleNotFoundError("No module named 'mom_string_functions'")) [debug] DoxygenMethodDocumenter format_signature called ((input_string)) [debug] add_directive_header sig((input_string)) [debug] DoxygenMethodDocumenter directive(function) name(character(len=len(input_string)) function lowercase) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [debug] method=visit_simplesect [debug] simplesect kind(return) [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'lowercase', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_string_functions::lowercase ~mom_string_functions::uppercase ~mom_string_functions::left_int ~mom_string_functions::left_ints ~mom_string_functions::left_real ~mom_string_functions::left_reals ~mom_string_functions::isformattedfloatequalto ~mom_string_functions::extractword ~mom_string_functions::extract_word ~mom_string_functions::extract_integer ~mom_string_functions::extract_real ~mom_string_functions::remove_spaces ~mom_string_functions::string_functions_unit_tests ~mom_string_functions::localtests ~mom_string_functions::localtesti ~mom_string_functions::localtestr ~mom_string_functions::slasher .. _DETAmom_string_functions: -------------------- Detailed Description -------------------- By Alistair Adcroft and Robert Hallberg, last updated Sept. 2013. The functions here perform a set of useful manipulations of character strings. Although they are a part of MOM6, the do not require any other MOM software to be useful. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: character(len=len(input_string)) function lowercase(input_string) Return a string in which all uppercase letters have been replaced by their lowercase counterparts. :param input_string: [in] The string to modify :returns undefined: The modified output string :calledfrom: :f:func:`basin_builder::basin_builder_topography ` :calledfrom: :f:func:`mom_io::cmor_long_std ` :calledfrom: :f:func:`mom_diag_remap::diag_remap_configure_axes ` :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` :calledfrom: :f:func:`mom_io::num_timelevels ` :calledfrom: :f:func:`mom_tracer_registry::register_tracer_diagnostics ` :calledfrom: :f:func:`mom_restart::restore_state ` :calledfrom: :f:func:`mom_tidal_mixing::tidal_mixing_init ` :calledfrom: :f:func:`mom_tracer_registry::tracer_name_lookup ` .. f:function:: character(len=len(input_string)) function uppercase(input_string) Return a string in which all uppercase letters have been replaced by their lowercase counterparts. :param input_string: [in] The string to modify :returns undefined: The modified output string :calledfrom: :f:func:`mom_continuity::continuity_init ` :calledfrom: :f:func:`regrid_consts::coordinatemode ` :calledfrom: :f:func:`mom_coriolisadv::coriolisadv_init ` :calledfrom: :f:func:`mom_energetic_pbl::energetic_pbl_init ` :calledfrom: :f:func:`mom_eos::eos_init ` :calledfrom: :f:func:`regrid_interp::interpolation_scheme ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`ocean_model_mod::ocean_model_init ` :calledfrom: :f:func:`mom_opacity::opacity_init ` :calledfrom: :f:func:`mom_shared_initialization::read_face_length_list ` :calledfrom: :f:func:`mom_tidal_mixing::read_tidal_energy ` :calledfrom: :f:func:`mom_shared_initialization::reset_face_lengths_list ` :calledfrom: :f:func:`mom_remapping::setreconstructiontype ` :calledfrom: :f:func:`mom_surface_forcing_gfdl::surface_forcing_init ` :calledfrom: :f:func:`mom_tidal_mixing::tidal_mixing_init ` :calledfrom: :f:func:`mom_surface_forcing::wind_forcing_from_file ` .. f:function:: character(len=19) function left_int(i) Returns a character string of a left-formatted integer e.g. "123 " (assumes 19 digit maximum) :param i: [in] The integer to convert to a string :returns undefined: The output string :calledfrom: :f:func:`left_ints ` :calledfrom: :f:func:`left_reals ` :calledfrom: :f:func:`string_functions_unit_tests ` .. f:function:: character(len=1320) function left_ints(i) Returns a character string of a comma-separated, compact formatted, integers e.g. "1, 2, 3, 4". :param i: [in] The array of integers to convert to a string :returns undefined: The output string :callto: :f:func:`left_int ` :calledfrom: :f:func:`string_functions_unit_tests ` .. f:function:: character(len=32) function left_real(val) Returns a left-justified string with a real formatted like '(G)'. :param val: [in] The real variable to convert to a string :returns undefined: The output string :callto: :f:func:`isformattedfloatequalto ` :calledfrom: :f:func:`left_reals ` :calledfrom: :f:func:`string_functions_unit_tests ` .. f:function:: character(len=1320) function left_reals(r, sep) Returns a character string of a comma-separated, compact formatted, reals e.g. "1., 2., 5*3., 5.E2". :param r: [in] The array of real variables to convert to a string :param sep: [in] The separator between successive values, by default it is ', '. :returns undefined: The output string :callto: :f:func:`left_int ` :callto: :f:func:`left_real ` :calledfrom: :f:func:`string_functions_unit_tests ` .. f:function:: logical function isformattedfloatequalto(str, val) Returns True if the string can be read/parsed to give the exact value of "val". :param str: [in] The string to parse :param val: [in] The real value to compare with :calledfrom: :f:func:`left_real ` .. f:function:: character(len=120) function extractword(string, n) Returns the string corresponding to the nth word in the argument or "" if the string is not long enough. Both spaces and commas are interpreted as separators. :param string: [in] The string to scan :param n: [in] Number of word to extract :callto: :f:func:`extract_word ` :calledfrom: :f:func:`mom_diag_remap::diag_remap_init ` :calledfrom: :f:func:`mom_regridding::initialize_regridding ` :calledfrom: :f:func:`string_functions_unit_tests ` .. f:function:: character(len=120) function extract_word(string, separators, n) Returns the string corresponding to the nth word in the argument or "" if the string is not long enough. Words are delineated by the mandatory separators argument. :param string: [in] String to scan :param separators: [in] Characters to use for delineation :param n: [in] Number of word to extract :calledfrom: :f:func:`extract_integer ` :calledfrom: :f:func:`extract_real ` :calledfrom: :f:func:`extractword ` :calledfrom: :f:func:`mom_open_boundary::parse_segment_data_str ` :calledfrom: :f:func:`mom_open_boundary::parse_segment_manifest_str ` :calledfrom: :f:func:`mom_open_boundary::parse_segment_str ` :calledfrom: :f:func:`string_functions_unit_tests ` .. f:function:: integer function extract_integer(string, separators, n, missing_value) Returns the integer corresponding to the nth word in the argument. :param string: [in] String to scan :param separators: [in] Characters to use for delineation :param n: [in] Number of word to extract :param missing_value: [in] Value to assign if word is missing :callto: :f:func:`extract_word ` :calledfrom: :f:func:`mom_regridding::initialize_regridding ` :calledfrom: :f:func:`string_functions_unit_tests ` .. f:function:: real function extract_real(string, separators, n, missing_value) Returns the real corresponding to the nth word in the argument. :param string: [in] String to scan :param separators: [in] Characters to use for delineation :param n: [in] Number of word to extract :param missing_value: [in] Value to assign if word is missing :callto: :f:func:`extract_word ` :calledfrom: :f:func:`mom_regridding::initialize_regridding ` :calledfrom: :f:func:`string_functions_unit_tests ` .. f:function:: character(len=120) function remove_spaces(string) Returns string with all spaces removed. :param string: [in] String to scan :calledfrom: :f:func:`mom_open_boundary::open_boundary_config ` :calledfrom: :f:func:`string_functions_unit_tests ` .. f:function:: logical function string_functions_unit_tests(verbose) Returns true if a unit test of string_functions fails. :param verbose: [in] If true, write results to stdout :callto: :f:func:`extract_integer ` :callto: :f:func:`extract_real ` :callto: :f:func:`extract_word ` :callto: :f:func:`extractword ` :callto: :f:func:`left_int ` :callto: :f:func:`left_ints ` :callto: :f:func:`left_real ` :callto: :f:func:`left_reals ` :callto: :f:func:`localtesti ` :callto: :f:func:`localtestr ` :callto: :f:func:`localtests ` :callto: :f:func:`remove_spaces ` :calledfrom: :f:func:`mom_unit_tests::unit_tests ` .. f:function:: logical function localtests(verbose, str1, str2) True if str1 does not match str2. False otherwise. :param verbose: [in] If true, write results to stdout :param str1: [in] String :param str2: [in] String :calledfrom: :f:func:`string_functions_unit_tests ` .. f:function:: logical function localtesti(verbose, i1, i2) True if i1 is not equal to i2. False otherwise. :param verbose: [in] If true, write results to stdout :param i1: [in] Integer :param i2: [in] Integer :calledfrom: :f:func:`string_functions_unit_tests ` .. f:function:: logical function localtestr(verbose, r1, r2) True if r1 is not equal to r2. False otherwise. :param verbose: [in] If true, write results to stdout :param r1: [in] Float :param r2: [in] Float :calledfrom: :f:func:`string_functions_unit_tests ` .. f:function:: character(len=len(dir)+2) function slasher(dir) Returns a directory name that is terminated with a "/" or "./" if the argument is an empty string. :param dir: [in] A directory to be terminated with a "/" or changed to "./" if it is blank. :calledfrom: :f:func:`mom_domains::mom_domains_init ` [debug] DoxygenMethodDocumenter format_signature called ((input_string)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::lowercase', , {}, ['', 'R [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::lowercase', , {}, ['', 'R [debug] DoxygenMethodDocumenter format_signature called ((input_string)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::uppercase', , {}, ['', 'R [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::uppercase', , {}, ['', 'R [debug] DoxygenMethodDocumenter format_signature called ((i)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::left_int', , {}, ['', 'Re [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::left_int', , {}, ['', 'Re [debug] DoxygenMethodDocumenter format_signature called ((i)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::left_ints', , {}, ['', 'R [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::left_ints', , {}, ['', 'R [debug] DoxygenMethodDocumenter format_signature called ((val)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::left_real', , {}, ['', "R [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::left_real', , {}, ['', "R [debug] DoxygenMethodDocumenter format_signature called ((r, sep)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::left_reals', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::left_reals', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((str, val)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::isformattedfloatequalto', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::extractword', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((string, separators, n)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::extract_word', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::extract_word', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((string, separators, n, missing_value)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::extract_integer', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::extract_integer', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((string, separators, n, missing_value)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::extract_real', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::extract_real', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((string)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::remove_spaces', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::remove_spaces', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((verbose)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::string_functions_unit_tests', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::localtests', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((verbose, i1, i2)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::localtesti', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::localtesti', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((verbose, r1, r2)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::localtestr', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::localtestr', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((dir)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::slasher', , {}, ['', 'Ret [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_string_functions::slasher', , {}, ['', 'Ret [fd] run(.. f:function:: character(len=len(input_string)) function lowercase(input_string)) [fd] sig(character(len=len(input_string)) function lowercase(input_string)) [fd] ftype(character(len=len(input_string))) objtype(function) modname(None) typename() name(lowercase) arglist(input_string) [fd] fullname(mom_string_functions/lowercase) ftype(character(len=len(input_string))) [fd] name(('mom_string_functions/lowercase', 'character(len=len(input_string))')) sig(character(len=len(input_string)) function lowercase(input_string)) signode(function mom_string_functions/lowercaseinput_string [character(len=len(input_string))]) [fd] run(.. f:function:: character(len=len(input_string)) function uppercase(input_string)) [fd] sig(character(len=len(input_string)) function uppercase(input_string)) [fd] ftype(character(len=len(input_string))) objtype(function) modname(None) typename() name(uppercase) arglist(input_string) [fd] fullname(mom_string_functions/uppercase) ftype(character(len=len(input_string))) [fd] name(('mom_string_functions/uppercase', 'character(len=len(input_string))')) sig(character(len=len(input_string)) function uppercase(input_string)) signode(function mom_string_functions/uppercaseinput_string [character(len=len(input_string))]) [fd] run(.. f:function:: character(len=19) function left_int(i)) [fd] sig(character(len=19) function left_int(i)) [fd] ftype(character(len=19)) objtype(function) modname(None) typename() name(left_int) arglist(i) [fd] fullname(mom_string_functions/left_int) ftype(character(len=19)) [fd] name(('mom_string_functions/left_int', 'character(len=19)')) sig(character(len=19) function left_int(i)) signode(function mom_string_functions/left_inti [character(len=19)]) [fd] run(.. f:function:: character(len=1320) function left_ints(i)) [fd] sig(character(len=1320) function left_ints(i)) [fd] ftype(character(len=1320)) objtype(function) modname(None) typename() name(left_ints) arglist(i) [fd] fullname(mom_string_functions/left_ints) ftype(character(len=1320)) [fd] name(('mom_string_functions/left_ints', 'character(len=1320)')) sig(character(len=1320) function left_ints(i)) signode(function mom_string_functions/left_intsi [character(len=1320)]) [fd] run(.. f:function:: character(len=32) function left_real(val)) [fd] sig(character(len=32) function left_real(val)) [fd] ftype(character(len=32)) objtype(function) modname(None) typename() name(left_real) arglist(val) [fd] fullname(mom_string_functions/left_real) ftype(character(len=32)) [fd] name(('mom_string_functions/left_real', 'character(len=32)')) sig(character(len=32) function left_real(val)) signode(function mom_string_functions/left_realval [character(len=32)]) [fd] run(.. f:function:: character(len=1320) function left_reals(r, sep)) [fd] sig(character(len=1320) function left_reals(r, sep)) [fd] ftype(character(len=1320)) objtype(function) modname(None) typename() name(left_reals) arglist(r, sep) [fd] fullname(mom_string_functions/left_reals) ftype(character(len=1320)) [fd] name(('mom_string_functions/left_reals', 'character(len=1320)')) sig(character(len=1320) function left_reals(r, sep)) signode(function mom_string_functions/left_realsrsep [character(len=1320)]) [fd] run(.. f:function:: logical function isformattedfloatequalto(str, val)) [fd] sig(logical function isformattedfloatequalto(str, val)) [fd] ftype(logical) objtype(function) modname(None) typename() name(isformattedfloatequalto) arglist(str, val) [fd] fullname(mom_string_functions/isformattedfloatequalto) ftype(logical) [fd] name(('mom_string_functions/isformattedfloatequalto', 'logical')) sig(logical function isformattedfloatequalto(str, val)) signode(function mom_string_functions/isformattedfloatequaltostrval [logical]) [fd] run(.. f:function:: character(len=120) function extractword(string, n)) [fd] sig(character(len=120) function extractword(string, n)) [fd] ftype(character(len=120)) objtype(function) modname(None) typename() name(extractword) arglist(string, n) [fd] fullname(mom_string_functions/extractword) ftype(character(len=120)) [fd] name(('mom_string_functions/extractword', 'character(len=120)')) sig(character(len=120) function extractword(string, n)) signode(function mom_string_functions/extractwordstringn [character(len=120)]) [fd] run(.. f:function:: character(len=120) function extract_word(string, separators, n)) [fd] sig(character(len=120) function extract_word(string, separators, n)) [fd] ftype(character(len=120)) objtype(function) modname(None) typename() name(extract_word) arglist(string, separators, n) [fd] fullname(mom_string_functions/extract_word) ftype(character(len=120)) [fd] name(('mom_string_functions/extract_word', 'character(len=120)')) sig(character(len=120) function extract_word(string, separators, n)) signode(function mom_string_functions/extract_wordstringseparatorsn [character(len=120)]) [fd] run(.. f:function:: integer function extract_integer(string, separators, n, missing_value)) [fd] sig(integer function extract_integer(string, separators, n, missing_value)) [fd] ftype(integer) objtype(function) modname(None) typename() name(extract_integer) arglist(string, separators, n, missing_value) [fd] fullname(mom_string_functions/extract_integer) ftype(integer) [fd] name(('mom_string_functions/extract_integer', 'integer')) sig(integer function extract_integer(string, separators, n, missing_value)) signode(function mom_string_functions/extract_integerstringseparatorsnmissing_value [integer]) [fd] run(.. f:function:: real function extract_real(string, separators, n, missing_value)) [fd] sig(real function extract_real(string, separators, n, missing_value)) [fd] ftype(real) objtype(function) modname(None) typename() name(extract_real) arglist(string, separators, n, missing_value) [fd] fullname(mom_string_functions/extract_real) ftype(real) [fd] name(('mom_string_functions/extract_real', 'real')) sig(real function extract_real(string, separators, n, missing_value)) signode(function mom_string_functions/extract_realstringseparatorsnmissing_value [real]) [fd] run(.. f:function:: character(len=120) function remove_spaces(string)) [fd] sig(character(len=120) function remove_spaces(string)) [fd] ftype(character(len=120)) objtype(function) modname(None) typename() name(remove_spaces) arglist(string) [fd] fullname(mom_string_functions/remove_spaces) ftype(character(len=120)) [fd] name(('mom_string_functions/remove_spaces', 'character(len=120)')) sig(character(len=120) function remove_spaces(string)) signode(function mom_string_functions/remove_spacesstring [character(len=120)]) [fd] run(.. f:function:: logical function string_functions_unit_tests(verbose)) [fd] sig(logical function string_functions_unit_tests(verbose)) [fd] ftype(logical) objtype(function) modname(None) typename() name(string_functions_unit_tests) arglist(verbose) [fd] fullname(mom_string_functions/string_functions_unit_tests) ftype(logical) [fd] name(('mom_string_functions/string_functions_unit_tests', 'logical')) sig(logical function string_functions_unit_tests(verbose)) signode(function mom_string_functions/string_functions_unit_testsverbose [logical]) [fd] run(.. f:function:: logical function localtests(verbose, str1, str2)) [fd] sig(logical function localtests(verbose, str1, str2)) [fd] ftype(logical) objtype(function) modname(None) typename() name(localtests) arglist(verbose, str1, str2) [fd] fullname(mom_string_functions/localtests) ftype(logical) [fd] name(('mom_string_functions/localtests', 'logical')) sig(logical function localtests(verbose, str1, str2)) signode(function mom_string_functions/localtestsverbosestr1str2 [logical]) [fd] run(.. f:function:: logical function localtesti(verbose, i1, i2)) [fd] sig(logical function localtesti(verbose, i1, i2)) [fd] ftype(logical) objtype(function) modname(None) typename() name(localtesti) arglist(verbose, i1, i2) [fd] fullname(mom_string_functions/localtesti) ftype(logical) [fd] name(('mom_string_functions/localtesti', 'logical')) sig(logical function localtesti(verbose, i1, i2)) signode(function mom_string_functions/localtestiverbosei1i2 [logical]) [fd] run(.. f:function:: logical function localtestr(verbose, r1, r2)) [fd] sig(logical function localtestr(verbose, r1, r2)) [fd] ftype(logical) objtype(function) modname(None) typename() name(localtestr) arglist(verbose, r1, r2) [fd] fullname(mom_string_functions/localtestr) ftype(logical) [fd] name(('mom_string_functions/localtestr', 'logical')) sig(logical function localtestr(verbose, r1, r2)) signode(function mom_string_functions/localtestrverboser1r2 [logical]) [fd] run(.. f:function:: character(len=len(dir)+2) function slasher(dir)) [fd] sig(character(len=len(dir)+2) function slasher(dir)) [fd] ftype(character(len=len(dir)+2)) objtype(function) modname(None) typename() name(slasher) arglist(dir) [fd] fullname(mom_string_functions/slasher) ftype(character(len=len(dir)+2)) [fd] name(('mom_string_functions/slasher', 'character(len=len(dir)+2)')) sig(character(len=len(dir)+2) function slasher(dir)) signode(function mom_string_functions/slasherdir [character(len=len(dir)+2)]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 54%] api/generated/modules/mom_sum_output [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_sum_outp [app] emitting event: 'source-read'('api/generated/modules/mom_sum_output', ['.. autodoxymodule:: mom_sum_output\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_sum_output.rst:1: input: .. autodoxymodule:: mom_sum_output :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_sum_output::depth_list ~mom_sum_output::sum_output_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_sum_output::mom_sum_output_init ~mom_sum_output::mom_sum_output_end ~mom_sum_output::write_energy ~mom_sum_output::accumulate_net_input ~mom_sum_output::depth_list_setup ~mom_sum_output::create_depth_list ~mom_sum_output::write_depth_list ~mom_sum_output::read_depth_list ~mom_sum_output::get_depth_list_checksums [debug] xpath(./compounddef/compoundname[text()="mom_sum_output"]/..) match([('id', 'namespacemom__sum__output'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_sum_output module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sum_output', , {'members': , {'members': , {'members': ), ('mom_sum_output::sum_output_cs', )]) [autodoc] module analyzer failed: error importing 'mom_sum_output' (exception was: ModuleNotFoundError("No module named 'mom_sum_output'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_sum_output::depth_list', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_sum_output::sum_output_cs', , {'members': < [debug] members([('mom_sum_output_init', ), ('mom_sum_output_end', ), ('write_energy', ), ('accumulate_net_input', ), ('depth_list_setup', ), ('create_depth_list', ), ('write_depth_list', ), ('read_depth_list', ), ('get_depth_list_checksums', )]) [autodoc] module analyzer failed: error importing 'mom_sum_output' (exception was: ModuleNotFoundError("No module named 'mom_sum_output'")) [debug] DoxygenMethodDocumenter format_signature called ((G, US, param_file, directory, ntrnc, Input_start_time, CS)) [debug] add_directive_header sig((G, US, param_file, directory, ntrnc, Input_start_time, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine mom_sum_output_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_sum_output::depth_list ~mom_sum_output::sum_output_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_sum_output::mom_sum_output_init ~mom_sum_output::mom_sum_output_end ~mom_sum_output::write_energy ~mom_sum_output::accumulate_net_input ~mom_sum_output::depth_list_setup ~mom_sum_output::create_depth_list ~mom_sum_output::write_depth_list ~mom_sum_output::read_depth_list ~mom_sum_output::get_depth_list_checksums .. _DETAmom_sum_output: -------------------- Detailed Description -------------------- By Robert Hallberg, April 1994 - June 2002 This file contains the subroutine (write_energy) that writes horizontally integrated quantities, such as energies and layer volumes, and other summary information to an output file. Some of these quantities (APE or resting interface height) are defined relative to the global histogram of topography. The subroutine that compiles that histogram (depth_list_setup) is also included in this file. In addition, if the number of velocity truncations since the previous call to write_energy exceeds maxtrunc or the total energy exceeds a very large threshold, a fatal termination is triggered. ------------------ Type Documentation ------------------ .. f:type:: depth_list A list of depths and corresponding globally integrated ocean area at each depth and the ocean volume below each depth. :typefield real depth [private]: A depth [Z ~> m]. :typefield real area [private]: The cross-sectional area of the ocean at that depth [L2 ~> m2]. :typefield real vol_below [private]: The ocean volume below that depth [Z m2 ~> m3]. .. f:type:: sum_output_cs The control structure for the MOM_sum_output module. :typefield type( depth_list )(\:) dl [pointer]: The sorted depth list. :typefield integer list_size: length of sorting vector <= niglobal*njglobal :typefield integer(\:) lh [allocatable]: This saves the entry in DL with a volume just less than the volume of fluid below the interface. :typefield logical do_ape_calc: If true, calculate the available potential energy of the interfaces. Disabling this reduces the memory footprint of high-PE-count models dramatically. :typefield logical read_depth_list: Read the depth list from a file if it exists and write it if it doesn't. :typefield character (len=200) depth_list_file: The name of the depth list file. :typefield real d_list_min_inc: The minimum increment [Z ~> m], between the depths of the entries in the depth-list file, 0 by default. :typefield logical require_depth_list_chksum: Require matching checksums in Depth_list.nc when reading the file. :typefield logical update_depth_list_chksum: Automatically update the Depth_list.nc file if the checksums are missing or do not match current values. :typefield logical use_temperature: If true, temperature and salinity are state variables. :typefield type(efp_type) fresh_water_in_efp: The total mass of fresh water added by surface fluxes on this PE since the last time that write_energy was called [kg]. :typefield type(efp_type) net_salt_in_efp: The total salt added by surface fluxes on this PE since the last time that write_energy was called [ppt kg]. :typefield type(efp_type) net_heat_in_efp: The total heat added by surface fluxes on this PE since the last time that write_energy was called [J]. :typefield type(efp_type) heat_prev_efp: The total amount of heat in the ocean the last time that write_energy was called [J]. :typefield type(efp_type) salt_prev_efp: The total amount of salt in the ocean the last time that write_energy was called [ppt kg]. :typefield type(efp_type) mass_prev_efp: The total ocean mass the last time that write_energy was called [kg]. :typefield real dt_in_t: The baroclinic dynamics time step [T ~> s]. :typefield type(time_type) energysavedays: The interval between writing the energies and other integral quantities of the run. :typefield type(time_type) energysavedays_geometric: The starting interval for computing a geometric progression of time deltas between calls to write_energy. This interval will increase by a factor of 2. after each call to write_energy. :typefield logical energysave_geometric: Logical to control whether calls to write_energy should follow a geometric progression. :typefield type(time_type) write_energy_time: The next time to write to the energy file. :typefield type(time_type) geometric_end_time: Time at which to stop the geometric progression of calls to write_energy and revert to the standard energysavedays interval. :typefield real timeunit: The length of the units for the time axis [s]. :typefield logical date_stamped_output: If true, use dates (not times) in messages to stdout. :typefield type(time_type) start_time: The start time of the simulation. :typefield integer ntrunc [pointer]: The number of times the velocity has been truncated since the last call to write_energy. :typefield real max_energy: The maximum permitted energy per unit mass. If there is more energy than this, the model should stop [m2 s-2]. :typefield integer maxtrunc: The number of truncations per energy save interval at which the run is stopped. :typefield logical write_stocks: If true, write the integrated tracer amounts to stdout when the energy files are written. :typefield integer previous_calls: The number of times write_energy has been called. :typefield integer prev_n: The value of n from the last call. :typefield integer fileenergy_nc: NetCDF id of the energy file. :typefield integer fileenergy_ascii: The unit number of the ascii version of the energy file. :typefield type(fieldtype)( num_fields +max_fields_) fields: fieldtype variables for the output fields. :typefield character (len=200) energyfile: The name of the energy file with path. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine mom_sum_output_init(G, US, param_file, directory, ntrnc, Input_start_time, CS) MOM_sum_output_init initializes the parameters and settings for the MOM_sum_output module. :param g: [in] The ocean's grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters. :param directory: [in] The directory where the energy file goes. :param ntrnc: [inout] The integer that stores the number of times the velocity has been truncated since the last call to write_energy. :param input_start_time: [in] The start time of the simulation. :param cs: A pointer that is set to point to the control structure for this module. :callto: :f:func:`depth_list_setup ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine mom_sum_output_end(CS) MOM_sum_output_end deallocates memory used by the MOM_sum_output module. :param cs: The control structure returned by a previous call to MOM_sum_output_init. .. f:subroutine:: subroutine write_energy(u, v, h, tv, day, n, G, GV, US, CS, tracer_CSp, OBC, dt_forcing) This subroutine calculates and writes the total model energy, the energy and mass of each layer, and other globally integrated physical quantities. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param u: [in] The zonal velocity [L T-1 ~> m s-1]. :param v: [in] The meridional velocity [L T-1 ~> m s-1]. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param tv: [in] A structure pointing to various thermodynamic variables. :param day: [in] The current model time. :param n: [in] The time step number of the current execution. :param cs: The control structure returned by a previous call to MOM_sum_output_init. :param tracer_csp: tracer control structure. :param obc: Open boundaries control structure. :param dt_forcing: [in] The forcing time step :callto: :f:func:`mom_tracer_flow_control::call_tracer_stocks ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_open_boundary::obc_direction_e ` :callto: :f:func:`mom_open_boundary::obc_direction_n ` :callto: :f:func:`mom_open_boundary::obc_direction_s ` :callto: :f:func:`mom_open_boundary::obc_direction_w ` .. f:subroutine:: subroutine accumulate_net_input(fluxes, sfc_state, tv, dt, G, US, CS) This subroutine accumates the net input of volume, salt and heat, through the ocean surface for use in diagnosing conservation. :param fluxes: [in] A structure containing pointers to any possible forcing fields. Unused fields are unallocated. :param sfc_state: [in] A structure containing fields that describe the surface state of the ocean. :param tv: [in] A structure pointing to various thermodynamic variables. :param dt: [in] The amount of time over which to average [T ~> s]. :param g: [in] The ocean's grid structure. :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to MOM_sum_output_init. :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine depth_list_setup(G, US, CS) This subroutine sets up an ordered list of depths, along with the cross sectional areas at each depth and the volume of fluid deeper than each depth. This might be read from a previously created file or it might be created anew. (For now only new creation occurs. :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to MOM_sum_output_init. :callto: :f:func:`create_depth_list ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`read_depth_list ` :callto: :f:func:`write_depth_list ` :calledfrom: :f:func:`mom_sum_output_init ` .. f:subroutine:: subroutine create_depth_list(G, CS) create_depth_list makes an ordered list of depths, along with the cross sectional areas at each depth and the volume of fluid deeper than each depth. :param g: [in] The ocean's grid structure. :param cs: The control structure set up in MOM_sum_output_init, in which the ordered depth list is stored. :calledfrom: :f:func:`depth_list_setup ` :calledfrom: :f:func:`read_depth_list ` .. f:subroutine:: subroutine write_depth_list(G, US, CS, filename, list_size) This subroutine writes out the depth list to the specified file. :param g: [in] The ocean's grid structure. :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to MOM_sum_output_init. :param filename: [in] The path to the depth list file to write. :param list_size: [in] The size of the depth list. :callto: :f:func:`area_chksum_attr ` :callto: :f:func:`depth_chksum_attr ` :callto: :f:func:`get_depth_list_checksums ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`depth_list_setup ` :calledfrom: :f:func:`read_depth_list ` .. f:subroutine:: subroutine read_depth_list(G, US, CS, filename) This subroutine reads in the depth list to the specified file and allocates and sets up CSDL and CSlist_size . :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to MOM_sum_output_init. :param filename: [in] The path to the depth list file to read. :callto: :f:func:`area_chksum_attr ` :callto: :f:func:`create_depth_list ` :callto: :f:func:`depth_chksum_attr ` :callto: :f:func:`get_depth_list_checksums ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`write_depth_list ` :calledfrom: :f:func:`depth_list_setup ` .. f:subroutine:: subroutine get_depth_list_checksums(G, depth_chksum, area_chksum) Return the checksums required to verify DEPTH_LIST_FILE contents. This function computes checksums for the bathymetry (GbathyT) and masked area (mask2dT * areaT) fields of the model grid G, which are used to compute the depth list. A difference in checksum indicates that a different method was used to compute the grid data, and that any results using the depth list, such as APE, will not be reproducible. Checksums are saved as hexadecimal strings, in order to avoid potential datatype issues with netCDF attributes. :param g: [in] Ocean grid structure :param depth_chksum: [out] Depth checksum hexstring :param area_chksum: [out] Area checksum hexstring :calledfrom: :f:func:`read_depth_list ` :calledfrom: :f:func:`write_depth_list ` [debug] xpath(./compounddef/compoundname[text()="mom_sum_output::depth_list"]/..) match([('id', 'structmom__sum__output_1_1depth__list'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sum_output::depth_list', , {}, ['', 'A li [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sum_output::depth_list', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sum_output::depth_list', , {}, ['', 'A li [debug] xpath(./compounddef/compoundname[text()="mom_sum_output::sum_output_cs"]/..) match([('id', 'structmom__sum__output_1_1sum__output__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sum_output::sum_output_cs', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sum_output::sum_output_cs', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sum_output::sum_output_cs', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((G, US, param_file, directory, ntrnc, Input_start_time, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::mom_sum_output_init', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::mom_sum_output_init', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::mom_sum_output_end', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::mom_sum_output_end', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, tv, day, n, G, GV, US, CS, tracer_CSp, OBC, dt_forcing)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::write_energy', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::write_energy', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((fluxes, sfc_state, tv, dt, G, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::accumulate_net_input', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::accumulate_net_input', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((G, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::depth_list_setup', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::depth_list_setup', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::create_depth_list', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::create_depth_list', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((G, US, CS, filename, list_size)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::write_depth_list', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::write_depth_list', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((G, US, CS, filename)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::read_depth_list', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::read_depth_list', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((G, depth_chksum, area_chksum)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::get_depth_list_checksums', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_sum_output::get_depth_list_checksums', , {} [fd] run(.. f:type:: depth_list) [fd] sig(depth_list) [fd] ftype(None) objtype(None) modname(None) typename() name(depth_list) arglist(None) [fd] fullname(mom_sum_output/depth_list) ftype(None) [fd] name(('mom_sum_output/depth_list', None)) sig(depth_list) signode(type mom_sum_output/depth_list) [fd] run(.. f:type:: sum_output_cs) [fd] sig(sum_output_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(sum_output_cs) arglist(None) [fd] fullname(mom_sum_output/sum_output_cs) ftype(None) [fd] name(('mom_sum_output/sum_output_cs', None)) sig(sum_output_cs) signode(type mom_sum_output/sum_output_cs) [fd] run(.. f:subroutine:: subroutine mom_sum_output_init(G, US, param_file, directory, ntrnc, Input_start_time, CS)) [fd] sig(subroutine mom_sum_output_init(G, US, param_file, directory, ntrnc, Input_start_time, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_sum_output_init) arglist(G, US, param_file, directory, ntrnc, Input_start_time, CS) [fd] fullname(mom_sum_output/mom_sum_output_init) ftype(None) [fd] name(('mom_sum_output/mom_sum_output_init', None)) sig(subroutine mom_sum_output_init(G, US, param_file, directory, ntrnc, Input_start_time, CS)) signode(subroutine mom_sum_output/mom_sum_output_initGUSparam_filedirectoryntrncInput_start_timeCS) [fd] run(.. f:subroutine:: subroutine mom_sum_output_end(CS)) [fd] sig(subroutine mom_sum_output_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_sum_output_end) arglist(CS) [fd] fullname(mom_sum_output/mom_sum_output_end) ftype(None) [fd] name(('mom_sum_output/mom_sum_output_end', None)) sig(subroutine mom_sum_output_end(CS)) signode(subroutine mom_sum_output/mom_sum_output_endCS) [fd] run(.. f:subroutine:: subroutine write_energy(u, v, h, tv, day, n, G, GV, US, CS, tracer_CSp, OBC, dt_forcing)) [fd] sig(subroutine write_energy(u, v, h, tv, day, n, G, GV, US, CS, tracer_CSp, OBC, dt_forcing)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(write_energy) arglist(u, v, h, tv, day, n, G, GV, US, CS, tracer_CSp, OBC, dt_forcing) [fd] fullname(mom_sum_output/write_energy) ftype(None) [fd] name(('mom_sum_output/write_energy', None)) sig(subroutine write_energy(u, v, h, tv, day, n, G, GV, US, CS, tracer_CSp, OBC, dt_forcing)) signode(subroutine mom_sum_output/write_energyuvhtvdaynGGVUSCStracer_CSpOBCdt_forcing) [fd] run(.. f:subroutine:: subroutine accumulate_net_input(fluxes, sfc_state, tv, dt, G, US, CS)) [fd] sig(subroutine accumulate_net_input(fluxes, sfc_state, tv, dt, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(accumulate_net_input) arglist(fluxes, sfc_state, tv, dt, G, US, CS) [fd] fullname(mom_sum_output/accumulate_net_input) ftype(None) [fd] name(('mom_sum_output/accumulate_net_input', None)) sig(subroutine accumulate_net_input(fluxes, sfc_state, tv, dt, G, US, CS)) signode(subroutine mom_sum_output/accumulate_net_inputfluxessfc_statetvdtGUSCS) [fd] run(.. f:subroutine:: subroutine depth_list_setup(G, US, CS)) [fd] sig(subroutine depth_list_setup(G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(depth_list_setup) arglist(G, US, CS) [fd] fullname(mom_sum_output/depth_list_setup) ftype(None) [fd] name(('mom_sum_output/depth_list_setup', None)) sig(subroutine depth_list_setup(G, US, CS)) signode(subroutine mom_sum_output/depth_list_setupGUSCS) [fd] run(.. f:subroutine:: subroutine create_depth_list(G, CS)) [fd] sig(subroutine create_depth_list(G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(create_depth_list) arglist(G, CS) [fd] fullname(mom_sum_output/create_depth_list) ftype(None) [fd] name(('mom_sum_output/create_depth_list', None)) sig(subroutine create_depth_list(G, CS)) signode(subroutine mom_sum_output/create_depth_listGCS) [fd] run(.. f:subroutine:: subroutine write_depth_list(G, US, CS, filename, list_size)) [fd] sig(subroutine write_depth_list(G, US, CS, filename, list_size)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(write_depth_list) arglist(G, US, CS, filename, list_size) [fd] fullname(mom_sum_output/write_depth_list) ftype(None) [fd] name(('mom_sum_output/write_depth_list', None)) sig(subroutine write_depth_list(G, US, CS, filename, list_size)) signode(subroutine mom_sum_output/write_depth_listGUSCSfilenamelist_size) [fd] run(.. f:subroutine:: subroutine read_depth_list(G, US, CS, filename)) [fd] sig(subroutine read_depth_list(G, US, CS, filename)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(read_depth_list) arglist(G, US, CS, filename) [fd] fullname(mom_sum_output/read_depth_list) ftype(None) [fd] name(('mom_sum_output/read_depth_list', None)) sig(subroutine read_depth_list(G, US, CS, filename)) signode(subroutine mom_sum_output/read_depth_listGUSCSfilename) [fd] run(.. f:subroutine:: subroutine get_depth_list_checksums(G, depth_chksum, area_chksum)) [fd] sig(subroutine get_depth_list_checksums(G, depth_chksum, area_chksum)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_depth_list_checksums) arglist(G, depth_chksum, area_chksum) [fd] fullname(mom_sum_output/get_depth_list_checksums) ftype(None) [fd] name(('mom_sum_output/get_depth_list_checksums', None)) sig(subroutine get_depth_list_checksums(G, depth_chksum, area_chksum)) signode(subroutine mom_sum_output/get_depth_list_checksumsGdepth_chksumarea_chksum) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 54%] api/generated/modules/mom_surface_forcing [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_surface_ [app] emitting event: 'source-read'('api/generated/modules/mom_surface_forcing', ['.. autodoxymodule:: mom_surface_forcing\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_surface_forcing.rst:1: input: .. autodoxymodule:: mom_surface_forcing :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_surface_forcing::surface_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_surface_forcing::set_forcing ~mom_surface_forcing::wind_forcing_const ~mom_surface_forcing::wind_forcing_2gyre ~mom_surface_forcing::wind_forcing_1gyre ~mom_surface_forcing::wind_forcing_gyres ~mom_surface_forcing::neverworld_wind_forcing ~mom_surface_forcing::scurve_wind_forcing ~mom_surface_forcing::scurve ~mom_surface_forcing::wind_forcing_from_file ~mom_surface_forcing::wind_forcing_by_data_override ~mom_surface_forcing::buoyancy_forcing_from_files ~mom_surface_forcing::buoyancy_forcing_from_data_override ~mom_surface_forcing::buoyancy_forcing_zero ~mom_surface_forcing::buoyancy_forcing_const ~mom_surface_forcing::buoyancy_forcing_linear ~mom_surface_forcing::forcing_save_restart ~mom_surface_forcing::surface_forcing_init ~mom_surface_forcing::surface_forcing_end [debug] xpath(./compounddef/compoundname[text()="mom_surface_forcing"]/..) match([('id', 'namespacemom__surface__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_surface_forcing module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_surface_forcing', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_surface_forcing' (exception was: ModuleNotFoundError("No module named 'mom_surface_forcing'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing::surface_forcing_cs', , {'m [debug] members([('set_forcing', ), ('wind_forcing_const', ), ('wind_forcing_2gyre', ), ('wind_forcing_1gyre', ), ('wind_forcing_gyres', ), ('neverworld_wind_forcing', ), ('scurve_wind_forcing', ), ('scurve', ), ('wind_forcing_from_file', ), ('wind_forcing_by_data_override', ), ('buoyancy_forcing_from_files', ), ('buoyancy_forcing_from_data_override', ), ('buoyancy_forcing_zero', ), ('buoyancy_forcing_const', ), ('buoyancy_forcing_linear', ), ('forcing_save_restart', ), ('surface_forcing_init', ), ('surface_forcing_end', )]) [autodoc] module analyzer failed: error importing 'mom_surface_forcing' (exception was: ModuleNotFoundError("No module named 'mom_surface_forcing'")) [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, forces, fluxes, day_start, day_interval, G, US, CS)) [debug] add_directive_header sig((sfc_state, forces, fluxes, day_start, day_interval, G, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine set_forcing) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'set_forcing', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'wind_forcing_by_data_override', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'wind_forcing_by_data_override', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'wind_forcing_by_data_override', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'wind_forcing_by_data_override', , {'members': < [autodoc] module analyzer failed: error importing 'mom_surface_forcing' (exception was: ModuleNotFoundError("No module named 'mom_surface_forcing'")) [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, fluxes, day, dt, G, US, CS)) [debug] add_directive_header sig((sfc_state, fluxes, day, dt, G, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine buoyancy_forcing_from_files) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'buoyancy_forcing_from_files', , {'members': , {'members': , {'members': , {'members': , {'members': , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'buoyancy_forcing_from_data_override', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'buoyancy_forcing_from_data_override', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'buoyancy_forcing_from_data_override', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'buoyancy_forcing_from_data_override', , {'membe [autodoc] module analyzer failed: error importing 'mom_surface_forcing' (exception was: ModuleNotFoundError("No module named 'mom_surface_forcing'")) [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, fluxes, day, dt, G, CS)) [debug] add_directive_header sig((sfc_state, fluxes, day, dt, G, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine buoyancy_forcing_zero) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'buoyancy_forcing_zero', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_surface_forcing::surface_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_surface_forcing::set_forcing ~mom_surface_forcing::wind_forcing_const ~mom_surface_forcing::wind_forcing_2gyre ~mom_surface_forcing::wind_forcing_1gyre ~mom_surface_forcing::wind_forcing_gyres ~mom_surface_forcing::neverworld_wind_forcing ~mom_surface_forcing::scurve_wind_forcing ~mom_surface_forcing::scurve ~mom_surface_forcing::wind_forcing_from_file ~mom_surface_forcing::wind_forcing_by_data_override ~mom_surface_forcing::buoyancy_forcing_from_files ~mom_surface_forcing::buoyancy_forcing_from_data_override ~mom_surface_forcing::buoyancy_forcing_zero ~mom_surface_forcing::buoyancy_forcing_const ~mom_surface_forcing::buoyancy_forcing_linear ~mom_surface_forcing::forcing_save_restart ~mom_surface_forcing::surface_forcing_init ~mom_surface_forcing::surface_forcing_end .. _DETAmom_surface_forcing: -------------------- Detailed Description -------------------- These functions are called every time step, even if the wind stresses or buoyancy fluxes are constant in time - in that case these routines return quickly without doing anything. In addition, any I/O of forcing fields is controlled by surface_forcing_init, located in this file. ------------------ Type Documentation ------------------ .. f:type:: surface_forcing_cs Structure containing pointers to the forcing fields that may be used to drive MOM. All fluxes are positive into the ocean. :typefield type(user_revise_forcing_cs) urf_cs [pointer]: Control structures for named forcing packages. :typefield type(user_surface_forcing_cs) user_forcing_csp [pointer]: Control structures for named forcing packages. :typefield type(bfb_surface_forcing_cs) bfb_forcing_csp [pointer]: Control structures for named forcing packages. :typefield type(dumbbell_surface_forcing_cs) dumbbell_forcing_csp [pointer]: Control structures for named forcing packages. :typefield type(meso_surface_forcing_cs) meso_forcing_csp [pointer]: Control structures for named forcing packages. :typefield type(idealized_hurricane_cs) idealized_hurricane_csp [pointer]: Control structures for named forcing packages. :typefield type(scm_cvmix_tests_cs) scm_cvmix_tests_csp [pointer]: Control structures for named forcing packages. :typefield logical use_temperature: if true, temp & salinity used as state variables :typefield logical restorebuoy: if true, use restoring surface buoyancy forcing :typefield logical adiabatic: if true, no diapycnal mass fluxes or surface buoyancy forcing :typefield logical variable_winds: if true, wind stresses vary with time :typefield logical variable_buoyforce: if true, buoyancy forcing varies with time. :typefield real south_lat: southern latitude of the domain :typefield real len_lat: domain length in latitude :typefield real rho0: Boussinesq reference density [R ~> kg m-3]. :typefield real g_earth: gravitational acceleration [L2 Z-1 T-2 ~> m s-2] :typefield real flux_const: piston velocity for surface restoring [Z T-1 ~> m s-1] :typefield real flux_const_t: piston velocity for surface temperature restoring [m s-1] :typefield real flux_const_s: piston velocity for surface salinity restoring [Z T-1 ~> m s-1] :typefield real latent_heat_fusion: latent heat of fusion times [Q ~> J kg-1] :typefield real latent_heat_vapor: latent heat of vaporization [Q ~> J kg-1] :typefield real tau_x0: Constant zonal wind stress used in the WIND_CONFIG="const" forcing. :typefield real tau_y0: Constant meridional wind stress used in the WIND_CONFIG="const" forcing. :typefield real gust_const: constant unresolved background gustiness for ustar [R L Z T-1 ~> Pa] :typefield logical read_gust_2d: if true, use 2-dimensional gustiness supplied from a file :typefield real(\:,\:) gust [pointer]: spatially varying unresolved background gustiness [R L Z T-1 ~> Pa] gust is used when read_gust_2d is true. :typefield real(\:,\:) t_restore [pointer]: temperature to damp (restore) the SST to [degC] :typefield real(\:,\:) s_restore [pointer]: salinity to damp (restore) the SSS [ppt] :typefield real(\:,\:) dens_restore [pointer]: density to damp (restore) surface density [R ~> kg m-3] :typefield integer buoy_last_lev_read: The last time level read from buoyancy input files. :typefield real gyres_taux_const: A constant wind stress [Pa]. :typefield real gyres_taux_sin_amp: The amplitude of cosine wind stress gyres [Pa], if WIND_CONFIG=='gyres'. :typefield real gyres_taux_cos_amp: The amplitude of cosine wind stress gyres [Pa], if WIND_CONFIG=='gyres'. :typefield real gyres_taux_n_pis: The number of sine lobes in the basin if if WIND_CONFIG=='gyres'. :typefield logical answers_2018: If true, use the order of arithmetic and expressions that recover the answers from the end of 2018. Otherwise, use a form of the gyre wind stresses that are rotationally invariant and more likely to be the same between compilers. :typefield logical fix_ustar_gustless_bug: If true correct a bug in the time-averaging of the gustless wind friction velocity. :typefield real(20) scurves_ydata: Latitudes of scurve nodes [degreesN]. :typefield real(20) scurves_taux: Zonal wind stress values at scurve nodes [Pa]. :typefield real t_north: target temperatures at north used in buoyancy_forcing_linear :typefield real t_south: target temperatures at south used in buoyancy_forcing_linear :typefield real s_north: target salinity at north used in buoyancy_forcing_linear :typefield real s_south: target salinity at south used in buoyancy_forcing_linear :typefield logical first_call_set_forcing: True until after the first call to set_forcing. :typefield logical archaic_omip_file: If true use the variable names and data fields from a very old version of the OMIP forcing. :typefield logical dataoverrideisinitialized: If true, data override has been initialized. :typefield real wind_scale: value by which wind-stresses are scaled, ND. :typefield real constantheatforcing: value used for sensible heat flux when buoy_config="const" [Q R Z T-1 ~> W m-2] :typefield character (len=8) wind_stagger: A character indicating how the wind stress components are staggered in WIND_FILE. Valid values are A or C for now. :typefield type(tracer_flow_control_cs) tracer_flow_csp [pointer]: A pointer to the structure that is used to orchestrate the calling of tracer packages. :typefield type(mom_restart_cs) restart_csp [pointer]: A pointer to the restart control structure. :typefield type(diag_ctrl) diag [pointer]: structure used to regulate timing of diagnostic output :typefield character (len=200) inputdir: directory where NetCDF input files are. :typefield character (len=200) wind_config: indicator for wind forcing type (2gyre, USER, FILE..) :typefield character (len=200) wind_file: if wind_config is "file", file to use :typefield character (len=200) buoy_config: indicator for buoyancy forcing type :typefield character (len=200) longwave_file: The file from which the longwave heat flux is read. :typefield character (len=200) shortwave_file: The file from which the shortwave heat flux is read. :typefield character (len=200) evaporation_file: The file from which the evaporation is read. :typefield character (len=200) sensibleheat_file: The file from which the sensible heat flux is read. :typefield character (len=200) latentheat_file: The file from which the latent heat flux is read. :typefield character (len=200) rain_file: The file from which the rainfall is read. :typefield character (len=200) snow_file: The file from which the snowfall is read. :typefield character (len=200) runoff_file: The file from which the runoff is read. :typefield character (len=200) longwaveup_file: The file from which the upward longwave heat flux is read. :typefield character (len=200) shortwaveup_file: The file from which the upward shorwave heat flux is read. :typefield character (len=200) sstrestore_file: The file from which to read the sea surface temperature to restore toward. :typefield character (len=200) salinityrestore_file: The file from which to read the sea surface salinity to restore toward. :typefield character (len=80) stress_x_var: X-windstress variable name in the input file. :typefield character (len=80) stress_y_var: Y-windstress variable name in the input file. :typefield character (len=80) ustar_var: ustar variable name in the input file :typefield character (len=80) lw_var: lonngwave heat flux variable name in the input file :typefield character (len=80) sw_var: shortwave heat flux variable name in the input file :typefield character (len=80) latent_var: latent heat flux variable name in the input file :typefield character (len=80) sens_var: sensible heat flux variable name in the input file :typefield character (len=80) evap_var: evaporation variable name in the input file :typefield character (len=80) rain_var: rainfall variable name in the input file :typefield character (len=80) snow_var: snowfall variable name in the input file :typefield character (len=80) lrunoff_var: liquid runoff variable name in the input file :typefield character (len=80) frunoff_var: frozen runoff variable name in the input file :typefield character (len=80) sst_restore_var: target sea surface temeperature variable name in the input file :typefield character (len=80) sss_restore_var: target sea surface salinity variable name in the input file :typefield integer wind_nlev: The number of time levels in the file of wind stress. :typefield integer sw_nlev: The number of time levels in the file of shortwave heat flux. :typefield integer lw_nlev: The number of time levels in the file of longwave heat flux. :typefield integer latent_nlev: The number of time levels in the file of latent heat flux. :typefield integer sens_nlev: The number of time levels in the file of sensible heat flux. :typefield integer evap_nlev: The number of time levels in the file of evaporation. :typefield integer precip_nlev: The number of time levels in the file of precipitation. :typefield integer runoff_nlev: The number of time levels in the file of runoff. :typefield integer sst_nlev: The number of time levels in the file of target SST. :typefield integer sss_nlev: The number of time levels in the file of target SSS. :typefield integer wind_last_lev: The last time level read of wind stress. :typefield integer sw_last_lev: The last time level read of shortwave heat flux. :typefield integer lw_last_lev: The last time level read of longwave heat flux. :typefield integer latent_last_lev: The last time level read of latent heat flux. :typefield integer sens_last_lev: The last time level read of sensible heat flux. :typefield integer evap_last_lev: The last time level read of evaporation. :typefield integer precip_last_lev: The last time level read of precipitation. :typefield integer runoff_last_lev: The last time level read of runoff. :typefield integer sst_last_lev: The last time level read of target SST. :typefield integer sss_last_lev: The last time level read of target SSS. :typefield type(forcing_diags) handles [public]: A structure with diagnostics handles. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine set_forcing(sfc_state, forces, fluxes, day_start, day_interval, G, US, CS) Calls subroutines in this file to get surface forcing fields. It also allocates and initializes the fields in the forcing and mech_forcing types the first time it is called. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param forces: [inout] A structure with the driving mechanical forces :param fluxes: [inout] A structure containing thermodynamic forcing fields :param day_start: [in] The start time of the fluxes :param day_interval: [in] Length of time over which these fluxes applied :param g: [inout] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: pointer to control struct returned by a previous surface_forcing_init call :callto: :f:func:`buoyancy_forcing_const ` :callto: :f:func:`buoyancy_forcing_from_data_override ` :callto: :f:func:`buoyancy_forcing_from_files ` :callto: :f:func:`buoyancy_forcing_linear ` :callto: :f:func:`buoyancy_forcing_zero ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`dumbbell_surface_forcing::dumbbell_buoyancy_forcing ` :callto: :f:func:`id_clock_forcing ` :callto: :f:func:`neverworld_wind_forcing ` :callto: :f:func:`scurve_wind_forcing ` :callto: :f:func:`wind_forcing_1gyre ` :callto: :f:func:`wind_forcing_2gyre ` :callto: :f:func:`wind_forcing_by_data_override ` :callto: :f:func:`wind_forcing_const ` :callto: :f:func:`wind_forcing_from_file ` :callto: :f:func:`wind_forcing_gyres ` :calledfrom: :f:func:`mom_main ` .. f:subroutine:: subroutine wind_forcing_const(sfc_state, forces, tau_x0, tau_y0, day, G, US, CS) Sets the surface wind stresses to constant values. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param forces: [inout] A structure with the driving mechanical forces :param tau_x0: [in] The zonal wind stress [Pa] :param tau_y0: [in] The meridional wind stress [Pa] :param day: [in] The time of the fluxes :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: pointer to control struct returned by a previous surface_forcing_init call :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`set_forcing ` .. f:subroutine:: subroutine wind_forcing_2gyre(sfc_state, forces, day, G, US, CS) Sets the surface wind stresses to set up two idealized gyres. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param forces: [inout] A structure with the driving mechanical forces :param day: [in] The time of the fluxes :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: pointer to control struct returned by a previous surface_forcing_init call :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`set_forcing ` .. f:subroutine:: subroutine wind_forcing_1gyre(sfc_state, forces, day, G, US, CS) Sets the surface wind stresses to set up a single idealized gyre. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param forces: [inout] A structure with the driving mechanical forces :param day: [in] The time of the fluxes :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: pointer to control struct returned by a previous surface_forcing_init call :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`set_forcing ` .. f:subroutine:: subroutine wind_forcing_gyres(sfc_state, forces, day, G, US, CS) Sets the surface wind stresses to set up idealized gyres. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param forces: [inout] A structure with the driving mechanical forces :param day: [in] The time of the fluxes :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: pointer to control struct returned by a previous surface_forcing_init call :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`set_forcing ` .. f:subroutine:: subroutine neverworld_wind_forcing(sfc_state, forces, day, G, US, CS) Sets the surface wind stresses, forcestaux and forcestauy for the Neverworld forcing configuration. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param forces: [inout] A structure with the driving mechanical forces :param day: [in] Time used for determining the fluxes. :param g: [inout] Grid structure. :param us: [in] A dimensional unit scaling type :param cs: pointer to control struct returned by a previous surface_forcing_init call :calledfrom: :f:func:`set_forcing ` .. f:subroutine:: subroutine scurve_wind_forcing(sfc_state, forces, day, G, US, CS) Sets the zonal wind stresses to a piecewise series of s-curves. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param forces: [inout] A structure with the driving mechanical forces :param day: [in] Time used for determining the fluxes. :param g: [inout] Grid structure. :param us: [in] A dimensional unit scaling type :param cs: pointer to control struct returned by a previous surface_forcing_init call :callto: :f:func:`scurve ` :calledfrom: :f:func:`set_forcing ` .. f:function:: real function scurve(x, L) Returns the value of a cosine-bell function evaluated at x/L. :param x: [in] non-dimensional position :param l: [in] non-dimensional width :calledfrom: :f:func:`scurve_wind_forcing ` .. f:subroutine:: subroutine wind_forcing_from_file(sfc_state, forces, day, G, US, CS) :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param forces: [inout] A structure with the driving mechanical forces :param day: [in] The time of the fluxes :param g: [inout] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: pointer to control struct returned by a previous surface_forcing_init call :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_string_functions::uppercase ` :calledfrom: :f:func:`set_forcing ` .. f:subroutine:: subroutine wind_forcing_by_data_override(sfc_state, forces, day, G, US, CS) :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param forces: [inout] A structure with the driving mechanical forces :param day: [in] The time of the fluxes :param g: [inout] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: pointer to control struct returned by a previous surface_forcing_init call :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`set_forcing ` .. f:subroutine:: subroutine buoyancy_forcing_from_files(sfc_state, fluxes, day, dt, G, US, CS) Specifies zero surface bouyancy fluxes from input files. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param fluxes: [inout] A structure containing thermodynamic forcing fields :param day: [in] The time of the fluxes :param dt: [in] The amount of time over which the fluxes apply [s] :param g: [inout] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: pointer to control struct returned by a previous surface_forcing_init call :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`set_forcing ` .. f:subroutine:: subroutine buoyancy_forcing_from_data_override(sfc_state, fluxes, day, dt, G, US, CS) Specifies zero surface bouyancy fluxes from data over-ride. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param fluxes: [inout] A structure containing thermodynamic forcing fields :param day: [in] The time of the fluxes :param dt: [in] The amount of time over which the fluxes apply [s] :param g: [inout] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: pointer to control struct returned by a previous surface_forcing_init call :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`set_forcing ` .. f:subroutine:: subroutine buoyancy_forcing_zero(sfc_state, fluxes, day, dt, G, CS) This subroutine specifies zero surface bouyancy fluxes. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param fluxes: [inout] A structure containing thermodynamic forcing fields :param day: [in] The time of the fluxes :param dt: [in] The amount of time over which the fluxes apply [s] :param g: [in] The ocean's grid structure :param cs: pointer to control struct returned by a previous surface_forcing_init call :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`set_forcing ` .. f:subroutine:: subroutine buoyancy_forcing_const(sfc_state, fluxes, day, dt, G, US, CS) Sets up spatially and temporally constant surface heat fluxes. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param fluxes: [inout] A structure containing thermodynamic forcing fields :param day: [in] The time of the fluxes :param dt: [in] The amount of time over which the fluxes apply [s] :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: pointer to control struct returned by a previous surface_forcing_init call :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`set_forcing ` .. f:subroutine:: subroutine buoyancy_forcing_linear(sfc_state, fluxes, day, dt, G, US, CS) Sets surface fluxes of heat and salinity by restoring to temperature and salinity profiles that vary linearly with latitude. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param fluxes: [inout] A structure containing thermodynamic forcing fields :param day: [in] The time of the fluxes :param dt: [in] The amount of time over which the fluxes apply [s] :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: pointer to control struct returned by a previous surface_forcing_init call :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :calledfrom: :f:func:`set_forcing ` .. f:subroutine:: subroutine forcing_save_restart(CS, G, Time, directory, time_stamped, filename_suffix) Save a restart file for the forcing fields. :param cs: pointer to control struct returned by a previous surface_forcing_init call :param g: [inout] The ocean's grid structure :param time: [in] model time at this call; needed for mpp_write calls :param directory: [in] directory into which to write these restart files :param time_stamped: [in] If true, the restart file names include a unique time stamp; the default is false. :param filename_suffix: [in] optional suffix (e.g., a time-stamp) to append to the restart fname :callto: :f:func:`mom_restart::save_restart ` :calledfrom: :f:func:`mom_main ` .. f:subroutine:: subroutine surface_forcing_init(Time, G, US, param_file, diag, CS, tracer_flow_CSp) Initialize the surface forcing module. :param time: [in] The current model time :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :param diag: [inout] structure used to regulate diagnostic output :param cs: pointer to control struct returned by a previous surface_forcing_init call :param tracer_flow_csp: Forcing for tracers? :callto: :f:func:`bfb_surface_forcing::bfb_surface_forcing_init ` :callto: :f:func:`mom_get_input::get_mom_input ` :callto: :f:func:`id_clock_forcing ` :callto: :f:func:`meso_surface_forcing::meso_surface_forcing_init ` :callto: :f:func:`mom_io::num_timelevels ` :callto: :f:func:`mom_restart::restart_init_end ` :callto: :f:func:`mom_restart::restore_state ` :callto: :f:func:`user_surface_forcing::user_surface_forcing_init ` :calledfrom: :f:func:`mom_main ` .. f:subroutine:: subroutine surface_forcing_end(CS, fluxes) Deallocate memory associated with the surface forcing module. :param cs: pointer to control struct returned by a previous surface_forcing_init call :param fluxes: [inout] A structure containing thermodynamic forcing fields [debug] xpath(./compounddef/compoundname[text()="mom_surface_forcing::surface_forcing_cs"]/..) match([('id', 'structmom__surface__forcing_1_1surface__forcing__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_surface_forcing::surface_forcing_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_surface_forcing::surface_forcing_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_surface_forcing::surface_forcing_cs', , { [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, forces, fluxes, day_start, day_interval, G, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::set_forcing', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::set_forcing', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, forces, tau_x0, tau_y0, day, G, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::wind_forcing_const', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::wind_forcing_const', , {}, [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, forces, day, G, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::wind_forcing_2gyre', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::wind_forcing_2gyre', , {}, [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, forces, day, G, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::wind_forcing_1gyre', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::wind_forcing_1gyre', , {}, [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, forces, day, G, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::wind_forcing_gyres', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::wind_forcing_gyres', , {}, [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, forces, day, G, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::neverworld_wind_forcing', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::neverworld_wind_forcing', [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, forces, day, G, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::scurve_wind_forcing', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::scurve_wind_forcing', , {} [debug] DoxygenMethodDocumenter format_signature called ((x, L)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::scurve', , {}, ['', 'Retur [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::scurve', , {}, ['', 'Retur [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, forces, day, G, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::wind_forcing_from_file', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::wind_forcing_from_file', , [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, forces, day, G, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::wind_forcing_by_data_override', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::buoyancy_forcing_zero', , [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, fluxes, day, dt, G, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::buoyancy_forcing_const', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::buoyancy_forcing_const', , [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, fluxes, day, dt, G, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::buoyancy_forcing_linear', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::buoyancy_forcing_linear', [debug] DoxygenMethodDocumenter format_signature called ((CS, G, Time, directory, time_stamped, filename_suffix)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::forcing_save_restart', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::forcing_save_restart', , { [debug] DoxygenMethodDocumenter format_signature called ((Time, G, US, param_file, diag, CS, tracer_flow_CSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::surface_forcing_init', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::surface_forcing_init', , { [debug] DoxygenMethodDocumenter format_signature called ((CS, fluxes)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::surface_forcing_end', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_surface_forcing::surface_forcing_end', , {} [fd] run(.. f:type:: surface_forcing_cs) [fd] sig(surface_forcing_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(surface_forcing_cs) arglist(None) [fd] fullname(mom_surface_forcing/surface_forcing_cs) ftype(None) [fd] name(('mom_surface_forcing/surface_forcing_cs', None)) sig(surface_forcing_cs) signode(type mom_surface_forcing/surface_forcing_cs) [fd] run(.. f:subroutine:: subroutine set_forcing(sfc_state, forces, fluxes, day_start, day_interval, G, US, CS)) [fd] sig(subroutine set_forcing(sfc_state, forces, fluxes, day_start, day_interval, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_forcing) arglist(sfc_state, forces, fluxes, day_start, day_interval, G, US, CS) [fd] fullname(mom_surface_forcing/set_forcing) ftype(None) [fd] name(('mom_surface_forcing/set_forcing', None)) sig(subroutine set_forcing(sfc_state, forces, fluxes, day_start, day_interval, G, US, CS)) signode(subroutine mom_surface_forcing/set_forcingsfc_stateforcesfluxesday_startday_intervalGUSCS) [fd] run(.. f:subroutine:: subroutine wind_forcing_const(sfc_state, forces, tau_x0, tau_y0, day, G, US, CS)) [fd] sig(subroutine wind_forcing_const(sfc_state, forces, tau_x0, tau_y0, day, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(wind_forcing_const) arglist(sfc_state, forces, tau_x0, tau_y0, day, G, US, CS) [fd] fullname(mom_surface_forcing/wind_forcing_const) ftype(None) [fd] name(('mom_surface_forcing/wind_forcing_const', None)) sig(subroutine wind_forcing_const(sfc_state, forces, tau_x0, tau_y0, day, G, US, CS)) signode(subroutine mom_surface_forcing/wind_forcing_constsfc_stateforcestau_x0tau_y0dayGUSCS) [fd] run(.. f:subroutine:: subroutine wind_forcing_2gyre(sfc_state, forces, day, G, US, CS)) [fd] sig(subroutine wind_forcing_2gyre(sfc_state, forces, day, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(wind_forcing_2gyre) arglist(sfc_state, forces, day, G, US, CS) [fd] fullname(mom_surface_forcing/wind_forcing_2gyre) ftype(None) [fd] name(('mom_surface_forcing/wind_forcing_2gyre', None)) sig(subroutine wind_forcing_2gyre(sfc_state, forces, day, G, US, CS)) signode(subroutine mom_surface_forcing/wind_forcing_2gyresfc_stateforcesdayGUSCS) [fd] run(.. f:subroutine:: subroutine wind_forcing_1gyre(sfc_state, forces, day, G, US, CS)) [fd] sig(subroutine wind_forcing_1gyre(sfc_state, forces, day, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(wind_forcing_1gyre) arglist(sfc_state, forces, day, G, US, CS) [fd] fullname(mom_surface_forcing/wind_forcing_1gyre) ftype(None) [fd] name(('mom_surface_forcing/wind_forcing_1gyre', None)) sig(subroutine wind_forcing_1gyre(sfc_state, forces, day, G, US, CS)) signode(subroutine mom_surface_forcing/wind_forcing_1gyresfc_stateforcesdayGUSCS) [fd] run(.. f:subroutine:: subroutine wind_forcing_gyres(sfc_state, forces, day, G, US, CS)) [fd] sig(subroutine wind_forcing_gyres(sfc_state, forces, day, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(wind_forcing_gyres) arglist(sfc_state, forces, day, G, US, CS) [fd] fullname(mom_surface_forcing/wind_forcing_gyres) ftype(None) [fd] name(('mom_surface_forcing/wind_forcing_gyres', None)) sig(subroutine wind_forcing_gyres(sfc_state, forces, day, G, US, CS)) signode(subroutine mom_surface_forcing/wind_forcing_gyressfc_stateforcesdayGUSCS) [fd] run(.. f:subroutine:: subroutine neverworld_wind_forcing(sfc_state, forces, day, G, US, CS)) [fd] sig(subroutine neverworld_wind_forcing(sfc_state, forces, day, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(neverworld_wind_forcing) arglist(sfc_state, forces, day, G, US, CS) [fd] fullname(mom_surface_forcing/neverworld_wind_forcing) ftype(None) [fd] name(('mom_surface_forcing/neverworld_wind_forcing', None)) sig(subroutine neverworld_wind_forcing(sfc_state, forces, day, G, US, CS)) signode(subroutine mom_surface_forcing/neverworld_wind_forcingsfc_stateforcesdayGUSCS) [fd] run(.. f:subroutine:: subroutine scurve_wind_forcing(sfc_state, forces, day, G, US, CS)) [fd] sig(subroutine scurve_wind_forcing(sfc_state, forces, day, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(scurve_wind_forcing) arglist(sfc_state, forces, day, G, US, CS) [fd] fullname(mom_surface_forcing/scurve_wind_forcing) ftype(None) [fd] name(('mom_surface_forcing/scurve_wind_forcing', None)) sig(subroutine scurve_wind_forcing(sfc_state, forces, day, G, US, CS)) signode(subroutine mom_surface_forcing/scurve_wind_forcingsfc_stateforcesdayGUSCS) [fd] run(.. f:function:: real function scurve(x, L)) [fd] sig(real function scurve(x, L)) [fd] ftype(real) objtype(function) modname(None) typename() name(scurve) arglist(x, L) [fd] fullname(mom_surface_forcing/scurve) ftype(real) [fd] name(('mom_surface_forcing/scurve', 'real')) sig(real function scurve(x, L)) signode(function mom_surface_forcing/scurvexL [real]) [fd] run(.. f:subroutine:: subroutine wind_forcing_from_file(sfc_state, forces, day, G, US, CS)) [fd] sig(subroutine wind_forcing_from_file(sfc_state, forces, day, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(wind_forcing_from_file) arglist(sfc_state, forces, day, G, US, CS) [fd] fullname(mom_surface_forcing/wind_forcing_from_file) ftype(None) [fd] name(('mom_surface_forcing/wind_forcing_from_file', None)) sig(subroutine wind_forcing_from_file(sfc_state, forces, day, G, US, CS)) signode(subroutine mom_surface_forcing/wind_forcing_from_filesfc_stateforcesdayGUSCS) [fd] run(.. f:subroutine:: subroutine wind_forcing_by_data_override(sfc_state, forces, day, G, US, CS)) [fd] sig(subroutine wind_forcing_by_data_override(sfc_state, forces, day, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(wind_forcing_by_data_override) arglist(sfc_state, forces, day, G, US, CS) [fd] fullname(mom_surface_forcing/wind_forcing_by_data_override) ftype(None) [fd] name(('mom_surface_forcing/wind_forcing_by_data_override', None)) sig(subroutine wind_forcing_by_data_override(sfc_state, forces, day, G, US, CS)) signode(subroutine mom_surface_forcing/wind_forcing_by_data_overridesfc_stateforcesdayGUSCS) [fd] run(.. f:subroutine:: subroutine buoyancy_forcing_from_files(sfc_state, fluxes, day, dt, G, US, CS)) [fd] sig(subroutine buoyancy_forcing_from_files(sfc_state, fluxes, day, dt, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(buoyancy_forcing_from_files) arglist(sfc_state, fluxes, day, dt, G, US, CS) [fd] fullname(mom_surface_forcing/buoyancy_forcing_from_files) ftype(None) [fd] name(('mom_surface_forcing/buoyancy_forcing_from_files', None)) sig(subroutine buoyancy_forcing_from_files(sfc_state, fluxes, day, dt, G, US, CS)) signode(subroutine mom_surface_forcing/buoyancy_forcing_from_filessfc_statefluxesdaydtGUSCS) [fd] run(.. f:subroutine:: subroutine buoyancy_forcing_from_data_override(sfc_state, fluxes, day, dt, G, US, CS)) [fd] sig(subroutine buoyancy_forcing_from_data_override(sfc_state, fluxes, day, dt, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(buoyancy_forcing_from_data_override) arglist(sfc_state, fluxes, day, dt, G, US, CS) [fd] fullname(mom_surface_forcing/buoyancy_forcing_from_data_override) ftype(None) [fd] name(('mom_surface_forcing/buoyancy_forcing_from_data_override', None)) sig(subroutine buoyancy_forcing_from_data_override(sfc_state, fluxes, day, dt, G, US, CS)) signode(subroutine mom_surface_forcing/buoyancy_forcing_from_data_overridesfc_statefluxesdaydtGUSCS) [fd] run(.. f:subroutine:: subroutine buoyancy_forcing_zero(sfc_state, fluxes, day, dt, G, CS)) [fd] sig(subroutine buoyancy_forcing_zero(sfc_state, fluxes, day, dt, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(buoyancy_forcing_zero) arglist(sfc_state, fluxes, day, dt, G, CS) [fd] fullname(mom_surface_forcing/buoyancy_forcing_zero) ftype(None) [fd] name(('mom_surface_forcing/buoyancy_forcing_zero', None)) sig(subroutine buoyancy_forcing_zero(sfc_state, fluxes, day, dt, G, CS)) signode(subroutine mom_surface_forcing/buoyancy_forcing_zerosfc_statefluxesdaydtGCS) [fd] run(.. f:subroutine:: subroutine buoyancy_forcing_const(sfc_state, fluxes, day, dt, G, US, CS)) [fd] sig(subroutine buoyancy_forcing_const(sfc_state, fluxes, day, dt, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(buoyancy_forcing_const) arglist(sfc_state, fluxes, day, dt, G, US, CS) [fd] fullname(mom_surface_forcing/buoyancy_forcing_const) ftype(None) [fd] name(('mom_surface_forcing/buoyancy_forcing_const', None)) sig(subroutine buoyancy_forcing_const(sfc_state, fluxes, day, dt, G, US, CS)) signode(subroutine mom_surface_forcing/buoyancy_forcing_constsfc_statefluxesdaydtGUSCS) [fd] run(.. f:subroutine:: subroutine buoyancy_forcing_linear(sfc_state, fluxes, day, dt, G, US, CS)) [fd] sig(subroutine buoyancy_forcing_linear(sfc_state, fluxes, day, dt, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(buoyancy_forcing_linear) arglist(sfc_state, fluxes, day, dt, G, US, CS) [fd] fullname(mom_surface_forcing/buoyancy_forcing_linear) ftype(None) [fd] name(('mom_surface_forcing/buoyancy_forcing_linear', None)) sig(subroutine buoyancy_forcing_linear(sfc_state, fluxes, day, dt, G, US, CS)) signode(subroutine mom_surface_forcing/buoyancy_forcing_linearsfc_statefluxesdaydtGUSCS) [fd] run(.. f:subroutine:: subroutine forcing_save_restart(CS, G, Time, directory, time_stamped, filename_suffix)) [fd] sig(subroutine forcing_save_restart(CS, G, Time, directory, time_stamped, filename_suffix)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(forcing_save_restart) arglist(CS, G, Time, directory, time_stamped, filename_suffix) [fd] fullname(mom_surface_forcing/forcing_save_restart) ftype(None) [fd] name(('mom_surface_forcing/forcing_save_restart', None)) sig(subroutine forcing_save_restart(CS, G, Time, directory, time_stamped, filename_suffix)) signode(subroutine mom_surface_forcing/forcing_save_restartCSGTimedirectorytime_stampedfilename_suffix) [fd] run(.. f:subroutine:: subroutine surface_forcing_init(Time, G, US, param_file, diag, CS, tracer_flow_CSp)) [fd] sig(subroutine surface_forcing_init(Time, G, US, param_file, diag, CS, tracer_flow_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(surface_forcing_init) arglist(Time, G, US, param_file, diag, CS, tracer_flow_CSp) [fd] fullname(mom_surface_forcing/surface_forcing_init) ftype(None) [fd] name(('mom_surface_forcing/surface_forcing_init', None)) sig(subroutine surface_forcing_init(Time, G, US, param_file, diag, CS, tracer_flow_CSp)) signode(subroutine mom_surface_forcing/surface_forcing_initTimeGUSparam_filediagCStracer_flow_CSp) [fd] run(.. f:subroutine:: subroutine surface_forcing_end(CS, fluxes)) [fd] sig(subroutine surface_forcing_end(CS, fluxes)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(surface_forcing_end) arglist(CS, fluxes) [fd] fullname(mom_surface_forcing/surface_forcing_end) ftype(None) [fd] name(('mom_surface_forcing/surface_forcing_end', None)) sig(subroutine surface_forcing_end(CS, fluxes)) signode(subroutine mom_surface_forcing/surface_forcing_endCSfluxes) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 55%] api/generated/modules/mom_surface_forcing_gfdl [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_surface_ [app] emitting event: 'source-read'('api/generated/modules/mom_surface_forcing_gfdl', ['.. autodoxymodule:: mom_surface_forcing_gfdl\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_surface_forcing_gfdl.rst:1: input: .. autodoxymodule:: mom_surface_forcing_gfdl :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_surface_forcing_gfdl::ice_ocean_boundary_type ~mom_surface_forcing_gfdl::surface_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_surface_forcing_gfdl::convert_iob_to_fluxes ~mom_surface_forcing_gfdl::convert_iob_to_forces ~mom_surface_forcing_gfdl::extract_iob_stresses ~mom_surface_forcing_gfdl::apply_flux_adjustments ~mom_surface_forcing_gfdl::apply_force_adjustments ~mom_surface_forcing_gfdl::forcing_save_restart ~mom_surface_forcing_gfdl::surface_forcing_init ~mom_surface_forcing_gfdl::surface_forcing_end ~mom_surface_forcing_gfdl::ice_ocn_bnd_type_chksum ~mom_surface_forcing_gfdl::check_mask_val_consistency [debug] xpath(./compounddef/compoundname[text()="mom_surface_forcing_gfdl"]/..) match([('id', 'namespacemom__surface__forcing__gfdl'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_surface_forcing_gfdl module reference [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_surface_forcing_gfdl', , {'members': , {'members': , {'members': , {'members': , {'members': ), ('mom_surface_forcing_gfdl::surface_forcing_cs', )]) [autodoc] module analyzer failed: error importing 'mom_surface_forcing_gfdl' (exception was: ModuleNotFoundError("No module named 'mom_surface_forcing_gfdl'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_surface_forcing_gfdl::ice_ocean_boundary_type', ]) [debug] ref([('id', 'structmom__surface__forcing__gfdl_1_1ice__ocean__boundary__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::ice_ocean_boundary_type', [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_surface_forcing_gfdl::surface_forcing_cs', [debug] members([('convert_iob_to_fluxes', ), ('convert_iob_to_forces', ), ('extract_iob_stresses', ), ('apply_flux_adjustments', ), ('apply_force_adjustments', ), ('forcing_save_restart', ), ('surface_forcing_init', ), ('surface_forcing_end', ), ('ice_ocn_bnd_type_chksum', ), ('check_mask_val_consistency', )]) [autodoc] module analyzer failed: error importing 'mom_surface_forcing_gfdl' (exception was: ModuleNotFoundError("No module named 'mom_surface_forcing_gfdl'")) [debug] DoxygenMethodDocumenter format_signature called ((IOB, fluxes, index_bounds, Time, valid_time, G, US, CS, sfc_state)) [debug] add_directive_header sig((IOB, fluxes, index_bounds, Time, valid_time, G, US, CS, sfc_state)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine convert_iob_to_fluxes) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'convert_iob_to_fluxes', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `More... `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_surface_forcing_gfdl::ice_ocean_boundary_type ~mom_surface_forcing_gfdl::surface_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_surface_forcing_gfdl::convert_iob_to_fluxes ~mom_surface_forcing_gfdl::convert_iob_to_forces ~mom_surface_forcing_gfdl::extract_iob_stresses ~mom_surface_forcing_gfdl::apply_flux_adjustments ~mom_surface_forcing_gfdl::apply_force_adjustments ~mom_surface_forcing_gfdl::forcing_save_restart ~mom_surface_forcing_gfdl::surface_forcing_init ~mom_surface_forcing_gfdl::surface_forcing_end ~mom_surface_forcing_gfdl::ice_ocn_bnd_type_chksum ~mom_surface_forcing_gfdl::check_mask_val_consistency .. _DETAmom_surface_forcing_gfdl: -------------------- Detailed Description -------------------- ------------------ Type Documentation ------------------ .. f:type:: ice_ocean_boundary_type :f:func:`ice_ocean_boundary_type` is a structure corresponding to forcing, but with the elements, units, and conventions that exactly conform to the use for MOM6-based coupled models. is a structure corresponding to forcing, but with the elements, units, and conventions that exactly conform to the use for MOM6-based coupled models. :typefield real(\:,\:) u_flux [pointer]: i-direction wind stress [Pa] :typefield real(\:,\:) v_flux [pointer]: j-direction wind stress [Pa] :typefield real(\:,\:) t_flux [pointer]: sensible heat flux [W m-2] :typefield real(\:,\:) q_flux [pointer]: specific humidity flux [kg m-2 s-1] :typefield real(\:,\:) salt_flux [pointer]: salt flux [kg m-2 s-1] :typefield real(\:,\:) lw_flux [pointer]: long wave radiation [W m-2] :typefield real(\:,\:) sw_flux_vis_dir [pointer]: direct visible sw radiation [W m-2] :typefield real(\:,\:) sw_flux_vis_dif [pointer]: diffuse visible sw radiation [W m-2] :typefield real(\:,\:) sw_flux_nir_dir [pointer]: direct Near InfraRed sw radiation [W m-2] :typefield real(\:,\:) sw_flux_nir_dif [pointer]: diffuse Near InfraRed sw radiation [W m-2] :typefield real(\:,\:) lprec [pointer]: mass flux of liquid precip [kg m-2 s-1] :typefield real(\:,\:) fprec [pointer]: mass flux of frozen precip [kg m-2 s-1] :typefield real(\:,\:) runoff [pointer]: mass flux of liquid runoff [kg m-2 s-1] :typefield real(\:,\:) calving [pointer]: mass flux of frozen runoff [kg m-2 s-1] :typefield real(\:,\:) stress_mag [pointer]: The time-mean magnitude of the stress on the ocean [Pa]. :typefield real(\:,\:) ustar_berg [pointer]: frictional velocity beneath icebergs [m s-1] :typefield real(\:,\:) area_berg [pointer]: fractional area covered by icebergs [m2 m-2] :typefield real(\:,\:) mass_berg [pointer]: mass of icebergs per unit ocean area [kg m-2] :typefield real(\:,\:) runoff_hflx [pointer]: heat content of liquid runoff [W m-2] :typefield real(\:,\:) calving_hflx [pointer]: heat content of frozen runoff [W m-2] :typefield real(\:,\:) p [pointer]: pressure of overlying ice and atmosphere on ocean surface [Pa] :typefield real(\:,\:) mi [pointer]: mass of ice per unit ocean area [kg m-2] :typefield real(\:,\:) ice_rigidity [pointer]: rigidity of the sea ice, sea-ice and ice-shelves, expressed as a coefficient for divergence damping, as determined outside of the ocean model [m3 s-1] :typefield integer xtype: The type of the exchange - REGRID, REDIST or DIRECT. :typefield type(coupler_2d_bc_type) fluxes: A structure that may contain an array of named fields used for passive tracer fluxes. :typefield integer wind_stagger: A flag indicating the spatial discretization of wind stresses. This flag may be set by the flux-exchange code, based on what the sea-ice model is providing. Otherwise, the value from the surface_forcing_CS is used. .. f:type:: surface_forcing_cs surface_forcing_CS is a structure containing pointers to the forcing fields which may be used to drive MOM. All fluxes are positive downward. :typefield integer wind_stagger: AGRID, BGRID_NE, or CGRID_NE (integer values from MOM_domains) to indicate the staggering of the winds that are being provided in calls to update_ocean_model. :typefield logical use_temperature: If true, temp and saln used as state variables. :typefield real wind_stress_multiplier: A multiplier applied to incoming wind stress [nondim]. :typefield real rho0: Boussinesq reference density [R ~> kg m-3]. :typefield real area_surf: Total ocean surface area [m2]. :typefield real latent_heat_fusion: Latent heat of fusion [J kg-1]. :typefield real latent_heat_vapor: Latent heat of vaporization [J kg-1]. :typefield real max_p_surf: The maximum surface pressure that can be exerted by the atmosphere and floating sea-ice [R L2 T-2 ~> Pa]. This is needed because the FMS coupling structure does not limit the water that can be frozen out of the ocean and the ice-ocean heat fluxes are treated explicitly. :typefield logical use_limited_p_ssh: If true, return the sea surface height with the correction for the atmospheric (and sea-ice) pressure limited by max_p_surf instead of the full atmospheric pressure. The default is true. :typefield logical approx_net_mass_src: If true, use the net mass sources from the ice-ocean boundary type without any further adjustments to drive the ocean dynamics. The actual net mass source may differ due to corrections. :typefield real gust_const: Constant unresolved background gustiness for ustar [R L Z T-1 ~> Pa]. :typefield logical read_gust_2d: If true, use a 2-dimensional gustiness supplied from an input file. :typefield real(\:,\:) tke_tidal [pointer]: Turbulent kinetic energy introduced to the bottom boundary layer. :typefield real(\:,\:) gust [pointer]: A spatially varying unresolved background gustiness that. :typefield real(\:,\:) ustar_tidal [pointer]: Tidal contribution to the bottom friction velocity [Z T-1 ~> m s-1]. :typefield real cd_tides: Drag coefficient that applies to the tides (nondimensional) :typefield real utide: Constant tidal velocity to use if read_tideamp is false [Z T-1 ~> m s-1]. :typefield logical read_tideamp: If true, spatially varying tidal amplitude read from a file. :typefield logical rigid_sea_ice: If true, sea-ice exerts a rigidity that acts to damp surface deflections (especially surface gravity waves). The default is false. :typefield real g_earth: Gravitational acceleration [L2 Z-1 T-2 ~> m s-2]. :typefield real kv_sea_ice: Viscosity in sea-ice that resists sheared vertical motions [L4 Z-2 T-1 ~> m2 s-1]. :typefield real density_sea_ice: Typical density of sea-ice [R ~> kg m-3]. The value is only used to convert the ice pressure into appropriate units for use with Kv_sea_ice. :typefield real rigid_sea_ice_mass: A mass per unit area of sea-ice beyond which sea-ice viscosity becomes effective [R Z ~> kg m-2], typically of order 1000 kg m-2. :typefield logical allow_flux_adjustments: If true, use data_override to obtain flux adjustments. :typefield logical restore_salt: If true, the coupled MOM driver adds a term to restore surface salinity to a specified value. :typefield logical restore_temp: If true, the coupled MOM driver adds a term to restore sea surface temperature to a specified value. :typefield real flux_const: Piston velocity for surface restoring [Z T-1 ~> m s-1]. :typefield logical salt_restore_as_sflux: If true, SSS restore as salt flux instead of water flux. :typefield logical adjust_net_srestore_to_zero: Adjust srestore to zero (for both salt_flux or vprec) :typefield logical adjust_net_srestore_by_scaling: Adjust srestore w/o moving zero contour. :typefield logical adjust_net_fresh_water_to_zero: Adjust net surface fresh-water (with restoring) to zero. :typefield logical use_net_fw_adjustment_sign_bug: Use the wrong sign when adjusting net FW. :typefield logical adjust_net_fresh_water_by_scaling: Adjust net surface fresh-water w/o moving zero contour. :typefield logical mask_srestore_under_ice: If true, use an ice mask defined by frazil criteria for salinity restoring. :typefield real ice_salt_concentration: Salt concentration for sea ice [kg/kg]. :typefield logical mask_srestore_marginal_seas: If true, then mask SSS restoring in marginal seas. :typefield real max_delta_srestore: Maximum delta salinity used for restoring. :typefield real max_delta_trestore: Maximum delta sst used for restoring. :typefield real(\:,\:) basin_mask [pointer]: Mask for surface salinity restoring by basin. :typefield logical answers_2018: If true, use the order of arithmetic and expressions that recover the answers from the end of 2018. Otherwise, use a simpler expression to calculate gustiness. :typefield logical fix_ustar_gustless_bug: If true correct a bug in the time-averaging of the gustless wind friction velocity. :typefield logical check_no_land_fluxes: Return warning if IOB flux over land is non-zero. :typefield type(diag_ctrl) diag [pointer]: Structure to regulate diagnostic output timing. :typefield character (len=200) inputdir: Directory where NetCDF input files are. :typefield character (len=200) salt_restore_file: Filename for salt restoring data. :typefield character (len=30) salt_restore_var_name: Name of surface salinity in salt_restore_file. :typefield logical mask_srestore: If true, apply a 2-dimensional mask to the surface salinity restoring fluxes. The masking file should be in inputdir/salt_restore_mask.nc and the field should be named 'mask'. :typefield real(\:,\:) srestore_mask [pointer]: mask for SSS restoring :typefield character (len=200) temp_restore_file: Filename for sst restoring data. :typefield character (len=30) temp_restore_var_name: Name of surface temperature in temp_restore_file. :typefield logical mask_trestore: If true, apply a 2-dimensional mask to the surface temperature restoring fluxes. The masking file should be in inputdir/temp_restore_mask.nc and the field should be named 'mask'. :typefield real(\:,\:) trestore_mask [pointer]: Mask for SST restoring. :typefield integer id_srestore: An id number for time_interp_external. :typefield integer id_trestore: An id number for time_interp_external. :typefield type(forcing_diags) handles [public]: Diagnostics handles. :typefield type(mom_restart_cs) restart_csp [pointer]: A pointer to the restart control structure. :typefield type(user_revise_forcing_cs) urf_cs [pointer]: A control structure for user forcing revisions. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine convert_iob_to_fluxes(IOB, fluxes, index_bounds, Time, valid_time, G, US, CS, sfc_state) This subroutine translates the Ice_ocean_boundary_type into a MOM thermodynamic forcing type, including changes of units, sign conventions, and putting the fields into arrays with MOM-standard halos. :param iob: [in] An ice-ocean boundary type with fluxes to drive :param fluxes: [inout] A structure containing pointers to all possible mass, heat or salt flux forcing fields. Unused fields have NULL ptrs. :param index_bounds: [in] The i- and j- size of the arrays in IOB. :param time: [in] The time of the fluxes, used for interpolating the salinity to the right time, when it is being restored. :param valid_time: [in] The amount of time over which these fluxes should be applied [s]. :param g: [inout] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: A pointer to the control structure returned by a previous call to surface_forcing_init. :param sfc_state: [in] A structure containing fields that describe the surface state of the ocean. :callto: :f:func:`mom_spatial_means::adjust_area_mean_to_zero ` :callto: :f:func:`apply_flux_adjustments ` :callto: :f:func:`check_mask_val_consistency ` :callto: :f:func:`extract_iob_stresses ` :callto: :f:func:`id_clock_forcing ` .. f:subroutine:: subroutine convert_iob_to_forces(IOB, forces, index_bounds, Time, G, US, CS, dt_forcing, reset_avg) This subroutine translates the Ice_ocean_boundary_type into a MOM mechanical forcing type, including changes of units, sign conventions, and putting the fields into arrays with MOM-standard halos. :param iob: [in] An ice-ocean boundary type with fluxes to drive :param forces: [inout] A structure with the driving mechanical forces :param index_bounds: [in] The i- and j- size of the arrays in IOB. :param time: [in] The time of the fluxes, used for interpolating the salinity to the right time, when it is being restored. :param g: [inout] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: A pointer to the control structure returned by a previous call to surface_forcing_init. :param dt_forcing: [in] A time interval over which to apply the current value of ustar as a weighted running average [s], or if 0 do not average ustar. Missing is equivalent to 0. :param reset_avg: [in] If true, reset the time average. :callto: :f:func:`apply_force_adjustments ` :callto: :f:func:`extract_iob_stresses ` :callto: :f:func:`id_clock_forcing ` .. f:subroutine:: subroutine extract_iob_stresses(IOB, index_bounds, Time, G, US, CS, taux, tauy, ustar, gustless_ustar, tau_halo) This subroutine extracts the wind stresses and related fields like ustar from an Ice_ocean_boundary_type into optional argument arrays, including changes of units, sign conventions, and putting the fields into arrays with MOM-standard sized halos. :param iob: [in] An ice-ocean boundary type with fluxes to drive :param index_bounds: [in] The i- and j- size of the arrays in IOB. :param time: [in] The time of the fluxes, used for interpolating the salinity to the right time, when it is being restored. :param g: [inout] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: A pointer to the control structure returned by a previous call to surface_forcing_init. :param taux: [inout] The zonal wind stresses on a C-grid [R Z L T-2 ~> Pa]. :param tauy: [inout] The meridional wind stresses on a C-grid [R Z L T-2 ~> Pa]. :param ustar: [inout] The surface friction velocity [Z T-1 ~> m s-1]. :param gustless_ustar: [out] The surface friction velocity without :param tau_halo: [in] The halo size of wind stresses to set, 0 by default. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`convert_iob_to_fluxes ` :calledfrom: :f:func:`convert_iob_to_forces ` .. f:subroutine:: subroutine apply_flux_adjustments(G, US, CS, Time, fluxes) Adds thermodynamic flux adjustments obtained via data_override Component name is 'OCN' Available adjustments are: * hflx_adj (Heat flux into the ocean [W m-2]) * sflx_adj (Salt flux into the ocean [kg salt m-2 s-1]) * prcme_adj (Fresh water flux into the ocean [kg m-2 s-1]) :param g: [inout] Ocean grid structure :param us: [in] A dimensional unit scaling type :param cs: Surface forcing control structure :param time: [in] Model time structure :param fluxes: [inout] Surface fluxes structure :calledfrom: :f:func:`convert_iob_to_fluxes ` .. f:subroutine:: subroutine apply_force_adjustments(G, US, CS, Time, forces) Adds mechanical forcing adjustments obtained via data_override Component name is 'OCN' Available adjustments are: * taux_adj (Zonal wind stress delta, positive to the east [Pa]) * tauy_adj (Meridional wind stress delta, positive to the north [Pa]) :param g: [inout] Ocean grid structure :param us: [in] A dimensional unit scaling type :param cs: Surface forcing control structure :param time: [in] Model time structure :param forces: [inout] A structure with the driving mechanical forces :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`convert_iob_to_forces ` .. f:subroutine:: subroutine forcing_save_restart(CS, G, Time, directory, time_stamped, filename_suffix) Save any restart files associated with the surface forcing. :param cs: A pointer to the control structure returned by a previous call to surface_forcing_init :param g: [inout] The ocean's grid structure :param time: [in] The current model time :param directory: [in] The directory into which to write the restart files :param time_stamped: [in] If true, the restart file names include a unique time stamp. The default is false. :param filename_suffix: [in] An optional suffix (e.g., a time- stamp) to append to the restart file names. :callto: :f:func:`mom_restart::save_restart ` :calledfrom: :f:func:`ocean_model_mod::ocean_model_restart ` :calledfrom: :f:func:`ocean_model_mod::ocean_model_save_restart ` .. f:subroutine:: subroutine surface_forcing_init(Time, G, US, param_file, diag, CS, wind_stagger) Initialize the surface forcing, including setting parameters and allocating permanent memory. :param time: [in] The current model time :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :param diag: [inout] A structure that is used to regulate diagnostic output :param cs: A pointer that is set to point to the control structure for this module :param wind_stagger: [in] If present, the staggering of the winds that are being provided in calls to update_ocean_model :callto: :f:func:`mom_get_input::get_mom_input ` :callto: :f:func:`id_clock_forcing ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_restart::restart_init_end ` :callto: :f:func:`mom_restart::restore_state ` :callto: :f:func:`mom_string_functions::uppercase ` .. f:subroutine:: subroutine surface_forcing_end(CS, fluxes) Clean up and deallocate any memory associated with this module and its children. :param cs: A pointer to the control structure returned by a previous call to surface_forcing_init, it will be deallocated here. :param fluxes: [inout] A structure containing pointers to all possible mass, heat or salt flux forcing fields. If present, it will be deallocated here. .. f:subroutine:: subroutine ice_ocn_bnd_type_chksum(id, timestep, iobt) Write out a set of messages with checksums of the fields in an ice_ocen_boundary type. :param id: [in] An identifying string for this call :param timestep: [in] The number of elapsed timesteps :param iobt: [in] An ice-ocean boundary type with fluxes to drive the .. f:subroutine:: subroutine check_mask_val_consistency(val, mask, i, j, varname, G) Check the values passed by IOB over land are zero. :param val: [in] value of flux/variable passed by IOB :param mask: [in] value of ocean mask :param i: [in] model grid cell indices :param j: [in] model grid cell indices :param varname: [in] variable name :param g: [in] The ocean's grid structure :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`convert_iob_to_fluxes ` [debug] xpath(./compounddef/compoundname[text()="mom_surface_forcing_gfdl::ice_ocean_boundary_type"]/..) match([('id', 'structmom__surface__forcing__gfdl_1_1ice__ocean__boundary__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__surface__forcing__gfdl_1_1ice__ocean__boundary__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__surface__forcing__gfdl_1_1ice__ocean__boundary__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_surface_forcing_gfdl::ice_ocean_boundary_type', type mom_surface_forcing_gfdl/ice_ocean_boundary_type) [fd] run(.. f:type:: surface_forcing_cs) [fd] sig(surface_forcing_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(surface_forcing_cs) arglist(None) [fd] fullname(mom_surface_forcing_gfdl/surface_forcing_cs) ftype(None) [fd] name(('mom_surface_forcing_gfdl/surface_forcing_cs', None)) sig(surface_forcing_cs) signode(type mom_surface_forcing_gfdl/surface_forcing_cs) [fd] run(.. f:subroutine:: subroutine convert_iob_to_fluxes(IOB, fluxes, index_bounds, Time, valid_time, G, US, CS, sfc_state)) [fd] sig(subroutine convert_iob_to_fluxes(IOB, fluxes, index_bounds, Time, valid_time, G, US, CS, sfc_state)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(convert_iob_to_fluxes) arglist(IOB, fluxes, index_bounds, Time, valid_time, G, US, CS, sfc_state) [fd] fullname(mom_surface_forcing_gfdl/convert_iob_to_fluxes) ftype(None) [fd] name(('mom_surface_forcing_gfdl/convert_iob_to_fluxes', None)) sig(subroutine convert_iob_to_fluxes(IOB, fluxes, index_bounds, Time, valid_time, G, US, CS, sfc_state)) signode(subroutine mom_surface_forcing_gfdl/convert_iob_to_fluxesIOBfluxesindex_boundsTimevalid_timeGUSCSsfc_state) [fd] run(.. f:subroutine:: subroutine convert_iob_to_forces(IOB, forces, index_bounds, Time, G, US, CS, dt_forcing, reset_avg)) [fd] sig(subroutine convert_iob_to_forces(IOB, forces, index_bounds, Time, G, US, CS, dt_forcing, reset_avg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(convert_iob_to_forces) arglist(IOB, forces, index_bounds, Time, G, US, CS, dt_forcing, reset_avg) [fd] fullname(mom_surface_forcing_gfdl/convert_iob_to_forces) ftype(None) [fd] name(('mom_surface_forcing_gfdl/convert_iob_to_forces', None)) sig(subroutine convert_iob_to_forces(IOB, forces, index_bounds, Time, G, US, CS, dt_forcing, reset_avg)) signode(subroutine mom_surface_forcing_gfdl/convert_iob_to_forcesIOBforcesindex_boundsTimeGUSCSdt_forcingreset_avg) [fd] run(.. f:subroutine:: subroutine extract_iob_stresses(IOB, index_bounds, Time, G, US, CS, taux, tauy, ustar, gustless_ustar, tau_halo)) [fd] sig(subroutine extract_iob_stresses(IOB, index_bounds, Time, G, US, CS, taux, tauy, ustar, gustless_ustar, tau_halo)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(extract_iob_stresses) arglist(IOB, index_bounds, Time, G, US, CS, taux, tauy, ustar, gustless_ustar, tau_halo) [fd] fullname(mom_surface_forcing_gfdl/extract_iob_stresses) ftype(None) [fd] name(('mom_surface_forcing_gfdl/extract_iob_stresses', None)) sig(subroutine extract_iob_stresses(IOB, index_bounds, Time, G, US, CS, taux, tauy, ustar, gustless_ustar, tau_halo)) signode(subroutine mom_surface_forcing_gfdl/extract_iob_stressesIOBindex_boundsTimeGUSCStauxtauyustargustless_ustartau_halo) [fd] run(.. f:subroutine:: subroutine apply_flux_adjustments(G, US, CS, Time, fluxes)) [fd] sig(subroutine apply_flux_adjustments(G, US, CS, Time, fluxes)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(apply_flux_adjustments) arglist(G, US, CS, Time, fluxes) [fd] fullname(mom_surface_forcing_gfdl/apply_flux_adjustments) ftype(None) [fd] name(('mom_surface_forcing_gfdl/apply_flux_adjustments', None)) sig(subroutine apply_flux_adjustments(G, US, CS, Time, fluxes)) signode(subroutine mom_surface_forcing_gfdl/apply_flux_adjustmentsGUSCSTimefluxes) [fd] run(.. f:subroutine:: subroutine apply_force_adjustments(G, US, CS, Time, forces)) [fd] sig(subroutine apply_force_adjustments(G, US, CS, Time, forces)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(apply_force_adjustments) arglist(G, US, CS, Time, forces) [fd] fullname(mom_surface_forcing_gfdl/apply_force_adjustments) ftype(None) [fd] name(('mom_surface_forcing_gfdl/apply_force_adjustments', None)) sig(subroutine apply_force_adjustments(G, US, CS, Time, forces)) signode(subroutine mom_surface_forcing_gfdl/apply_force_adjustmentsGUSCSTimeforces) [fd] run(.. f:subroutine:: subroutine forcing_save_restart(CS, G, Time, directory, time_stamped, filename_suffix)) [fd] sig(subroutine forcing_save_restart(CS, G, Time, directory, time_stamped, filename_suffix)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(forcing_save_restart) arglist(CS, G, Time, directory, time_stamped, filename_suffix) [fd] fullname(mom_surface_forcing_gfdl/forcing_save_restart) ftype(None) [fd] name(('mom_surface_forcing_gfdl/forcing_save_restart', None)) sig(subroutine forcing_save_restart(CS, G, Time, directory, time_stamped, filename_suffix)) signode(subroutine mom_surface_forcing_gfdl/forcing_save_restartCSGTimedirectorytime_stampedfilename_suffix) [fd] run(.. f:subroutine:: subroutine surface_forcing_init(Time, G, US, param_file, diag, CS, wind_stagger)) [fd] sig(subroutine surface_forcing_init(Time, G, US, param_file, diag, CS, wind_stagger)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(surface_forcing_init) arglist(Time, G, US, param_file, diag, CS, wind_stagger) [fd] fullname(mom_surface_forcing_gfdl/surface_forcing_init) ftype(None) [fd] name(('mom_surface_forcing_gfdl/surface_forcing_init', None)) sig(subroutine surface_forcing_init(Time, G, US, param_file, diag, CS, wind_stagger)) signode(subroutine mom_surface_forcing_gfdl/surface_forcing_initTimeGUSparam_filediagCSwind_stagger) [fd] run(.. f:subroutine:: subroutine surface_forcing_end(CS, fluxes)) [fd] sig(subroutine surface_forcing_end(CS, fluxes)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(surface_forcing_end) arglist(CS, fluxes) [fd] fullname(mom_surface_forcing_gfdl/surface_forcing_end) ftype(None) [fd] name(('mom_surface_forcing_gfdl/surface_forcing_end', None)) sig(subroutine surface_forcing_end(CS, fluxes)) signode(subroutine mom_surface_forcing_gfdl/surface_forcing_endCSfluxes) [fd] run(.. f:subroutine:: subroutine ice_ocn_bnd_type_chksum(id, timestep, iobt)) [fd] sig(subroutine ice_ocn_bnd_type_chksum(id, timestep, iobt)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ice_ocn_bnd_type_chksum) arglist(id, timestep, iobt) [fd] fullname(mom_surface_forcing_gfdl/ice_ocn_bnd_type_chksum) ftype(None) [fd] name(('mom_surface_forcing_gfdl/ice_ocn_bnd_type_chksum', None)) sig(subroutine ice_ocn_bnd_type_chksum(id, timestep, iobt)) signode(subroutine mom_surface_forcing_gfdl/ice_ocn_bnd_type_chksumidtimestepiobt) [fd] run(.. f:subroutine:: subroutine check_mask_val_consistency(val, mask, i, j, varname, G)) [fd] sig(subroutine check_mask_val_consistency(val, mask, i, j, varname, G)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_mask_val_consistency) arglist(val, mask, i, j, varname, G) [fd] fullname(mom_surface_forcing_gfdl/check_mask_val_consistency) ftype(None) [fd] name(('mom_surface_forcing_gfdl/check_mask_val_consistency', None)) sig(subroutine check_mask_val_consistency(val, mask, i, j, varname, G)) signode(subroutine mom_surface_forcing_gfdl/check_mask_val_consistencyvalmaskijvarnameG) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 55%] api/generated/modules/mom_tfreeze [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_tfreeze' [app] emitting event: 'source-read'('api/generated/modules/mom_tfreeze', ['.. autodoxymodule:: mom_tfreeze\n :members:\n :methods:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_tfreeze.rst:1: input: .. autodoxymodule:: mom_tfreeze :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tfreeze::calculate_tfreeze_linear_scalar ~mom_tfreeze::calculate_tfreeze_linear_array ~mom_tfreeze::calculate_tfreeze_millero_scalar ~mom_tfreeze::calculate_tfreeze_millero_array ~mom_tfreeze::calculate_tfreeze_teos10_scalar ~mom_tfreeze::calculate_tfreeze_teos10_array [debug] xpath(./compounddef/compoundname[text()="mom_tfreeze"]/..) match([('id', 'namespacemom__tfreeze'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_tfreeze module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tfreeze', , {'members': , {'members': , {'members': ), ('calculate_tfreeze_linear_array', ), ('calculate_tfreeze_millero_scalar', ), ('calculate_tfreeze_millero_array', ), ('calculate_tfreeze_teos10_scalar', ), ('calculate_tfreeze_teos10_array', )]) [autodoc] module analyzer failed: error importing 'mom_tfreeze' (exception was: ModuleNotFoundError("No module named 'mom_tfreeze'")) [debug] DoxygenMethodDocumenter format_signature called ((S, pres, T_Fr, TFr_S0_P0, dTFr_dS, dTFr_dp)) [debug] add_directive_header sig((S, pres, T_Fr, TFr_S0_P0, dTFr_dS, dTFr_dp)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_tfreeze_linear_scalar) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_tfreeze_linear_scalar', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_tfreeze_linear_scalar', , {'members': [autodoc] module analyzer failed: error importing 'mom_tfreeze' (exception was: ModuleNotFoundError("No module named 'mom_tfreeze'")) [debug] DoxygenMethodDocumenter format_signature called ((S, pres, T_Fr, start, npts, TFr_S0_P0, dTFr_dS, dTFr_dp)) [debug] add_directive_header sig((S, pres, T_Fr, start, npts, TFr_S0_P0, dTFr_dS, dTFr_dp)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_tfreeze_linear_array) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_tfreeze_linear_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_tfreeze_linear_array', , {'members': [autodoc] module analyzer failed: error importing 'mom_tfreeze' (exception was: ModuleNotFoundError("No module named 'mom_tfreeze'")) [debug] DoxygenMethodDocumenter format_signature called ((S, pres, T_Fr)) [debug] add_directive_header sig((S, pres, T_Fr)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_tfreeze_millero_scalar) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_tfreeze_millero_scalar', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_tfreeze_millero_scalar', , {'members' [autodoc] module analyzer failed: error importing 'mom_tfreeze' (exception was: ModuleNotFoundError("No module named 'mom_tfreeze'")) [debug] DoxygenMethodDocumenter format_signature called ((S, pres, T_Fr, start, npts)) [debug] add_directive_header sig((S, pres, T_Fr, start, npts)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_tfreeze_millero_array) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_tfreeze_millero_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_tfreeze_millero_array', , {'members': [autodoc] module analyzer failed: error importing 'mom_tfreeze' (exception was: ModuleNotFoundError("No module named 'mom_tfreeze'")) [debug] DoxygenMethodDocumenter format_signature called ((S, pres, T_Fr)) [debug] add_directive_header sig((S, pres, T_Fr)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_tfreeze_teos10_scalar) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_tfreeze_teos10_scalar', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_tfreeze_teos10_scalar', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_tfreeze_teos10_scalar', , {'members': [autodoc] module analyzer failed: error importing 'mom_tfreeze' (exception was: ModuleNotFoundError("No module named 'mom_tfreeze'")) [debug] DoxygenMethodDocumenter format_signature called ((S, pres, T_Fr, start, npts)) [debug] add_directive_header sig((S, pres, T_Fr, start, npts)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine calculate_tfreeze_teos10_array) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_tfreeze_teos10_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_tfreeze_teos10_array', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'calculate_tfreeze_teos10_array', , {'members': [autodoc] output: ============================ mom_tfreeze module reference ============================ .. f:module:: mom_tfreeze Freezing point expressions. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tfreeze::calculate_tfreeze_linear_scalar ~mom_tfreeze::calculate_tfreeze_linear_array ~mom_tfreeze::calculate_tfreeze_millero_scalar ~mom_tfreeze::calculate_tfreeze_millero_array ~mom_tfreeze::calculate_tfreeze_teos10_scalar ~mom_tfreeze::calculate_tfreeze_teos10_array .. _DETAmom_tfreeze: -------------------- Detailed Description -------------------- Freezing point expressions. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine calculate_tfreeze_linear_scalar(S, pres, T_Fr, TFr_S0_P0, dTFr_dS, dTFr_dp) This subroutine computes the freezing point potential temperature [degC] from salinity [ppt], and pressure [Pa] using a simple linear expression, with coefficients passed in as arguments. :param s: [in] salinity [ppt]. :param pres: [in] pressure [Pa]. :param t_fr: [out] Freezing point potential temperature [degC]. :param tfr_s0_p0: [in] The freezing point at S=0, p=0 [degC]. :param dtfr_ds: [in] The derivative of freezing point with salinity, [degC ppt-1]. :param dtfr_dp: [in] The derivative of freezing point with pressure, [degC Pa-1]. .. f:subroutine:: subroutine calculate_tfreeze_linear_array(S, pres, T_Fr, start, npts, TFr_S0_P0, dTFr_dS, dTFr_dp) This subroutine computes an array of freezing point potential temperatures [degC] from salinity [ppt], and pressure [Pa] using a simple linear expression, with coefficients passed in as arguments. :param s: [in] salinity [ppt]. :param pres: [in] pressure [Pa]. :param t_fr: [out] Freezing point potential temperature [degC]. :param start: [in] the starting point in the arrays. :param npts: [in] the number of values to calculate. :param tfr_s0_p0: [in] The freezing point at S=0, p=0, [degC]. :param dtfr_ds: [in] The derivative of freezing point with salinity, [degC PSU-1]. :param dtfr_dp: [in] The derivative of freezing point with pressure, [degC Pa-1]. .. f:subroutine:: subroutine calculate_tfreeze_millero_scalar(S, pres, T_Fr) This subroutine computes the freezing point potential temperature [degC] from salinity [ppt], and pressure [Pa] using the expression from Millero (1978) (and in appendix A of Gill 1982), but with the of the pressure dependence changed from 7.53e-8 to 7.75e-8 to make this an expression for potential temperature (not in situ temperature), using a value that is correct at the freezing point at 35 PSU and 5e6 Pa (500 dbar). :param s: [in] Salinity in PSU. :param pres: [in] Pressure [Pa]. :param t_fr: [out] Freezing point potential temperature [degC]. .. f:subroutine:: subroutine calculate_tfreeze_millero_array(S, pres, T_Fr, start, npts) This subroutine computes the freezing point potential temperature [degC] from salinity [ppt], and pressure [Pa] using the expression from Millero (1978) (and in appendix A of Gill 1982), but with the of the pressure dependence changed from 7.53e-8 to 7.75e-8 to make this an expression for potential temperature (not in situ temperature), using a value that is correct at the freezing point at 35 PSU and 5e6 Pa (500 dbar). :param s: [in] Salinity [PSU]. :param pres: [in] Pressure [Pa]. :param t_fr: [out] Freezing point potential temperature [degC]. :param start: [in] The starting point in the arrays. :param npts: [in] The number of values to calculate. .. f:subroutine:: subroutine calculate_tfreeze_teos10_scalar(S, pres, T_Fr) This subroutine computes the freezing point conservative temperature [degC] from absolute salinity [g/kg], and pressure [Pa] using the TEOS10 package. :param s: [in] Absolute salinity [g/kg]. :param pres: [in] Pressure [Pa]. :param t_fr: [out] Freezing point conservative temperature [degC]. :callto: :f:func:`calculate_tfreeze_teos10_array ` .. f:subroutine:: subroutine calculate_tfreeze_teos10_array(S, pres, T_Fr, start, npts) This subroutine computes the freezing point conservative temperature [degC] from absolute salinity [g/kg], and pressure [Pa] using the TEOS10 package. :param s: [in] absolute salinity [g/kg]. :param pres: [in] pressure [Pa]. :param t_fr: [out] Freezing point conservative temperature [degC]. :param start: [in] the starting point in the arrays. :param npts: [in] the number of values to calculate. :calledfrom: :f:func:`calculate_tfreeze_teos10_scalar ` [debug] DoxygenMethodDocumenter format_signature called ((S, pres, T_Fr, TFr_S0_P0, dTFr_dS, dTFr_dp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tfreeze::calculate_tfreeze_linear_scalar', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tfreeze::calculate_tfreeze_linear_scalar', [debug] DoxygenMethodDocumenter format_signature called ((S, pres, T_Fr, start, npts, TFr_S0_P0, dTFr_dS, dTFr_dp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tfreeze::calculate_tfreeze_linear_array', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tfreeze::calculate_tfreeze_linear_array', , [debug] DoxygenMethodDocumenter format_signature called ((S, pres, T_Fr)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tfreeze::calculate_tfreeze_millero_scalar', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tfreeze::calculate_tfreeze_millero_array', [debug] DoxygenMethodDocumenter format_signature called ((S, pres, T_Fr)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tfreeze::calculate_tfreeze_teos10_scalar', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tfreeze::calculate_tfreeze_teos10_scalar', [debug] DoxygenMethodDocumenter format_signature called ((S, pres, T_Fr, start, npts)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tfreeze::calculate_tfreeze_teos10_array', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tfreeze::calculate_tfreeze_teos10_array', , [fd] run(.. f:subroutine:: subroutine calculate_tfreeze_linear_scalar(S, pres, T_Fr, TFr_S0_P0, dTFr_dS, dTFr_dp)) [fd] sig(subroutine calculate_tfreeze_linear_scalar(S, pres, T_Fr, TFr_S0_P0, dTFr_dS, dTFr_dp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_tfreeze_linear_scalar) arglist(S, pres, T_Fr, TFr_S0_P0, dTFr_dS, dTFr_dp) [fd] fullname(mom_tfreeze/calculate_tfreeze_linear_scalar) ftype(None) [fd] name(('mom_tfreeze/calculate_tfreeze_linear_scalar', None)) sig(subroutine calculate_tfreeze_linear_scalar(S, pres, T_Fr, TFr_S0_P0, dTFr_dS, dTFr_dp)) signode(subroutine mom_tfreeze/calculate_tfreeze_linear_scalarSpresT_FrTFr_S0_P0dTFr_dSdTFr_dp) [fd] run(.. f:subroutine:: subroutine calculate_tfreeze_linear_array(S, pres, T_Fr, start, npts, TFr_S0_P0, dTFr_dS, dTFr_dp)) [fd] sig(subroutine calculate_tfreeze_linear_array(S, pres, T_Fr, start, npts, TFr_S0_P0, dTFr_dS, dTFr_dp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_tfreeze_linear_array) arglist(S, pres, T_Fr, start, npts, TFr_S0_P0, dTFr_dS, dTFr_dp) [fd] fullname(mom_tfreeze/calculate_tfreeze_linear_array) ftype(None) [fd] name(('mom_tfreeze/calculate_tfreeze_linear_array', None)) sig(subroutine calculate_tfreeze_linear_array(S, pres, T_Fr, start, npts, TFr_S0_P0, dTFr_dS, dTFr_dp)) signode(subroutine mom_tfreeze/calculate_tfreeze_linear_arraySpresT_FrstartnptsTFr_S0_P0dTFr_dSdTFr_dp) [fd] run(.. f:subroutine:: subroutine calculate_tfreeze_millero_scalar(S, pres, T_Fr)) [fd] sig(subroutine calculate_tfreeze_millero_scalar(S, pres, T_Fr)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_tfreeze_millero_scalar) arglist(S, pres, T_Fr) [fd] fullname(mom_tfreeze/calculate_tfreeze_millero_scalar) ftype(None) [fd] name(('mom_tfreeze/calculate_tfreeze_millero_scalar', None)) sig(subroutine calculate_tfreeze_millero_scalar(S, pres, T_Fr)) signode(subroutine mom_tfreeze/calculate_tfreeze_millero_scalarSpresT_Fr) [fd] run(.. f:subroutine:: subroutine calculate_tfreeze_millero_array(S, pres, T_Fr, start, npts)) [fd] sig(subroutine calculate_tfreeze_millero_array(S, pres, T_Fr, start, npts)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_tfreeze_millero_array) arglist(S, pres, T_Fr, start, npts) [fd] fullname(mom_tfreeze/calculate_tfreeze_millero_array) ftype(None) [fd] name(('mom_tfreeze/calculate_tfreeze_millero_array', None)) sig(subroutine calculate_tfreeze_millero_array(S, pres, T_Fr, start, npts)) signode(subroutine mom_tfreeze/calculate_tfreeze_millero_arraySpresT_Frstartnpts) [fd] run(.. f:subroutine:: subroutine calculate_tfreeze_teos10_scalar(S, pres, T_Fr)) [fd] sig(subroutine calculate_tfreeze_teos10_scalar(S, pres, T_Fr)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_tfreeze_teos10_scalar) arglist(S, pres, T_Fr) [fd] fullname(mom_tfreeze/calculate_tfreeze_teos10_scalar) ftype(None) [fd] name(('mom_tfreeze/calculate_tfreeze_teos10_scalar', None)) sig(subroutine calculate_tfreeze_teos10_scalar(S, pres, T_Fr)) signode(subroutine mom_tfreeze/calculate_tfreeze_teos10_scalarSpresT_Fr) [fd] run(.. f:subroutine:: subroutine calculate_tfreeze_teos10_array(S, pres, T_Fr, start, npts)) [fd] sig(subroutine calculate_tfreeze_teos10_array(S, pres, T_Fr, start, npts)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_tfreeze_teos10_array) arglist(S, pres, T_Fr, start, npts) [fd] fullname(mom_tfreeze/calculate_tfreeze_teos10_array) ftype(None) [fd] name(('mom_tfreeze/calculate_tfreeze_teos10_array', None)) sig(subroutine calculate_tfreeze_teos10_array(S, pres, T_Fr, start, npts)) signode(subroutine mom_tfreeze/calculate_tfreeze_teos10_arraySpresT_Frstartnpts) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 55%] api/generated/modules/mom_thickness_diffuse [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_thicknes [app] emitting event: 'source-read'('api/generated/modules/mom_thickness_diffuse', ['.. autodoxymodule:: mom_thickness_diffuse\n :mem [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_thickness_diffuse.rst:1: input: .. autodoxymodule:: mom_thickness_diffuse :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_thickness_diffuse::thickness_diffuse_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_thickness_diffuse::thickness_diffuse ~mom_thickness_diffuse::thickness_diffuse_full ~mom_thickness_diffuse::streamfn_solver ~mom_thickness_diffuse::add_detangling_kh ~mom_thickness_diffuse::thickness_diffuse_init ~mom_thickness_diffuse::thickness_diffuse_get_kh ~mom_thickness_diffuse::thickness_diffuse_end [debug] xpath(./compounddef/compoundname[text()="mom_thickness_diffuse"]/..) match([('id', 'namespacemom__thickness__diffuse'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_thickness_diffuse module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_thickness_diffuse', , {'members': , {'members': ]) [debug] ref([('id', 'namespacemom__meke'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_ref [debug] refid(namespacemom__lateral__mixing__coeffs) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__lateral__mixing__coeffs'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] method=visit_computeroutput [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_ref [debug] refid(namespacemom__lateral__mixing__coeffs) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__lateral__mixing__coeffs'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] method=visit_computeroutput [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__isopycnal__slopes_1a34691482caaff356da3c5182657dba0d) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__isopycnal__slopes_1a34691482caaff356da3c5182657dba0d'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_isopycnal_slopes::vert_fill_ts) node_name(None) [debug] method=visit_formula [debug] method=visit_sect2 [debug] visit_sect id(namespacemom__thickness__diffuse_1section_khth_module_parameters) title(Module mom_thickness_diffuse parameters) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_table [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_ref [debug] refid(namespacemom__meke) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__meke'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_ref [debug] refid(namespacemom__lateral__mixing__coeffs) kindref(compound) ref([]) [debug] ref([('id', 'namespacemom__lateral__mixing__coeffs'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] method=visit_para [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_computeroutput [debug] method=visit_sect2 [debug] visit_sect id(namespacemom__thickness__diffuse_1section_khth_module_reference) title(References) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_ulink [debug] method=visit_para [debug] method=visit_ulink [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_thickness_diffuse', , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_thickness_diffuse' (exception was: ModuleNotFoundError("No module named 'mom_thickness_diffuse'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_thickness_diffuse::thickness_diffuse_cs', , [debug] members([('thickness_diffuse', ), ('thickness_diffuse_full', ), ('streamfn_solver', ), ('add_detangling_kh', ), ('thickness_diffuse_init', ), ('thickness_diffuse_get_kh', ), ('thickness_diffuse_end', )]) [autodoc] module analyzer failed: error importing 'mom_thickness_diffuse' (exception was: ModuleNotFoundError("No module named 'mom_thickness_diffuse'")) [debug] DoxygenMethodDocumenter format_signature called ((h, uhtr, vhtr, tv, dt, G, GV, US, MEKE, VarMix, CDp, CS)) [debug] add_directive_header sig((h, uhtr, vhtr, tv, dt, G, GV, US, MEKE, VarMix, CDp, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine thickness_diffuse) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'thickness_diffuse', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__thickness__diffuse_1a8a538b778a567f489bfd9c5eadeeebef'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_thickness_diffuse::thickness_diffuse) node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'thickness_diffuse_full', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_thickness_diffuse::thickness_diffuse_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_thickness_diffuse::thickness_diffuse ~mom_thickness_diffuse::thickness_diffuse_full ~mom_thickness_diffuse::streamfn_solver ~mom_thickness_diffuse::add_detangling_kh ~mom_thickness_diffuse::thickness_diffuse_init ~mom_thickness_diffuse::thickness_diffuse_get_kh ~mom_thickness_diffuse::thickness_diffuse_end .. _DETAmom_thickness_diffuse: -------------------- Detailed Description -------------------- .. _namespacemom__thickness__diffuse_1section_gm: Thickness diffusion (aka Gent-McWilliams) ========================================= Thickness diffusion is implemented via along-layer mass fluxes .. math:: h^\dagger \leftarrow h^n - \Delta t \nabla \cdot ( \vec{uh}^* ) where the mass fluxes are cast as the difference in vector streamfunction .. math:: \vec{uh}^* = \delta_k \vec{\psi} . The GM implementation of thickness diffusion made the streamfunction proportional to the potential density slope .. math:: \vec{\psi} = - \kappa_h \frac{\nabla_z \rho}{\partial_z \rho} = \frac{g\kappa_h}{\rho_o} \frac{\nabla \rho}{N^2} = \kappa_h \frac{M^2}{N^2} but for robustness the scheme is implemented as .. math:: \vec{\psi} = \kappa_h \frac{M^2}{\sqrt{N^4 + M^4}} since the quantity :math:`\frac{M^2}{\sqrt{N^2 + M^2}}` is bounded between $-1$ and $1$ and does not change sign if :math:`N^2<0`. Optionally, the method of Ferrari et al, 2010, can be used to obtain the streamfunction which solves the vertically elliptic equation: .. math:: \gamma_F \partial_z c^2 \partial_z \psi - N_*^2 \psi = ( 1 + \gamma_F ) \kappa_h N_*^2 \frac{M^2}{\sqrt{N^4+M^4}} which recovers the previous streamfunction relation in the limit that :math:`c \rightarrow 0`. Here, :math:`c=\max(c_{min},c_g)` is the maximum of either :math:`c_{min}` and either the first baroclinic mode wave-speed or the equivalent barotropic mode wave-speed. :math:`N_*^2 = \max(N^2,0)` is a non-negative form of the square of the Brunt-Vaisala frequency. The parameter :math:`\gamma_F` is used to reduce the vertical smoothing length scale. .. math:: \kappa_h = \left( \kappa_o + \alpha_{s} L_{s}^2 < S N > + \alpha_{M} \kappa_{M} \right) r(\Delta x,L_d) where :math:`S` is the isoneutral slope magnitude, :math:`N` is the square root of Brunt-Vaisala frequency, :math:`\kappa_{M}` is the diffusivity calculated by the MEKE parameterization (:f:func:`mom_meke` module) and module) and :math:`r(\Delta x,L_d)` is a function of the local resolution (ratio of grid-spacing, :math:`\Delta x`, to deformation radius, :math:`L_d`). The length :math:`L_s` is provided by the :f:func:`mom_lateral_mixing_coeffs` module (enabled with module (enabled with ``USE_VARIABLE_MIXING=True`` and the term :math:`` is the vertical average slope times the Brunt-Vaisala frequency prescribed by Visbeck et al., 1996. The result of the above expression is subsequently bounded by minimum and maximum values, including an upper diffusivity consistent with numerical stability ( :math:`\kappa_{cfl}` is calculated internally). .. math:: \kappa_h \leftarrow \min{\left( \kappa_{max}, \kappa_{cfl}, \max{\left( \kappa_{min}, \kappa_h \right)} \right)} f(c_g,z) where :math:`f(c_g,z)` is a vertical structure function. :math:`f(c_g,z)` is calculated in module :f:func:`mom_lateral_mixing_coeffs`. If . If ``KHTH_USE_EBT_STRUCT=True`` then :math:`f(c_g,z)` is set to look like the equivalent barotropic modal velocity structure. Otherwise :math:`f(c_g,z)=1` and the diffusivity is independent of depth. In order to calculate meaningful slopes in vanished layers, temporary copies of the thermodynamic variables are passed through a vertical smoother, function :f:func:`vert_fill_ts() `: : .. math:: \begin{eqnarray*} \left[ 1 + \Delta t \kappa_{smth} \frac{\partial^2}{\partial_z^2} \right] \theta & \leftarrow & \theta \\ \left[ 1 + \Delta t \kappa_{smth} \frac{\partial^2}{\partial_z^2} \right] s & \leftarrow & s \end{eqnarray*} .. _namespacemom__thickness__diffuse_1section_khth_module_parameters: Module mom_thickness_diffuse parameters --------------------------------------- +-----------------------+----------------------------------------------------------------------------------------+ | | | | Symbol | Module parameter | | | | +=======================+========================================================================================+ | | ``THICKNESSDIFFUSE`` | | - | | | | | +-----------------------+----------------------------------------------------------------------------------------+ | | ``KHTH`` | | :math:`\kappa_o` | | | | | +-----------------------+----------------------------------------------------------------------------------------+ | | ``KHTH_SLOPE_CFF`` | | :math:`\alpha_{s}` | | | | | +-----------------------+----------------------------------------------------------------------------------------+ | | ``KHTH_MIN`` | | :math:`\kappa_{min}` | | | | | +-----------------------+----------------------------------------------------------------------------------------+ | | ``KHTH_MAX`` | | :math:`\kappa_{max}` | | | | | +-----------------------+----------------------------------------------------------------------------------------+ | | ``KHTH_MAX_CFL`` | | - | | | | | +-----------------------+----------------------------------------------------------------------------------------+ | | ``KD_SMOOTH`` | | :math:`\kappa_{smth}` | | | | | +-----------------------+----------------------------------------------------------------------------------------+ | | ``MEKE_KHTH_FAC`` (from :f:func:`mom_meke` module) module) | | :math:`\alpha_{M}` | | | | | +-----------------------+----------------------------------------------------------------------------------------+ | | ``KHTH_USE_EBT_STRUCT`` (from :f:func:`mom_lateral_mixing_coeffs` module) module) | | - | | | | | +-----------------------+----------------------------------------------------------------------------------------+ | | ``KHTH_USE_FGNV_STREAMFUNCTION`` | | - | | | | | +-----------------------+----------------------------------------------------------------------------------------+ | | ``FGNV_FILTER_SCALE`` | | :math:`\gamma_F` | | | | | +-----------------------+----------------------------------------------------------------------------------------+ | | ``FGNV_C_MIN`` | | :math:`c_{min}` | | | | | +-----------------------+----------------------------------------------------------------------------------------+ .. _namespacemom__thickness__diffuse_1section_khth_module_reference: References ---------- Ferrari, R., S.M. Griffies, A.J.G. Nurser and G.K. Vallis, 2010: A boundary-value problem for the parameterized mesoscale eddy transport. Ocean Modelling, 32, 143-156. `http://doi.org/10.1016/j.ocemod.2010.01.004 `_ Viscbeck, M., J.C. Marshall, H. Jones, 1996: Dynamics of isolated convective regions in the ocean. J. Phys. Oceangr., 26, 1721-1734. `http://dx.doi.org/10.1175/1520-0485(1996)026%3C1721:DOICRI%3E2.0.CO;2 `_ ------------------ Type Documentation ------------------ .. f:type:: thickness_diffuse_cs Control structure for thickness diffusion. :typefield integer id_uhgm: Diagnostic identifier. :typefield integer id_vhgm: Diagnostic identifier. :typefield integer id_gmwork: Diagnostic identifier. :typefield integer id_kh_u: Diagnostic identifier. :typefield integer id_kh_v: Diagnostic identifier. :typefield integer id_kh_t: Diagnostic identifier. :typefield integer id_kh_u1: Diagnostic identifier. :typefield integer id_kh_v1: Diagnostic identifier. :typefield integer id_kh_t1: Diagnostic identifier. :typefield integer id_slope_x: Diagnostic identifier. :typefield integer id_slope_y: Diagnostic identifier. :typefield integer id_sfn_unlim_x: Diagnostic identifier. :typefield integer id_sfn_unlim_y: Diagnostic identifier. :typefield integer id_sfn_x: Diagnostic identifier. :typefield integer id_sfn_y: Diagnostic identifier. :typefield real khth: Background interface depth diffusivity [L2 T-1 ~> m2 s-1]. :typefield real khth_slope_cff: Slope dependence coefficient of Khth [nondim]. :typefield real max_khth_cfl: Maximum value of the diffusive CFL for thickness diffusion. :typefield real khth_min: Minimum value of Khth [L2 T-1 ~> m2 s-1]. :typefield real khth_max: Maximum value of Khth [L2 T-1 ~> m2 s-1], or 0 for no max. :typefield real slope_max: Slopes steeper than slope_max are limited in some way [nondim]. :typefield real kappa_smooth: Vertical diffusivity used to interpolate more sensible values of T & S into thin layers [Z2 T-1 ~> m2 s-1]. :typefield logical thickness_diffuse: If true, interfaces heights are diffused. :typefield logical use_fgnv_streamfn: If true, use the streamfunction formulation of Ferrari et al., 2010, which effectively emphasizes graver vertical modes by smoothing in the vertical. :typefield real fgnv_scale: A coefficient scaling the vertical smoothing term in the Ferrari et al., 2010, streamfunction formulation [nondim]. :typefield real fgnv_c_min: A minimum wave speed used in the Ferrari et al., 2010, streamfunction formulation [L T-1 ~> m s-1]. :typefield real n2_floor: A floor for Brunt-Vasaila frequency in the Ferrari et al., 2010, streamfunction formulation [T-2 ~> s-2]. :typefield logical detangle_interfaces: If true, add 3-d structured interface height diffusivities to horizontally smooth jagged layers. :typefield real detangle_time: If detangle_interfaces is true, this is the timescale over which maximally jagged grid-scale thickness variations are suppressed [T ~> s]. This must be longer than DT, or 0 (the default) to use DT. :typefield integer nkml: number of layers within mixed layer :typefield logical debug: write verbose checksums for debugging purposes :typefield logical use_gme_thickness_diffuse: If true, passes GM coefficients to MOM_hor_visc for use with GME closure. :typefield logical meke_geometric: If true, uses the GM coefficient formulation from the GEOMETRIC framework (Marshall et al., 2012) :typefield real meke_geometric_alpha: The nondimensional coefficient governing the efficiency of the GEOMETRIC thickness difussion [nondim]. :typefield real meke_geometric_epsilon: Minimum Eady growth rate for the GEOMETRIC thickness diffusivity [T-1 ~> s-1]. :typefield logical meke_geom_answers_2018: If true, use expressions in the MEKE_GEOMETRIC calculation that recover the answers from the original implementation. Otherwise, use expressions that satisfy rotational symmetry. :typefield logical use_kh_in_meke: If true, uses the thickness diffusivity calculated here to diffuse MEKE. :typefield logical gm_src_alt: If true, use the GM energy conversion form S^2*N^2*kappa rather than the streamfunction for the GM source term. :typefield logical use_gm_work_bug: If true, use the incorrect sign for the top-level work tendency on the top layer. :typefield real stanley_det_coeff: The coefficient correlating SGS temperature variance with the mean temperature gradient in the deterministic part of the Stanley parameterization. Negative values disable the scheme." [nondim]. :typefield type(diag_ctrl) diag [pointer]: structure used to regulate timing of diagnostics :typefield real(\:,\:) gmwork [pointer]: Work by thickness diffusivity [R Z L2 T-3 ~> W m-2]. :typefield real(\:,\:,\:) diagslopex [pointer]: Diagnostic: zonal neutral slope [nondim]. :typefield real(\:,\:,\:) diagslopey [pointer]: Diagnostic: zonal neutral slope [nondim]. :typefield real(\:,\:,\:) kh_u_gme [pointer]: interface height diffusivities in u-columns [L2 T-1 ~> m2 s-1] :typefield real(\:,\:,\:) kh_v_gme [pointer]: interface height diffusivities in v-columns [L2 T-1 ~> m2 s-1] --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine thickness_diffuse(h, uhtr, vhtr, tv, dt, G, GV, US, MEKE, VarMix, CDp, CS) Calculates thickness diffusion coefficients and applies thickness diffusion to layer thicknesses, h. Diffusivities are limited to ensure stability. Also returns along-layer mass fluxes used in the continuity equation. :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [inout] Layer thickness [H ~> m or kg m-2] :param uhtr: [inout] Accumulated zonal mass flux [L2 H ~> m3 or kg] :param vhtr: [inout] Accumulated meridional mass flux [L2 H ~> m3 or kg] :param tv: [in] Thermodynamics structure :param dt: [in] Time increment [T ~> s] :param meke: MEKE control structure :param varmix: Variable mixing coefficients :param cdp: [inout] Diagnostics for the continuity equation :param cs: Control structure for thickness diffusion :callto: :f:func:`add_detangling_kh ` :callto: :f:func:`mom_diag_mediator::diag_update_remap_grids ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`thickness_diffuse_full ` :calledfrom: :f:func:`mom::step_mom_dynamics ` .. f:subroutine:: subroutine thickness_diffuse_full(h, e, Kh_u, Kh_v, tv, uhD, vhD, cg1, dt, G, GV, US, MEKE, CS, int_slope_u, int_slope_v, slope_x, slope_y) Calculates parameterized layer transports for use in the continuity equation. Fluxes are limited to give positive definite thicknesses. Called by :f:func:`thickness_diffuse() `. . :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thickness [H ~> m or kg m-2] :param e: [in] Interface positions [Z ~> m] :param kh_u: [in] Thickness diffusivity on interfaces at u points [L2 T-1 ~> m2 s-1] :param kh_v: [in] Thickness diffusivity on interfaces at v points [L2 T-1 ~> m2 s-1] :param tv: [in] Thermodynamics structure :param uhd: [out] Zonal mass fluxes [H L2 T-1 ~> m3 s-1 or kg s-1] :param vhd: [out] Meridional mass fluxes [H L2 T-1 ~> m3 s-1 or kg s-1] :param cg1: Wave speed [L T-1 ~> m s-1] :param dt: [in] Time increment [T ~> s] :param meke: MEKE control structure :param cs: Control structure for thickness diffusion :param int_slope_u: [in] Ratio that determine how much of the isopycnal slopes are taken directly from the interface slopes without consideration of density gradients [nondim]. :param int_slope_v: [in] Ratio that determine how much of the isopycnal slopes are taken directly from the interface slopes without consideration of density gradients [nondim]. :param slope_x: [in] Isopycnal slope at u-points :param slope_y: [in] Isopycnal slope at v-points :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`streamfn_solver ` :callto: :f:func:`mom_isopycnal_slopes::vert_fill_ts ` :calledfrom: :f:func:`thickness_diffuse ` .. f:subroutine:: subroutine streamfn_solver(nk, c2_h, hN2, sfn) Tridiagonal solver for streamfunction at interfaces. :param nk: [in] Number of layers :param c2_h: [in] Wave speed squared over thickness in layers [L2 Z-1 T-2 ~> m s-2] :param hn2: [in] Thickness times N2 at interfaces [L2 Z-1 T-2 ~> m s-2] :param sfn: [inout] Streamfunction [Z L2 T-1 ~> m3 s-1] or arbitrary units On entry, equals diffusivity times slope. On exit, equals the streamfunction. :calledfrom: :f:func:`thickness_diffuse_full ` .. f:subroutine:: subroutine add_detangling_kh(h, e, Kh_u, Kh_v, KH_u_CFL, KH_v_CFL, tv, dt, G, GV, US, CS, int_slope_u, int_slope_v) Modifies thickness diffusivities to untangle layer structures. :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thickness [H ~> m or kg m-2] :param e: [in] Interface positions [Z ~> m] :param kh_u: [inout] Thickness diffusivity on interfaces at u points [L2 T-1 ~> m2 s-1] :param kh_v: [inout] Thickness diffusivity on interfaces at v points [L2 T-1 ~> m2 s-1] :param kh_u_cfl: [in] Maximum stable thickness diffusivity at u points [L2 T-1 ~> m2 s-1] :param kh_v_cfl: [in] Maximum stable thickness diffusivity at v points [L2 T-1 ~> m2 s-1] :param tv: [in] Thermodynamics structure :param dt: [in] Time increment [T ~> s] :param cs: Control structure for thickness diffusion :param int_slope_u: [inout] Ratio that determine how much of the isopycnal slopes are taken directly from the interface slopes without consideration of density gradients. :param int_slope_v: [inout] Ratio that determine how much of the isopycnal slopes are taken directly from the interface slopes without consideration of density gradients. :calledfrom: :f:func:`thickness_diffuse ` .. f:subroutine:: subroutine thickness_diffuse_init(Time, G, GV, US, param_file, diag, CDp, CS) Initialize the thickness diffusion module/structure. :param time: [in] Current model time :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] Parameter file handles :param diag: [inout] Diagnostics control structure :param cdp: [inout] Continuity equation diagnostics :param cs: Control structure for thickness diffusion :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine thickness_diffuse_get_kh(CS, KH_u_GME, KH_v_GME, G) Copies ubtav and vbtav from private type into arrays. :param cs: Control structure for this module :param g: [in] Grid structure :param kh_u_gme: [inout] interface height diffusivities at u-faces [L2 T-1 ~> m2 s-1] :param kh_v_gme: [inout] interface height diffusivities at v-faces [L2 T-1 ~> m2 s-1] :calledfrom: :f:func:`mom_hor_visc::horizontal_viscosity ` .. f:subroutine:: subroutine thickness_diffuse_end(CS) Deallocate the thickness diffusion control structure. :param cs: Control structure for thickness diffusion [debug] xpath(./compounddef/compoundname[text()="mom_thickness_diffuse::thickness_diffuse_cs"]/..) match([('id', 'structmom__thickness__diffuse_1_1thickness__diffuse__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_thickness_diffuse::thickness_diffuse_cs', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_thickness_diffuse::thickness_diffuse', , {} [debug] DoxygenMethodDocumenter format_signature called ((h, e, Kh_u, Kh_v, tv, uhD, vhD, cg1, dt, G, GV, US, MEKE, CS, int_slope_u, int_slope_v, slope_x, slope_y)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__thickness__diffuse_1a8a538b778a567f489bfd9c5eadeeebef) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__thickness__diffuse_1a8a538b778a567f489bfd9c5eadeeebef'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_thickness_diffuse::thickness_diffuse) node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_thickness_diffuse::thickness_diffuse_full', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_thickness_diffuse::streamfn_solver', , {}, [debug] DoxygenMethodDocumenter format_signature called ((h, e, Kh_u, Kh_v, KH_u_CFL, KH_v_CFL, tv, dt, G, GV, US, CS, int_slope_u, int_slope_v)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_thickness_diffuse::add_detangling_kh', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_thickness_diffuse::add_detangling_kh', , {} [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CDp, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_thickness_diffuse::thickness_diffuse_init', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_thickness_diffuse::thickness_diffuse_end', [fd] run(.. f:type:: thickness_diffuse_cs) [fd] sig(thickness_diffuse_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(thickness_diffuse_cs) arglist(None) [fd] fullname(mom_thickness_diffuse/thickness_diffuse_cs) ftype(None) [fd] name(('mom_thickness_diffuse/thickness_diffuse_cs', None)) sig(thickness_diffuse_cs) signode(type mom_thickness_diffuse/thickness_diffuse_cs) [fd] run(.. f:subroutine:: subroutine thickness_diffuse(h, uhtr, vhtr, tv, dt, G, GV, US, MEKE, VarMix, CDp, CS)) [fd] sig(subroutine thickness_diffuse(h, uhtr, vhtr, tv, dt, G, GV, US, MEKE, VarMix, CDp, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(thickness_diffuse) arglist(h, uhtr, vhtr, tv, dt, G, GV, US, MEKE, VarMix, CDp, CS) [fd] fullname(mom_thickness_diffuse/thickness_diffuse) ftype(None) [fd] name(('mom_thickness_diffuse/thickness_diffuse', None)) sig(subroutine thickness_diffuse(h, uhtr, vhtr, tv, dt, G, GV, US, MEKE, VarMix, CDp, CS)) signode(subroutine mom_thickness_diffuse/thickness_diffusehuhtrvhtrtvdtGGVUSMEKEVarMixCDpCS) [fd] run(.. f:subroutine:: subroutine thickness_diffuse_full(h, e, Kh_u, Kh_v, tv, uhD, vhD, cg1, dt, G, GV, US, MEKE, CS, int_slope_u, int_slope_v, slope_x, slope_y)) [fd] sig(subroutine thickness_diffuse_full(h, e, Kh_u, Kh_v, tv, uhD, vhD, cg1, dt, G, GV, US, MEKE, CS, int_slope_u, int_slope_v, slope_x, slope_y)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(thickness_diffuse_full) arglist(h, e, Kh_u, Kh_v, tv, uhD, vhD, cg1, dt, G, GV, US, MEKE, CS, int_slope_u, int_slope_v, slope_x, slope_y) [fd] fullname(mom_thickness_diffuse/thickness_diffuse_full) ftype(None) [fd] name(('mom_thickness_diffuse/thickness_diffuse_full', None)) sig(subroutine thickness_diffuse_full(h, e, Kh_u, Kh_v, tv, uhD, vhD, cg1, dt, G, GV, US, MEKE, CS, int_slope_u, int_slope_v, slope_x, slope_y)) signode(subroutine mom_thickness_diffuse/thickness_diffuse_fullheKh_uKh_vtvuhDvhDcg1dtGGVUSMEKECSint_slope_uint_slope_vslope_xslope_y) [fd] run(.. f:subroutine:: subroutine streamfn_solver(nk, c2_h, hN2, sfn)) [fd] sig(subroutine streamfn_solver(nk, c2_h, hN2, sfn)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(streamfn_solver) arglist(nk, c2_h, hN2, sfn) [fd] fullname(mom_thickness_diffuse/streamfn_solver) ftype(None) [fd] name(('mom_thickness_diffuse/streamfn_solver', None)) sig(subroutine streamfn_solver(nk, c2_h, hN2, sfn)) signode(subroutine mom_thickness_diffuse/streamfn_solvernkc2_hhN2sfn) [fd] run(.. f:subroutine:: subroutine add_detangling_kh(h, e, Kh_u, Kh_v, KH_u_CFL, KH_v_CFL, tv, dt, G, GV, US, CS, int_slope_u, int_slope_v)) [fd] sig(subroutine add_detangling_kh(h, e, Kh_u, Kh_v, KH_u_CFL, KH_v_CFL, tv, dt, G, GV, US, CS, int_slope_u, int_slope_v)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(add_detangling_kh) arglist(h, e, Kh_u, Kh_v, KH_u_CFL, KH_v_CFL, tv, dt, G, GV, US, CS, int_slope_u, int_slope_v) [fd] fullname(mom_thickness_diffuse/add_detangling_kh) ftype(None) [fd] name(('mom_thickness_diffuse/add_detangling_kh', None)) sig(subroutine add_detangling_kh(h, e, Kh_u, Kh_v, KH_u_CFL, KH_v_CFL, tv, dt, G, GV, US, CS, int_slope_u, int_slope_v)) signode(subroutine mom_thickness_diffuse/add_detangling_khheKh_uKh_vKH_u_CFLKH_v_CFLtvdtGGVUSCSint_slope_uint_slope_v) [fd] run(.. f:subroutine:: subroutine thickness_diffuse_init(Time, G, GV, US, param_file, diag, CDp, CS)) [fd] sig(subroutine thickness_diffuse_init(Time, G, GV, US, param_file, diag, CDp, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(thickness_diffuse_init) arglist(Time, G, GV, US, param_file, diag, CDp, CS) [fd] fullname(mom_thickness_diffuse/thickness_diffuse_init) ftype(None) [fd] name(('mom_thickness_diffuse/thickness_diffuse_init', None)) sig(subroutine thickness_diffuse_init(Time, G, GV, US, param_file, diag, CDp, CS)) signode(subroutine mom_thickness_diffuse/thickness_diffuse_initTimeGGVUSparam_filediagCDpCS) [fd] run(.. f:subroutine:: subroutine thickness_diffuse_get_kh(CS, KH_u_GME, KH_v_GME, G)) [fd] sig(subroutine thickness_diffuse_get_kh(CS, KH_u_GME, KH_v_GME, G)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(thickness_diffuse_get_kh) arglist(CS, KH_u_GME, KH_v_GME, G) [fd] fullname(mom_thickness_diffuse/thickness_diffuse_get_kh) ftype(None) [fd] name(('mom_thickness_diffuse/thickness_diffuse_get_kh', None)) sig(subroutine thickness_diffuse_get_kh(CS, KH_u_GME, KH_v_GME, G)) signode(subroutine mom_thickness_diffuse/thickness_diffuse_get_khCSKH_u_GMEKH_v_GMEG) [fd] run(.. f:subroutine:: subroutine thickness_diffuse_end(CS)) [fd] sig(subroutine thickness_diffuse_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(thickness_diffuse_end) arglist(CS) [fd] fullname(mom_thickness_diffuse/thickness_diffuse_end) ftype(None) [fd] name(('mom_thickness_diffuse/thickness_diffuse_end', None)) sig(subroutine thickness_diffuse_end(CS)) signode(subroutine mom_thickness_diffuse/thickness_diffuse_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 56%] api/generated/modules/mom_tidal_forcing [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_tidal_fo [app] emitting event: 'source-read'('api/generated/modules/mom_tidal_forcing', ['.. autodoxymodule:: mom_tidal_forcing\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_tidal_forcing.rst:1: input: .. autodoxymodule:: mom_tidal_forcing :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_tidal_forcing::astro_longitudes ~mom_tidal_forcing::tidal_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tidal_forcing::astro_longitudes_init ~mom_tidal_forcing::eq_phase ~mom_tidal_forcing::tidal_frequency ~mom_tidal_forcing::nodal_fu ~mom_tidal_forcing::tidal_forcing_init ~mom_tidal_forcing::find_in_files ~mom_tidal_forcing::tidal_forcing_sensitivity ~mom_tidal_forcing::calc_tidal_forcing ~mom_tidal_forcing::tidal_forcing_end [debug] xpath(./compounddef/compoundname[text()="mom_tidal_forcing"]/..) match([('id', 'namespacemom__tidal__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_tidal_forcing module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_forcing', , {'members': , {'members': , {'members': ), ('mom_tidal_forcing::tidal_forcing_cs', )]) [autodoc] module analyzer failed: error importing 'mom_tidal_forcing' (exception was: ModuleNotFoundError("No module named 'mom_tidal_forcing'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_tidal_forcing::astro_longitudes', , {'membe [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::astro_longitudes', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::astro_longitudes', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::astro_longitudes', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::astro_longitudes', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::astro_longitudes', , {'membe [autodoc] module analyzer failed: error importing 'mom_tidal_forcing' (exception was: ModuleNotFoundError("No module named 'mom_tidal_forcing'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_forcing::tidal_forcing_cs', , {'membe [debug] members([('astro_longitudes_init', ), ('eq_phase', ), ('tidal_frequency', ), ('nodal_fu', ), ('tidal_forcing_init', ), ('find_in_files', ), ('tidal_forcing_sensitivity', ), ('calc_tidal_forcing', ), ('tidal_forcing_end', )]) [autodoc] module analyzer failed: error importing 'mom_tidal_forcing' (exception was: ModuleNotFoundError("No module named 'mom_tidal_forcing'")) [debug] DoxygenMethodDocumenter format_signature called ((time_ref, longitudes)) [debug] add_directive_header sig((time_ref, longitudes)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine astro_longitudes_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'astro_longitudes_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'MOM__memory_8h'), ('kind', 'file'), ('language', 'C++')]) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'tidal_forcing_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_tidal_forcing::astro_longitudes ~mom_tidal_forcing::tidal_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tidal_forcing::astro_longitudes_init ~mom_tidal_forcing::eq_phase ~mom_tidal_forcing::tidal_frequency ~mom_tidal_forcing::nodal_fu ~mom_tidal_forcing::tidal_forcing_init ~mom_tidal_forcing::find_in_files ~mom_tidal_forcing::tidal_forcing_sensitivity ~mom_tidal_forcing::calc_tidal_forcing ~mom_tidal_forcing::tidal_forcing_end .. _DETAmom_tidal_forcing: -------------------- Detailed Description -------------------- Tidal contributions to geopotential. ------------------ Type Documentation ------------------ .. f:type:: astro_longitudes Simple type to store astronomical longitudes used to calculate tidal phases. :typefield real s: Mean longitude of moon [rad]. :typefield real h: Mean longitude of sun [rad]. :typefield real p: Mean longitude of lunar perigee [rad]. :typefield real n: Longitude of ascending node [rad]. .. f:type:: tidal_forcing_cs The control structure for the MOM_tidal_forcing module. :typefield logical use_sal_scalar: If true, use the scalar approximation when calculating self-attraction and loading. :typefield logical tidal_sal_from_file: If true, Read the tidal self-attraction and loading from input files, specified by TIDAL_INPUT_FILE. :typefield logical use_prev_tides: If true, use the SAL from the previous iteration of the tides to facilitate convergence. :typefield logical use_eq_phase: If true, tidal forcing is phase-shifted to match equilibrium tide. Set to false if providing tidal phases that have already been shifted by the astronomical/equilibrium argument. :typefield real sal_scalar: The constant of proportionality between sea surface height (really it should be bottom pressure) anomalies and bottom geopotential anomalies. :typefield integer nc: The number of tidal constituents in use. :typefield real( max_constituents ) freq: The frequency of a tidal constituent [s-1]. :typefield real( max_constituents ) phase0: The phase of a tidal constituent at time 0, in radians. :typefield real( max_constituents ) amp: The amplitude of a tidal constituent at time 0 [m]. :typefield real( max_constituents ) love_no: The Love number of a tidal constituent at time 0 [nondim]. :typefield integer( max_constituents ) struct: An encoded spatial structure for each constituent. :typefield character (len=16)( max_constituents ) const_name: The name of each constituent. :typefield type(time_type) time_ref: Reference time (t = 0) used to calculate tidal forcing. :typefield type( astro_longitudes ) tidal_longitudes: Astronomical longitudes used to calculate tidal phases at t = 0. :typefield real(\:,\:,\:) sin_struct [pointer]: The sine and cosine based structures that can. :typefield real(\:,\:,\:) cos_struct [pointer]: be associated with the astronomical forcing. :typefield real(\:,\:,\:) cosphasesal [pointer]: The cosine and sine of the phase of the. :typefield real(\:,\:,\:) sinphasesal [pointer]: self-attraction and loading amphidromes. :typefield real(\:,\:,\:) ampsal [pointer]: The amplitude of the SAL [m]. :typefield real(\:,\:,\:) cosphase_prev [pointer]: The cosine and sine of the phase of the. :typefield real(\:,\:,\:) sinphase_prev [pointer]: amphidromes in the previous tidal solutions. :typefield real(\:,\:,\:) amp_prev [pointer]: The amplitude of the previous tidal solution [m]. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine astro_longitudes_init(time_ref, longitudes) Finds astronomical longitudes s, h, p, and N, the mean longitude of the moon, sun, lunar perigee, and ascending node, respectively, at the specified reference time time_ref. These formulas were obtained from Kowalik and Luick, "Modern Theory and Practice of Tide Analysis and Tidal Power", 2019 (their Equation I.71), which are based on Schureman, 1958. For simplicity, the time associated with time_ref should be at midnight. These formulas also only make sense if the calendar is gregorian. :calledfrom: :f:func:`mom_open_boundary::initialize_obc_tides ` :calledfrom: :f:func:`tidal_forcing_init ` .. f:function:: real function eq_phase(constit, longitudes) Calculates the equilibrium phase argument for the given tidal constituent constit and the astronomical longitudes and the reference time. These formulas follow Table I.4 of Kowalik and Luick, "Modern Theory and Practice of Tide Analysis and Tidal Power", 2019. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_open_boundary::initialize_obc_tides ` :calledfrom: :f:func:`tidal_forcing_init ` .. f:function:: real function tidal_frequency(constit) Looks up angular frequencies for the main tidal constituents. Values used here are from previous versions of MOM. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_open_boundary::initialize_obc_tides ` :calledfrom: :f:func:`tidal_forcing_init ` .. f:subroutine:: subroutine nodal_fu(constit, N, fn, un) Find amplitude (f) and phase (u) modulation of tidal constituents by the 18.6 year nodal cycle. Values here follow Table I.6 in Kowalik and Luick, "Modern Theory and Practice of Tide Analysis and Tidal Power", 2019. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_open_boundary::initialize_obc_tides ` .. f:subroutine:: subroutine tidal_forcing_init(Time, G, param_file, CS) This subroutine allocates space for the static variables used by this module. The metrics may be effectively 0, 1, or 2-D arrays, while fields like the background viscosities are 2-D arrays. ALLOC is a macro defined in ``MOM_memory.h`` for allocate or nothing with static memory. :param time: [in] The current model time. :param g: [inout] The ocean's grid structure. :param param_file: [in] A structure to parse for run-time parameters. :param cs: A pointer that is set to point to the control structure for this module. :callto: :f:func:`astro_longitudes_init ` :callto: :f:func:`mom_cpu_clock::cpu_clock_id ` :callto: :f:func:`eq_phase ` :callto: :f:func:`find_in_files ` :callto: :f:func:`id_clock_tides ` :callto: :f:func:`max_constituents ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`tidal_frequency ` :calledfrom: :f:func:`mom_dynamics_split_rk2::initialize_dyn_split_rk2 ` :calledfrom: :f:func:`mom_dynamics_unsplit::initialize_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::initialize_dyn_unsplit_rk2 ` .. f:subroutine:: subroutine find_in_files(filenames, varname, array, G) This subroutine finds a named variable in a list of files and reads its values into a domain-decomposed 2-d array. :param filenames: [in] The names of the files to search for the named variable :param varname: [in] The name of the variable to read :param g: [in] The ocean's grid structure :param array: [out] The array to fill with the data :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`tidal_forcing_init ` .. f:subroutine:: subroutine tidal_forcing_sensitivity(G, CS, deta_tidal_deta) This subroutine calculates returns the partial derivative of the local geopotential height with the input sea surface height due to self-attraction and loading. :param g: [in] The ocean's grid structure. :param cs: The control structure returned by a previous call to tidal_forcing_init. :param deta_tidal_deta: [out] The partial derivative of eta_tidal with the local value of eta [nondim]. :calledfrom: :f:func:`mom_barotropic::btstep ` :calledfrom: :f:func:`mom_barotropic::set_dtbt ` .. f:subroutine:: subroutine calc_tidal_forcing(Time, eta, eta_tidal, G, CS, deta_tidal_deta, m_to_Z) This subroutine calculates the geopotential anomalies that drive the tides, including self-attraction and loading. Optionally, it also returns the partial derivative of the local geopotential height with the input sea surface height. For now, eta and eta_tidal are both geopotential heights in depth units, but probably the input for eta should really be replaced with the column mass anomalies. :param g: [in] The ocean's grid structure. :param time: [in] The time for the caluculation. :param eta: [in] The sea surface height anomaly from a time-mean geoid [Z ~> m]. :param eta_tidal: [out] The tidal forcing geopotential height anomalies [Z ~> m]. :param cs: The control structure returned by a previous call to tidal_forcing_init. :param deta_tidal_deta: [out] The partial derivative of eta_tidal with the local value of eta [nondim]. :param m_to_z: [in] A scaling factor from m to the units of eta. :callto: :f:func:`id_clock_tides ` :calledfrom: :f:func:`mom_pressureforce_fv::pressureforce_fv_bouss ` :calledfrom: :f:func:`mom_pressureforce_fv::pressureforce_fv_nonbouss ` :calledfrom: :f:func:`mom_pressureforce_mont::pressureforce_mont_bouss ` :calledfrom: :f:func:`mom_pressureforce_mont::pressureforce_mont_nonbouss ` .. f:subroutine:: subroutine tidal_forcing_end(CS) This subroutine deallocates memory associated with the tidal forcing module. :param cs: The control structure returned by a previous call to tidal_forcing_init; it is deallocated here. [debug] xpath(./compounddef/compoundname[text()="mom_tidal_forcing::astro_longitudes"]/..) match([('id', 'structmom__tidal__forcing_1_1astro__longitudes'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_forcing::astro_longitudes', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_forcing::astro_longitudes', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_forcing::astro_longitudes', , {}, [ [debug] xpath(./compounddef/compoundname[text()="mom_tidal_forcing::tidal_forcing_cs"]/..) match([('id', 'structmom__tidal__forcing_1_1tidal__forcing__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_forcing::tidal_forcing_cs', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_forcing::tidal_forcing_cs', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_forcing::tidal_forcing_cs', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((time_ref, longitudes)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::astro_longitudes_init', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::astro_longitudes_init', , {} [debug] DoxygenMethodDocumenter format_signature called ((constit, longitudes)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::eq_phase', , {}, ['', 'Calcu [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::eq_phase', , {}, ['', 'Calcu [debug] DoxygenMethodDocumenter format_signature called ((constit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::tidal_frequency', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::tidal_frequency', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((constit, N, fn, un)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::nodal_fu', , {}, ['', 'Find [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::nodal_fu', , {}, ['', 'Find [debug] DoxygenMethodDocumenter format_signature called ((Time, G, param_file, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM__memory_8h) kindref(compound) ref([]) [debug] ref([('id', 'MOM__memory_8h'), ('kind', 'file'), ('language', 'C++')]) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::tidal_forcing_init', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::tidal_forcing_init', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((filenames, varname, array, G)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::find_in_files', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::find_in_files', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((G, CS, deta_tidal_deta)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::tidal_forcing_sensitivity', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::tidal_forcing_sensitivity', [debug] DoxygenMethodDocumenter format_signature called ((Time, eta, eta_tidal, G, CS, deta_tidal_deta, m_to_Z)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::calc_tidal_forcing', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::calc_tidal_forcing', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::tidal_forcing_end', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_forcing::tidal_forcing_end', , {}, [' [fd] run(.. f:type:: astro_longitudes) [fd] sig(astro_longitudes) [fd] ftype(None) objtype(None) modname(None) typename() name(astro_longitudes) arglist(None) [fd] fullname(mom_tidal_forcing/astro_longitudes) ftype(None) [fd] name(('mom_tidal_forcing/astro_longitudes', None)) sig(astro_longitudes) signode(type mom_tidal_forcing/astro_longitudes) [fd] run(.. f:type:: tidal_forcing_cs) [fd] sig(tidal_forcing_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(tidal_forcing_cs) arglist(None) [fd] fullname(mom_tidal_forcing/tidal_forcing_cs) ftype(None) [fd] name(('mom_tidal_forcing/tidal_forcing_cs', None)) sig(tidal_forcing_cs) signode(type mom_tidal_forcing/tidal_forcing_cs) [fd] run(.. f:subroutine:: subroutine astro_longitudes_init(time_ref, longitudes)) [fd] sig(subroutine astro_longitudes_init(time_ref, longitudes)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(astro_longitudes_init) arglist(time_ref, longitudes) [fd] fullname(mom_tidal_forcing/astro_longitudes_init) ftype(None) [fd] name(('mom_tidal_forcing/astro_longitudes_init', None)) sig(subroutine astro_longitudes_init(time_ref, longitudes)) signode(subroutine mom_tidal_forcing/astro_longitudes_inittime_reflongitudes) [fd] run(.. f:function:: real function eq_phase(constit, longitudes)) [fd] sig(real function eq_phase(constit, longitudes)) [fd] ftype(real) objtype(function) modname(None) typename() name(eq_phase) arglist(constit, longitudes) [fd] fullname(mom_tidal_forcing/eq_phase) ftype(real) [fd] name(('mom_tidal_forcing/eq_phase', 'real')) sig(real function eq_phase(constit, longitudes)) signode(function mom_tidal_forcing/eq_phaseconstitlongitudes [real]) [fd] run(.. f:function:: real function tidal_frequency(constit)) [fd] sig(real function tidal_frequency(constit)) [fd] ftype(real) objtype(function) modname(None) typename() name(tidal_frequency) arglist(constit) [fd] fullname(mom_tidal_forcing/tidal_frequency) ftype(real) [fd] name(('mom_tidal_forcing/tidal_frequency', 'real')) sig(real function tidal_frequency(constit)) signode(function mom_tidal_forcing/tidal_frequencyconstit [real]) [fd] run(.. f:subroutine:: subroutine nodal_fu(constit, N, fn, un)) [fd] sig(subroutine nodal_fu(constit, N, fn, un)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(nodal_fu) arglist(constit, N, fn, un) [fd] fullname(mom_tidal_forcing/nodal_fu) ftype(None) [fd] name(('mom_tidal_forcing/nodal_fu', None)) sig(subroutine nodal_fu(constit, N, fn, un)) signode(subroutine mom_tidal_forcing/nodal_fuconstitNfnun) [fd] run(.. f:subroutine:: subroutine tidal_forcing_init(Time, G, param_file, CS)) [fd] sig(subroutine tidal_forcing_init(Time, G, param_file, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tidal_forcing_init) arglist(Time, G, param_file, CS) [fd] fullname(mom_tidal_forcing/tidal_forcing_init) ftype(None) [fd] name(('mom_tidal_forcing/tidal_forcing_init', None)) sig(subroutine tidal_forcing_init(Time, G, param_file, CS)) signode(subroutine mom_tidal_forcing/tidal_forcing_initTimeGparam_fileCS) [fd] run(.. f:subroutine:: subroutine find_in_files(filenames, varname, array, G)) [fd] sig(subroutine find_in_files(filenames, varname, array, G)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_in_files) arglist(filenames, varname, array, G) [fd] fullname(mom_tidal_forcing/find_in_files) ftype(None) [fd] name(('mom_tidal_forcing/find_in_files', None)) sig(subroutine find_in_files(filenames, varname, array, G)) signode(subroutine mom_tidal_forcing/find_in_filesfilenamesvarnamearrayG) [fd] run(.. f:subroutine:: subroutine tidal_forcing_sensitivity(G, CS, deta_tidal_deta)) [fd] sig(subroutine tidal_forcing_sensitivity(G, CS, deta_tidal_deta)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tidal_forcing_sensitivity) arglist(G, CS, deta_tidal_deta) [fd] fullname(mom_tidal_forcing/tidal_forcing_sensitivity) ftype(None) [fd] name(('mom_tidal_forcing/tidal_forcing_sensitivity', None)) sig(subroutine tidal_forcing_sensitivity(G, CS, deta_tidal_deta)) signode(subroutine mom_tidal_forcing/tidal_forcing_sensitivityGCSdeta_tidal_deta) [fd] run(.. f:subroutine:: subroutine calc_tidal_forcing(Time, eta, eta_tidal, G, CS, deta_tidal_deta, m_to_Z)) [fd] sig(subroutine calc_tidal_forcing(Time, eta, eta_tidal, G, CS, deta_tidal_deta, m_to_Z)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calc_tidal_forcing) arglist(Time, eta, eta_tidal, G, CS, deta_tidal_deta, m_to_Z) [fd] fullname(mom_tidal_forcing/calc_tidal_forcing) ftype(None) [fd] name(('mom_tidal_forcing/calc_tidal_forcing', None)) sig(subroutine calc_tidal_forcing(Time, eta, eta_tidal, G, CS, deta_tidal_deta, m_to_Z)) signode(subroutine mom_tidal_forcing/calc_tidal_forcingTimeetaeta_tidalGCSdeta_tidal_detam_to_Z) [fd] run(.. f:subroutine:: subroutine tidal_forcing_end(CS)) [fd] sig(subroutine tidal_forcing_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tidal_forcing_end) arglist(CS) [fd] fullname(mom_tidal_forcing/tidal_forcing_end) ftype(None) [fd] name(('mom_tidal_forcing/tidal_forcing_end', None)) sig(subroutine tidal_forcing_end(CS)) signode(subroutine mom_tidal_forcing/tidal_forcing_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 56%] api/generated/modules/mom_tidal_mixing [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_tidal_mi [app] emitting event: 'source-read'('api/generated/modules/mom_tidal_mixing', ['.. autodoxymodule:: mom_tidal_mixing\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_tidal_mixing.rst:1: input: .. autodoxymodule:: mom_tidal_mixing :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_tidal_mixing::tidal_mixing_cs ~mom_tidal_mixing::tidal_mixing_diags --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tidal_mixing::tidal_mixing_init ~mom_tidal_mixing::calculate_tidal_mixing ~mom_tidal_mixing::calculate_cvmix_tidal ~mom_tidal_mixing::add_int_tide_diffusivity ~mom_tidal_mixing::setup_tidal_diagnostics ~mom_tidal_mixing::post_tidal_diagnostics ~mom_tidal_mixing::tidal_mixing_h_amp ~mom_tidal_mixing::read_tidal_energy ~mom_tidal_mixing::read_tidal_constituents ~mom_tidal_mixing::tidal_mixing_end [debug] xpath(./compounddef/compoundname[text()="mom_tidal_mixing"]/..) match([('id', 'namespacemom__tidal__mixing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_tidal_mixing module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_mixing', , {'members': , {'members': , {'members': ), ('mom_tidal_mixing::tidal_mixing_diags', )]) [autodoc] module analyzer failed: error importing 'mom_tidal_mixing' (exception was: ModuleNotFoundError("No module named 'mom_tidal_mixing'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_cs', , {'members [autodoc] module analyzer failed: error importing 'mom_tidal_mixing' (exception was: ModuleNotFoundError("No module named 'mom_tidal_mixing'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tidal_mixing::tidal_mixing_diags', , {'memb [debug] members([('tidal_mixing_init', ), ('calculate_tidal_mixing', ), ('calculate_cvmix_tidal', ), ('add_int_tide_diffusivity', ), ('setup_tidal_diagnostics', ), ('post_tidal_diagnostics', ), ('tidal_mixing_h_amp', ), ('read_tidal_energy', ), ('read_tidal_constituents', ), ('tidal_mixing_end', )]) [autodoc] module analyzer failed: error importing 'mom_tidal_mixing' (exception was: ModuleNotFoundError("No module named 'mom_tidal_mixing'")) [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS)) [debug] add_directive_header sig((Time, G, GV, US, param_file, diag, CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function tidal_mixing_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'tidal_mixing_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_tidal_mixing::tidal_mixing_cs ~mom_tidal_mixing::tidal_mixing_diags --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tidal_mixing::tidal_mixing_init ~mom_tidal_mixing::calculate_tidal_mixing ~mom_tidal_mixing::calculate_cvmix_tidal ~mom_tidal_mixing::add_int_tide_diffusivity ~mom_tidal_mixing::setup_tidal_diagnostics ~mom_tidal_mixing::post_tidal_diagnostics ~mom_tidal_mixing::tidal_mixing_h_amp ~mom_tidal_mixing::read_tidal_energy ~mom_tidal_mixing::read_tidal_constituents ~mom_tidal_mixing::tidal_mixing_end .. _DETAmom_tidal_mixing: -------------------- Detailed Description -------------------- Interface to vertical tidal mixing schemes including CVMix tidal mixing. ------------------ Type Documentation ------------------ .. f:type:: tidal_mixing_cs Control structure with parameters for the tidal mixing module. :typefield integer id_tke_itidal: Diagnostic identifiers. :typefield integer id_tke_leewave: Diagnostic identifiers. :typefield integer id_kd_itidal: Diagnostic identifiers. :typefield integer id_kd_niku: Diagnostic identifiers. :typefield integer id_kd_lowmode: Diagnostic identifiers. :typefield integer id_kd_itidal_work: Diagnostic identifiers. :typefield integer id_kd_niku_work: Diagnostic identifiers. :typefield integer id_kd_lowmode_work: Diagnostic identifiers. :typefield integer id_nb: Diagnostic identifiers. :typefield integer id_n2_bot: Diagnostic identifiers. :typefield integer id_n2_meanz: Diagnostic identifiers. :typefield integer id_fl_itidal: Diagnostic identifiers. :typefield integer id_fl_lowmode: Diagnostic identifiers. :typefield integer id_polzin_decay_scale: Diagnostic identifiers. :typefield integer id_polzin_decay_scale_scaled: Diagnostic identifiers. :typefield integer id_n2_int: Diagnostic identifiers. :typefield integer id_simmons_coeff: Diagnostic identifiers. :typefield integer id_schmittner_coeff: Diagnostic identifiers. :typefield integer id_tidal_qe_md: Diagnostic identifiers. :typefield integer id_vert_dep: Diagnostic identifiers. :typefield logical debug: If true, do more extensive debugging checks. This is hard-coded. :typefield logical int_tide_dissipation: Internal tide conversion (from barotropic) with the schemes of St Laurent et al (2002) & Simmons et al (2004) :typefield integer int_tide_profile: A coded integer indicating the vertical profile for dissipation of the internal waves. Schemes that are currently encoded are St Laurent et al (2002) and Polzin (2009). :typefield logical lee_wave_dissipation: Enable lee-wave driven mixing, following Nikurashin (2010), with a vertical energy deposition profile specified by Lee_wave_profile to be St Laurent et al (2002) or Simmons et al (2004) scheme. :typefield integer lee_wave_profile: A coded integer indicating the vertical profile for dissipation of the lee waves. Schemes that are currently encoded are St Laurent et al (2002) and Polzin (2009). :typefield real int_tide_decay_scale: decay scale for internal wave TKE [Z ~> m]. :typefield real mu_itides: efficiency for conversion of dissipation to potential energy [nondim] :typefield real gamma_itides: fraction of local dissipation [nondim] :typefield real gamma_lee: fraction of local dissipation for lee waves (Nikurashin's energy input) [nondim] :typefield real decay_scale_factor_lee: Scaling factor for the decay scale of lee wave energy dissipation [nondim]. :typefield real min_zbot_itides: minimum depth for internal tide conversion [Z ~> m]. :typefield logical lowmode_itidal_dissipation: If true, consider mixing due to breaking low modes that have been remotely generated using an internal tidal dissipation scheme to specify the vertical profile of the energy input to drive diapycnal mixing, along the lines of St. Laurent et al. (2002) and Simmons et al. (2004). :typefield real nu_polzin: The non-dimensional constant used in Polzin form of the vertical scale of decay of tidal dissipation [nondim]. :typefield real nbotref_polzin: Reference value for the buoyancy frequency at the ocean bottom used in Polzin formulation of the vertical scale of decay of tidal dissipation [T-1 ~> s-1]. :typefield real polzin_decay_scale_factor: Scaling factor for the decay length scale of the tidal dissipation profile in Polzin [nondim]. :typefield real polzin_decay_scale_max_factor: The decay length scale of tidal dissipation profile in Polzin formulation should not exceed Polzin_decay_scale_max_factor * depth of the ocean [nondim]. :typefield real polzin_min_decay_scale: minimum decay scale of the tidal dissipation profile in Polzin formulation [Z ~> m]. :typefield real tke_itide_max: maximum internal tide conversion [R Z3 T-3 ~> W m-2] available to mix above the BBL :typefield real utide: constant tidal amplitude [Z T-1 ~> m s-1] if READ_TIDEAMP is false. :typefield real kappa_itides: topographic wavenumber and non-dimensional scaling [Z-1 ~> m-1]. :typefield real kappa_h2_factor: factor for the product of wavenumber * rms sgs height :typefield character (len=200) inputdir: The directory in which to find input files. :typefield logical use_cvmix_tidal: true if CVMix is to be used for determining diffusivity due to tidal mixing :typefield real min_thickness: Minimum thickness allowed [m]. :typefield integer cvmix_tidal_scheme: 1 for Simmons, 2 for Schmittner :typefield type(cvmix_tidal_params_type) cvmix_tidal_params: A CVMix-specific type with parameters for tidal mixing. :typefield type(cvmix_global_params_type) cvmix_glb_params: CVMix-specific for Prandtl number only. :typefield real tidal_max_coef: CVMix-specific maximum allowable tidal diffusivity. [m^2/s]. :typefield real tidal_diss_lim_tc: CVMix-specific dissipation limit depth for tidal-energy-constituent data [Z ~> m]. :typefield type(remapping_cs) remap_cs: The control structure for remapping. :typefield logical remap_answers_2018: If true, use the order of arithmetic and expressions that recover the remapping answers from 2018. If false, use more robust forms of the same remapping expressions. :typefield real(\:,\:) tke_niku [pointer]: Lee wave driven Turbulent Kinetic Energy input [R Z3 T-3 ~> W m-2]. :typefield real(\:,\:) tke_itidal [pointer]: The internal Turbulent Kinetic Energy input divided by the bottom stratfication [R Z3 T-2 ~> J m-2]. :typefield real(\:,\:) nb [pointer]: The near bottom buoyancy frequency [T-1 ~> s-1]. :typefield real(\:,\:) mask_itidal [pointer]: A mask of where internal tide energy is input. :typefield real(\:,\:) h2 [pointer]: Squared bottom depth variance [Z2 ~> m2]. :typefield real(\:,\:) tideamp [pointer]: RMS tidal amplitude [Z T-1 ~> m s-1]. :typefield real(\:) h_src [allocatable]: tidal constituent input layer thickness [m] :typefield real(\:,\:) tidal_qe_2d [allocatable]: Tidal energy input times the local dissipation fraction, q*E(x,y), with the CVMix implementation of Jayne et al tidal mixing [W m-2]. TODO: make this E(x,y) only. :typefield real(\:,\:,\:) tidal_qe_3d_in [allocatable]: q*E(x,y,z) with the Schmittner parameterization [W m-3?] :typefield logical answers_2018: If true, use the order of arithmetic and expressions that recover the answers from the end of 2018. Otherwise, use updated and more robust forms of the same expressions. :typefield type(diag_ctrl) diag [pointer]: structure to regulate diagnostic output timing :typefield type( tidal_mixing_diags ) dd [pointer]: A pointer to a structure of diagnostic arrays. .. f:type:: tidal_mixing_diags Containers for tidal mixing diagnostics. :typefield real(\:,\:,\:) kd_itidal [pointer]: internal tide diffusivity at interfaces [Z2 T-1 ~> m2 s-1]. :typefield real(\:,\:,\:) fl_itidal [pointer]: vertical flux of tidal turbulent dissipation [Z3 T-3 ~> m3 s-3] :typefield real(\:,\:,\:) kd_niku [pointer]: lee-wave diffusivity at interfaces [Z2 T-1 ~> m2 s-1]. :typefield real(\:,\:,\:) kd_niku_work [pointer]: layer integrated work by lee-wave driven mixing [R Z3 T-3 ~> W m-2] :typefield real(\:,\:,\:) kd_itidal_work [pointer]: layer integrated work by int tide driven mixing [R Z3 T-3 ~> W m-2] :typefield real(\:,\:,\:) kd_lowmode_work [pointer]: layer integrated work by low mode driven mixing [R Z3 T-3 ~> W m-2] :typefield real(\:,\:,\:) n2_int [pointer]: Bouyancy frequency squared at interfaces [T-2 ~> s-2]. :typefield real(\:,\:,\:) vert_dep_3d [pointer]: The 3-d mixing energy deposition [W m-3]. :typefield real(\:,\:,\:) schmittner_coeff_3d [pointer]: The coefficient in the Schmittner et al mixing scheme, in UNITS? :typefield real(\:,\:,\:) tidal_qe_md [pointer]: Input tidal energy dissipated locally, interpolated to model vertical coordinate [W m-3?]. :typefield real(\:,\:,\:) kd_lowmode [pointer]: internal tide diffusivity at interfaces due to propagating low modes [Z2 T-1 ~> m2 s-1]. :typefield real(\:,\:,\:) fl_lowmode [pointer]: vertical flux of tidal turbulent dissipation due to propagating low modes [Z3 T-3 ~> m3 s-3] :typefield real(\:,\:) tke_itidal_used [pointer]: internal tide TKE input at ocean bottom [R Z3 T-3 ~> W m-2] :typefield real(\:,\:) n2_bot [pointer]: bottom squared buoyancy frequency [T-2 ~> s-2] :typefield real(\:,\:) n2_meanz [pointer]: vertically averaged buoyancy frequency [T-2 ~> s-2] :typefield real(\:,\:) polzin_decay_scale_scaled [pointer]: vertical scale of decay for tidal dissipation [Z ~> m] :typefield real(\:,\:) polzin_decay_scale [pointer]: vertical decay scale for tidal diss with Polzin [Z ~> m] :typefield real(\:,\:) simmons_coeff_2d [pointer]: The Simmons et al mixing coefficient. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function tidal_mixing_init(Time, G, GV, US, param_file, diag, CS) Initializes internal tidal dissipation scheme for diapycnal mixing. :param time: [in] The current time. :param g: [in] Grid structure. :param gv: [in] Vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] Run-time parameter file handle :param diag: [inout] Diagnostics control structure. :param cs: This module's control structure. :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_string_functions::lowercase ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`polzin_09 ` :callto: :f:func:`polzin_profile_string ` :callto: :f:func:`read_tidal_energy ` :callto: :f:func:`schmittner ` :callto: :f:func:`schmittner_scheme_string ` :callto: :f:func:`simmons ` :callto: :f:func:`simmons_scheme_string ` :callto: :f:func:`stlaurent_02 ` :callto: :f:func:`stlaurent_profile_string ` :callto: :f:func:`mom_string_functions::uppercase ` :calledfrom: :f:func:`mom_set_diffusivity::set_diffusivity_init ` .. f:subroutine:: subroutine calculate_tidal_mixing(h, N2_bot, j, TKE_to_Kd, max_TKE, G, GV, US, CS, N2_lay, N2_int, Kd_lay, Kd_int, Kd_max, Kv) Depending on whether or not CVMix is active, calls the associated subroutine to compute internal tidal dissipation and to add the effect of internal-tide-driven mixing to the layer or interface diffusivities. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param n2_bot: [in] The near-bottom squared buoyancy frequency [T-2 ~> s-2]. :param n2_lay: [in] The squared buoyancy frequency of the layers [T-2 ~> s-2]. :param n2_int: [in] The squared buoyancy frequency at the interfaces [T-2 ~> s-2]. :param j: [in] The j-index to work on :param tke_to_kd: [in] The conversion rate between the TKE dissipated within a layer and the diapycnal diffusivity within that layer, usually (~Rho_0 / (G_Earth * dRho_lay)) [Z2 T-1 / Z3 T-3 = T2 Z-1 ~> s2 m-1] :param max_tke: [in] The energy required to for a layer to entrain to its maximum realizable thickness [Z3 T-3 ~> m3 s-3] :param cs: The control structure for this module :param kd_lay: [inout] The diapycnal diffusivity in layers [Z2 T-1 ~> m2 s-1]. :param kd_int: [inout] The diapycnal diffusivity at interfaces, :param kd_max: [in] The maximum increment for diapycnal diffusivity due to TKE-based processes, [Z2 T-1 ~> m2 s-1]. Set this to a negative value to have no limit. :param kv: The "slow" vertical viscosity at each interface (not layer!) [Z2 T-1 ~> m2 s-1]. :callto: :f:func:`add_int_tide_diffusivity ` :callto: :f:func:`calculate_cvmix_tidal ` .. f:subroutine:: subroutine calculate_cvmix_tidal(h, j, G, GV, US, CS, N2_int, Kd_lay, Kd_int, Kv) Calls the CVMix routines to compute tidal dissipation and to add the effect of internal-tide-driven mixing to the interface diffusivities. :param j: [in] The j-index to work on :param g: [in] Grid structure. :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param cs: This module's control structure. :param n2_int: [in] The squared buoyancy frequency at the interfaces [T-2 ~> s-2]. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param kd_lay: [inout] The diapycnal diffusivity in the layers [Z2 T-1 ~> m2 s-1]. :param kd_int: [inout] The diapycnal diffusivity at interfaces [Z2 T-1 ~> m2 s-1]. :param kv: The "slow" vertical viscosity at each interface (not layer!) [Z2 T-1 ~> m2 s-1]. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_remapping::remapping_core_h ` :callto: :f:func:`schmittner ` :callto: :f:func:`simmons ` :calledfrom: :f:func:`calculate_tidal_mixing ` .. f:subroutine:: subroutine add_int_tide_diffusivity(h, N2_bot, j, TKE_to_Kd, max_TKE, G, GV, US, CS, N2_lay, Kd_lay, Kd_int, Kd_max) This subroutine adds the effect of internal-tide-driven mixing to the layer diffusivities. The mechanisms considered are (1) local dissipation of internal waves generated by the barotropic flow ("itidal"), (2) local dissipation of internal waves generated by the propagating low modes (rays) of the internal tide ("lowmode"), and (3) local dissipation of internal lee waves. Will eventually need to add diffusivity due to other wave-breaking processes (e.g. Bottom friction, Froude-number-depending breaking, PSI, etc.). :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param n2_bot: [in] The near-bottom squared buoyancy frequency frequency [T-2 ~> s-2]. :param n2_lay: [in] The squared buoyancy frequency of the layers [T-2 ~> s-2]. :param j: [in] The j-index to work on :param tke_to_kd: [in] The conversion rate between the TKE dissipated within a layer and the diapycnal diffusivity within that layer, usually (~Rho_0 / (G_Earth * dRho_lay)) [Z2 T-1 / Z3 T-3 = T2 Z-1 ~> s2 m-1] :param max_tke: [in] The energy required to for a layer to entrain to its maximum realizable thickness [Z3 T-3 ~> m3 s-3] :param cs: The control structure for this module :param kd_lay: [inout] The diapycnal diffusivity in layers [Z2 T-1 ~> m2 s-1]. :param kd_int: [inout] The diapycnal diffusivity at interfaces :param kd_max: [in] The maximum increment for diapycnal diffusivity due to TKE-based processes [Z2 T-1 ~> m2 s-1]. Set this to a negative value to have no limit. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`polzin_09 ` :callto: :f:func:`stlaurent_02 ` :calledfrom: :f:func:`calculate_tidal_mixing ` .. f:subroutine:: subroutine setup_tidal_diagnostics(G, CS) Sets up diagnostics arrays for tidal mixing. :param g: [in] The ocean's grid structure :param cs: The control structure for this module :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`schmittner ` :callto: :f:func:`simmons ` .. f:subroutine:: subroutine post_tidal_diagnostics(G, GV, h, CS) This subroutine offers up diagnostics of the tidal mixing. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :param cs: The control structure for this module .. f:subroutine:: subroutine tidal_mixing_h_amp(h_amp, G, j, CS) This subroutine returns a zonal slice of the topographic roughness amplitudes. :param g: [in] The ocean's grid structure :param h_amp: [out] The topographic roughness amplitude [Z ~> m] :param j: [in] j-index of the row to work on :param cs: The control structure for this module .. f:subroutine:: subroutine read_tidal_energy(G, US, tidal_energy_type, tidal_energy_file, CS) This subroutine read tidal energy inputs from a file. :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param tidal_energy_type: [in] The type of tidal energy inputs to read :param tidal_energy_file: [in] The file from which to read tidalinputs :param cs: The control structure for this module :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`read_tidal_constituents ` :callto: :f:func:`mom_string_functions::uppercase ` :calledfrom: :f:func:`tidal_mixing_init ` .. f:subroutine:: subroutine read_tidal_constituents(G, US, tidal_energy_file, CS) This subroutine reads tidal input energy from a file by constituent. :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param tidal_energy_file: [in] The file from which to read tidal energy inputs :param cs: The control structure for this module :callto: :f:func:`mom_remapping::initialize_remapping ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`read_tidal_energy ` .. f:subroutine:: subroutine tidal_mixing_end(CS) Clear pointers and deallocate memory. :param cs: This module's control structure, which will be deallocated in this routine. :calledfrom: :f:func:`mom_set_diffusivity::set_diffusivity_end ` [debug] xpath(./compounddef/compoundname[text()="mom_tidal_mixing::tidal_mixing_cs"]/..) match([('id', 'structmom__tidal__mixing_1_1tidal__mixing__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_mixing::tidal_mixing_cs', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_mixing::tidal_mixing_cs', , {}, ['` [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_mixing::tidal_mixing_cs', , {}, ['' [debug] xpath(./compounddef/compoundname[text()="mom_tidal_mixing::tidal_mixing_diags"]/..) match([('id', 'structmom__tidal__mixing_1_1tidal__mixing__diags'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_mixing::tidal_mixing_diags', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_mixing::tidal_mixing_diags', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_mixing::tidal_mixing_diags', , {}, [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::tidal_mixing_init', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::tidal_mixing_init', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((h, N2_bot, j, TKE_to_Kd, max_TKE, G, GV, US, CS, N2_lay, N2_int, Kd_lay, Kd_int, Kd_max, Kv)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::calculate_tidal_mixing', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::calculate_tidal_mixing', , {} [debug] DoxygenMethodDocumenter format_signature called ((h, j, G, GV, US, CS, N2_int, Kd_lay, Kd_int, Kv)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::calculate_cvmix_tidal', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::calculate_cvmix_tidal', , {}, [debug] DoxygenMethodDocumenter format_signature called ((h, N2_bot, j, TKE_to_Kd, max_TKE, G, GV, US, CS, N2_lay, Kd_lay, Kd_int, Kd_max)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::add_int_tide_diffusivity', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::add_int_tide_diffusivity', , [debug] DoxygenMethodDocumenter format_signature called ((G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::setup_tidal_diagnostics', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::setup_tidal_diagnostics', , { [debug] DoxygenMethodDocumenter format_signature called ((G, GV, h, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::post_tidal_diagnostics', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::post_tidal_diagnostics', , {} [debug] DoxygenMethodDocumenter format_signature called ((h_amp, G, j, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::tidal_mixing_h_amp', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::tidal_mixing_h_amp', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((G, US, tidal_energy_type, tidal_energy_file, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::read_tidal_energy', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::read_tidal_energy', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((G, US, tidal_energy_file, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::read_tidal_constituents', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::read_tidal_constituents', , { [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::tidal_mixing_end', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tidal_mixing::tidal_mixing_end', , {}, ['', [fd] run(.. f:type:: tidal_mixing_cs) [fd] sig(tidal_mixing_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(tidal_mixing_cs) arglist(None) [fd] fullname(mom_tidal_mixing/tidal_mixing_cs) ftype(None) [fd] name(('mom_tidal_mixing/tidal_mixing_cs', None)) sig(tidal_mixing_cs) signode(type mom_tidal_mixing/tidal_mixing_cs) [fd] run(.. f:type:: tidal_mixing_diags) [fd] sig(tidal_mixing_diags) [fd] ftype(None) objtype(None) modname(None) typename() name(tidal_mixing_diags) arglist(None) [fd] fullname(mom_tidal_mixing/tidal_mixing_diags) ftype(None) [fd] name(('mom_tidal_mixing/tidal_mixing_diags', None)) sig(tidal_mixing_diags) signode(type mom_tidal_mixing/tidal_mixing_diags) [fd] run(.. f:function:: logical function tidal_mixing_init(Time, G, GV, US, param_file, diag, CS)) [fd] sig(logical function tidal_mixing_init(Time, G, GV, US, param_file, diag, CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(tidal_mixing_init) arglist(Time, G, GV, US, param_file, diag, CS) [fd] fullname(mom_tidal_mixing/tidal_mixing_init) ftype(logical) [fd] name(('mom_tidal_mixing/tidal_mixing_init', 'logical')) sig(logical function tidal_mixing_init(Time, G, GV, US, param_file, diag, CS)) signode(function mom_tidal_mixing/tidal_mixing_initTimeGGVUSparam_filediagCS [logical]) [fd] run(.. f:subroutine:: subroutine calculate_tidal_mixing(h, N2_bot, j, TKE_to_Kd, max_TKE, G, GV, US, CS, N2_lay, N2_int, Kd_lay, Kd_int, Kd_max, Kv)) [fd] sig(subroutine calculate_tidal_mixing(h, N2_bot, j, TKE_to_Kd, max_TKE, G, GV, US, CS, N2_lay, N2_int, Kd_lay, Kd_int, Kd_max, Kv)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_tidal_mixing) arglist(h, N2_bot, j, TKE_to_Kd, max_TKE, G, GV, US, CS, N2_lay, N2_int, Kd_lay, Kd_int, Kd_max, Kv) [fd] fullname(mom_tidal_mixing/calculate_tidal_mixing) ftype(None) [fd] name(('mom_tidal_mixing/calculate_tidal_mixing', None)) sig(subroutine calculate_tidal_mixing(h, N2_bot, j, TKE_to_Kd, max_TKE, G, GV, US, CS, N2_lay, N2_int, Kd_lay, Kd_int, Kd_max, Kv)) signode(subroutine mom_tidal_mixing/calculate_tidal_mixinghN2_botjTKE_to_Kdmax_TKEGGVUSCSN2_layN2_intKd_layKd_intKd_maxKv) [fd] run(.. f:subroutine:: subroutine calculate_cvmix_tidal(h, j, G, GV, US, CS, N2_int, Kd_lay, Kd_int, Kv)) [fd] sig(subroutine calculate_cvmix_tidal(h, j, G, GV, US, CS, N2_int, Kd_lay, Kd_int, Kv)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(calculate_cvmix_tidal) arglist(h, j, G, GV, US, CS, N2_int, Kd_lay, Kd_int, Kv) [fd] fullname(mom_tidal_mixing/calculate_cvmix_tidal) ftype(None) [fd] name(('mom_tidal_mixing/calculate_cvmix_tidal', None)) sig(subroutine calculate_cvmix_tidal(h, j, G, GV, US, CS, N2_int, Kd_lay, Kd_int, Kv)) signode(subroutine mom_tidal_mixing/calculate_cvmix_tidalhjGGVUSCSN2_intKd_layKd_intKv) [fd] run(.. f:subroutine:: subroutine add_int_tide_diffusivity(h, N2_bot, j, TKE_to_Kd, max_TKE, G, GV, US, CS, N2_lay, Kd_lay, Kd_int, Kd_max)) [fd] sig(subroutine add_int_tide_diffusivity(h, N2_bot, j, TKE_to_Kd, max_TKE, G, GV, US, CS, N2_lay, Kd_lay, Kd_int, Kd_max)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(add_int_tide_diffusivity) arglist(h, N2_bot, j, TKE_to_Kd, max_TKE, G, GV, US, CS, N2_lay, Kd_lay, Kd_int, Kd_max) [fd] fullname(mom_tidal_mixing/add_int_tide_diffusivity) ftype(None) [fd] name(('mom_tidal_mixing/add_int_tide_diffusivity', None)) sig(subroutine add_int_tide_diffusivity(h, N2_bot, j, TKE_to_Kd, max_TKE, G, GV, US, CS, N2_lay, Kd_lay, Kd_int, Kd_max)) signode(subroutine mom_tidal_mixing/add_int_tide_diffusivityhN2_botjTKE_to_Kdmax_TKEGGVUSCSN2_layKd_layKd_intKd_max) [fd] run(.. f:subroutine:: subroutine setup_tidal_diagnostics(G, CS)) [fd] sig(subroutine setup_tidal_diagnostics(G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(setup_tidal_diagnostics) arglist(G, CS) [fd] fullname(mom_tidal_mixing/setup_tidal_diagnostics) ftype(None) [fd] name(('mom_tidal_mixing/setup_tidal_diagnostics', None)) sig(subroutine setup_tidal_diagnostics(G, CS)) signode(subroutine mom_tidal_mixing/setup_tidal_diagnosticsGCS) [fd] run(.. f:subroutine:: subroutine post_tidal_diagnostics(G, GV, h, CS)) [fd] sig(subroutine post_tidal_diagnostics(G, GV, h, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(post_tidal_diagnostics) arglist(G, GV, h, CS) [fd] fullname(mom_tidal_mixing/post_tidal_diagnostics) ftype(None) [fd] name(('mom_tidal_mixing/post_tidal_diagnostics', None)) sig(subroutine post_tidal_diagnostics(G, GV, h, CS)) signode(subroutine mom_tidal_mixing/post_tidal_diagnosticsGGVhCS) [fd] run(.. f:subroutine:: subroutine tidal_mixing_h_amp(h_amp, G, j, CS)) [fd] sig(subroutine tidal_mixing_h_amp(h_amp, G, j, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tidal_mixing_h_amp) arglist(h_amp, G, j, CS) [fd] fullname(mom_tidal_mixing/tidal_mixing_h_amp) ftype(None) [fd] name(('mom_tidal_mixing/tidal_mixing_h_amp', None)) sig(subroutine tidal_mixing_h_amp(h_amp, G, j, CS)) signode(subroutine mom_tidal_mixing/tidal_mixing_h_amph_ampGjCS) [fd] run(.. f:subroutine:: subroutine read_tidal_energy(G, US, tidal_energy_type, tidal_energy_file, CS)) [fd] sig(subroutine read_tidal_energy(G, US, tidal_energy_type, tidal_energy_file, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(read_tidal_energy) arglist(G, US, tidal_energy_type, tidal_energy_file, CS) [fd] fullname(mom_tidal_mixing/read_tidal_energy) ftype(None) [fd] name(('mom_tidal_mixing/read_tidal_energy', None)) sig(subroutine read_tidal_energy(G, US, tidal_energy_type, tidal_energy_file, CS)) signode(subroutine mom_tidal_mixing/read_tidal_energyGUStidal_energy_typetidal_energy_fileCS) [fd] run(.. f:subroutine:: subroutine read_tidal_constituents(G, US, tidal_energy_file, CS)) [fd] sig(subroutine read_tidal_constituents(G, US, tidal_energy_file, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(read_tidal_constituents) arglist(G, US, tidal_energy_file, CS) [fd] fullname(mom_tidal_mixing/read_tidal_constituents) ftype(None) [fd] name(('mom_tidal_mixing/read_tidal_constituents', None)) sig(subroutine read_tidal_constituents(G, US, tidal_energy_file, CS)) signode(subroutine mom_tidal_mixing/read_tidal_constituentsGUStidal_energy_fileCS) [fd] run(.. f:subroutine:: subroutine tidal_mixing_end(CS)) [fd] sig(subroutine tidal_mixing_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tidal_mixing_end) arglist(CS) [fd] fullname(mom_tidal_mixing/tidal_mixing_end) ftype(None) [fd] name(('mom_tidal_mixing/tidal_mixing_end', None)) sig(subroutine tidal_mixing_end(CS)) signode(subroutine mom_tidal_mixing/tidal_mixing_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 57%] api/generated/modules/mom_time_manager [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_time_man [app] emitting event: 'source-read'('api/generated/modules/mom_time_manager', ['.. autodoxymodule:: mom_time_manager\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_time_manager.rst:1: input: .. autodoxymodule:: mom_time_manager :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_time_manager::real_to_time [debug] xpath(./compounddef/compoundname[text()="mom_time_manager"]/..) match([('id', 'namespacemom__time__manager'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_time_manager module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_time_manager', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_time_manager' (exception was: ModuleNotFoundError("No module named 'mom_time_manager'")) [debug] DoxygenMethodDocumenter format_signature called ((x, err_msg)) [debug] add_directive_header sig((x, err_msg)) [debug] DoxygenMethodDocumenter directive(function) name(type(time_type) function real_to_time) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_simplesect [debug] simplesect kind(return) [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'real_to_time', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_time_manager::real_to_time .. _DETAmom_time_manager: -------------------- Detailed Description -------------------- Wraps the FMS time manager functions. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: type(time_type) function real_to_time(x, err_msg) This is an alternate implementation of the FMS function real_to_time_type that is accurate over a larger range of input values. With 32 bit signed integers, this version should work over the entire valid range (2^31 days or ~5.8835 million years) of time_types, whereas the standard version in the FMS time_manager stops working for conversions of times greater than 2^31 seconds, or ~68.1 years. :returns undefined: The output time as a time_type :param x: [in] The input time in real seconds. :param err_msg: [out] An optional returned error message. :calledfrom: :f:func:`mom_ice_shelf::add_shelf_flux ` :calledfrom: :f:func:`mom_controlled_forcing::apply_ctrl_forcing ` :calledfrom: :f:func:`mom_barotropic::btstep ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`mom_offline_main::offline_transport_init ` :calledfrom: :f:func:`mom_dynamics_unsplit::step_mom_dyn_unsplit ` :calledfrom: :f:func:`ocean_model_mod::update_ocean_model ` [debug] DoxygenMethodDocumenter format_signature called ((x, err_msg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_time_manager::real_to_time', , {}, ['', 'Th [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_time_manager::real_to_time', , {}, ['', 'Th [fd] run(.. f:function:: type(time_type) function real_to_time(x, err_msg)) [fd] sig(type(time_type) function real_to_time(x, err_msg)) [fd] ftype(type(time_type)) objtype(function) modname(None) typename() name(real_to_time) arglist(x, err_msg) [fd] fullname(mom_time_manager/real_to_time) ftype(type(time_type)) [fd] name(('mom_time_manager/real_to_time', 'type(time_type)')) sig(type(time_type) function real_to_time(x, err_msg)) signode(function mom_time_manager/real_to_timexerr_msg [type(time_type)]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 57%] api/generated/modules/mom_tracer_advect [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_tracer_a [app] emitting event: 'source-read'('api/generated/modules/mom_tracer_advect', ['.. autodoxymodule:: mom_tracer_advect\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_tracer_advect.rst:1: input: .. autodoxymodule:: mom_tracer_advect :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_tracer_advect::tracer_advect_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tracer_advect::advect_tracer ~mom_tracer_advect::advect_x ~mom_tracer_advect::advect_y ~mom_tracer_advect::tracer_advect_init ~mom_tracer_advect::tracer_advect_end [debug] xpath(./compounddef/compoundname[text()="mom_tracer_advect"]/..) match([('id', 'namespacemom__tracer__advect'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_tracer_advect module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_advect', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_tracer_advect' (exception was: ModuleNotFoundError("No module named 'mom_tracer_advect'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_tracer_advect::tracer_advect_cs', , {'membe [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_advect::tracer_advect_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_advect::tracer_advect_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_advect::tracer_advect_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_advect::tracer_advect_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_advect::tracer_advect_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_advect::tracer_advect_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_advect::tracer_advect_cs', , {'membe [debug] members([('advect_tracer', ), ('advect_x', ), ('advect_y', ), ('tracer_advect_init', ), ('tracer_advect_end', )]) [autodoc] module analyzer failed: error importing 'mom_tracer_advect' (exception was: ModuleNotFoundError("No module named 'mom_tracer_advect'")) [debug] DoxygenMethodDocumenter format_signature called ((h_end, uhtr, vhtr, OBC, dt, G, GV, US, CS, Reg, h_prev_opt, max_iter_in, x_first_in, uhr_out, vhr_out, h_out)) [debug] add_directive_header sig((h_end, uhtr, vhtr, OBC, dt, G, GV, US, CS, Reg, h_prev_opt, max_iter_in, x_first_in, uhr_out, vhr_out, h_out)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine advect_tracer) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'advect_tracer', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_tracer_advect::tracer_advect_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tracer_advect::advect_tracer ~mom_tracer_advect::advect_x ~mom_tracer_advect::advect_y ~mom_tracer_advect::tracer_advect_init ~mom_tracer_advect::tracer_advect_end .. _DETAmom_tracer_advect: -------------------- Detailed Description -------------------- This program contains the subroutines that advect tracers horizontally (i.e. along layers). .. _namespacemom__tracer__advect_1section_mom_advect_intro: section_mom_advect_intro ======================== * advect_tracer advects tracer concentrations using a combination of the modified flux advection scheme from Easter (Mon. Wea. Rev., 1993) with tracer distributions given by the monotonic modified van Leer scheme proposed by Lin et al. (Mon. Wea. Rev., 1994). This scheme conserves the total amount of tracer while avoiding spurious maxima and minima of the tracer concentration. If a higher order accuracy scheme is needed, suggest monotonic piecewise parabolic method, as described in Carpenter et al. (MWR, 1990). * advect_tracer has 4 arguments, described below. This subroutine determines the volume of a layer in a grid cell at the previous instance when the tracer concentration was changed, so it is essential that the volume fluxes should be correct. It is also important that the tracer advection occurs before each calculation of the diabatic forcing. ------------------ Type Documentation ------------------ .. f:type:: tracer_advect_cs Control structure for this module. :typefield real dt: The baroclinic dynamics time step [T ~> s]. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield logical debug: If true, write verbose checksums for debugging purposes. :typefield logical useppm: If true, use PPM instead of PLM. :typefield logical usehuynh: If true, use the Huynh scheme for PPM interface values. :typefield type(group_pass_type) pass_uhr_vhr_t_hprev: A structred used for group passes. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine advect_tracer(h_end, uhtr, vhtr, OBC, dt, G, GV, US, CS, Reg, h_prev_opt, max_iter_in, x_first_in, uhr_out, vhr_out, h_out) This routine time steps the tracer concentration using a monotonic, conservative, weakly diffusive scheme. :param g: [inout] ocean grid structure :param gv: [in] ocean vertical grid structure :param h_end: [in] layer thickness after advection [H ~> m or kg m-2] :param uhtr: [in] accumulated volume/mass flux through zonal face [H L2 ~> m3 or kg] :param vhtr: [in] accumulated volume/mass flux through merid face [H L2 ~> m3 or kg] :param obc: specifies whether, where, and what OBCs are used :param dt: [in] time increment [T ~> s] :param us: [in] A dimensional unit scaling type :param cs: control structure for module :param reg: pointer to tracer registry :param h_prev_opt: [in] layer thickness before advection [H ~> m or kg m-2] :param max_iter_in: [in] The maximum number of iterations :param x_first_in: [in] If present, indicate whether to update first in the x- or y-direction. :param uhr_out: [out] accumulated volume/mass flux through zonal face :param vhr_out: [out] accumulated volume/mass flux through merid face :param h_out: [out] layer thickness before advection [H ~> m or kg m-2] :callto: :f:func:`advect_x ` :callto: :f:func:`advect_y ` :callto: :f:func:`mom_domains::do_group_pass ` :callto: :f:func:`id_clock_advect ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_sync ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_offline_main::offline_advection_ale ` :calledfrom: :f:func:`mom_offline_main::offline_advection_layer ` :calledfrom: :f:func:`mom_offline_main::offline_redistribute_residual ` .. f:subroutine:: subroutine advect_x(Tr, hprev, uhr, uh_neglect, OBC, domore_u, ntr, Idt, is, ie, js, je, k, G, GV, US, usePPM, useHuynh) This subroutine does 1-d flux-form advection in the zonal direction using a monotonic piecewise linear scheme. :param g: [inout] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param tr: [inout] The array of registered tracers to work on :param hprev: [inout] cell volume at the end of previous tracer change [H L2 ~> m3 or kg] :param uhr: [inout] accumulated volume/mass flux through the zonal face [H L2 ~> m3 or kg] :param uh_neglect: [in] A tiny zonal mass flux that can be neglected [H L2 ~> m3 or kg] :param obc: specifies whether, where, and what OBCs are used :param domore_u: [inout] If true, there is more advection to be done in this u-row :param idt: [in] The inverse of dt [T-1 ~> s-1] :param ntr: [in] The number of tracers :param is: [in] The starting tracer i-index to work on :param ie: [in] The ending tracer i-index to work on :param js: [in] The starting tracer j-index to work on :param je: [in] The ending tracer j-index to work on :param k: [in] The k-level to work on :param us: [in] A dimensional unit scaling type :param useppm: [in] If true, use PPM instead of PLM :param usehuynh: [in] If true, use the Huynh scheme for PPM interface values :calledfrom: :f:func:`advect_tracer ` .. f:subroutine:: subroutine advect_y(Tr, hprev, vhr, vh_neglect, OBC, domore_v, ntr, Idt, is, ie, js, je, k, G, GV, US, usePPM, useHuynh) This subroutine does 1-d flux-form advection using a monotonic piecewise linear scheme. :param g: [inout] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param tr: [inout] The array of registered tracers to work on :param hprev: [inout] cell volume at the end of previous tracer change [H L2 ~> m3 or kg] :param vhr: [inout] accumulated volume/mass flux through the meridional face [H L2 ~> m3 or kg] :param vh_neglect: [inout] A tiny meridional mass flux that can be neglected [H L2 ~> m3 or kg] :param obc: specifies whether, where, and what OBCs are used :param domore_v: [inout] If true, there is more advection to be done in this v-row :param idt: [in] The inverse of dt [T-1 ~> s-1] :param ntr: [in] The number of tracers :param is: [in] The starting tracer i-index to work on :param ie: [in] The ending tracer i-index to work on :param js: [in] The starting tracer j-index to work on :param je: [in] The ending tracer j-index to work on :param k: [in] The k-level to work on :param us: [in] A dimensional unit scaling type :param useppm: [in] If true, use PPM instead of PLM :param usehuynh: [in] If true, use the Huynh scheme for PPM interface values :calledfrom: :f:func:`advect_tracer ` .. f:subroutine:: subroutine tracer_advect_init(Time, G, US, param_file, diag, CS) Initialize lateral tracer advection module. :param time: [in] current model time :param g: [in] ocean grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] open file to parse for model parameters :param diag: [inout] regulates diagnostic output :param cs: module control structure :callto: :f:func:`id_clock_advect ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_sync ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine tracer_advect_end(CS) Close the tracer advection module. :param cs: module control structure :calledfrom: :f:func:`mom::mom_end ` [debug] xpath(./compounddef/compoundname[text()="mom_tracer_advect::tracer_advect_cs"]/..) match([('id', 'structmom__tracer__advect_1_1tracer__advect__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_advect::tracer_advect_cs', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_advect::tracer_advect_cs', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_advect::tracer_advect_cs', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((h_end, uhtr, vhtr, OBC, dt, G, GV, US, CS, Reg, h_prev_opt, max_iter_in, x_first_in, uhr_out, vhr_out, h_out)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_advect::advect_tracer', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_advect::advect_tracer', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((Tr, hprev, uhr, uh_neglect, OBC, domore_u, ntr, Idt, is, ie, js, je, k, G, GV, US, usePPM, useHuynh)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_advect::advect_x', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_advect::advect_x', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((Tr, hprev, vhr, vh_neglect, OBC, domore_v, ntr, Idt, is, ie, js, je, k, G, GV, US, usePPM, useHuynh)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_advect::advect_y', , {}, ['', 'This [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_advect::advect_y', , {}, ['', 'This [debug] DoxygenMethodDocumenter format_signature called ((Time, G, US, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_advect::tracer_advect_init', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_advect::tracer_advect_init', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_advect::tracer_advect_end', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_advect::tracer_advect_end', , {}, [' [fd] run(.. f:type:: tracer_advect_cs) [fd] sig(tracer_advect_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(tracer_advect_cs) arglist(None) [fd] fullname(mom_tracer_advect/tracer_advect_cs) ftype(None) [fd] name(('mom_tracer_advect/tracer_advect_cs', None)) sig(tracer_advect_cs) signode(type mom_tracer_advect/tracer_advect_cs) [fd] run(.. f:subroutine:: subroutine advect_tracer(h_end, uhtr, vhtr, OBC, dt, G, GV, US, CS, Reg, h_prev_opt, max_iter_in, x_first_in, uhr_out, vhr_out, h_out)) [fd] sig(subroutine advect_tracer(h_end, uhtr, vhtr, OBC, dt, G, GV, US, CS, Reg, h_prev_opt, max_iter_in, x_first_in, uhr_out, vhr_out, h_out)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(advect_tracer) arglist(h_end, uhtr, vhtr, OBC, dt, G, GV, US, CS, Reg, h_prev_opt, max_iter_in, x_first_in, uhr_out, vhr_out, h_out) [fd] fullname(mom_tracer_advect/advect_tracer) ftype(None) [fd] name(('mom_tracer_advect/advect_tracer', None)) sig(subroutine advect_tracer(h_end, uhtr, vhtr, OBC, dt, G, GV, US, CS, Reg, h_prev_opt, max_iter_in, x_first_in, uhr_out, vhr_out, h_out)) signode(subroutine mom_tracer_advect/advect_tracerh_enduhtrvhtrOBCdtGGVUSCSRegh_prev_optmax_iter_inx_first_inuhr_outvhr_outh_out) [fd] run(.. f:subroutine:: subroutine advect_x(Tr, hprev, uhr, uh_neglect, OBC, domore_u, ntr, Idt, is, ie, js, je, k, G, GV, US, usePPM, useHuynh)) [fd] sig(subroutine advect_x(Tr, hprev, uhr, uh_neglect, OBC, domore_u, ntr, Idt, is, ie, js, je, k, G, GV, US, usePPM, useHuynh)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(advect_x) arglist(Tr, hprev, uhr, uh_neglect, OBC, domore_u, ntr, Idt, is, ie, js, je, k, G, GV, US, usePPM, useHuynh) [fd] fullname(mom_tracer_advect/advect_x) ftype(None) [fd] name(('mom_tracer_advect/advect_x', None)) sig(subroutine advect_x(Tr, hprev, uhr, uh_neglect, OBC, domore_u, ntr, Idt, is, ie, js, je, k, G, GV, US, usePPM, useHuynh)) signode(subroutine mom_tracer_advect/advect_xTrhprevuhruh_neglectOBCdomore_untrIdtisiejsjekGGVUSusePPMuseHuynh) [fd] run(.. f:subroutine:: subroutine advect_y(Tr, hprev, vhr, vh_neglect, OBC, domore_v, ntr, Idt, is, ie, js, je, k, G, GV, US, usePPM, useHuynh)) [fd] sig(subroutine advect_y(Tr, hprev, vhr, vh_neglect, OBC, domore_v, ntr, Idt, is, ie, js, je, k, G, GV, US, usePPM, useHuynh)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(advect_y) arglist(Tr, hprev, vhr, vh_neglect, OBC, domore_v, ntr, Idt, is, ie, js, je, k, G, GV, US, usePPM, useHuynh) [fd] fullname(mom_tracer_advect/advect_y) ftype(None) [fd] name(('mom_tracer_advect/advect_y', None)) sig(subroutine advect_y(Tr, hprev, vhr, vh_neglect, OBC, domore_v, ntr, Idt, is, ie, js, je, k, G, GV, US, usePPM, useHuynh)) signode(subroutine mom_tracer_advect/advect_yTrhprevvhrvh_neglectOBCdomore_vntrIdtisiejsjekGGVUSusePPMuseHuynh) [fd] run(.. f:subroutine:: subroutine tracer_advect_init(Time, G, US, param_file, diag, CS)) [fd] sig(subroutine tracer_advect_init(Time, G, US, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tracer_advect_init) arglist(Time, G, US, param_file, diag, CS) [fd] fullname(mom_tracer_advect/tracer_advect_init) ftype(None) [fd] name(('mom_tracer_advect/tracer_advect_init', None)) sig(subroutine tracer_advect_init(Time, G, US, param_file, diag, CS)) signode(subroutine mom_tracer_advect/tracer_advect_initTimeGUSparam_filediagCS) [fd] run(.. f:subroutine:: subroutine tracer_advect_end(CS)) [fd] sig(subroutine tracer_advect_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tracer_advect_end) arglist(CS) [fd] fullname(mom_tracer_advect/tracer_advect_end) ftype(None) [fd] name(('mom_tracer_advect/tracer_advect_end', None)) sig(subroutine tracer_advect_end(CS)) signode(subroutine mom_tracer_advect/tracer_advect_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 57%] api/generated/modules/mom_tracer_diabatic [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_tracer_d [app] emitting event: 'source-read'('api/generated/modules/mom_tracer_diabatic', ['.. autodoxymodule:: mom_tracer_diabatic\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_tracer_diabatic.rst:1: input: .. autodoxymodule:: mom_tracer_diabatic :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tracer_diabatic::tracer_vertdiff ~mom_tracer_diabatic::applytracerboundaryfluxesinout [debug] xpath(./compounddef/compoundname[text()="mom_tracer_diabatic"]/..) match([('id', 'namespacemom__tracer__diabatic'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_tracer_diabatic module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespaceMOM__tracer__flow__control) kindref(compound) ref([]) [debug] ref([('id', 'namespaceMOM__tracer__flow__control'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_diabatic', , {'members': , {'members': ]) [debug] ref([('id', 'namespaceMOM__tracer__flow__control'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_diabatic', , {'members': ), ('applytracerboundaryfluxesinout', )]) [autodoc] module analyzer failed: error importing 'mom_tracer_diabatic' (exception was: ModuleNotFoundError("No module named 'mom_tracer_diabatic'")) [debug] DoxygenMethodDocumenter format_signature called ((h_old, ea, eb, dt, tr, G, GV, sfc_flux, btm_flux, btm_reservoir, sink_rate, convert_flux_in)) [debug] add_directive_header sig((h_old, ea, eb, dt, tr, G, GV, sfc_flux, btm_flux, btm_reservoir, sink_rate, convert_flux_in)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine tracer_vertdiff) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'tracer_vertdiff', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'MOM__diabatic__aux_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'applytracerboundaryfluxesinout', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'applytracerboundaryfluxesinout', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'applytracerboundaryfluxesinout', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'applytracerboundaryfluxesinout', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'applytracerboundaryfluxesinout', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'applytracerboundaryfluxesinout', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'applytracerboundaryfluxesinout', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'applytracerboundaryfluxesinout', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'applytracerboundaryfluxesinout', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'applytracerboundaryfluxesinout', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'applytracerboundaryfluxesinout', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'applytracerboundaryfluxesinout', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'applytracerboundaryfluxesinout', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'applytracerboundaryfluxesinout', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'applytracerboundaryfluxesinout', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'applytracerboundaryfluxesinout', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'applytracerboundaryfluxesinout', , {'members': [autodoc] output: ==================================== mom_tracer_diabatic module reference ==================================== .. f:module:: mom_tracer_diabatic This module contains routines that implement physical fluxes of tracers (e.g. due to surface fluxes or mixing). These are intended to be called from call_tracer_column_fns in the :f:func:`MOM_tracer_flow_control` module. module. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tracer_diabatic::tracer_vertdiff ~mom_tracer_diabatic::applytracerboundaryfluxesinout .. _DETAmom_tracer_diabatic: -------------------- Detailed Description -------------------- This module contains routines that implement physical fluxes of tracers (e.g. due to surface fluxes or mixing). These are intended to be called from call_tracer_column_fns in the :f:func:`MOM_tracer_flow_control` module. module. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine tracer_vertdiff(h_old, ea, eb, dt, tr, G, GV, sfc_flux, btm_flux, btm_reservoir, sink_rate, convert_flux_in) This subroutine solves a tridiagonal equation for the final tracer concentrations after the dual-entrainments, and possibly sinking or surface and bottom sources, are applied. The sinking is implemented with an fully implicit upwind advection scheme. Alternate time units can be used for the timestep, surface and bottom fluxes and sink_rate provided they are all consistent. :param g: [in] ocean grid structure :param gv: [in] ocean vertical grid structure :param h_old: [in] layer thickness before entrainment [H ~> m or kg m-2] :param ea: [in] amount of fluid entrained from the layer above [H ~> m or kg m-2] :param eb: [in] amount of fluid entrained from the layer below [H ~> m or kg m-2] :param tr: [inout] tracer concentration in concentration units [CU] :param dt: [in] amount of time covered by this call [T ~> s] :param sfc_flux: [in] surface flux of the tracer in units of [CU kg m-2 T-1 ~> CU kg m-2 s-1] or [CU H ~> CU m or CU kg m-2] if convert_flux_in is .false. :param btm_flux: [in] The (negative upward) bottom flux of the tracer in [CU kg m-2 T-1 ~> CU kg m-2 s-1] or [CU H ~> CU m or CU kg m-2] if :param btm_reservoir: [inout] amount of tracer in a bottom reservoir [CU kg m-2]; formerly [CU m] :param sink_rate: [in] rate at which the tracer sinks [m T-1 ~> m s-1] :param convert_flux_in: [in] True if the specified sfc_flux needs to be integrated in time :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`advection_test_tracer::advection_test_tracer_column_physics ` :calledfrom: :f:func:`boundary_impulse_tracer::boundary_impulse_tracer_column_physics ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale_legacy ` :calledfrom: :f:func:`dome_tracer::dome_tracer_column_physics ` :calledfrom: :f:func:`regional_dyes::dye_tracer_column_physics ` :calledfrom: :f:func:`dyed_obc_tracer::dyed_obc_tracer_column_physics ` :calledfrom: :f:func:`ideal_age_example::ideal_age_tracer_column_physics ` :calledfrom: :f:func:`isomip_tracer::isomip_tracer_column_physics ` :calledfrom: :f:func:`mom_diabatic_driver::layered_diabatic ` :calledfrom: :f:func:`mom_ocmip2_cfc::ocmip2_cfc_column_physics ` :calledfrom: :f:func:`oil_tracer::oil_tracer_column_physics ` :calledfrom: :f:func:`pseudo_salt_tracer::pseudo_salt_tracer_column_physics ` :calledfrom: :f:func:`rgc_tracer::rgc_tracer_column_physics ` .. f:subroutine:: subroutine applytracerboundaryfluxesinout(G, GV, Tr, dt, fluxes, h, evap_CFL_limit, minimum_forcing_depth, in_flux_optional, out_flux_optional, update_h_opt) This routine is modeled after applyBoundaryFluxesInOut in ``MOM_diabatic_aux.F90`` NOTE: Please note that in this routine sfc_flux gets set to zero to ensure that the surface flux of the tracer does not get applied again during a subsequent call to tracer_vertdif. :param g: [in] Grid structure :param gv: [in] ocean vertical grid structure :param tr: [inout] Tracer concentration on T-cell :param dt: [in] Time-step over which forcing is applied [T ~> s] :param fluxes: [in] Surface fluxes container :param h: [inout] Layer thickness [H ~> m or kg m-2] :param evap_cfl_limit: [in] Limit on the fraction of the water that can be fluxed out of the top layer in a timestep [nondim] :param minimum_forcing_depth: [in] The smallest depth over which fluxes can be applied [H ~> m or kg m-2] :param in_flux_optional: [in] The total time-integrated amount of tracer that enters with freshwater :param out_flux_optional: [in] The total time-integrated amount of tracer that leaves with freshwater :param update_h_opt: [in] Optional flag to determine whether h should be updated :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`advection_test_tracer::advection_test_tracer_column_physics ` :calledfrom: :f:func:`boundary_impulse_tracer::boundary_impulse_tracer_column_physics ` :calledfrom: :f:func:`dome_tracer::dome_tracer_column_physics ` :calledfrom: :f:func:`regional_dyes::dye_tracer_column_physics ` :calledfrom: :f:func:`dyed_obc_tracer::dyed_obc_tracer_column_physics ` :calledfrom: :f:func:`ideal_age_example::ideal_age_tracer_column_physics ` :calledfrom: :f:func:`isomip_tracer::isomip_tracer_column_physics ` :calledfrom: :f:func:`mom_generic_tracer::mom_generic_tracer_column_physics ` :calledfrom: :f:func:`mom_ocmip2_cfc::ocmip2_cfc_column_physics ` :calledfrom: :f:func:`mom_offline_main::offline_fw_fluxes_into_ocean ` :calledfrom: :f:func:`mom_offline_main::offline_fw_fluxes_out_ocean ` :calledfrom: :f:func:`oil_tracer::oil_tracer_column_physics ` :calledfrom: :f:func:`pseudo_salt_tracer::pseudo_salt_tracer_column_physics ` :calledfrom: :f:func:`rgc_tracer::rgc_tracer_column_physics ` [debug] DoxygenMethodDocumenter format_signature called ((h_old, ea, eb, dt, tr, G, GV, sfc_flux, btm_flux, btm_reservoir, sink_rate, convert_flux_in)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_diabatic::tracer_vertdiff', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_diabatic::tracer_vertdiff', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((G, GV, Tr, dt, fluxes, h, evap_CFL_limit, minimum_forcing_depth, in_flux_optional, out_flux_optional, update_h_opt)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM__diabatic__aux_8F90) kindref(compound) ref([]) [debug] ref([('id', 'MOM__diabatic__aux_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_diabatic::applytracerboundaryfluxesinout', subroutine mom_tracer_diabatic/tracer_vertdiffh_oldeaebdttrGGVsfc_fluxbtm_fluxbtm_reservoirsink_rateconvert_flux_in) [fd] run(.. f:subroutine:: subroutine applytracerboundaryfluxesinout(G, GV, Tr, dt, fluxes, h, evap_CFL_limit, minimum_forcing_depth, in_flux_optional, out_flux_optional, update_h_opt)) [fd] sig(subroutine applytracerboundaryfluxesinout(G, GV, Tr, dt, fluxes, h, evap_CFL_limit, minimum_forcing_depth, in_flux_optional, out_flux_optional, update_h_opt)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(applytracerboundaryfluxesinout) arglist(G, GV, Tr, dt, fluxes, h, evap_CFL_limit, minimum_forcing_depth, in_flux_optional, out_flux_optional, update_h_opt) [fd] fullname(mom_tracer_diabatic/applytracerboundaryfluxesinout) ftype(None) [fd] name(('mom_tracer_diabatic/applytracerboundaryfluxesinout', None)) sig(subroutine applytracerboundaryfluxesinout(G, GV, Tr, dt, fluxes, h, evap_CFL_limit, minimum_forcing_depth, in_flux_optional, out_flux_optional, update_h_opt)) signode(subroutine mom_tracer_diabatic/applytracerboundaryfluxesinoutGGVTrdtfluxeshevap_CFL_limitminimum_forcing_depthin_flux_optionalout_flux_optionalupdate_h_opt) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 58%] api/generated/modules/mom_tracer_flow_control [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_tracer_f [app] emitting event: 'source-read'('api/generated/modules/mom_tracer_flow_control', ['.. autodoxymodule:: mom_tracer_flow_control\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_tracer_flow_control.rst:1: input: .. autodoxymodule:: mom_tracer_flow_control :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_tracer_flow_control::tracer_flow_control_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tracer_flow_control::call_tracer_flux_init ~mom_tracer_flow_control::call_tracer_register ~mom_tracer_flow_control::tracer_flow_control_init ~mom_tracer_flow_control::get_chl_from_model ~mom_tracer_flow_control::call_tracer_set_forcing ~mom_tracer_flow_control::call_tracer_column_fns ~mom_tracer_flow_control::call_tracer_stocks ~mom_tracer_flow_control::store_stocks ~mom_tracer_flow_control::call_tracer_surface_state ~mom_tracer_flow_control::tracer_flow_control_end [debug] xpath(./compounddef/compoundname[text()="mom_tracer_flow_control"]/..) match([('id', 'namespacemom__tracer__flow__control'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_tracer_flow_control module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_flow_control', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_tracer_flow_control' (exception was: ModuleNotFoundError("No module named 'mom_tracer_flow_control'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_tracer_flow_control::tracer_flow_control_cs', ), ('call_tracer_register', ), ('tracer_flow_control_init', ), ('get_chl_from_model', ), ('call_tracer_set_forcing', ), ('call_tracer_column_fns', ), ('call_tracer_stocks', ), ('store_stocks', ), ('call_tracer_surface_state', ), ('tracer_flow_control_end', )]) [autodoc] module analyzer failed: error importing 'mom_tracer_flow_control' (exception was: ModuleNotFoundError("No module named 'mom_tracer_flow_control'")) [debug] DoxygenMethodDocumenter format_signature called ((verbosity)) [debug] add_directive_header sig((verbosity)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine call_tracer_flux_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_emphasis [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'call_tracer_flux_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_tracer_flow_control::tracer_flow_control_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tracer_flow_control::call_tracer_flux_init ~mom_tracer_flow_control::call_tracer_register ~mom_tracer_flow_control::tracer_flow_control_init ~mom_tracer_flow_control::get_chl_from_model ~mom_tracer_flow_control::call_tracer_set_forcing ~mom_tracer_flow_control::call_tracer_column_fns ~mom_tracer_flow_control::call_tracer_stocks ~mom_tracer_flow_control::store_stocks ~mom_tracer_flow_control::call_tracer_surface_state ~mom_tracer_flow_control::tracer_flow_control_end .. _DETAmom_tracer_flow_control: -------------------- Detailed Description -------------------- Orchestrates the registration and calling of tracer packages. ------------------ Type Documentation ------------------ .. f:type:: tracer_flow_control_cs The control structure for orchestrating the calling of tracer packages. :typefield type(user_tracer_example_cs) user_tracer_example_csp [pointer]: Pointers to the control strucures for the tracer packages. :typefield type(dome_tracer_cs) dome_tracer_csp [pointer]: Pointers to the control strucures for the tracer packages. :typefield type(isomip_tracer_cs) isomip_tracer_csp [pointer]: Pointers to the control strucures for the tracer packages. :typefield type(rgc_tracer_cs) rgc_tracer_csp [pointer]: Pointers to the control strucures for the tracer packages. :typefield type(ideal_age_tracer_cs) ideal_age_tracer_csp [pointer]: Pointers to the control strucures for the tracer packages. :typefield type(dye_tracer_cs) dye_tracer_csp [pointer]: Pointers to the control strucures for the tracer packages. :typefield type(oil_tracer_cs) oil_tracer_csp [pointer]: Pointers to the control strucures for the tracer packages. :typefield type(advection_test_tracer_cs) advection_test_tracer_csp [pointer]: Pointers to the control strucures for the tracer packages. :typefield type(ocmip2_cfc_cs) ocmip2_cfc_csp [pointer]: Pointers to the control strucures for the tracer packages. :typefield type(mom_generic_tracer_cs) mom_generic_tracer_csp [pointer]: Pointers to the control strucures for the tracer packages. :typefield type(pseudo_salt_tracer_cs) pseudo_salt_tracer_csp [pointer]: Pointers to the control strucures for the tracer packages. :typefield type(boundary_impulse_tracer_cs) boundary_impulse_tracer_csp [pointer]: Pointers to the control strucures for the tracer packages. :typefield type(dyed_obc_tracer_cs) dyed_obc_tracer_csp [pointer]: Pointers to the control strucures for the tracer packages. :typefield logical use_user_tracer_example: If true, use the USER_tracer_example package. :typefield logical use_dome_tracer: If true, use the DOME_tracer package. :typefield logical use_isomip_tracer: If true, use the ISOMPE_tracer package. :typefield logical use_rgc_tracer: If true, use the RGC_tracer package. :typefield logical use_ideal_age: If true, use the ideal age tracer package. :typefield logical use_regional_dyes: If true, use the regional dyes tracer package. :typefield logical use_oil: If true, use the oil tracer package. :typefield logical use_advection_test_tracer: If true, use the :typefield logical use_ocmip2_cfc: If true, use the OCMIP2_CFC tracer package. :typefield logical use_mom_generic_tracer: If true, use the MOM_generic_tracer packages. :typefield logical use_pseudo_salt_tracer: If true, use the psuedo_salt tracer package. :typefield logical use_boundary_impulse_tracer: If true, use the boundary impulse tracer package. :typefield logical use_dyed_obc_tracer: If true, use the dyed OBC tracer package. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine call_tracer_flux_init(verbosity) This subroutine carries out a series of calls to initialize the air-sea tracer fluxes, but it does not record the generated indicies, and it may be called *before* the ocean model has been initialized and may be called on non-ocean PEs. It is not necessary to call this routine for ocean-only runs, because the same calls are made again inside of the routines called by call_tracer_register. :param verbosity: [in] A 0-9 integer indicating a level of verbosity. :callto: :f:func:`mom_file_parser::close_param_file ` :callto: :f:func:`mom_get_input::get_mom_input ` :calledfrom: :f:func:`ocean_model_mod::ocean_model_flux_init ` .. f:subroutine:: subroutine call_tracer_register(HI, GV, US, param_file, CS, tr_Reg, restart_CS) This subroutine determines which tracer packages are to be used and does the calls to register their tracers to be advected, diffused, and read from restarts. :param hi: [in] A horizontal index type structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters. :param cs: A pointer that is set to point to the control structure for this module. :param tr_reg: A pointer that is set to point to the control structure for the tracer advection and diffusion module. :param restart_cs: A pointer to the restart control structure. :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine tracer_flow_control_init(restart, day, G, GV, US, h, param_file, diag, OBC, CS, sponge_CSp, ALE_sponge_CSp, tv) This subroutine calls all registered tracer initialization subroutines. :param restart: [in] 1 if the fields have already been read from a restart file. :param day: [in] Time of the start of the run. :param g: [inout] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param param_file: [in] A structure to parse for run-time parameters :param diag: [in] A structure that is used to regulate diagnostic output. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param cs: The control structure returned by a previous call to call_tracer_register. :param sponge_csp: A pointer to the control structure for the sponges, if they are in use. Otherwise this may be unassociated. :param ale_sponge_csp: A pointer to the control structure for the ALE sponges, if they are in use. Otherwise this may be unassociated. :param tv: [in] A structure pointing to various thermodynamic variables :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine get_chl_from_model(Chl_array, G, CS) This subroutine extracts the chlorophyll concentrations from the model state, if possible. :param g: [in] The ocean's grid structure. :param chl_array: [out] The array in which to store the model's :param cs: The control structure returned by a previous call to call_tracer_register. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_diabatic_aux::set_pen_shortwave ` .. f:subroutine:: subroutine call_tracer_set_forcing(sfc_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. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param fluxes: [inout] A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs. :param day_start: [in] Start time of the fluxes. :param day_interval: [in] Length of time over which these fluxes will be applied. :param g: [in] The ocean's grid structure. :param cs: The control structure returned by a previous call to call_tracer_register. :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine call_tracer_column_fns(h_old, h_new, ea, eb, fluxes, Hml, dt, G, GV, US, tv, optics, CS, debug, evap_CFL_limit, minimum_forcing_depth) This subroutine calls all registered tracer column physics subroutines. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h_old: [in] Layer thickness before entrainment [H ~> m or kg m-2]. :param h_new: [in] Layer thickness after entrainment [H ~> m or kg m-2]. :param ea: [in] an array to which the amount of fluid entrained from the layer above during this call will be added [H ~> m or kg m-2]. :param eb: [in] an array to which the amount of fluid entrained from the layer below during this call will be added [H ~> m or kg m-2]. :param fluxes: [in] A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs. :param hml: [in] Mixed layer depth [Z ~> m] :param dt: [in] The amount of time covered by this call [T ~> s] :param us: [in] A dimensional unit scaling type :param tv: [in] A structure pointing to various thermodynamic variables. :param optics: The structure containing optical properties. :param cs: The control structure returned by a previous call to call_tracer_register. :param debug: [in] If true calculate checksums :param evap_cfl_limit: [in] Limit on the fraction of the water that can be fluxed out of the top layer in a timestep [nondim] :param minimum_forcing_depth: [in] The smallest depth over which fluxes can be applied [H ~> m or kg m-2] :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_diabatic_driver::adiabatic ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale_legacy ` :calledfrom: :f:func:`mom_diabatic_driver::layered_diabatic ` :calledfrom: :f:func:`mom_offline_main::offline_advection_layer ` :calledfrom: :f:func:`mom_offline_main::offline_diabatic_ale ` .. f:subroutine:: subroutine 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. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param stock_values: [out] The integrated amounts of a tracer on the current PE, usually in kg x concentration [kg conc]. :param cs: The control structure returned by a previous call to call_tracer_register. :param stock_names: [out] Diagnostic names to use for each stock. :param stock_units: [out] Units to use in the metadata for each stock. :param num_stocks: [out] The number of tracer stocks being returned. :param stock_index: [in] The integer stock index from stocks_constants_mod of the stock to be returned. If this is present and greater than 0, only a single stock can be returned. :param got_min_max: [inout] Indicates whether the global min and :param global_min: [out] The global minimum of each tracer :param global_max: [out] The global maximum of each tracer :param xgmin: [out] The x-position of the global minimum :param ygmin: [out] The y-position of the global minimum :param zgmin: [out] The z-position of the global minimum :param xgmax: [out] The x-position of the global maximum :param ygmax: [out] The y-position of the global maximum :param zgmax: [out] The z-position of the global maximum :callto: :f:func:`advection_test_tracer::advection_test_stock ` :callto: :f:func:`regional_dyes::dye_stock ` :callto: :f:func:`ideal_age_example::ideal_age_stock ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_generic_tracer::mom_generic_tracer_min_max ` :callto: :f:func:`mom_generic_tracer::mom_generic_tracer_stock ` :callto: :f:func:`mom_ocmip2_cfc::ocmip2_cfc_stock ` :callto: :f:func:`oil_tracer::oil_stock ` :callto: :f:func:`pseudo_salt_tracer::pseudo_salt_stock ` :callto: :f:func:`store_stocks ` :calledfrom: :f:func:`mom_sum_output::write_energy ` .. f:subroutine:: 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. :param pkg_name: [in] The tracer package name :param ns: [in] The number of stocks associated with this tracer package :param names: [in] Diagnostic names to use for each stock. :param units: [in] Units to use in the metadata for each stock. :param values: [in] The values of the tracer stocks :param index: [in] The integer stock index from stocks_constants_mod of the stock to be returned. If this is present and greater than 0, only a single stock can be returned. :param stock_values: [inout] The master list of stock values :param set_pkg_name: [inout] The name of the last tracer package whose stocks were stored for a specific index. This is used to trigger an error if there are redundant stocks. :param max_ns: [in] The maximum size of the master stock list :param ns_tot: [inout] The total number of stocks in the master list :param stock_names: [inout] Diagnostic names to use for each stock in the master list :param stock_units: [inout] Units to use in the metadata for each stock in the master list :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`call_tracer_stocks ` .. f:subroutine:: subroutine call_tracer_surface_state(sfc_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. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param g: [in] The ocean's grid structure. :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param cs: The control structure returned by a previous call to call_tracer_register. :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine tracer_flow_control_end(CS) :param cs: The control structure returned by a previous call to call_tracer_register. :calledfrom: :f:func:`mom::mom_end ` [debug] xpath(./compounddef/compoundname[text()="mom_tracer_flow_control::tracer_flow_control_cs"]/..) match([('id', 'structmom__tracer__flow__control_1_1tracer__flow__control__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_flow_control::tracer_flow_control_cs', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_flow_control::get_chl_from_model', , [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, fluxes, day_start, day_interval, G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_flow_control::call_tracer_set_forcing', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_flow_control::call_tracer_stocks', , [debug] DoxygenMethodDocumenter format_signature called ((pkg_name, ns, names, units, values, index, stock_values, set_pkg_name, max_ns, ns_tot, stock_names, stock_units)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_flow_control::store_stocks', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_flow_control::store_stocks', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, h, G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_flow_control::call_tracer_surface_state', type mom_tracer_flow_control/tracer_flow_control_cs) [fd] run(.. f:subroutine:: subroutine call_tracer_flux_init(verbosity)) [fd] sig(subroutine call_tracer_flux_init(verbosity)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(call_tracer_flux_init) arglist(verbosity) [fd] fullname(mom_tracer_flow_control/call_tracer_flux_init) ftype(None) [fd] name(('mom_tracer_flow_control/call_tracer_flux_init', None)) sig(subroutine call_tracer_flux_init(verbosity)) signode(subroutine mom_tracer_flow_control/call_tracer_flux_initverbosity) [fd] run(.. f:subroutine:: subroutine call_tracer_register(HI, GV, US, param_file, CS, tr_Reg, restart_CS)) [fd] sig(subroutine call_tracer_register(HI, GV, US, param_file, CS, tr_Reg, restart_CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(call_tracer_register) arglist(HI, GV, US, param_file, CS, tr_Reg, restart_CS) [fd] fullname(mom_tracer_flow_control/call_tracer_register) ftype(None) [fd] name(('mom_tracer_flow_control/call_tracer_register', None)) sig(subroutine call_tracer_register(HI, GV, US, param_file, CS, tr_Reg, restart_CS)) signode(subroutine mom_tracer_flow_control/call_tracer_registerHIGVUSparam_fileCStr_Regrestart_CS) [fd] run(.. f:subroutine:: subroutine tracer_flow_control_init(restart, day, G, GV, US, h, param_file, diag, OBC, CS, sponge_CSp, ALE_sponge_CSp, tv)) [fd] sig(subroutine tracer_flow_control_init(restart, day, G, GV, US, h, param_file, diag, OBC, CS, sponge_CSp, ALE_sponge_CSp, tv)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tracer_flow_control_init) arglist(restart, day, G, GV, US, h, param_file, diag, OBC, CS, sponge_CSp, ALE_sponge_CSp, tv) [fd] fullname(mom_tracer_flow_control/tracer_flow_control_init) ftype(None) [fd] name(('mom_tracer_flow_control/tracer_flow_control_init', None)) sig(subroutine tracer_flow_control_init(restart, day, G, GV, US, h, param_file, diag, OBC, CS, sponge_CSp, ALE_sponge_CSp, tv)) signode(subroutine mom_tracer_flow_control/tracer_flow_control_initrestartdayGGVUShparam_filediagOBCCSsponge_CSpALE_sponge_CSptv) [fd] run(.. f:subroutine:: subroutine get_chl_from_model(Chl_array, G, CS)) [fd] sig(subroutine get_chl_from_model(Chl_array, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_chl_from_model) arglist(Chl_array, G, CS) [fd] fullname(mom_tracer_flow_control/get_chl_from_model) ftype(None) [fd] name(('mom_tracer_flow_control/get_chl_from_model', None)) sig(subroutine get_chl_from_model(Chl_array, G, CS)) signode(subroutine mom_tracer_flow_control/get_chl_from_modelChl_arrayGCS) [fd] run(.. f:subroutine:: subroutine call_tracer_set_forcing(sfc_state, fluxes, day_start, day_interval, G, CS)) [fd] sig(subroutine call_tracer_set_forcing(sfc_state, fluxes, day_start, day_interval, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(call_tracer_set_forcing) arglist(sfc_state, fluxes, day_start, day_interval, G, CS) [fd] fullname(mom_tracer_flow_control/call_tracer_set_forcing) ftype(None) [fd] name(('mom_tracer_flow_control/call_tracer_set_forcing', None)) sig(subroutine call_tracer_set_forcing(sfc_state, fluxes, day_start, day_interval, G, CS)) signode(subroutine mom_tracer_flow_control/call_tracer_set_forcingsfc_statefluxesday_startday_intervalGCS) [fd] run(.. f:subroutine:: subroutine call_tracer_column_fns(h_old, h_new, ea, eb, fluxes, Hml, dt, G, GV, US, tv, optics, CS, debug, evap_CFL_limit, minimum_forcing_depth)) [fd] sig(subroutine call_tracer_column_fns(h_old, h_new, ea, eb, fluxes, Hml, dt, G, GV, US, tv, optics, CS, debug, evap_CFL_limit, minimum_forcing_depth)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(call_tracer_column_fns) arglist(h_old, h_new, ea, eb, fluxes, Hml, dt, G, GV, US, tv, optics, CS, debug, evap_CFL_limit, minimum_forcing_depth) [fd] fullname(mom_tracer_flow_control/call_tracer_column_fns) ftype(None) [fd] name(('mom_tracer_flow_control/call_tracer_column_fns', None)) sig(subroutine call_tracer_column_fns(h_old, h_new, ea, eb, fluxes, Hml, dt, G, GV, US, tv, optics, CS, debug, evap_CFL_limit, minimum_forcing_depth)) signode(subroutine mom_tracer_flow_control/call_tracer_column_fnsh_oldh_neweaebfluxesHmldtGGVUStvopticsCSdebugevap_CFL_limitminimum_forcing_depth) [fd] run(.. f:subroutine:: subroutine 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)) [fd] sig(subroutine 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)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(call_tracer_stocks) arglist(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) [fd] fullname(mom_tracer_flow_control/call_tracer_stocks) ftype(None) [fd] name(('mom_tracer_flow_control/call_tracer_stocks', None)) sig(subroutine 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)) signode(subroutine mom_tracer_flow_control/call_tracer_stockshstock_valuesGGVCSstock_namesstock_unitsnum_stocksstock_indexgot_min_maxglobal_minglobal_maxxgminygminzgminxgmaxygmaxzgmax) [fd] run(.. f:subroutine:: subroutine store_stocks(pkg_name, ns, names, units, values, index, stock_values, set_pkg_name, max_ns, ns_tot, stock_names, stock_units)) [fd] sig(subroutine store_stocks(pkg_name, ns, names, units, values, index, stock_values, set_pkg_name, max_ns, ns_tot, stock_names, stock_units)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(store_stocks) arglist(pkg_name, ns, names, units, values, index, stock_values, set_pkg_name, max_ns, ns_tot, stock_names, stock_units) [fd] fullname(mom_tracer_flow_control/store_stocks) ftype(None) [fd] name(('mom_tracer_flow_control/store_stocks', None)) sig(subroutine store_stocks(pkg_name, ns, names, units, values, index, stock_values, set_pkg_name, max_ns, ns_tot, stock_names, stock_units)) signode(subroutine mom_tracer_flow_control/store_stockspkg_namensnamesunitsvaluesindexstock_valuesset_pkg_namemax_nsns_totstock_namesstock_units) [fd] run(.. f:subroutine:: subroutine call_tracer_surface_state(sfc_state, h, G, CS)) [fd] sig(subroutine call_tracer_surface_state(sfc_state, h, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(call_tracer_surface_state) arglist(sfc_state, h, G, CS) [fd] fullname(mom_tracer_flow_control/call_tracer_surface_state) ftype(None) [fd] name(('mom_tracer_flow_control/call_tracer_surface_state', None)) sig(subroutine call_tracer_surface_state(sfc_state, h, G, CS)) signode(subroutine mom_tracer_flow_control/call_tracer_surface_statesfc_statehGCS) [fd] run(.. f:subroutine:: subroutine tracer_flow_control_end(CS)) [fd] sig(subroutine tracer_flow_control_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tracer_flow_control_end) arglist(CS) [fd] fullname(mom_tracer_flow_control/tracer_flow_control_end) ftype(None) [fd] name(('mom_tracer_flow_control/tracer_flow_control_end', None)) sig(subroutine tracer_flow_control_end(CS)) signode(subroutine mom_tracer_flow_control/tracer_flow_control_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 58%] api/generated/modules/mom_tracer_hor_diff [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_tracer_h [app] emitting event: 'source-read'('api/generated/modules/mom_tracer_hor_diff', ['.. autodoxymodule:: mom_tracer_hor_diff\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_tracer_hor_diff.rst:1: input: .. autodoxymodule:: mom_tracer_hor_diff :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_tracer_hor_diff::p2d ~mom_tracer_hor_diff::p2di ~mom_tracer_hor_diff::tracer_hor_diff_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tracer_hor_diff::tracer_hordiff ~mom_tracer_hor_diff::tracer_epipycnal_ml_diff ~mom_tracer_hor_diff::tracer_hor_diff_init ~mom_tracer_hor_diff::tracer_hor_diff_end [debug] xpath(./compounddef/compoundname[text()="mom_tracer_hor_diff"]/..) match([('id', 'namespacemom__tracer__hor__diff'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_tracer_hor_diff module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_hor_diff', , {'members': , {'members': , {'members': ), ('mom_tracer_hor_diff::p2di', ), ('mom_tracer_hor_diff::tracer_hor_diff_cs', )]) [autodoc] module analyzer failed: error importing 'mom_tracer_hor_diff' (exception was: ModuleNotFoundError("No module named 'mom_tracer_hor_diff'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_tracer_hor_diff::p2d', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'m [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , {'m [debug] members([('tracer_hordiff', ), ('tracer_epipycnal_ml_diff', ), ('tracer_hor_diff_init', ), ('tracer_hor_diff_end', )]) [autodoc] module analyzer failed: error importing 'mom_tracer_hor_diff' (exception was: ModuleNotFoundError("No module named 'mom_tracer_hor_diff'")) [debug] DoxygenMethodDocumenter format_signature called ((h, dt, MEKE, VarMix, G, GV, US, CS, Reg, tv, do_online_flag, read_khdt_x, read_khdt_y)) [debug] add_directive_header sig((h, dt, MEKE, VarMix, G, GV, US, CS, Reg, tv, do_online_flag, read_khdt_x, read_khdt_y)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine tracer_hordiff) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'tracer_hordiff', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_tracer_hor_diff::p2d ~mom_tracer_hor_diff::p2di ~mom_tracer_hor_diff::tracer_hor_diff_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tracer_hor_diff::tracer_hordiff ~mom_tracer_hor_diff::tracer_epipycnal_ml_diff ~mom_tracer_hor_diff::tracer_hor_diff_init ~mom_tracer_hor_diff::tracer_hor_diff_end .. _DETAmom_tracer_hor_diff: -------------------- Detailed Description -------------------- .. _namespacemom__tracer__hor__diff_1section_intro: Introduction to the module ========================== This module contains subroutines that handle horizontal diffusion (i.e., isoneutral or along layer) of tracers. Each of the tracers are subject to Fickian along-coordinate diffusion if Khtr is defined and positive. The tracer diffusion can use a suitable number of iterations to guarantee stability with an arbitrarily large time step. ------------------ Type Documentation ------------------ .. f:type:: p2d A type that can be used to create arrays of pointers to 2D arrays. :typefield real(\:,\:) p [pointer, private]: A pointer to a 2D array of reals. .. f:type:: p2di A type that can be used to create arrays of pointers to 2D integer arrays. :typefield integer(\:,\:) p [pointer, private]: A pointer to a 2D array of integers. .. f:type:: tracer_hor_diff_cs The control structure for along-layer and epineutral tracer diffusion. :typefield integer id_khtr_u: Diagnostic IDs. :typefield integer id_khtr_v: Diagnostic IDs. :typefield integer id_khtr_h: Diagnostic IDs. :typefield integer id_cfl: Diagnostic IDs. :typefield integer id_khdt_x: Diagnostic IDs. :typefield integer id_khdt_y: Diagnostic IDs. :typefield real khtr: The along-isopycnal tracer diffusivity [L2 T-1 ~> m2 s-1]. :typefield real khtr_slope_cff: The non-dimensional coefficient in KhTr formula [nondim]. :typefield real khtr_min: Minimum along-isopycnal tracer diffusivity [L2 T-1 ~> m2 s-1]. :typefield real khtr_max: Maximum along-isopycnal tracer diffusivity [L2 T-1 ~> m2 s-1]. :typefield real khtr_passivity_coeff: Passivity coefficient that scales Rd/dx (default = 0) where passivity is the ratio between along-isopycnal tracer mixing and thickness mixing [nondim]. :typefield real khtr_passivity_min: Passivity minimum (default = 1/2) [nondim]. :typefield real ml_khtr_scale: With Diffuse_ML_interior, the ratio of the truly horizontal diffusivity in the mixed layer to the epipycnal diffusivity [nondim]. :typefield real max_diff_cfl: If positive, locally limit the along-isopycnal tracer diffusivity to keep the diffusive CFL locally at or below this value [nondim]. :typefield logical diffuse_ml_interior: If true, diffuse along isopycnals between the mixed layer and the interior. :typefield logical check_diffusive_cfl: If true, automatically iterate the diffusion to ensure that the diffusive equivalent of the CFL limit is not violated. :typefield logical use_neutral_diffusion: If true, use the neutral_diffusion module from within tracer_hor_diff. :typefield logical use_lateral_boundary_diffusion: If true, use the lateral_boundary_diffusion module from within tracer_hor_diff. :typefield logical recalc_neutral_surf: If true, recalculate the neutral surfaces if CFL has been exceeded. :typefield type(neutral_diffusion_cs) neutral_diffusion_csp [pointer]: Control structure for neutral diffusion. :typefield type(lateral_boundary_diffusion_cs) lateral_boundary_diffusion_csp [pointer]: Control structure for lateral boundary mixing. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield logical debug: If true, write verbose checksums for debugging purposes. :typefield logical show_call_tree: Display the call tree while running. Set by VERBOSITY level. :typefield logical first_call: This is true until after the first call. :typefield type(group_pass_type) pass_t: For group halo pass, used in both tracer_hordiff and tracer_epipycnal_ML_diff. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine tracer_hordiff(h, dt, MEKE, VarMix, G, GV, US, CS, Reg, tv, do_online_flag, read_khdt_x, read_khdt_y) Compute along-coordinate diffusion of all tracers using the diffusivity in CSKhTr, or using space-dependent diffusivity. Multiple iterations are used (if necessary) so that there is no limit on the acceptable time increment. :param g: [inout] Grid type :param h: [in] Layer thickness [H ~> m or kg m-2] :param dt: [in] time step [T ~> s] :param meke: MEKE type :param varmix: Variable mixing type :param gv: [in] ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param cs: module control structure :param reg: registered tracers :param tv: [in] A structure containing pointers to any available thermodynamic fields, including potential temp and salinity or mixed layer density. Absent fields have NULL ptrs, and these may (probably will) point to some of the same arrays as Tr does. tv is required for epipycnal mixing between mixed layer and the interior. :param do_online_flag: [in] If present and true, do online tracer transport with stored velocities. :param read_khdt_x: [in] If present, these are the zonal :param read_khdt_y: [in] If present, these are the meridional :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_error_handler::calltree_waypoint ` :callto: :f:func:`id_clock_diffuse ` :callto: :f:func:`id_clock_epimix ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_sync ` :callto: :f:func:`mom_lateral_boundary_diffusion::lateral_boundary_diffusion ` :callto: :f:func:`mom_tracer_registry::mom_tracer_chksum ` :callto: :f:func:`mom_neutral_diffusion::neutral_diffusion ` :callto: :f:func:`mom_neutral_diffusion::neutral_diffusion_calc_coeffs ` :callto: :f:func:`tracer_epipycnal_ml_diff ` .. f:subroutine:: subroutine tracer_epipycnal_ml_diff(h, dt, Tr, ntr, khdt_epi_x, khdt_epi_y, G, GV, US, CS, tv, num_itts) This subroutine does epipycnal diffusion of all tracers between the mixed and buffer layers and the interior, using the diffusivity in CSKhTr. Multiple iterations are used (if necessary) so that there is no limit on the acceptable time increment. :param g: [inout] ocean grid structure :param gv: [in] ocean vertical grid structure :param h: [in] layer thickness [H ~> m or kg m-2] :param dt: [in] time step [T ~> s] :param tr: [inout] tracer array :param ntr: [in] number of tracers :param khdt_epi_x: [in] Zonal epipycnal diffusivity times a time step and the ratio of the open face width over the distance between adjacent tracer points [L2 ~> m2] :param khdt_epi_y: [in] Meridional epipycnal diffusivity times a time step and the ratio of the open face width over the distance between adjacent tracer points [L2 ~> m2] :param us: [in] A dimensional unit scaling type :param cs: [inout] module control structure :param tv: [in] thermodynamic structure :param num_itts: [in] number of iterations (usually=1) :callto: :f:func:`mom_eos::eos_domain ` :callto: :f:func:`id_clock_pass ` :calledfrom: :f:func:`tracer_hordiff ` .. f:subroutine:: subroutine tracer_hor_diff_init(Time, G, US, param_file, diag, EOS, diabatic_CSp, CS) Initialize lateral tracer diffusion module. :param time: [in] current model time :param g: [in] ocean grid structure :param us: [in] A dimensional unit scaling type :param diag: [inout] diagnostic control :param eos: [in] Equation of state CS :param diabatic_csp: [in] Equation of state CS :param param_file: [in] parameter file :param cs: horz diffusion control structure :callto: :f:func:`id_clock_diffuse ` :callto: :f:func:`id_clock_epimix ` :callto: :f:func:`id_clock_pass ` :callto: :f:func:`id_clock_sync ` :callto: :f:func:`mom_diag_mediator::register_diag_field ` .. f:subroutine:: subroutine tracer_hor_diff_end(CS) :param cs: module control structure :calledfrom: :f:func:`mom::mom_end ` [debug] xpath(./compounddef/compoundname[text()="mom_tracer_hor_diff::p2d"]/..) match([('id', 'structmom__tracer__hor__diff_1_1p2d'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_hor_diff::p2d', , {}, ['', 'A type [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_hor_diff::p2d', , {}, ['`More... < [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_hor_diff::p2d', , {}, ['', 'A type [debug] xpath(./compounddef/compoundname[text()="mom_tracer_hor_diff::p2di"]/..) match([('id', 'structmom__tracer__hor__diff_1_1p2di'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_hor_diff::p2di', , {}, ['', 'A typ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_hor_diff::p2di', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_hor_diff::p2di', , {}, ['', 'A typ [debug] xpath(./compounddef/compoundname[text()="mom_tracer_hor_diff::tracer_hor_diff_cs"]/..) match([('id', 'structmom__tracer__hor__diff_1_1tracer__hor__diff__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_hor_diff::tracer_hor_diff_cs', , { [debug] DoxygenMethodDocumenter format_signature called ((h, dt, MEKE, VarMix, G, GV, US, CS, Reg, tv, do_online_flag, read_khdt_x, read_khdt_y)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_hor_diff::tracer_hordiff', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_hor_diff::tracer_hordiff', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((h, dt, Tr, ntr, khdt_epi_x, khdt_epi_y, G, GV, US, CS, tv, num_itts)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_hor_diff::tracer_epipycnal_ml_diff', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_hor_diff::tracer_hor_diff_init', , { [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_hor_diff::tracer_hor_diff_end', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_hor_diff::tracer_hor_diff_end', , {} [fd] run(.. f:type:: p2d) [fd] sig(p2d) [fd] ftype(None) objtype(None) modname(None) typename() name(p2d) arglist(None) [fd] fullname(mom_tracer_hor_diff/p2d) ftype(None) [fd] name(('mom_tracer_hor_diff/p2d', None)) sig(p2d) signode(type mom_tracer_hor_diff/p2d) [fd] run(.. f:type:: p2di) [fd] sig(p2di) [fd] ftype(None) objtype(None) modname(None) typename() name(p2di) arglist(None) [fd] fullname(mom_tracer_hor_diff/p2di) ftype(None) [fd] name(('mom_tracer_hor_diff/p2di', None)) sig(p2di) signode(type mom_tracer_hor_diff/p2di) [fd] run(.. f:type:: tracer_hor_diff_cs) [fd] sig(tracer_hor_diff_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(tracer_hor_diff_cs) arglist(None) [fd] fullname(mom_tracer_hor_diff/tracer_hor_diff_cs) ftype(None) [fd] name(('mom_tracer_hor_diff/tracer_hor_diff_cs', None)) sig(tracer_hor_diff_cs) signode(type mom_tracer_hor_diff/tracer_hor_diff_cs) [fd] run(.. f:subroutine:: subroutine tracer_hordiff(h, dt, MEKE, VarMix, G, GV, US, CS, Reg, tv, do_online_flag, read_khdt_x, read_khdt_y)) [fd] sig(subroutine tracer_hordiff(h, dt, MEKE, VarMix, G, GV, US, CS, Reg, tv, do_online_flag, read_khdt_x, read_khdt_y)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tracer_hordiff) arglist(h, dt, MEKE, VarMix, G, GV, US, CS, Reg, tv, do_online_flag, read_khdt_x, read_khdt_y) [fd] fullname(mom_tracer_hor_diff/tracer_hordiff) ftype(None) [fd] name(('mom_tracer_hor_diff/tracer_hordiff', None)) sig(subroutine tracer_hordiff(h, dt, MEKE, VarMix, G, GV, US, CS, Reg, tv, do_online_flag, read_khdt_x, read_khdt_y)) signode(subroutine mom_tracer_hor_diff/tracer_hordiffhdtMEKEVarMixGGVUSCSRegtvdo_online_flagread_khdt_xread_khdt_y) [fd] run(.. f:subroutine:: subroutine tracer_epipycnal_ml_diff(h, dt, Tr, ntr, khdt_epi_x, khdt_epi_y, G, GV, US, CS, tv, num_itts)) [fd] sig(subroutine tracer_epipycnal_ml_diff(h, dt, Tr, ntr, khdt_epi_x, khdt_epi_y, G, GV, US, CS, tv, num_itts)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tracer_epipycnal_ml_diff) arglist(h, dt, Tr, ntr, khdt_epi_x, khdt_epi_y, G, GV, US, CS, tv, num_itts) [fd] fullname(mom_tracer_hor_diff/tracer_epipycnal_ml_diff) ftype(None) [fd] name(('mom_tracer_hor_diff/tracer_epipycnal_ml_diff', None)) sig(subroutine tracer_epipycnal_ml_diff(h, dt, Tr, ntr, khdt_epi_x, khdt_epi_y, G, GV, US, CS, tv, num_itts)) signode(subroutine mom_tracer_hor_diff/tracer_epipycnal_ml_diffhdtTrntrkhdt_epi_xkhdt_epi_yGGVUSCStvnum_itts) [fd] run(.. f:subroutine:: subroutine tracer_hor_diff_init(Time, G, US, param_file, diag, EOS, diabatic_CSp, CS)) [fd] sig(subroutine tracer_hor_diff_init(Time, G, US, param_file, diag, EOS, diabatic_CSp, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tracer_hor_diff_init) arglist(Time, G, US, param_file, diag, EOS, diabatic_CSp, CS) [fd] fullname(mom_tracer_hor_diff/tracer_hor_diff_init) ftype(None) [fd] name(('mom_tracer_hor_diff/tracer_hor_diff_init', None)) sig(subroutine tracer_hor_diff_init(Time, G, US, param_file, diag, EOS, diabatic_CSp, CS)) signode(subroutine mom_tracer_hor_diff/tracer_hor_diff_initTimeGUSparam_filediagEOSdiabatic_CSpCS) [fd] run(.. f:subroutine:: subroutine tracer_hor_diff_end(CS)) [fd] sig(subroutine tracer_hor_diff_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tracer_hor_diff_end) arglist(CS) [fd] fullname(mom_tracer_hor_diff/tracer_hor_diff_end) ftype(None) [fd] name(('mom_tracer_hor_diff/tracer_hor_diff_end', None)) sig(subroutine tracer_hor_diff_end(CS)) signode(subroutine mom_tracer_hor_diff/tracer_hor_diff_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 58%] api/generated/modules/mom_tracer_initialization_from_z [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_tracer_i [app] emitting event: 'source-read'('api/generated/modules/mom_tracer_initialization_from_z', ['.. autodoxymodule:: mom_tracer_initiali [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_tracer_initialization_from_z.rst:1: input: .. autodoxymodule:: mom_tracer_initialization_from_z :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tracer_initialization_from_z::mom_initialize_tracer_from_z [debug] xpath(./compounddef/compoundname[text()="mom_tracer_initialization_from_z"]/..) match([('id', 'namespacemom__tracer__initialization__from__z'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_tracer_initialization_from_z module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_initialization_from_z', , {'member [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_initialization_from_z', , {'member [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_initialization_from_z', , {'member [debug] members([('mom_initialize_tracer_from_z', )]) [autodoc] module analyzer failed: error importing 'mom_tracer_initialization_from_z' (exception was: ModuleNotFoundError("No module named 'mom_tracer_initialization_from_z'")) [debug] DoxygenMethodDocumenter format_signature called ((h, tr, G, GV, US, PF, src_file, src_var_nam, src_var_unit_conversion, src_var_record, homogenize, useALEremapping, remappingScheme, src_var_gridspec)) [debug] add_directive_header sig((h, tr, G, GV, US, PF, src_file, src_var_nam, src_var_unit_conversion, src_var_record, homogenize, useALEremapping, remappingScheme, src_var_gridspec)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine mom_initialize_tracer_from_z) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_initialize_tracer_from_z', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tracer_initialization_from_z::mom_initialize_tracer_from_z .. _DETAmom_tracer_initialization_from_z: -------------------- Detailed Description -------------------- Initializes hydrography from z-coordinate climatology files. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine mom_initialize_tracer_from_z(h, tr, G, GV, US, PF, src_file, src_var_nam, src_var_unit_conversion, src_var_record, homogenize, useALEremapping, remappingScheme, src_var_gridspec) Initializes a tracer from a z-space data file. :param g: [inout] Ocean grid structure. :param gv: [in] Ocean vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [in] Layer thickness [H ~> m or kg m-2]. :param tr: Pointer to array to be initialized :param pf: [in] parameter file :param src_file: [in] source filename :param src_var_nam: [in] variable name in file :param src_var_unit_conversion: [in] optional multiplicative unit conversion :param src_var_record: [in] record to read for multiple time-level files :param homogenize: [in] optionally homogenize to mean value :param usealeremapping: [in] to remap or not (optional) :param remappingscheme: [in] remapping scheme to use. :param src_var_gridspec: [in] Source variable name in a gridspec file. This is not implemented yet. :callto: :f:func:`mom_ale::ale_remap_scalar ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mdl ` :callto: :f:func:`mom_horizontal_regridding::mystats ` :calledfrom: :f:func:`mom_generic_tracer::initialize_mom_generic_tracer ` [debug] DoxygenMethodDocumenter format_signature called ((h, tr, G, GV, US, PF, src_file, src_var_nam, src_var_unit_conversion, src_var_record, homogenize, useALEremapping, remappingScheme, src_var_gridspec)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_initialization_from_z::mom_initialize_tracer_from_z', subroutine mom_tracer_initialization_from_z/mom_initialize_tracer_from_zhtrGGVUSPFsrc_filesrc_var_namsrc_var_unit_conversionsrc_var_recordhomogenizeuseALEremappingremappingSchemesrc_var_gridspec) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(,) reading sources... [ 59%] api/generated/modules/mom_tracer_registry [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_tracer_r [app] emitting event: 'source-read'('api/generated/modules/mom_tracer_registry', ['.. autodoxymodule:: mom_tracer_registry\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_tracer_registry.rst:1: input: .. autodoxymodule:: mom_tracer_registry :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_tracer_registry::tracer_registry_type ~mom_tracer_registry::tracer_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tracer_registry::register_tracer ~mom_tracer_registry::lock_tracer_registry ~mom_tracer_registry::register_tracer_diagnostics ~mom_tracer_registry::preale_tracer_diagnostics ~mom_tracer_registry::postale_tracer_diagnostics ~mom_tracer_registry::post_tracer_diagnostics_at_sync ~mom_tracer_registry::post_tracer_transport_diagnostics ~mom_tracer_registry::mom_tracer_chksum ~mom_tracer_registry::mom_tracer_chkinv ~mom_tracer_registry::tracer_name_lookup ~mom_tracer_registry::tracer_registry_init ~mom_tracer_registry::tracer_registry_end [debug] xpath(./compounddef/compoundname[text()="mom_tracer_registry"]/..) match([('id', 'namespacemom__tracer__registry'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_tracer_registry module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__tracer__registry_1_1tracer__registry__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__tracer__registry_1_1tracer__registry__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_registry', , {'members': , {'members': ]) [debug] ref([('id', 'structmom__tracer__registry_1_1tracer__registry__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_registry', , {'members': ), ('mom_tracer_registry::tracer_type', )]) [autodoc] module analyzer failed: error importing 'mom_tracer_registry' (exception was: ModuleNotFoundError("No module named 'mom_tracer_registry'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_tracer_registry::tracer_registry_type', , { [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_registry_type', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_registry_type', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_registry_type', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_registry_type', , { [autodoc] module analyzer failed: error importing 'mom_tracer_registry' (exception was: ModuleNotFoundError("No module named 'mom_tracer_registry'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_tracer_registry::tracer_type', , {'members' [debug] members([('register_tracer', ), ('lock_tracer_registry', ), ('register_tracer_diagnostics', ), ('preale_tracer_diagnostics', ), ('postale_tracer_diagnostics', ), ('post_tracer_diagnostics_at_sync', ), ('post_tracer_transport_diagnostics', ), ('mom_tracer_chksum', ), ('mom_tracer_chkinv', ), ('tracer_name_lookup', ), ('tracer_registry_init', ), ('tracer_registry_end', )]) [autodoc] module analyzer failed: error importing 'mom_tracer_registry' (exception was: ModuleNotFoundError("No module named 'mom_tracer_registry'")) [debug] DoxygenMethodDocumenter format_signature called ((tr_ptr, Reg, param_file, HI, GV, name, longname, units, cmor_name, cmor_units, cmor_longname, tr_desc, OBC_inflow, OBC_in_u, OBC_in_v, ad_x, ad_y, df_x, df_y, ad_2d_x, ad_2d_y, df_2d_x, df_2d_y, advection_xy, registry_diags, flux_nameroot, flux_longname, flux_units, flux_scale, convergence_units, convergence_scale, cmor_tendprefix, diag_form, restart_CS, mandatory)) [debug] add_directive_header sig((tr_ptr, Reg, param_file, HI, GV, name, longname, units, cmor_name, cmor_units, cmor_longname, tr_desc, OBC_inflow, OBC_in_u, OBC_in_v, ad_x, ad_y, df_x, df_y, ad_2d_x, ad_2d_y, df_2d_x, df_2d_y, advection_xy, registry_diags, flux_nameroot, flux_longname, flux_units, flux_scale, convergence_units, convergence_scale, cmor_tendprefix, diag_form, restart_CS, mandatory)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine register_tracer) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_tracer', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'post_tracer_diagnostics_at_sync', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'post_tracer_diagnostics_at_sync', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'post_tracer_diagnostics_at_sync', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'post_tracer_diagnostics_at_sync', , {'members': [autodoc] module analyzer failed: error importing 'mom_tracer_registry' (exception was: ModuleNotFoundError("No module named 'mom_tracer_registry'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, Reg, h_diag, diag)) [debug] add_directive_header sig((G, GV, Reg, h_diag, diag)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine post_tracer_transport_diagnostics) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'post_tracer_transport_diagnostics', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'post_tracer_transport_diagnostics', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'post_tracer_transport_diagnostics', , {'members [autodoc] module analyzer failed: error importing 'mom_tracer_registry' (exception was: ModuleNotFoundError("No module named 'mom_tracer_registry'")) [debug] DoxygenMethodDocumenter format_signature called ((mesg, Tr, ntr, G)) [debug] add_directive_header sig((mesg, Tr, ntr, G)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine mom_tracer_chksum) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_chksum', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_tracer_registry::tracer_registry_type ~mom_tracer_registry::tracer_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tracer_registry::register_tracer ~mom_tracer_registry::lock_tracer_registry ~mom_tracer_registry::register_tracer_diagnostics ~mom_tracer_registry::preale_tracer_diagnostics ~mom_tracer_registry::postale_tracer_diagnostics ~mom_tracer_registry::post_tracer_diagnostics_at_sync ~mom_tracer_registry::post_tracer_transport_diagnostics ~mom_tracer_registry::mom_tracer_chksum ~mom_tracer_registry::mom_tracer_chkinv ~mom_tracer_registry::tracer_name_lookup ~mom_tracer_registry::tracer_registry_init ~mom_tracer_registry::tracer_registry_end .. _DETAmom_tracer_registry: -------------------- Detailed Description -------------------- This module contains the :f:func:`tracer_registry_type` and the subroutines that handle registration of tracers and related subroutines. The primary subroutine, register_tracer, is called to indicate the tracers advected and diffused. and the subroutines that handle registration of tracers and related subroutines. The primary subroutine, register_tracer, is called to indicate the tracers advected and diffused. ------------------ Type Documentation ------------------ .. f:type:: tracer_registry_type Type to carry basic tracer information. :typefield integer ntr: number of registered tracers :typefield type( tracer_type )(50) tr: array of registered tracers :typefield logical locked: New tracers may be registered if locked=.false. When locked=.true., no more tracers can be registered, at which point common diagnostics can be set up for the registered tracers. .. f:type:: tracer_type The tracer type. :typefield integer id_tr: Diagnostic IDs. :typefield integer id_tr_post_horzn: Diagnostic IDs. :typefield integer id_adx: Diagnostic IDs. :typefield integer id_ady: Diagnostic IDs. :typefield integer id_dfx: Diagnostic IDs. :typefield integer id_dfy: Diagnostic IDs. :typefield integer id_lbd_bulk_dfx: Diagnostic IDs. :typefield integer id_lbd_bulk_dfy: Diagnostic IDs. :typefield integer id_lbd_dfx: Diagnostic IDs. :typefield integer id_lbd_dfy: Diagnostic IDs. :typefield integer id_lbd_dfx_2d: Diagnostic IDs. :typefield integer id_lbd_dfy_2d: Diagnostic IDs. :typefield integer id_adx_2d: Diagnostic IDs. :typefield integer id_ady_2d: Diagnostic IDs. :typefield integer id_dfx_2d: Diagnostic IDs. :typefield integer id_dfy_2d: Diagnostic IDs. :typefield integer id_adv_xy: Diagnostic IDs. :typefield integer id_adv_xy_2d: Diagnostic IDs. :typefield integer id_dfxy_cont: Diagnostic IDs. :typefield integer id_dfxy_cont_2d: Diagnostic IDs. :typefield integer id_dfxy_conc: Diagnostic IDs. :typefield integer id_lbdxy_cont: Diagnostic IDs. :typefield integer id_lbdxy_cont_2d: Diagnostic IDs. :typefield integer id_lbdxy_conc: Diagnostic IDs. :typefield integer id_remap_conc: Diagnostic IDs. :typefield integer id_remap_cont: Diagnostic IDs. :typefield integer id_remap_cont_2d: Diagnostic IDs. :typefield integer id_tendency: Diagnostic IDs. :typefield integer id_trxh_tendency: Diagnostic IDs. :typefield integer id_trxh_tendency_2d: Diagnostic IDs. :typefield integer id_tr_vardec: Diagnostic IDs. :typefield real(\:,\:,\:) t [pointer]: tracer concentration array [conc] :typefield real(\:,\:,\:) ad_x [pointer]: diagnostic array for x-advective tracer flux [conc H L2 T-1 ~> conc m3 s-1 or conc kg s-1] :typefield real(\:,\:,\:) ad_y [pointer]: diagnostic array for y-advective tracer flux [conc H L2 T-1 ~> conc m3 s-1 or conc kg s-1] :typefield real(\:,\:) ad2d_x [pointer]: diagnostic vertical sum x-advective tracer flux [conc H L2 T-1 ~> conc m3 s-1 or conc kg s-1] :typefield real(\:,\:) ad2d_y [pointer]: diagnostic vertical sum y-advective tracer flux [conc H L2 T-1 ~> conc m3 s-1 or conc kg s-1] :typefield real(\:,\:,\:) df_x [pointer]: diagnostic array for x-diffusive tracer flux [conc H L2 T-1 ~> conc m3 s-1 or conc kg s-1] :typefield real(\:,\:,\:) df_y [pointer]: diagnostic array for y-diffusive tracer flux [conc H L2 T-1 ~> conc m3 s-1 or conc kg s-1] :typefield real(\:,\:,\:) lbd_dfx [pointer]: diagnostic array for x-diffusive tracer flux [conc H m2 s-1 ~> conc m3 s-1 or conc kg s-1] :typefield real(\:,\:,\:) lbd_dfy [pointer]: diagnostic array for y-diffusive tracer flux [conc H m2 s-1 ~> conc m3 s-1 or conc kg s-1] :typefield real(\:,\:) lbd_dfx_2d [pointer]: diagnostic array for x-diffusive tracer flux [conc H m2 s-1 ~> conc m3 s-1 or conc kg s-1] :typefield real(\:,\:) lbd_dfy_2d [pointer]: diagnostic array for y-diffusive tracer flux [conc H m2 s-1 ~> conc m3 s-1 or conc kg s-1] :typefield real(\:,\:) lbd_bulk_df_x [pointer]: diagnostic array for x-diffusive tracer flux [conc H m2 s-1 ~> conc m3 s-1 or conc kg s-1] :typefield real(\:,\:) lbd_bulk_df_y [pointer]: diagnostic array for y-diffusive tracer flux [conc H m2 s-1 ~> conc m3 s-1 or conc kg s-1] :typefield real(\:,\:) df2d_x [pointer]: diagnostic vertical sum x-diffusive flux [conc H L2 T-1 ~> conc m3 s-1 or conc kg s-1] :typefield real(\:,\:) df2d_y [pointer]: diagnostic vertical sum y-diffusive flux [conc H L2 T-1 ~> conc m3 s-1 or conc kg s-1] :typefield real(\:,\:,\:) advection_xy [pointer]: convergence of lateral advective tracer fluxes [conc H T-1 ~> conc m s-1 or conc kg m-2 s-1] :typefield real(\:,\:,\:) t_prev [pointer]: tracer concentration array at a previous timestep used for diagnostics [conc] :typefield real(\:,\:,\:) trxh_prev [pointer]: layer integrated tracer concentration array at a previous timestep used for diagnostics :typefield character (len=32) name: tracer name used for diagnostics and error messages :typefield character (len=64) units: Physical dimensions of the tracer concentration. :typefield character (len=240) longname: Long name of the variable. :typefield logical registry_diags: If true, use the registry to set up the diagnostics associated with this tracer. :typefield character (len=64) cmor_name: CMOR name of this tracer. :typefield character (len=64) cmor_units: CMOR physical dimensions of the tracer. :typefield character (len=240) cmor_longname: CMOR long name of the tracer. :typefield character (len=32) flux_nameroot: Short tracer name snippet used construct the names of flux diagnostics. :typefield character (len=64) flux_longname: A word or phrase used construct the long names of flux diagnostics. :typefield real flux_scale: A scaling factor used to convert the fluxes of this tracer to its desired units. :typefield character (len=48) flux_units: The units for fluxes of this variable. :typefield character (len=48) conv_units: The units for the flux convergence of this tracer. :typefield real conv_scale: A scaling factor used to convert the flux convergence of this tracer to its desired units. :typefield character (len=48) cmor_tendprefix: The CMOR variable prefix for tendencies of this tracer, required because CMOR does not follow any discernable pattern for these names. :typefield integer ind_tr_squared: The tracer registry index for the square of this tracer. :typefield logical remap_tr: If true, this tracer should be vertically remapped. :typefield integer diag_form: An integer indicating which template is to be used to label diagnostics. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine register_tracer(tr_ptr, Reg, param_file, HI, GV, name, longname, units, cmor_name, cmor_units, cmor_longname, tr_desc, OBC_inflow, OBC_in_u, OBC_in_v, ad_x, ad_y, df_x, df_y, ad_2d_x, ad_2d_y, df_2d_x, df_2d_y, advection_xy, registry_diags, flux_nameroot, flux_longname, flux_units, flux_scale, convergence_units, convergence_scale, cmor_tendprefix, diag_form, restart_CS, mandatory) This subroutine registers a tracer to be advected and laterally diffused. :param hi: [in] horizontal index type :param gv: [in] ocean vertical grid structure :param reg: pointer to the tracer registry :param tr_ptr: target or pointer to the tracer array :param param_file: [in] file to parse for model parameter values :param name: [in] Short tracer name :param longname: [in] The long tracer name :param units: [in] The units of this tracer :param cmor_name: [in] CMOR name :param cmor_units: [in] CMOR physical dimensions of variable :param cmor_longname: [in] CMOR long name :param tr_desc: [in] A structure with metadata about the tracer :param obc_inflow: [in] the tracer for all inflows via OBC for which OBC_in_u or OBC_in_v are not specified (units of tracer CONC) :param obc_in_u: tracer at inflows through u-faces of tracer cells (units of tracer CONC) :param obc_in_v: tracer at inflows through v-faces of tracer cells (units of tracer CONC) :param ad_x: diagnostic x-advective flux [conc H L2 T-1 ~> CONC m3 s-1 or CONC kg s-1] :param ad_y: diagnostic y-advective flux [conc H L2 T-1 ~> CONC m3 s-1 or CONC kg s-1] :param df_x: diagnostic x-diffusive flux [conc H L2 T-1 ~> CONC m3 s-1 or CONC kg s-1] :param df_y: diagnostic y-diffusive flux [conc H L2 T-1 ~> CONC m3 s-1 or CONC kg s-1] :param ad_2d_x: vert sum of diagnostic x-advect flux [conc H L2 T-1 ~> CONC m3 s-1 or CONC kg s-1] :param ad_2d_y: vert sum of diagnostic y-advect flux [conc H L2 T-1 ~> CONC m3 s-1 or CONC kg s-1] :param df_2d_x: vert sum of diagnostic x-diffuse flux [conc H L2 T-1 ~> CONC m3 s-1 or CONC kg s-1] :param df_2d_y: vert sum of diagnostic y-diffuse flux [conc H L2 T-1 ~> CONC m3 s-1 or CONC kg s-1] :param advection_xy: convergence of lateral advective tracer fluxes :param registry_diags: [in] If present and true, use the registry for the diagnostics of this tracer. :param flux_nameroot: [in] Short tracer name snippet used construct the names of flux diagnostics. :param flux_longname: [in] A word or phrase used construct the long names of flux diagnostics. :param flux_units: [in] The units for the fluxes of this tracer. :param flux_scale: [in] A scaling factor used to convert the fluxes of this tracer to its desired units. :param convergence_units: [in] The units for the flux convergence of this tracer. :param convergence_scale: [in] A scaling factor used to convert the flux convergence of this tracer to its desired units. :param cmor_tendprefix: [in] The CMOR name for the layer-integrated tendencies of this tracer. :param diag_form: [in] An integer (1 or 2, 1 by default) indicating the character string template to use in labeling diagnostics :param restart_cs: A pointer to the restart control structure this tracer will be registered for restarts if this argument is present :param mandatory: [in] If true, this tracer must be read from a restart file. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_io::query_vardesc ` :callto: :f:func:`tracer_registry_init ` :calledfrom: :f:func:`advection_test_tracer::register_advection_test_tracer ` :calledfrom: :f:func:`boundary_impulse_tracer::register_boundary_impulse_tracer ` :calledfrom: :f:func:`dome_tracer::register_dome_tracer ` :calledfrom: :f:func:`regional_dyes::register_dye_tracer ` :calledfrom: :f:func:`dyed_obc_tracer::register_dyed_obc_tracer ` :calledfrom: :f:func:`ideal_age_example::register_ideal_age_tracer ` :calledfrom: :f:func:`isomip_tracer::register_isomip_tracer ` :calledfrom: :f:func:`mom_generic_tracer::register_mom_generic_tracer ` :calledfrom: :f:func:`mom_ocmip2_cfc::register_ocmip2_cfc ` :calledfrom: :f:func:`oil_tracer::register_oil_tracer ` :calledfrom: :f:func:`pseudo_salt_tracer::register_pseudo_salt_tracer ` :calledfrom: :f:func:`rgc_tracer::register_rgc_tracer ` :calledfrom: :f:func:`user_tracer_example::user_register_tracer_example ` .. f:subroutine:: subroutine lock_tracer_registry(Reg) This subroutine locks the tracer registry to prevent the addition of more tracers. After locked=.true., can then register common diagnostics. :param reg: pointer to the tracer registry :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine register_tracer_diagnostics(Reg, h, Time, diag, G, GV, US, use_ALE) register_tracer_diagnostics does a set of register_diag_field calls for any previously registered in a tracer registry with a value of registry_diags set to .true. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param reg: pointer to the tracer registry :param h: [in] Layer thicknesses :param time: [in] current model time :param diag: [in] structure to regulate diagnostic output :param use_ale: [in] If true active diagnostics that only apply to ALE configurations :callto: :f:func:`mom_io::cmor_long_std ` :callto: :f:func:`mom_string_functions::lowercase ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine preale_tracer_diagnostics(Reg, G, GV) :param reg: pointer to the tracer registry :param g: [in] The ocean's grid structure :param gv: [in] ocean vertical grid structure .. f:subroutine:: subroutine postale_tracer_diagnostics(Reg, G, GV, diag, dt) :param reg: pointer to the tracer registry :param g: [in] The ocean's grid structure :param gv: [in] ocean vertical grid structure :param diag: [in] regulates diagnostic output :param dt: [in] total time interval for these diagnostics [T ~> s] :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine post_tracer_diagnostics_at_sync(Reg, h, diag_prev, diag, G, GV, dt) Post tracer diganostics when that should only be posted when MOM's state is self-consistent (also referred to as 'synchronized') :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param reg: pointer to the tracer registry :param h: [in] Layer thicknesses :param diag_prev: [in] Contains diagnostic grids from previous timestep :param diag: [inout] structure to regulate diagnostic output :param dt: [in] total time step for tracer updates [T ~> s] :callto: :f:func:`mom_diag_mediator::diag_copy_storage_to_diag ` :callto: :f:func:`mom_diag_mediator::diag_restore_grids ` :callto: :f:func:`mom_diag_mediator::diag_save_grids ` .. f:subroutine:: subroutine post_tracer_transport_diagnostics(G, GV, Reg, h_diag, diag) Post the advective and diffusive tendencies. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param reg: pointer to the tracer registry :param h_diag: [in] Layer thicknesses on which to post fields :param diag: [in] structure to regulate diagnostic output :calledfrom: :f:func:`mom_diagnostics::post_transport_diagnostics ` .. f:subroutine:: subroutine mom_tracer_chksum(mesg, Tr, ntr, G) This subroutine writes out chksums for tracers. :param mesg: [in] message that appears on the chksum lines :param tr: [in] array of all of registered tracers :param ntr: [in] number of registered tracers :param g: [in] ocean grid structure :calledfrom: :f:func:`mom_offline_main::offline_redistribute_residual ` :calledfrom: :f:func:`mom_tracer_hor_diff::tracer_hordiff ` .. f:subroutine:: subroutine mom_tracer_chkinv(mesg, G, h, Tr, ntr) Calculates and prints the global inventory of all tracers in the registry. :param mesg: [in] message that appears on the chksum lines :param g: [in] ocean grid structure :param tr: [in] array of all of registered tracers :param h: [in] Layer thicknesses :param ntr: [in] number of registered tracers :callto: :f:func:`mom_error_handler::is_root_pe ` :calledfrom: :f:func:`mom_ale::ale_offline_inputs ` :calledfrom: :f:func:`mom_offline_main::offline_advection_ale ` :calledfrom: :f:func:`mom_offline_main::offline_diabatic_ale ` :calledfrom: :f:func:`mom_offline_main::offline_fw_fluxes_into_ocean ` :calledfrom: :f:func:`mom_offline_main::offline_fw_fluxes_out_ocean ` :calledfrom: :f:func:`mom_offline_main::offline_redistribute_residual ` .. f:subroutine:: subroutine tracer_name_lookup(Reg, tr_ptr, name) Find a tracer in the tracer registry by name. :param reg: pointer to tracer registry :param tr_ptr: target or pointer to the tracer array :param name: [in] tracer name :callto: :f:func:`mom_string_functions::lowercase ` :calledfrom: :f:func:`dome_initialization::dome_set_obc_data ` .. f:subroutine:: subroutine tracer_registry_init(param_file, Reg) Initialize the tracer registry. :param param_file: [in] open file to parse for model parameters :param reg: pointer to tracer registry :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`register_tracer ` .. f:subroutine:: subroutine tracer_registry_end(Reg) This routine closes the tracer registry module. :param reg: The tracer registry that will be deallocated :calledfrom: :f:func:`mom::mom_end ` [debug] xpath(./compounddef/compoundname[text()="mom_tracer_registry::tracer_registry_type"]/..) match([('id', 'structmom__tracer__registry_1_1tracer__registry__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_registry::tracer_registry_type', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_registry::tracer_registry_type', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_registry::tracer_registry_type', , [debug] xpath(./compounddef/compoundname[text()="mom_tracer_registry::tracer_type"]/..) match([('id', 'structmom__tracer__registry_1_1tracer__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_registry::tracer_type', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_registry::tracer_type', , {}, ['`M [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_registry::tracer_type', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((tr_ptr, Reg, param_file, HI, GV, name, longname, units, cmor_name, cmor_units, cmor_longname, tr_desc, OBC_inflow, OBC_in_u, OBC_in_v, ad_x, ad_y, df_x, df_y, ad_2d_x, ad_2d_y, df_2d_x, df_2d_y, advection_xy, registry_diags, flux_nameroot, flux_longname, flux_units, flux_scale, convergence_units, convergence_scale, cmor_tendprefix, diag_form, restart_CS, mandatory)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_registry::register_tracer', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_registry::register_tracer', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((Reg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_registry::lock_tracer_registry', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_registry::lock_tracer_registry', , { [debug] DoxygenMethodDocumenter format_signature called ((Reg, h, Time, diag, G, GV, US, use_ALE)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_registry::register_tracer_diagnostics', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_registry::mom_tracer_chksum', , {}, [debug] DoxygenMethodDocumenter format_signature called ((mesg, G, h, Tr, ntr)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_registry::mom_tracer_chkinv', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_registry::mom_tracer_chkinv', , {}, [debug] DoxygenMethodDocumenter format_signature called ((Reg, tr_ptr, name)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_registry::tracer_name_lookup', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_registry::tracer_name_lookup', , {}, [debug] DoxygenMethodDocumenter format_signature called ((param_file, Reg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_registry::tracer_registry_init', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_registry::tracer_registry_init', , { [debug] DoxygenMethodDocumenter format_signature called ((Reg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_registry::tracer_registry_end', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_registry::tracer_registry_end', , {} [fd] run(.. f:type:: tracer_registry_type) [fd] sig(tracer_registry_type) [fd] ftype(None) objtype(None) modname(None) typename() name(tracer_registry_type) arglist(None) [fd] fullname(mom_tracer_registry/tracer_registry_type) ftype(None) [fd] name(('mom_tracer_registry/tracer_registry_type', None)) sig(tracer_registry_type) signode(type mom_tracer_registry/tracer_registry_type) [fd] run(.. f:type:: tracer_type) [fd] sig(tracer_type) [fd] ftype(None) objtype(None) modname(None) typename() name(tracer_type) arglist(None) [fd] fullname(mom_tracer_registry/tracer_type) ftype(None) [fd] name(('mom_tracer_registry/tracer_type', None)) sig(tracer_type) signode(type mom_tracer_registry/tracer_type) [fd] run(.. f:subroutine:: subroutine register_tracer(tr_ptr, Reg, param_file, HI, GV, name, longname, units, cmor_name, cmor_units, cmor_longname, tr_desc, OBC_inflow, OBC_in_u, OBC_in_v, ad_x, ad_y, df_x, df_y, ad_2d_x, ad_2d_y, df_2d_x, df_2d_y, advection_xy, registry_diags, flux_nameroot, flux_longname, flux_units, flux_scale, convergence_units, convergence_scale, cmor_tendprefix, diag_form, restart_CS, mandatory)) [fd] sig(subroutine register_tracer(tr_ptr, Reg, param_file, HI, GV, name, longname, units, cmor_name, cmor_units, cmor_longname, tr_desc, OBC_inflow, OBC_in_u, OBC_in_v, ad_x, ad_y, df_x, df_y, ad_2d_x, ad_2d_y, df_2d_x, df_2d_y, advection_xy, registry_diags, flux_nameroot, flux_longname, flux_units, flux_scale, convergence_units, convergence_scale, cmor_tendprefix, diag_form, restart_CS, mandatory)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_tracer) arglist(tr_ptr, Reg, param_file, HI, GV, name, longname, units, cmor_name, cmor_units, cmor_longname, tr_desc, OBC_inflow, OBC_in_u, OBC_in_v, ad_x, ad_y, df_x, df_y, ad_2d_x, ad_2d_y, df_2d_x, df_2d_y, advection_xy, registry_diags, flux_nameroot, flux_longname, flux_units, flux_scale, convergence_units, convergence_scale, cmor_tendprefix, diag_form, restart_CS, mandatory) [fd] fullname(mom_tracer_registry/register_tracer) ftype(None) [fd] name(('mom_tracer_registry/register_tracer', None)) sig(subroutine register_tracer(tr_ptr, Reg, param_file, HI, GV, name, longname, units, cmor_name, cmor_units, cmor_longname, tr_desc, OBC_inflow, OBC_in_u, OBC_in_v, ad_x, ad_y, df_x, df_y, ad_2d_x, ad_2d_y, df_2d_x, df_2d_y, advection_xy, registry_diags, flux_nameroot, flux_longname, flux_units, flux_scale, convergence_units, convergence_scale, cmor_tendprefix, diag_form, restart_CS, mandatory)) signode(subroutine mom_tracer_registry/register_tracertr_ptrRegparam_fileHIGVnamelongnameunitscmor_namecmor_unitscmor_longnametr_descOBC_inflowOBC_in_uOBC_in_vad_xad_ydf_xdf_yad_2d_xad_2d_ydf_2d_xdf_2d_yadvection_xyregistry_diagsflux_namerootflux_longnameflux_unitsflux_scaleconvergence_unitsconvergence_scalecmor_tendprefixdiag_formrestart_CSmandatory) [fd] run(.. f:subroutine:: subroutine lock_tracer_registry(Reg)) [fd] sig(subroutine lock_tracer_registry(Reg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(lock_tracer_registry) arglist(Reg) [fd] fullname(mom_tracer_registry/lock_tracer_registry) ftype(None) [fd] name(('mom_tracer_registry/lock_tracer_registry', None)) sig(subroutine lock_tracer_registry(Reg)) signode(subroutine mom_tracer_registry/lock_tracer_registryReg) [fd] run(.. f:subroutine:: subroutine register_tracer_diagnostics(Reg, h, Time, diag, G, GV, US, use_ALE)) [fd] sig(subroutine register_tracer_diagnostics(Reg, h, Time, diag, G, GV, US, use_ALE)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(register_tracer_diagnostics) arglist(Reg, h, Time, diag, G, GV, US, use_ALE) [fd] fullname(mom_tracer_registry/register_tracer_diagnostics) ftype(None) [fd] name(('mom_tracer_registry/register_tracer_diagnostics', None)) sig(subroutine register_tracer_diagnostics(Reg, h, Time, diag, G, GV, US, use_ALE)) signode(subroutine mom_tracer_registry/register_tracer_diagnosticsReghTimediagGGVUSuse_ALE) [fd] run(.. f:subroutine:: subroutine preale_tracer_diagnostics(Reg, G, GV)) [fd] sig(subroutine preale_tracer_diagnostics(Reg, G, GV)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(preale_tracer_diagnostics) arglist(Reg, G, GV) [fd] fullname(mom_tracer_registry/preale_tracer_diagnostics) ftype(None) [fd] name(('mom_tracer_registry/preale_tracer_diagnostics', None)) sig(subroutine preale_tracer_diagnostics(Reg, G, GV)) signode(subroutine mom_tracer_registry/preale_tracer_diagnosticsRegGGV) [fd] run(.. f:subroutine:: subroutine postale_tracer_diagnostics(Reg, G, GV, diag, dt)) [fd] sig(subroutine postale_tracer_diagnostics(Reg, G, GV, diag, dt)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(postale_tracer_diagnostics) arglist(Reg, G, GV, diag, dt) [fd] fullname(mom_tracer_registry/postale_tracer_diagnostics) ftype(None) [fd] name(('mom_tracer_registry/postale_tracer_diagnostics', None)) sig(subroutine postale_tracer_diagnostics(Reg, G, GV, diag, dt)) signode(subroutine mom_tracer_registry/postale_tracer_diagnosticsRegGGVdiagdt) [fd] run(.. f:subroutine:: subroutine post_tracer_diagnostics_at_sync(Reg, h, diag_prev, diag, G, GV, dt)) [fd] sig(subroutine post_tracer_diagnostics_at_sync(Reg, h, diag_prev, diag, G, GV, dt)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(post_tracer_diagnostics_at_sync) arglist(Reg, h, diag_prev, diag, G, GV, dt) [fd] fullname(mom_tracer_registry/post_tracer_diagnostics_at_sync) ftype(None) [fd] name(('mom_tracer_registry/post_tracer_diagnostics_at_sync', None)) sig(subroutine post_tracer_diagnostics_at_sync(Reg, h, diag_prev, diag, G, GV, dt)) signode(subroutine mom_tracer_registry/post_tracer_diagnostics_at_syncReghdiag_prevdiagGGVdt) [fd] run(.. f:subroutine:: subroutine post_tracer_transport_diagnostics(G, GV, Reg, h_diag, diag)) [fd] sig(subroutine post_tracer_transport_diagnostics(G, GV, Reg, h_diag, diag)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(post_tracer_transport_diagnostics) arglist(G, GV, Reg, h_diag, diag) [fd] fullname(mom_tracer_registry/post_tracer_transport_diagnostics) ftype(None) [fd] name(('mom_tracer_registry/post_tracer_transport_diagnostics', None)) sig(subroutine post_tracer_transport_diagnostics(G, GV, Reg, h_diag, diag)) signode(subroutine mom_tracer_registry/post_tracer_transport_diagnosticsGGVRegh_diagdiag) [fd] run(.. f:subroutine:: subroutine mom_tracer_chksum(mesg, Tr, ntr, G)) [fd] sig(subroutine mom_tracer_chksum(mesg, Tr, ntr, G)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_tracer_chksum) arglist(mesg, Tr, ntr, G) [fd] fullname(mom_tracer_registry/mom_tracer_chksum) ftype(None) [fd] name(('mom_tracer_registry/mom_tracer_chksum', None)) sig(subroutine mom_tracer_chksum(mesg, Tr, ntr, G)) signode(subroutine mom_tracer_registry/mom_tracer_chksummesgTrntrG) [fd] run(.. f:subroutine:: subroutine mom_tracer_chkinv(mesg, G, h, Tr, ntr)) [fd] sig(subroutine mom_tracer_chkinv(mesg, G, h, Tr, ntr)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_tracer_chkinv) arglist(mesg, G, h, Tr, ntr) [fd] fullname(mom_tracer_registry/mom_tracer_chkinv) ftype(None) [fd] name(('mom_tracer_registry/mom_tracer_chkinv', None)) sig(subroutine mom_tracer_chkinv(mesg, G, h, Tr, ntr)) signode(subroutine mom_tracer_registry/mom_tracer_chkinvmesgGhTrntr) [fd] run(.. f:subroutine:: subroutine tracer_name_lookup(Reg, tr_ptr, name)) [fd] sig(subroutine tracer_name_lookup(Reg, tr_ptr, name)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tracer_name_lookup) arglist(Reg, tr_ptr, name) [fd] fullname(mom_tracer_registry/tracer_name_lookup) ftype(None) [fd] name(('mom_tracer_registry/tracer_name_lookup', None)) sig(subroutine tracer_name_lookup(Reg, tr_ptr, name)) signode(subroutine mom_tracer_registry/tracer_name_lookupRegtr_ptrname) [fd] run(.. f:subroutine:: subroutine tracer_registry_init(param_file, Reg)) [fd] sig(subroutine tracer_registry_init(param_file, Reg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tracer_registry_init) arglist(param_file, Reg) [fd] fullname(mom_tracer_registry/tracer_registry_init) ftype(None) [fd] name(('mom_tracer_registry/tracer_registry_init', None)) sig(subroutine tracer_registry_init(param_file, Reg)) signode(subroutine mom_tracer_registry/tracer_registry_initparam_fileReg) [fd] run(.. f:subroutine:: subroutine tracer_registry_end(Reg)) [fd] sig(subroutine tracer_registry_end(Reg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tracer_registry_end) arglist(Reg) [fd] fullname(mom_tracer_registry/tracer_registry_end) ftype(None) [fd] name(('mom_tracer_registry/tracer_registry_end', None)) sig(subroutine tracer_registry_end(Reg)) signode(subroutine mom_tracer_registry/tracer_registry_endReg) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 59%] api/generated/modules/mom_tracer_z_init [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_tracer_z [app] emitting event: 'source-read'('api/generated/modules/mom_tracer_z_init', ['.. autodoxymodule:: mom_tracer_z_init\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_tracer_z_init.rst:1: input: .. autodoxymodule:: mom_tracer_z_init :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tracer_z_init::tracer_z_init ~mom_tracer_z_init::tracer_z_init_array ~mom_tracer_z_init::read_z_edges ~mom_tracer_z_init::find_overlap ~mom_tracer_z_init::find_limited_slope ~mom_tracer_z_init::determine_temperature [debug] xpath(./compounddef/compoundname[text()="mom_tracer_z_init"]/..) match([('id', 'namespacemom__tracer__z__init'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_tracer_z_init module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_z_init', , {'members': , {'members': , {'members': ), ('tracer_z_init_array', ), ('read_z_edges', ), ('find_overlap', ), ('find_limited_slope', ), ('determine_temperature', )]) [autodoc] module analyzer failed: error importing 'mom_tracer_z_init' (exception was: ModuleNotFoundError("No module named 'mom_tracer_z_init'")) [debug] DoxygenMethodDocumenter format_signature called ((tr, h, filename, tr_name, G, US, missing_val, land_val)) [debug] add_directive_header sig((tr, h, filename, tr_name, G, US, missing_val, land_val)) [debug] DoxygenMethodDocumenter directive(function) name(logical function tracer_z_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_simplesect [debug] simplesect kind(return) [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'tracer_z_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_tracer_z_init::tracer_z_init ~mom_tracer_z_init::tracer_z_init_array ~mom_tracer_z_init::read_z_edges ~mom_tracer_z_init::find_overlap ~mom_tracer_z_init::find_limited_slope ~mom_tracer_z_init::determine_temperature .. _DETAmom_tracer_z_init: -------------------- Detailed Description -------------------- Used to initialize tracers from a depth- (or z*-) space file. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function tracer_z_init(tr, h, filename, tr_name, G, US, missing_val, land_val) This function initializes a tracer by reading a Z-space file, returning .true. if this appears to have been successful, and false otherwise. :returns undefined: A return code indicating if the initialization has been successful :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param tr: [out] The tracer to initialize :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param filename: [in] The name of the file to read from :param tr_name: [in] The name of the tracer in the file :param missing_val: [in] The missing value for the tracer :param land_val: [in] A value to use to fill in land points :callto: :f:func:`find_limited_slope ` :callto: :f:func:`find_overlap ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`read_z_edges ` :calledfrom: :f:func:`mom_ocmip2_cfc::init_tracer_cfc ` :calledfrom: :f:func:`ideal_age_example::initialize_ideal_age_tracer ` :calledfrom: :f:func:`mom_generic_tracer::initialize_mom_generic_tracer ` :calledfrom: :f:func:`oil_tracer::initialize_oil_tracer ` .. f:subroutine:: subroutine tracer_z_init_array(tr_in, z_edges, nk_data, e, land_fill, G, nlay, nlevs, eps_z, tr) Layer model routine for remapping tracers from pseudo-z coordinates into layers defined by target interface positions. :param g: [in] The ocean's grid structure :param nk_data: [in] The number of levels in the input data :param tr_in: [in] The z-space array of tracer concentrations that is read in. :param z_edges: [in] The depths of the cell edges in the input z* data [Z ~> m or m] :param nlay: [in] The number of vertical layers in the target grid :param e: [in] The depths of the target layer interfaces [Z ~> m or m] :param land_fill: [in] fill in data over land (1) :param nlevs: [in] The number of input levels with valid data :param eps_z: [in] A negligibly thin layer thickness [Z ~> m]. :param tr: [out] tracers in layer space :callto: :f:func:`find_limited_slope ` :callto: :f:func:`find_overlap ` .. f:subroutine:: subroutine read_z_edges(filename, tr_name, z_edges, nz_out, has_edges, use_missing, missing, scale) This subroutine reads the vertical coordinate data for a field from a NetCDF file. It also might read the missing value attribute for that same field. :param filename: [in] The name of the file to read from. :param tr_name: [in] The name of the tracer in the file. :param z_edges: [out] The depths of the vertical edges of the tracer array :param nz_out: [out] The number of vertical layers in the tracer array :param has_edges: [out] If true the values in z_edges are the edges of the tracer cells, otherwise they are the cell centers :param use_missing: [inout] If false on input, see whether the tracer has a missing value, and if so return true :param missing: [inout] The missing value, if one has been found :param scale: [in] A scaling factor for z_edges into new units. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :calledfrom: :f:func:`tracer_z_init ` .. f:subroutine:: subroutine find_overlap(e, Z_top, Z_bot, k_max, k_start, k_top, k_bot, wt, z1, z2) Determines the layers bounded by interfaces e that overlap with the depth range between Z_top and Z_bot, and the fractional weights of each layer. It also calculates the normalized relative depths of the range of each layer that overlaps that depth range. :param e: [in] Column interface heights, [Z ~> m] or other units. :param z_top: [in] Top of range being mapped to, in the units of e [Z ~> m]. :param z_bot: [in] Bottom of range being mapped to, in the units of e [Z ~> m]. :param k_max: [in] Number of valid layers. :param k_start: [in] Layer at which to start searching. :param k_top: [out] Indices of top layers that overlap with the depth range. :param k_bot: [out] Indices of bottom layers that overlap with the depth range. :param wt: [out] Relative weights of each layer from k_top to k_bot [nondim]. :param z1: [out] Depth of the top limits of the part of a layer that contributes to a depth level, relative to the cell center and normalized by the cell thickness [nondim]. Note that -1/2 <= z1 < z2 <= 1/2. :param z2: [out] Depths of the bottom limit of the part of a layer that contributes to a depth level, relative to the cell center and normalized by the cell thickness [nondim]. Note that -1/2 <= z1 < z2 <= 1/2. :calledfrom: :f:func:`tracer_z_init ` :calledfrom: :f:func:`tracer_z_init_array ` .. f:function:: real function find_limited_slope(val, e, k) This subroutine determines a limited slope for val to be advected with a piecewise limited scheme. :param val: [in] An column the values that are being interpolated. :param e: [in] A column's interface heights [Z ~> m] or other units. :param k: [in] The layer whose slope is being determined. :returns undefined: The normalized slope in the intracell distribution of val. :calledfrom: :f:func:`tracer_z_init ` :calledfrom: :f:func:`tracer_z_init_array ` .. f:subroutine:: subroutine determine_temperature(temp, salt, R_tgt, p_ref, niter, land_fill, h, k_start, G, US, eos, h_massless) This subroutine determines the potential temperature and salinity that is consistent with the target density using provided initial guess. :param g: [in] The ocean's grid structure :param temp: [inout] potential temperature [degC] :param salt: [inout] salinity [PSU] :param r_tgt: [in] desired potential density [R ~> kg m-3]. :param p_ref: [in] reference pressure [R L2 T-2 ~> Pa]. :param niter: [in] maximum number of iterations :param k_start: [in] starting index (i.e. below the buffer layer) :param land_fill: [in] land fill value :param h: [in] layer thickness, used only to avoid working on :param us: [in] A dimensional unit scaling type :param eos: seawater equation of state control structure :param h_massless: [in] A threshold below which a layer is determined to be massless [H ~> m or kg m-2] :callto: :f:func:`mom_eos::eos_domain ` [debug] DoxygenMethodDocumenter format_signature called ((tr, h, filename, tr_name, G, US, missing_val, land_val)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_z_init::tracer_z_init', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_z_init::tracer_z_init', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((tr_in, z_edges, nk_data, e, land_fill, G, nlay, nlevs, eps_z, tr)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_z_init::tracer_z_init_array', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_z_init::tracer_z_init_array', , {}, [debug] DoxygenMethodDocumenter format_signature called ((filename, tr_name, z_edges, nz_out, has_edges, use_missing, missing, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_z_init::read_z_edges', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_z_init::read_z_edges', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((e, Z_top, Z_bot, k_max, k_start, k_top, k_bot, wt, z1, z2)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_z_init::find_overlap', , {}, ['', 'D [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_z_init::find_overlap', , {}, ['', 'D [debug] DoxygenMethodDocumenter format_signature called ((val, e, k)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_z_init::find_limited_slope', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_z_init::find_limited_slope', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((temp, salt, R_tgt, p_ref, niter, land_fill, h, k_start, G, US, eos, h_massless)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_z_init::determine_temperature', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_tracer_z_init::determine_temperature', , {} [fd] run(.. f:function:: logical function tracer_z_init(tr, h, filename, tr_name, G, US, missing_val, land_val)) [fd] sig(logical function tracer_z_init(tr, h, filename, tr_name, G, US, missing_val, land_val)) [fd] ftype(logical) objtype(function) modname(None) typename() name(tracer_z_init) arglist(tr, h, filename, tr_name, G, US, missing_val, land_val) [fd] fullname(mom_tracer_z_init/tracer_z_init) ftype(logical) [fd] name(('mom_tracer_z_init/tracer_z_init', 'logical')) sig(logical function tracer_z_init(tr, h, filename, tr_name, G, US, missing_val, land_val)) signode(function mom_tracer_z_init/tracer_z_inittrhfilenametr_nameGUSmissing_valland_val [logical]) [fd] run(.. f:subroutine:: subroutine tracer_z_init_array(tr_in, z_edges, nk_data, e, land_fill, G, nlay, nlevs, eps_z, tr)) [fd] sig(subroutine tracer_z_init_array(tr_in, z_edges, nk_data, e, land_fill, G, nlay, nlevs, eps_z, tr)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tracer_z_init_array) arglist(tr_in, z_edges, nk_data, e, land_fill, G, nlay, nlevs, eps_z, tr) [fd] fullname(mom_tracer_z_init/tracer_z_init_array) ftype(None) [fd] name(('mom_tracer_z_init/tracer_z_init_array', None)) sig(subroutine tracer_z_init_array(tr_in, z_edges, nk_data, e, land_fill, G, nlay, nlevs, eps_z, tr)) signode(subroutine mom_tracer_z_init/tracer_z_init_arraytr_inz_edgesnk_dataeland_fillGnlaynlevseps_ztr) [fd] run(.. f:subroutine:: subroutine read_z_edges(filename, tr_name, z_edges, nz_out, has_edges, use_missing, missing, scale)) [fd] sig(subroutine read_z_edges(filename, tr_name, z_edges, nz_out, has_edges, use_missing, missing, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(read_z_edges) arglist(filename, tr_name, z_edges, nz_out, has_edges, use_missing, missing, scale) [fd] fullname(mom_tracer_z_init/read_z_edges) ftype(None) [fd] name(('mom_tracer_z_init/read_z_edges', None)) sig(subroutine read_z_edges(filename, tr_name, z_edges, nz_out, has_edges, use_missing, missing, scale)) signode(subroutine mom_tracer_z_init/read_z_edgesfilenametr_namez_edgesnz_outhas_edgesuse_missingmissingscale) [fd] run(.. f:subroutine:: subroutine find_overlap(e, Z_top, Z_bot, k_max, k_start, k_top, k_bot, wt, z1, z2)) [fd] sig(subroutine find_overlap(e, Z_top, Z_bot, k_max, k_start, k_top, k_bot, wt, z1, z2)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_overlap) arglist(e, Z_top, Z_bot, k_max, k_start, k_top, k_bot, wt, z1, z2) [fd] fullname(mom_tracer_z_init/find_overlap) ftype(None) [fd] name(('mom_tracer_z_init/find_overlap', None)) sig(subroutine find_overlap(e, Z_top, Z_bot, k_max, k_start, k_top, k_bot, wt, z1, z2)) signode(subroutine mom_tracer_z_init/find_overlapeZ_topZ_botk_maxk_startk_topk_botwtz1z2) [fd] run(.. f:function:: real function find_limited_slope(val, e, k)) [fd] sig(real function find_limited_slope(val, e, k)) [fd] ftype(real) objtype(function) modname(None) typename() name(find_limited_slope) arglist(val, e, k) [fd] fullname(mom_tracer_z_init/find_limited_slope) ftype(real) [fd] name(('mom_tracer_z_init/find_limited_slope', 'real')) sig(real function find_limited_slope(val, e, k)) signode(function mom_tracer_z_init/find_limited_slopevalek [real]) [fd] run(.. f:subroutine:: subroutine determine_temperature(temp, salt, R_tgt, p_ref, niter, land_fill, h, k_start, G, US, eos, h_massless)) [fd] sig(subroutine determine_temperature(temp, salt, R_tgt, p_ref, niter, land_fill, h, k_start, G, US, eos, h_massless)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(determine_temperature) arglist(temp, salt, R_tgt, p_ref, niter, land_fill, h, k_start, G, US, eos, h_massless) [fd] fullname(mom_tracer_z_init/determine_temperature) ftype(None) [fd] name(('mom_tracer_z_init/determine_temperature', None)) sig(subroutine determine_temperature(temp, salt, R_tgt, p_ref, niter, land_fill, h, k_start, G, US, eos, h_massless)) signode(subroutine mom_tracer_z_init/determine_temperaturetempsaltR_tgtp_refniterland_fillhk_startGUSeosh_massless) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 60%] api/generated/modules/mom_transcribe_grid [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_transcri [app] emitting event: 'source-read'('api/generated/modules/mom_transcribe_grid', ['.. autodoxymodule:: mom_transcribe_grid\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_transcribe_grid.rst:1: input: .. autodoxymodule:: mom_transcribe_grid :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_transcribe_grid::copy_dyngrid_to_mom_grid ~mom_transcribe_grid::copy_mom_grid_to_dyngrid ~mom_transcribe_grid::rotate_dyngrid [debug] xpath(./compounddef/compoundname[text()="mom_transcribe_grid"]/..) match([('id', 'namespacemom__transcribe__grid'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_transcribe_grid module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_transcribe_grid', , {'members': , {'members': , {'members': ), ('copy_mom_grid_to_dyngrid', ), ('rotate_dyngrid', )]) [autodoc] module analyzer failed: error importing 'mom_transcribe_grid' (exception was: ModuleNotFoundError("No module named 'mom_transcribe_grid'")) [debug] DoxygenMethodDocumenter format_signature called ((dG, oG, US)) [debug] add_directive_header sig((dG, oG, US)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine copy_dyngrid_to_mom_grid) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'copy_dyngrid_to_mom_grid', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_transcribe_grid::copy_dyngrid_to_mom_grid ~mom_transcribe_grid::copy_mom_grid_to_dyngrid ~mom_transcribe_grid::rotate_dyngrid .. _DETAmom_transcribe_grid: -------------------- Detailed Description -------------------- Module with routines for copying information from a shared dynamic horizontal grid to an ocean-specific horizontal grid and the reverse. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine copy_dyngrid_to_mom_grid(dG, oG, US) Copies information from a dynamic (shared) horizontal grid type into an ocean_grid_type. :param dg: [in] Common horizontal grid type :param og: [inout] Ocean grid type :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_grid::set_derived_metrics ` :callto: :f:func:`mom_domains::to_all ` :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` :calledfrom: :f:func:`mom_ice_shelf::initialize_ice_shelf ` .. f:subroutine:: subroutine copy_mom_grid_to_dyngrid(oG, dG, US) Copies information from an ocean_grid_type into a dynamic (shared) horizontal grid type. :param og: [in] Ocean grid type :param dg: [inout] Common horizontal grid type :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_dyn_horgrid::set_derived_dyn_horgrid ` :callto: :f:func:`mom_domains::to_all ` .. f:subroutine:: subroutine rotate_dyngrid(G_in, G, US, turns) :param g_in: [in] Common horizontal grid type :param g: [inout] Ocean grid type :param us: [in] A dimensional unit scaling type :param turns: [in] Number of quarter turns :callto: :f:func:`mom_dyn_horgrid::set_derived_dyn_horgrid ` :calledfrom: :f:func:`mom::initialize_mom ` [debug] DoxygenMethodDocumenter format_signature called ((dG, oG, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_transcribe_grid::copy_dyngrid_to_mom_grid', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_transcribe_grid::rotate_dyngrid', , {}, ['' [fd] run(.. f:subroutine:: subroutine copy_dyngrid_to_mom_grid(dG, oG, US)) [fd] sig(subroutine copy_dyngrid_to_mom_grid(dG, oG, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(copy_dyngrid_to_mom_grid) arglist(dG, oG, US) [fd] fullname(mom_transcribe_grid/copy_dyngrid_to_mom_grid) ftype(None) [fd] name(('mom_transcribe_grid/copy_dyngrid_to_mom_grid', None)) sig(subroutine copy_dyngrid_to_mom_grid(dG, oG, US)) signode(subroutine mom_transcribe_grid/copy_dyngrid_to_mom_griddGoGUS) [fd] run(.. f:subroutine:: subroutine copy_mom_grid_to_dyngrid(oG, dG, US)) [fd] sig(subroutine copy_mom_grid_to_dyngrid(oG, dG, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(copy_mom_grid_to_dyngrid) arglist(oG, dG, US) [fd] fullname(mom_transcribe_grid/copy_mom_grid_to_dyngrid) ftype(None) [fd] name(('mom_transcribe_grid/copy_mom_grid_to_dyngrid', None)) sig(subroutine copy_mom_grid_to_dyngrid(oG, dG, US)) signode(subroutine mom_transcribe_grid/copy_mom_grid_to_dyngridoGdGUS) [fd] run(.. f:subroutine:: subroutine rotate_dyngrid(G_in, G, US, turns)) [fd] sig(subroutine rotate_dyngrid(G_in, G, US, turns)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_dyngrid) arglist(G_in, G, US, turns) [fd] fullname(mom_transcribe_grid/rotate_dyngrid) ftype(None) [fd] name(('mom_transcribe_grid/rotate_dyngrid', None)) sig(subroutine rotate_dyngrid(G_in, G, US, turns)) signode(subroutine mom_transcribe_grid/rotate_dyngridG_inGUSturns) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 60%] api/generated/modules/mom_transform_fms [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_transfor [app] emitting event: 'source-read'('api/generated/modules/mom_transform_fms', ['.. autodoxymodule:: mom_transform_fms\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_transform_fms.rst:1: input: .. autodoxymodule:: mom_transform_fms :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_transform_fms::rotated_mpp_chksum_real_0d ~mom_transform_fms::rotated_mpp_chksum_real_1d ~mom_transform_fms::rotated_mpp_chksum_real_2d ~mom_transform_fms::rotated_mpp_chksum_real_3d ~mom_transform_fms::rotated_mpp_chksum_real_4d ~mom_transform_fms::rotated_write_field_real_0d ~mom_transform_fms::rotated_write_field_real_1d ~mom_transform_fms::rotated_write_field_real_2d ~mom_transform_fms::rotated_write_field_real_3d ~mom_transform_fms::rotated_write_field_real_4d ~mom_transform_fms::rotated_time_interp_external_0d ~mom_transform_fms::rotated_time_interp_external_2d ~mom_transform_fms::rotated_time_interp_external_3d [debug] xpath(./compounddef/compoundname[text()="mom_transform_fms"]/..) match([('id', 'namespacemom__transform__fms'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_transform_fms module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_transform_fms', , {'members': , {'members': , {'members': ), ('rotated_mpp_chksum_real_1d', ), ('rotated_mpp_chksum_real_2d', ), ('rotated_mpp_chksum_real_3d', ), ('rotated_mpp_chksum_real_4d', ), ('rotated_write_field_real_0d', ), ('rotated_write_field_real_1d', ), ('rotated_write_field_real_2d', ), ('rotated_write_field_real_3d', ), ('rotated_write_field_real_4d', ), ('rotated_time_interp_external_0d', ), ('rotated_time_interp_external_2d', ), ('rotated_time_interp_external_3d', )]) [autodoc] module analyzer failed: error importing 'mom_transform_fms' (exception was: ModuleNotFoundError("No module named 'mom_transform_fms'")) [debug] DoxygenMethodDocumenter format_signature called ((field, pelist, mask_val, turns)) [debug] add_directive_header sig((field, pelist, mask_val, turns)) [debug] DoxygenMethodDocumenter directive(function) name(integer function rotated_mpp_chksum_real_0d) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rotated_mpp_chksum_real_0d', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rotated_time_interp_external_0d', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rotated_time_interp_external_0d', , {'members': [autodoc] module analyzer failed: error importing 'mom_transform_fms' (exception was: ModuleNotFoundError("No module named 'mom_transform_fms'")) [debug] DoxygenMethodDocumenter format_signature called ((fms_id, time, data_in, interp, verbose, horz_interp, mask_out, is_in, ie_in, js_in, je_in, window_id, turns)) [debug] add_directive_header sig((fms_id, time, data_in, interp, verbose, horz_interp, mask_out, is_in, ie_in, js_in, je_in, window_id, turns)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine rotated_time_interp_external_2d) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rotated_time_interp_external_2d', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rotated_time_interp_external_2d', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rotated_time_interp_external_2d', , {'members': [autodoc] module analyzer failed: error importing 'mom_transform_fms' (exception was: ModuleNotFoundError("No module named 'mom_transform_fms'")) [debug] DoxygenMethodDocumenter format_signature called ((fms_id, time, data_in, interp, verbose, horz_interp, mask_out, is_in, ie_in, js_in, je_in, window_id, turns)) [debug] add_directive_header sig((fms_id, time, data_in, interp, verbose, horz_interp, mask_out, is_in, ie_in, js_in, je_in, window_id, turns)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine rotated_time_interp_external_3d) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rotated_time_interp_external_3d', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rotated_time_interp_external_3d', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rotated_time_interp_external_3d', , {'members': [autodoc] output: ================================== mom_transform_fms module reference ================================== .. f:module:: mom_transform_fms Support functions and interfaces to permit transformed model domains to interact with FMS operations registered on the non-transformed domains. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_transform_fms::rotated_mpp_chksum_real_0d ~mom_transform_fms::rotated_mpp_chksum_real_1d ~mom_transform_fms::rotated_mpp_chksum_real_2d ~mom_transform_fms::rotated_mpp_chksum_real_3d ~mom_transform_fms::rotated_mpp_chksum_real_4d ~mom_transform_fms::rotated_write_field_real_0d ~mom_transform_fms::rotated_write_field_real_1d ~mom_transform_fms::rotated_write_field_real_2d ~mom_transform_fms::rotated_write_field_real_3d ~mom_transform_fms::rotated_write_field_real_4d ~mom_transform_fms::rotated_time_interp_external_0d ~mom_transform_fms::rotated_time_interp_external_2d ~mom_transform_fms::rotated_time_interp_external_3d .. _DETAmom_transform_fms: -------------------- Detailed Description -------------------- Support functions and interfaces to permit transformed model domains to interact with FMS operations registered on the non-transformed domains. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: integer function rotated_mpp_chksum_real_0d(field, pelist, mask_val, turns) Compute the FMS (mpp) checksum of a scalar. This function is provided to support the full FMS mpp_chksum interface. :callto: :f:func:`mom_error_handler::mom_error ` .. f:function:: integer function rotated_mpp_chksum_real_1d(field, pelist, mask_val, turns) Compute the FMS (mpp) checksum of a 1d field. This function is provided to support the full FMS mpp_chksum interface. :callto: :f:func:`mom_error_handler::mom_error ` .. f:function:: integer function rotated_mpp_chksum_real_2d(field, pelist, mask_val, turns) Compute the FMS (mpp) checksum of a rotated 2d field. .. f:function:: integer function rotated_mpp_chksum_real_3d(field, pelist, mask_val, turns) Compute the FMS (mpp) checksum of a rotated 3d field. .. f:function:: integer function rotated_mpp_chksum_real_4d(field, pelist, mask_val, turns) Compute the FMS (mpp) checksum of a rotated 4d field. .. f:subroutine:: subroutine rotated_write_field_real_0d(io_unit, field_md, field, tstamp, turns) Write the rotation of a 1d field to an FMS output file This function is provided to support the full FMS write_field interface. :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine rotated_write_field_real_1d(io_unit, field_md, field, tstamp, turns) Write the rotation of a 1d field to an FMS output file This function is provided to support the full FMS write_field interface. :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine rotated_write_field_real_2d(io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns) Write the rotation of a 2d field to an FMS output file. .. f:subroutine:: subroutine rotated_write_field_real_3d(io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns) Write the rotation of a 3d field to an FMS output file. .. f:subroutine:: subroutine rotated_write_field_real_4d(io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns) Write the rotation of a 4d field to an FMS output file. .. f:subroutine:: subroutine rotated_time_interp_external_0d(fms_id, time, data_in, verbose, turns) Read a scalar field based on model time This function is provided to support the full FMS time_interp_external interface. :param fms_id: [in] FMS field ID :param time: [in] Model time :param data_in: [inout] field to write data :param verbose: [in] Verbose output :param turns: [in] Number of quarter turns :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine rotated_time_interp_external_2d(fms_id, time, data_in, interp, verbose, horz_interp, mask_out, is_in, ie_in, js_in, je_in, window_id, turns) Read a 2d field based on model time, and rotate to the model grid. :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine rotated_time_interp_external_3d(fms_id, time, data_in, interp, verbose, horz_interp, mask_out, is_in, ie_in, js_in, je_in, window_id, turns) Read a 3d field based on model time, and rotate to the model grid. :callto: :f:func:`mom_error_handler::mom_error ` [debug] DoxygenMethodDocumenter format_signature called ((field, pelist, mask_val, turns)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_transform_fms::rotated_mpp_chksum_real_0d', function mom_transform_fms/rotated_mpp_chksum_real_0dfieldpelistmask_valturns [integer]) [fd] run(.. f:function:: integer function rotated_mpp_chksum_real_1d(field, pelist, mask_val, turns)) [fd] sig(integer function rotated_mpp_chksum_real_1d(field, pelist, mask_val, turns)) [fd] ftype(integer) objtype(function) modname(None) typename() name(rotated_mpp_chksum_real_1d) arglist(field, pelist, mask_val, turns) [fd] fullname(mom_transform_fms/rotated_mpp_chksum_real_1d) ftype(integer) [fd] name(('mom_transform_fms/rotated_mpp_chksum_real_1d', 'integer')) sig(integer function rotated_mpp_chksum_real_1d(field, pelist, mask_val, turns)) signode(function mom_transform_fms/rotated_mpp_chksum_real_1dfieldpelistmask_valturns [integer]) [fd] run(.. f:function:: integer function rotated_mpp_chksum_real_2d(field, pelist, mask_val, turns)) [fd] sig(integer function rotated_mpp_chksum_real_2d(field, pelist, mask_val, turns)) [fd] ftype(integer) objtype(function) modname(None) typename() name(rotated_mpp_chksum_real_2d) arglist(field, pelist, mask_val, turns) [fd] fullname(mom_transform_fms/rotated_mpp_chksum_real_2d) ftype(integer) [fd] name(('mom_transform_fms/rotated_mpp_chksum_real_2d', 'integer')) sig(integer function rotated_mpp_chksum_real_2d(field, pelist, mask_val, turns)) signode(function mom_transform_fms/rotated_mpp_chksum_real_2dfieldpelistmask_valturns [integer]) [fd] run(.. f:function:: integer function rotated_mpp_chksum_real_3d(field, pelist, mask_val, turns)) [fd] sig(integer function rotated_mpp_chksum_real_3d(field, pelist, mask_val, turns)) [fd] ftype(integer) objtype(function) modname(None) typename() name(rotated_mpp_chksum_real_3d) arglist(field, pelist, mask_val, turns) [fd] fullname(mom_transform_fms/rotated_mpp_chksum_real_3d) ftype(integer) [fd] name(('mom_transform_fms/rotated_mpp_chksum_real_3d', 'integer')) sig(integer function rotated_mpp_chksum_real_3d(field, pelist, mask_val, turns)) signode(function mom_transform_fms/rotated_mpp_chksum_real_3dfieldpelistmask_valturns [integer]) [fd] run(.. f:function:: integer function rotated_mpp_chksum_real_4d(field, pelist, mask_val, turns)) [fd] sig(integer function rotated_mpp_chksum_real_4d(field, pelist, mask_val, turns)) [fd] ftype(integer) objtype(function) modname(None) typename() name(rotated_mpp_chksum_real_4d) arglist(field, pelist, mask_val, turns) [fd] fullname(mom_transform_fms/rotated_mpp_chksum_real_4d) ftype(integer) [fd] name(('mom_transform_fms/rotated_mpp_chksum_real_4d', 'integer')) sig(integer function rotated_mpp_chksum_real_4d(field, pelist, mask_val, turns)) signode(function mom_transform_fms/rotated_mpp_chksum_real_4dfieldpelistmask_valturns [integer]) [fd] run(.. f:subroutine:: subroutine rotated_write_field_real_0d(io_unit, field_md, field, tstamp, turns)) [fd] sig(subroutine rotated_write_field_real_0d(io_unit, field_md, field, tstamp, turns)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotated_write_field_real_0d) arglist(io_unit, field_md, field, tstamp, turns) [fd] fullname(mom_transform_fms/rotated_write_field_real_0d) ftype(None) [fd] name(('mom_transform_fms/rotated_write_field_real_0d', None)) sig(subroutine rotated_write_field_real_0d(io_unit, field_md, field, tstamp, turns)) signode(subroutine mom_transform_fms/rotated_write_field_real_0dio_unitfield_mdfieldtstampturns) [fd] run(.. f:subroutine:: subroutine rotated_write_field_real_1d(io_unit, field_md, field, tstamp, turns)) [fd] sig(subroutine rotated_write_field_real_1d(io_unit, field_md, field, tstamp, turns)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotated_write_field_real_1d) arglist(io_unit, field_md, field, tstamp, turns) [fd] fullname(mom_transform_fms/rotated_write_field_real_1d) ftype(None) [fd] name(('mom_transform_fms/rotated_write_field_real_1d', None)) sig(subroutine rotated_write_field_real_1d(io_unit, field_md, field, tstamp, turns)) signode(subroutine mom_transform_fms/rotated_write_field_real_1dio_unitfield_mdfieldtstampturns) [fd] run(.. f:subroutine:: subroutine rotated_write_field_real_2d(io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns)) [fd] sig(subroutine rotated_write_field_real_2d(io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotated_write_field_real_2d) arglist(io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns) [fd] fullname(mom_transform_fms/rotated_write_field_real_2d) ftype(None) [fd] name(('mom_transform_fms/rotated_write_field_real_2d', None)) sig(subroutine rotated_write_field_real_2d(io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns)) signode(subroutine mom_transform_fms/rotated_write_field_real_2dio_unitfield_mddomainfieldtstamptile_countdefault_dataturns) [fd] run(.. f:subroutine:: subroutine rotated_write_field_real_3d(io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns)) [fd] sig(subroutine rotated_write_field_real_3d(io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotated_write_field_real_3d) arglist(io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns) [fd] fullname(mom_transform_fms/rotated_write_field_real_3d) ftype(None) [fd] name(('mom_transform_fms/rotated_write_field_real_3d', None)) sig(subroutine rotated_write_field_real_3d(io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns)) signode(subroutine mom_transform_fms/rotated_write_field_real_3dio_unitfield_mddomainfieldtstamptile_countdefault_dataturns) [fd] run(.. f:subroutine:: subroutine rotated_write_field_real_4d(io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns)) [fd] sig(subroutine rotated_write_field_real_4d(io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotated_write_field_real_4d) arglist(io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns) [fd] fullname(mom_transform_fms/rotated_write_field_real_4d) ftype(None) [fd] name(('mom_transform_fms/rotated_write_field_real_4d', None)) sig(subroutine rotated_write_field_real_4d(io_unit, field_md, domain, field, tstamp, tile_count, default_data, turns)) signode(subroutine mom_transform_fms/rotated_write_field_real_4dio_unitfield_mddomainfieldtstamptile_countdefault_dataturns) [fd] run(.. f:subroutine:: subroutine rotated_time_interp_external_0d(fms_id, time, data_in, verbose, turns)) [fd] sig(subroutine rotated_time_interp_external_0d(fms_id, time, data_in, verbose, turns)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotated_time_interp_external_0d) arglist(fms_id, time, data_in, verbose, turns) [fd] fullname(mom_transform_fms/rotated_time_interp_external_0d) ftype(None) [fd] name(('mom_transform_fms/rotated_time_interp_external_0d', None)) sig(subroutine rotated_time_interp_external_0d(fms_id, time, data_in, verbose, turns)) signode(subroutine mom_transform_fms/rotated_time_interp_external_0dfms_idtimedata_inverboseturns) [fd] run(.. f:subroutine:: subroutine rotated_time_interp_external_2d(fms_id, time, data_in, interp, verbose, horz_interp, mask_out, is_in, ie_in, js_in, je_in, window_id, turns)) [fd] sig(subroutine rotated_time_interp_external_2d(fms_id, time, data_in, interp, verbose, horz_interp, mask_out, is_in, ie_in, js_in, je_in, window_id, turns)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotated_time_interp_external_2d) arglist(fms_id, time, data_in, interp, verbose, horz_interp, mask_out, is_in, ie_in, js_in, je_in, window_id, turns) [fd] fullname(mom_transform_fms/rotated_time_interp_external_2d) ftype(None) [fd] name(('mom_transform_fms/rotated_time_interp_external_2d', None)) sig(subroutine rotated_time_interp_external_2d(fms_id, time, data_in, interp, verbose, horz_interp, mask_out, is_in, ie_in, js_in, je_in, window_id, turns)) signode(subroutine mom_transform_fms/rotated_time_interp_external_2dfms_idtimedata_ininterpverbosehorz_interpmask_outis_inie_injs_inje_inwindow_idturns) [fd] run(.. f:subroutine:: subroutine rotated_time_interp_external_3d(fms_id, time, data_in, interp, verbose, horz_interp, mask_out, is_in, ie_in, js_in, je_in, window_id, turns)) [fd] sig(subroutine rotated_time_interp_external_3d(fms_id, time, data_in, interp, verbose, horz_interp, mask_out, is_in, ie_in, js_in, je_in, window_id, turns)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotated_time_interp_external_3d) arglist(fms_id, time, data_in, interp, verbose, horz_interp, mask_out, is_in, ie_in, js_in, je_in, window_id, turns) [fd] fullname(mom_transform_fms/rotated_time_interp_external_3d) ftype(None) [fd] name(('mom_transform_fms/rotated_time_interp_external_3d', None)) sig(subroutine rotated_time_interp_external_3d(fms_id, time, data_in, interp, verbose, horz_interp, mask_out, is_in, ie_in, js_in, je_in, window_id, turns)) signode(subroutine mom_transform_fms/rotated_time_interp_external_3dfms_idtimedata_ininterpverbosehorz_interpmask_outis_inie_injs_inje_inwindow_idturns) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 60%] api/generated/modules/mom_unit_scaling [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_unit_sca [app] emitting event: 'source-read'('api/generated/modules/mom_unit_scaling', ['.. autodoxymodule:: mom_unit_scaling\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_unit_scaling.rst:1: input: .. autodoxymodule:: mom_unit_scaling :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_unit_scaling::unit_scale_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_unit_scaling::unit_scaling_init ~mom_unit_scaling::fix_restart_unit_scaling ~mom_unit_scaling::unit_scaling_end [debug] xpath(./compounddef/compoundname[text()="mom_unit_scaling"]/..) match([('id', 'namespacemom__unit__scaling'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_unit_scaling module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_unit_scaling', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_unit_scaling' (exception was: ModuleNotFoundError("No module named 'mom_unit_scaling'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_unit_scaling::unit_scale_type', , {'members [debug] members([('unit_scaling_init', ), ('fix_restart_unit_scaling', ), ('unit_scaling_end', )]) [autodoc] module analyzer failed: error importing 'mom_unit_scaling' (exception was: ModuleNotFoundError("No module named 'mom_unit_scaling'")) [debug] DoxygenMethodDocumenter format_signature called ((param_file, US)) [debug] add_directive_header sig((param_file, US)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine unit_scaling_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'unit_scaling_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_unit_scaling::unit_scale_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_unit_scaling::unit_scaling_init ~mom_unit_scaling::fix_restart_unit_scaling ~mom_unit_scaling::unit_scaling_end .. _DETAmom_unit_scaling: -------------------- Detailed Description -------------------- Provides a transparent unit rescaling type to facilitate dimensional consistency testing. ------------------ Type Documentation ------------------ .. f:type:: unit_scale_type Describes various unit conversion factors. :typefield real m_to_z: A constant that translates distances in meters to the units of depth. :typefield real z_to_m: A constant that translates distances in the units of depth to meters. :typefield real m_to_l: A constant that translates lengths in meters to the units of horizontal lengths. :typefield real l_to_m: A constant that translates lengths in the units of horizontal lengths to meters. :typefield real s_to_t: A constant that translates time intervals in seconds to the units of time. :typefield real t_to_s: A constant that translates the units of time to seconds. :typefield real r_to_kg_m3: A constant that translates the units of density to kilograms per meter cubed. :typefield real kg_m3_to_r: A constant that translates kilograms per meter cubed to the units of density. :typefield real q_to_j_kg: A constant that translates the units of enthalpy to Joules per kilogram. :typefield real j_kg_to_q: A constant that translates Joules per kilogram to the units of enthalpy. :typefield real z_to_l: Convert vertical distances to lateral lengths. :typefield real l_to_z: Convert lateral lengths to vertical distances. :typefield real l_t_to_m_s: Convert lateral velocities from L T-1 to m s-1. :typefield real m_s_to_l_t: Convert lateral velocities from m s-1 to L T-1. :typefield real l_t2_to_m_s2: Convert lateral accelerations from L T-2 to m s-2. :typefield real z2_t_to_m2_s: Convert vertical diffusivities from Z2 T-1 to m2 s-1. :typefield real m2_s_to_z2_t: Convert vertical diffusivities from m2 s-1 to Z2 T-1. :typefield real w_m2_to_qrz_t: Convert heat fluxes from W m-2 to Q R Z T-1. :typefield real qrz_t_to_w_m2: Convert heat fluxes from Q R Z T-1 to W m-2. :typefield real rz_to_kg_m2: Convert mass loads from R Z to kg m-2. :typefield real kg_m2s_to_rz_t: Convert mass fluxes from kg m-2 s-1 to R Z T-1. :typefield real rz_t_to_kg_m2s: Convert mass fluxes from R Z T-1 to kg m-2 s-1. :typefield real rz3_t3_to_w_m2: Convert turbulent kinetic energy fluxes from R Z3 T-3 to W m-2. :typefield real w_m2_to_rz3_t3: Convert turbulent kinetic energy fluxes from W m-2 to R Z3 T-3. :typefield real rl2_t2_to_pa: Convert pressures from R L2 T-2 to Pa. :typefield real m_to_z_restart: A copy of the m_to_Z that is used in restart files. :typefield real m_to_l_restart: A copy of the m_to_L that is used in restart files. :typefield real s_to_t_restart: A copy of the s_to_T that is used in restart files. :typefield real kg_m3_to_r_restart: A copy of the kg_m3_to_R that is used in restart files. :typefield real j_kg_to_q_restart: A copy of the J_kg_to_Q that is used in restart files. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine unit_scaling_init(param_file, US) Allocates and initializes the ocean model unit scaling type. :param param_file: [in] Parameter file handle/type :param us: A dimensional unit scaling type :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` :calledfrom: :f:func:`mom_ice_shelf::initialize_ice_shelf ` .. f:subroutine:: subroutine fix_restart_unit_scaling(US) Set the unit scaling factors for output to restart files to the unit scaling factors for this run. :param us: [inout] A dimensional unit scaling type :calledfrom: :f:func:`mom::finish_mom_initialization ` :calledfrom: :f:func:`mom_ice_shelf::initialize_ice_shelf ` .. f:subroutine:: subroutine unit_scaling_end(US) Deallocates a unit scaling structure. :param us: A dimensional unit scaling type :calledfrom: :f:func:`mom::mom_end ` [debug] xpath(./compounddef/compoundname[text()="mom_unit_scaling::unit_scale_type"]/..) match([('id', 'structmom__unit__scaling_1_1unit__scale__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_unit_scaling::unit_scale_type', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_unit_scaling::unit_scale_type', , {}, ['` [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_unit_scaling::unit_scale_type', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((param_file, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_unit_scaling::unit_scaling_init', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_unit_scaling::unit_scaling_init', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_unit_scaling::fix_restart_unit_scaling', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_unit_scaling::fix_restart_unit_scaling', , [debug] DoxygenMethodDocumenter format_signature called ((US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_unit_scaling::unit_scaling_end', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_unit_scaling::unit_scaling_end', , {}, ['', [fd] run(.. f:type:: unit_scale_type) [fd] sig(unit_scale_type) [fd] ftype(None) objtype(None) modname(None) typename() name(unit_scale_type) arglist(None) [fd] fullname(mom_unit_scaling/unit_scale_type) ftype(None) [fd] name(('mom_unit_scaling/unit_scale_type', None)) sig(unit_scale_type) signode(type mom_unit_scaling/unit_scale_type) [fd] run(.. f:subroutine:: subroutine unit_scaling_init(param_file, US)) [fd] sig(subroutine unit_scaling_init(param_file, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(unit_scaling_init) arglist(param_file, US) [fd] fullname(mom_unit_scaling/unit_scaling_init) ftype(None) [fd] name(('mom_unit_scaling/unit_scaling_init', None)) sig(subroutine unit_scaling_init(param_file, US)) signode(subroutine mom_unit_scaling/unit_scaling_initparam_fileUS) [fd] run(.. f:subroutine:: subroutine fix_restart_unit_scaling(US)) [fd] sig(subroutine fix_restart_unit_scaling(US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(fix_restart_unit_scaling) arglist(US) [fd] fullname(mom_unit_scaling/fix_restart_unit_scaling) ftype(None) [fd] name(('mom_unit_scaling/fix_restart_unit_scaling', None)) sig(subroutine fix_restart_unit_scaling(US)) signode(subroutine mom_unit_scaling/fix_restart_unit_scalingUS) [fd] run(.. f:subroutine:: subroutine unit_scaling_end(US)) [fd] sig(subroutine unit_scaling_end(US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(unit_scaling_end) arglist(US) [fd] fullname(mom_unit_scaling/unit_scaling_end) ftype(None) [fd] name(('mom_unit_scaling/unit_scaling_end', None)) sig(subroutine unit_scaling_end(US)) signode(subroutine mom_unit_scaling/unit_scaling_endUS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 61%] api/generated/modules/mom_unit_tests [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_unit_tes [app] emitting event: 'source-read'('api/generated/modules/mom_unit_tests', ['.. autodoxymodule:: mom_unit_tests\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_unit_tests.rst:1: input: .. autodoxymodule:: mom_unit_tests :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_unit_tests::unit_tests [debug] xpath(./compounddef/compoundname[text()="mom_unit_tests"]/..) match([('id', 'namespacemom__unit__tests'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_unit_tests module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_unit_tests', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_unit_tests' (exception was: ModuleNotFoundError("No module named 'mom_unit_tests'")) [debug] DoxygenMethodDocumenter format_signature called ((verbosity)) [debug] add_directive_header sig((verbosity)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine unit_tests) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'unit_tests', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_unit_tests::unit_tests .. _DETAmom_unit_tests: -------------------- Detailed Description -------------------- Invokes unit tests in all modules that have them. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine unit_tests(verbosity) Calls unit tests for other modules. Note that if a unit test returns true, a FATAL error is triggered. :param verbosity: [in] The verbosity level :callto: :f:func:`mom_diag_vkernels::diag_vkernels_unit_tests ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_lateral_boundary_diffusion::near_boundary_unit_tests ` :callto: :f:func:`mom_neutral_diffusion::neutral_diffusion_unit_tests ` :callto: :f:func:`mom_random::random_unit_tests ` :callto: :f:func:`mom_remapping::remapping_unit_tests ` :callto: :f:func:`mom_string_functions::string_functions_unit_tests ` :calledfrom: :f:func:`mom::initialize_mom ` [debug] DoxygenMethodDocumenter format_signature called ((verbosity)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_unit_tests::unit_tests', , {}, ['', 'Calls [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_unit_tests::unit_tests', , {}, ['', 'Calls [fd] run(.. f:subroutine:: subroutine unit_tests(verbosity)) [fd] sig(subroutine unit_tests(verbosity)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(unit_tests) arglist(verbosity) [fd] fullname(mom_unit_tests/unit_tests) ftype(None) [fd] name(('mom_unit_tests/unit_tests', None)) sig(subroutine unit_tests(verbosity)) signode(subroutine mom_unit_tests/unit_testsverbosity) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 61%] api/generated/modules/mom_variables [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_variable [app] emitting event: 'source-read'('api/generated/modules/mom_variables', ['.. autodoxymodule:: mom_variables\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_variables.rst:1: input: .. autodoxymodule:: mom_variables :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_variables::accel_diag_ptrs ~mom_variables::bt_cont_type ~mom_variables::cont_diag_ptrs ~mom_variables::ocean_internal_state ~mom_variables::p2d ~mom_variables::p3d ~mom_variables::surface ~mom_variables::thermo_var_ptrs ~mom_variables::vertvisc_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_variables::allocate_surface_state ~mom_variables::deallocate_surface_state ~mom_variables::rotate_surface_state ~mom_variables::alloc_bt_cont_type ~mom_variables::dealloc_bt_cont_type ~mom_variables::mom_thermovar_chksum [debug] xpath(./compounddef/compoundname[text()="mom_variables"]/..) match([('id', 'namespacemom__variables'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_variables module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables', , {'members': , {'members': , {'members': ), ('mom_variables::bt_cont_type', ), ('mom_variables::cont_diag_ptrs', ), ('mom_variables::ocean_internal_state', ), ('mom_variables::p2d', ), ('mom_variables::p3d', ), ('mom_variables::surface', ), ('mom_variables::thermo_var_ptrs', ), ('mom_variables::vertvisc_type', )]) [autodoc] module analyzer failed: error importing 'mom_variables' (exception was: ModuleNotFoundError("No module named 'mom_variables'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::accel_diag_ptrs', , {'members': [autodoc] module analyzer failed: error importing 'mom_variables' (exception was: ModuleNotFoundError("No module named 'mom_variables'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_variables::bt_cont_type', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::cont_diag_ptrs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::cont_diag_ptrs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::cont_diag_ptrs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::cont_diag_ptrs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::cont_diag_ptrs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::cont_diag_ptrs', , {'members': < [autodoc] module analyzer failed: error importing 'mom_variables' (exception was: ModuleNotFoundError("No module named 'mom_variables'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM__variables_8F90) kindref(compound) ref([]) [debug] ref([('id', 'MOM__variables_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [debug] method=visit_ref [debug] refid(MOM_8F90) kindref(compound) ref([]) [debug] ref([('id', 'MOM_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::ocean_internal_state', , {'membe [autodoc] module analyzer failed: error importing 'mom_variables' (exception was: ModuleNotFoundError("No module named 'mom_variables'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_variables::p2d', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::thermo_var_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::thermo_var_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::thermo_var_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::thermo_var_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::thermo_var_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::thermo_var_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::thermo_var_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::thermo_var_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::thermo_var_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::thermo_var_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::thermo_var_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::thermo_var_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::thermo_var_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::thermo_var_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::thermo_var_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::thermo_var_ptrs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_variables::thermo_var_ptrs', , {'members': [autodoc] module analyzer failed: error importing 'mom_variables' (exception was: ModuleNotFoundError("No module named 'mom_variables'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_variables::vertvisc_type', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('deallocate_surface_state', ), ('rotate_surface_state', ), ('alloc_bt_cont_type', ), ('dealloc_bt_cont_type', ), ('mom_thermovar_chksum', )]) [autodoc] module analyzer failed: error importing 'mom_variables' (exception was: ModuleNotFoundError("No module named 'mom_variables'")) [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, G, use_temperature, do_integrals, gas_fields_ocn, use_meltpot, use_iceshelves, omit_frazil)) [debug] add_directive_header sig((sfc_state, G, use_temperature, do_integrals, gas_fields_ocn, use_meltpot, use_iceshelves, omit_frazil)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine allocate_surface_state) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'allocate_surface_state', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('id', 'structmom__variables_1_1thermo__var__ptrs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_thermovar_chksum', , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_variables::accel_diag_ptrs ~mom_variables::bt_cont_type ~mom_variables::cont_diag_ptrs ~mom_variables::ocean_internal_state ~mom_variables::p2d ~mom_variables::p3d ~mom_variables::surface ~mom_variables::thermo_var_ptrs ~mom_variables::vertvisc_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_variables::allocate_surface_state ~mom_variables::deallocate_surface_state ~mom_variables::rotate_surface_state ~mom_variables::alloc_bt_cont_type ~mom_variables::dealloc_bt_cont_type ~mom_variables::mom_thermovar_chksum .. _DETAmom_variables: -------------------- Detailed Description -------------------- Provides transparent structures with groups of MOM6 variables and supporting routines. ------------------ Type Documentation ------------------ .. f:type:: accel_diag_ptrs Pointers to arrays with accelerations, which can later be used for derived diagnostics, like energy balances. :typefield real(\:,\:,\:) diffu [pointer]: Zonal acceleration due to along isopycnal viscosity [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) diffv [pointer]: Meridional acceleration due to along isopycnal viscosity [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) cau [pointer]: Zonal Coriolis and momentum advection accelerations [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) cav [pointer]: Meridional Coriolis and momentum advection accelerations [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) pfu [pointer]: Zonal acceleration due to pressure forces [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) pfv [pointer]: Meridional acceleration due to pressure forces [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) du_dt_visc [pointer]: Zonal acceleration due to vertical viscosity [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) dv_dt_visc [pointer]: Meridional acceleration due to vertical viscosity [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) du_dt_dia [pointer]: Zonal acceleration due to diapycnal mixing [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) dv_dt_dia [pointer]: Meridional acceleration due to diapycnal mixing [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) du_other [pointer]: Zonal velocity changes due to any other processes that are not due to any explicit accelerations [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) dv_other [pointer]: Meridional velocity changes due to any other processes that are not due to any explicit accelerations [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) gradkeu [pointer]: gradKEu = - d/dx(u2) [L T-2 ~> m s-2] :typefield real(\:,\:,\:) gradkev [pointer]: gradKEv = - d/dy(u2) [L T-2 ~> m s-2] :typefield real(\:,\:,\:) rv_x_v [pointer]: rv_x_v = rv * v at u [L T-2 ~> m s-2] :typefield real(\:,\:,\:) rv_x_u [pointer]: rv_x_u = rv * u at v [L T-2 ~> m s-2] :typefield real(\:,\:,\:) diag_hfrac_u [pointer]: Fractional layer thickness at u points. :typefield real(\:,\:,\:) diag_hfrac_v [pointer]: Fractional layer thickness at v points. .. f:type:: bt_cont_type Container for information about the summed layer transports and how they will vary as the barotropic velocity is changed. :typefield real(\:,\:) fa_u_ee [allocatable]: The effective open face area for zonal barotropic transport drawing from locations far to the east [H L ~> m2 or kg m-1]. :typefield real(\:,\:) fa_u_e0 [allocatable]: The effective open face area for zonal barotropic transport drawing from nearby to the east [H L ~> m2 or kg m-1]. :typefield real(\:,\:) fa_u_w0 [allocatable]: The effective open face area for zonal barotropic transport drawing from nearby to the west [H L ~> m2 or kg m-1]. :typefield real(\:,\:) fa_u_ww [allocatable]: The effective open face area for zonal barotropic transport drawing from locations far to the west [H L ~> m2 or kg m-1]. :typefield real(\:,\:) ubt_ww [allocatable]: uBT_WW is the barotropic velocity [L T-1 ~> m s-1], beyond which the marginal open face area is FA_u_WW. uBT_WW must be non-negative. :typefield real(\:,\:) ubt_ee [allocatable]: uBT_EE is a barotropic velocity [L T-1 ~> m s-1], beyond which the marginal open face area is FA_u_EE. uBT_EE must be non-positive. :typefield real(\:,\:) fa_v_nn [allocatable]: The effective open face area for meridional barotropic transport drawing from locations far to the north [H L ~> m2 or kg m-1]. :typefield real(\:,\:) fa_v_n0 [allocatable]: The effective open face area for meridional barotropic transport drawing from nearby to the north [H L ~> m2 or kg m-1]. :typefield real(\:,\:) fa_v_s0 [allocatable]: The effective open face area for meridional barotropic transport drawing from nearby to the south [H L ~> m2 or kg m-1]. :typefield real(\:,\:) fa_v_ss [allocatable]: The effective open face area for meridional barotropic transport drawing from locations far to the south [H L ~> m2 or kg m-1]. :typefield real(\:,\:) vbt_ss [allocatable]: vBT_SS is the barotropic velocity, [L T-1 ~> m s-1], beyond which the marginal open face area is FA_v_SS. vBT_SS must be non-negative. :typefield real(\:,\:) vbt_nn [allocatable]: vBT_NN is the barotropic velocity, [L T-1 ~> m s-1], beyond which the marginal open face area is FA_v_NN. vBT_NN must be non-positive. :typefield real(\:,\:,\:) h_u [allocatable]: An effective thickness at zonal faces [H ~> m or kg m-2]. :typefield real(\:,\:,\:) h_v [allocatable]: An effective thickness at meridional faces [H ~> m or kg m-2]. :typefield type(group_pass_type) pass_polarity_bt: Structure for polarity group halo updates. :typefield type(group_pass_type) pass_fa_uv: Structure for face area group halo updates. .. f:type:: cont_diag_ptrs Pointers to arrays with transports, which can later be used for derived diagnostics, like energy balances. :typefield real(\:,\:,\:) uh [pointer]: Resolved zonal layer thickness fluxes, [H L2 T-1 ~> m3 s-1 or kg s-1]. :typefield real(\:,\:,\:) vh [pointer]: Resolved meridional layer thickness fluxes, [H L2 T-1 ~> m3 s-1 or kg s-1]. :typefield real(\:,\:,\:) uhgm [pointer]: Isopycnal height diffusion induced zonal volume fluxes [H L2 T-1 ~> m3 s-1 or kg s-1]. :typefield real(\:,\:,\:) vhgm [pointer]: Isopycnal height diffusion induced meridional volume fluxes [H L2 T-1 ~> m3 s-1 or kg s-1]. :typefield real(\:,\:,\:) diapyc_vel [pointer]: The net diapycnal velocity [H s-1 ~> m s-1 or kg m-2 s-1]. .. f:type:: ocean_internal_state Pointers to all of the prognostic variables allocated in ``MOM_variables.F90`` and ``MOM.F90``. :typefield real(\:,\:,\:) t [pointer]: Pointer to the temperature state variable [degC]. :typefield real(\:,\:,\:) s [pointer]: Pointer to the salinity state variable [ppt ~> PSU or g/kg]. :typefield real(\:,\:,\:) u [pointer]: Pointer to the zonal velocity [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) v [pointer]: Pointer to the meridional velocity [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) h [pointer]: Pointer to the layer thicknesses [H ~> m or kg m-2]. :typefield real(\:,\:,\:) uh [pointer]: Pointer to zonal transports [H L2 T-1 ~> m3 s-1 or kg s-1]. :typefield real(\:,\:,\:) vh [pointer]: Pointer to meridional transports [H L2 T-1 ~> m3 s-1 or kg s-1]. :typefield real(\:,\:,\:) cau [pointer]: Pointer to the zonal Coriolis and Advective acceleration [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) cav [pointer]: Pointer to the meridional Coriolis and Advective acceleration [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) pfu [pointer]: Pointer to the zonal Pressure force acceleration [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) pfv [pointer]: Pointer to the meridional Pressure force acceleration [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) diffu [pointer]: Pointer to the zonal acceleration due to lateral viscosity [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) diffv [pointer]: Pointer to the meridional acceleration due to lateral viscosity [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) pbce [pointer]: Pointer to the baroclinic pressure force dependency on free surface movement. :typefield real(\:,\:,\:) u_accel_bt [pointer]: Pointer to the zonal barotropic-solver acceleration [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) v_accel_bt [pointer]: Pointer to the meridional barotropic-solver acceleration [L T-2 ~> m s-2]. :typefield real(\:,\:,\:) u_av [pointer]: Pointer to zonal velocity averaged over the timestep [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) v_av [pointer]: Pointer to meridional velocity averaged over the timestep [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) u_prev [pointer]: Pointer to zonal velocity at the end of the last timestep [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) v_prev [pointer]: Pointer to meridional velocity at the end of the last timestep [L T-1 ~> m s-1]. .. f:type:: p2d A structure for creating arrays of pointers to 2D arrays. :typefield real(\:,\:) p [pointer]: A pointer to a 2D array. .. f:type:: p3d A structure for creating arrays of pointers to 3D arrays. :typefield real(\:,\:,\:) p [pointer]: A pointer to a 3D array. .. f:type:: surface Pointers to various fields which may be used describe the surface state of MOM, and which will be returned to a the calling program. :typefield real(\:,\:) sst [allocatable]: The sea surface temperature [degC]. :typefield real(\:,\:) sss [allocatable]: The sea surface salinity [ppt ~> psu or gSalt/kg]. :typefield real(\:,\:) sfc_density [allocatable]: The mixed layer density [R ~> kg m-3]. :typefield real(\:,\:) hml [allocatable]: The mixed layer depth [Z ~> m]. :typefield real(\:,\:) u [allocatable]: The mixed layer zonal velocity [L T-1 ~> m s-1]. :typefield real(\:,\:) v [allocatable]: The mixed layer meridional velocity [L T-1 ~> m s-1]. :typefield real(\:,\:) sea_lev [allocatable]: The sea level [Z ~> m]. If a reduced surface gravity is. :typefield real(\:,\:) frazil [allocatable]: The energy needed to heat the ocean column to the freezing point during. :typefield real(\:,\:) melt_potential [allocatable]: Instantaneous amount of heat that can be used to melt sea ice [Q R Z ~> J m-2]. :typefield real(\:,\:) ocean_mass [allocatable]: The total mass of the ocean [R Z ~> kg m-2]. :typefield real(\:,\:) ocean_heat [allocatable]: The total heat content of the ocean in [degC R Z ~> degC kg m-2]. :typefield real(\:,\:) ocean_salt [allocatable]: The total salt content of the ocean in [kgSalt kg-1 R Z ~> kgSalt m-2]. :typefield real(\:,\:) taux_shelf [allocatable]: The zonal stresses on the ocean under shelves [R L Z T-2 ~> Pa]. :typefield real(\:,\:) tauy_shelf [allocatable]: The meridional stresses on the ocean under shelves [R L Z T-2 ~> Pa]. :typefield real(\:,\:) tempxpme [allocatable]: The net inflow of water into the ocean times the temperature at which this. :typefield real(\:,\:) salt_deficit [allocatable]: The salt needed to maintain the ocean column above a minimum. :typefield real(\:,\:) internal_heat [allocatable]: Any internal or geothermal heat sources that are applied to the ocean. :typefield logical t_is_cont: If true, the temperature variable SST is actually the conservative temperature in [degC]. :typefield logical s_is_abss: If true, the salinity variable SSS is actually the absolute salinity in [g/kg]. :typefield type(coupler_2d_bc_type) tr_fields: A structure that may contain an array of named fields describing tracer-related quantities. :typefield logical arrays_allocated: A flag that indicates whether the surface type has had its memory allocated. .. f:type:: thermo_var_ptrs Pointers to an assortment of thermodynamic fields that may be available, including potential temperature, salinity, heat capacity, and the equation of state control structure. :typefield real(\:,\:,\:) t [pointer]: Potential temperature [degC]. :typefield real(\:,\:,\:) s [pointer]: Salinity [PSU] or [gSalt/kg], generically [ppt]. :typefield real(\:,\:) p_surf [pointer]: Ocean surface pressure used in equation of state calculations [R L2 T-2 ~> Pa]. :typefield type(eos_type) eqn_of_state [pointer]: Type that indicates the equation of state to use. :typefield real p_ref: The coordinate-density reference pressure [R L2 T-2 ~> Pa]. This is the pressure used to calculate Rml from T and S when eqn_of_state is associated. :typefield real c_p: The heat capacity of seawater [Q degC-1 ~> J degC-1 kg-1]. When conservative temperature is used, this is constant and exactly 3991.86795711963 J degC-1 kg-1. :typefield logical t_is_cont: If true, the temperature variable tvT is actually the conservative temperature [degC]. :typefield logical s_is_abss: If true, the salinity variable tvS is actually the absolute salinity in units of [gSalt/kg]. :typefield real min_salinity: The minimum value of salinity when BOUND_SALINITY=True [ppt]. The default is 0.01 for backward compatibility but should be 0. :typefield real(\:,\:) frazil [pointer]: The energy needed to heat the ocean column to the freezing point since calculate_surface_state was2 last called [Q Z R ~> J m-2]. :typefield real(\:,\:) salt_deficit [pointer]: The salt needed to maintain the ocean column at a minimum salinity of MIN_SALINITY since the last time that calculate_surface_state was called, [ppt R Z ~> gSalt m-2]. :typefield real(\:,\:) tempxpme [pointer]: The net inflow of water into the ocean times the temperature at which this inflow occurs since the last call to calculate_surface_state [degC R Z ~> degC kg m-2]. This should be prescribed in the forcing fields, but as it often is not, this is a useful heat budget diagnostic. :typefield real(\:,\:) internal_heat [pointer]: Any internal or geothermal heat sources that have been applied to the ocean since the last call to calculate_surface_state [degC R Z ~> degC kg m-2]. :typefield real(\:,\:,\:) vart [pointer]: SGS variance of potential temperature [degC2]. :typefield real(\:,\:,\:) vars [pointer]: SGS variance of salinity [ppt2]. :typefield real(\:,\:,\:) covarts [pointer]: SGS covariance of salinity and potential temperature [degC ppt]. .. f:type:: vertvisc_type Vertical viscosities, drag coefficients, and related fields. :typefield real prandtl_turb: The Prandtl number for the turbulent diffusion that is captured in Kd_shear [nondim]. :typefield real(\:,\:) bbl_thick_u [pointer]: The bottom boundary layer thickness at the u-points [Z ~> m]. :typefield real(\:,\:) bbl_thick_v [pointer]: The bottom boundary layer thickness at the v-points [Z ~> m]. :typefield real(\:,\:) kv_bbl_u [pointer]: The bottom boundary layer viscosity at the u-points [Z2 T-1 ~> m2 s-1]. :typefield real(\:,\:) kv_bbl_v [pointer]: The bottom boundary layer viscosity at the v-points [Z2 T-1 ~> m2 s-1]. :typefield real(\:,\:) ustar_bbl [pointer]: The turbulence velocity in the bottom boundary layer at h points [Z T-1 ~> m s-1]. :typefield real(\:,\:) tke_bbl [pointer]: A term related to the bottom boundary layer source of turbulent kinetic energy, currently in [Z3 T-3 ~> m3 s-3], but may at some time be changed to [R Z3 T-3 ~> W m-2]. :typefield real(\:,\:) taux_shelf [pointer]: The zonal stresses on the ocean under shelves [R Z L T-2 ~> Pa]. :typefield real(\:,\:) tauy_shelf [pointer]: The meridional stresses on the ocean under shelves [R Z L T-2 ~> Pa]. :typefield real(\:,\:) tbl_thick_shelf_u [pointer]: Thickness of the viscous top boundary layer under ice shelves at u-points [Z ~> m]. :typefield real(\:,\:) tbl_thick_shelf_v [pointer]: Thickness of the viscous top boundary layer under ice shelves at v-points [Z ~> m]. :typefield real(\:,\:) kv_tbl_shelf_u [pointer]: Viscosity in the viscous top boundary layer under ice shelves at u-points [Z2 T-1 ~> m2 s-1]. :typefield real(\:,\:) kv_tbl_shelf_v [pointer]: Viscosity in the viscous top boundary layer under ice shelves at v-points [Z2 T-1 ~> m2 s-1]. :typefield real(\:,\:) nkml_visc_u [pointer]: The number of layers in the viscous surface mixed layer at u-points [nondim]. This is not an integer because there may be fractional layers, and it is stored in terms of layers, not depth, to facilitate the movement of the viscous boundary layer with the flow. :typefield real(\:,\:) nkml_visc_v [pointer]: The number of layers in the viscous surface mixed layer at v-points [nondim]. :typefield real(\:,\:) mld [pointer]: Instantaneous active mixing layer depth [Z ~> m]. :typefield real(\:,\:,\:) ray_u [pointer]: The Rayleigh drag velocity to be applied to each layer at u-points [Z T-1 ~> m s-1]. :typefield real(\:,\:,\:) ray_v [pointer]: The Rayleigh drag velocity to be applied to each layer at v-points [Z T-1 ~> m s-1]. :typefield real(\:,\:,\:) kd_shear [pointer]: The shear-driven turbulent diapycnal diffusivity at the interfaces between layers in tracer columns [Z2 T-1 ~> m2 s-1]. :typefield real(\:,\:,\:) kv_shear [pointer]: The shear-driven turbulent vertical viscosity at the interfaces between layers in tracer columns [Z2 T-1 ~> m2 s-1]. :typefield real(\:,\:,\:) kv_shear_bu [pointer]: The shear-driven turbulent vertical viscosity at the interfaces between layers in corner columns [Z2 T-1 ~> m2 s-1]. :typefield real(\:,\:,\:) kv_slow [pointer]: The turbulent vertical viscosity component due to "slow" processes (e.g., tidal, background, convection etc) [Z2 T-1 ~> m2 s-1]. :typefield real(\:,\:,\:) tke_turb [pointer]: The turbulent kinetic energy per unit mass at the interfaces [Z2 T-2 ~> m2 s-2]. This may be at the tracer or corner points. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine allocate_surface_state(sfc_state, G, use_temperature, do_integrals, gas_fields_ocn, use_meltpot, use_iceshelves, omit_frazil) Allocates the fields for the surface (return) properties of the ocean model. Unused fields are unallocated. :param g: [in] ocean grid structure :param sfc_state: [inout] ocean surface state type to be allocated. :param use_temperature: [in] If true, allocate the space for thermodynamic variables. :param do_integrals: [in] If true, allocate the space for vertically integrated fields. :param gas_fields_ocn: [in] If present, this type describes the ocean :param use_meltpot: [in] If true, allocate the space for melt potential :param use_iceshelves: [in] If true, allocate the space for the stresses under ice shelves. :param omit_frazil: [in] If present and false, do not allocate the space to pass frazil fluxes to the coupler :calledfrom: :f:func:`rotate_surface_state ` .. f:subroutine:: subroutine deallocate_surface_state(sfc_state) Deallocates the elements of a surface state type. :param sfc_state: [inout] ocean surface state type to be deallocated here. .. f:subroutine:: subroutine rotate_surface_state(sfc_state_in, G_in, sfc_state, G, turns) Rotate the surface state fields from the input to the model indices. :callto: :f:func:`allocate_surface_state ` :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom::extract_surface_state ` :calledfrom: :f:func:`mom::step_mom ` .. f:subroutine:: subroutine alloc_bt_cont_type(BT_cont, G, alloc_faces) Allocates the arrays contained within a BT_cont_type and initializes them to 0. :param bt_cont: The BT_cont_type whose elements will be allocated :param g: [in] The ocean's grid structure :param alloc_faces: [in] If present and true, allocate memory for effective face thicknesses. :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine dealloc_bt_cont_type(BT_cont) Deallocates the arrays contained within a BT_cont_type. :param bt_cont: The BT_cont_type whose elements will be deallocated. .. f:subroutine:: subroutine mom_thermovar_chksum(mesg, tv, G) Diagnostic checksums on various elements of a :f:func:`thermo_var_ptrs` type for debugging. type for debugging. :param mesg: [in] A message that appears in the checksum lines :param tv: [in] A structure pointing to various thermodynamic variables :param g: [in] The ocean's grid structure :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_ale_legacy ` :calledfrom: :f:func:`mom_diabatic_driver::layered_diabatic ` [debug] xpath(./compounddef/compoundname[text()="mom_variables::accel_diag_ptrs"]/..) match([('id', 'structmom__variables_1_1accel__diag__ptrs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::accel_diag_ptrs', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::accel_diag_ptrs', , {}, ['`Mor [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::accel_diag_ptrs', , {}, ['', ' [debug] xpath(./compounddef/compoundname[text()="mom_variables::bt_cont_type"]/..) match([('id', 'structmom__variables_1_1bt__cont__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::bt_cont_type', , {}, ['', 'Con [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::bt_cont_type', , {}, ['`More.. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::bt_cont_type', , {}, ['', 'Con [debug] xpath(./compounddef/compoundname[text()="mom_variables::cont_diag_ptrs"]/..) match([('id', 'structmom__variables_1_1cont__diag__ptrs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::cont_diag_ptrs', , {}, ['', 'P [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::cont_diag_ptrs', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::cont_diag_ptrs', , {}, ['', 'P [debug] xpath(./compounddef/compoundname[text()="mom_variables::ocean_internal_state"]/..) match([('id', 'structmom__variables_1_1ocean__internal__state'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(MOM__variables_8F90) kindref(compound) ref([]) [debug] ref([('id', 'MOM__variables_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [debug] method=visit_ref [debug] refid(MOM_8F90) kindref(compound) ref([]) [debug] ref([('id', 'MOM_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::ocean_internal_state', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::ocean_internal_state', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::ocean_internal_state', , {}, [ [debug] xpath(./compounddef/compoundname[text()="mom_variables::p2d"]/..) match([('id', 'structmom__variables_1_1p2d'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::p2d', , {}, ['', 'A structure [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::p2d', , {}, ['`More... , {}, ['', 'A structure [debug] xpath(./compounddef/compoundname[text()="mom_variables::p3d"]/..) match([('id', 'structmom__variables_1_1p3d'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::p3d', , {}, ['', 'A structure [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::p3d', , {}, ['`More... , {}, ['', 'A structure [debug] xpath(./compounddef/compoundname[text()="mom_variables::surface"]/..) match([('id', 'structmom__variables_1_1surface'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::surface', , {}, ['', 'Pointers [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::surface', , {}, ['`More... , {}, ['', 'Pointers [debug] xpath(./compounddef/compoundname[text()="mom_variables::thermo_var_ptrs"]/..) match([('id', 'structmom__variables_1_1thermo__var__ptrs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::thermo_var_ptrs', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::thermo_var_ptrs', , {}, ['`Mor [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::thermo_var_ptrs', , {}, ['', ' [debug] xpath(./compounddef/compoundname[text()="mom_variables::vertvisc_type"]/..) match([('id', 'structmom__variables_1_1vertvisc__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::vertvisc_type', , {}, ['', 'Ve [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::vertvisc_type', , {}, ['`More. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables::vertvisc_type', , {}, ['', 'Ve [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, G, use_temperature, do_integrals, gas_fields_ocn, use_meltpot, use_iceshelves, omit_frazil)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_variables::allocate_surface_state', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_variables::allocate_surface_state', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((sfc_state)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_variables::deallocate_surface_state', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_variables::deallocate_surface_state', , {}, [debug] DoxygenMethodDocumenter format_signature called ((sfc_state_in, G_in, sfc_state, G, turns)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_variables::rotate_surface_state', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_variables::rotate_surface_state', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((BT_cont, G, alloc_faces)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_variables::alloc_bt_cont_type', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_variables::alloc_bt_cont_type', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((BT_cont)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_variables::dealloc_bt_cont_type', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_variables::dealloc_bt_cont_type', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((mesg, tv, G)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__variables_1_1thermo__var__ptrs) kindref(compound) ref([]) [debug] ref([('id', 'structmom__variables_1_1thermo__var__ptrs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_variables::mom_thermovar_chksum', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_variables::mom_thermovar_chksum', , {}, ['' [fd] run(.. f:type:: accel_diag_ptrs) [fd] sig(accel_diag_ptrs) [fd] ftype(None) objtype(None) modname(None) typename() name(accel_diag_ptrs) arglist(None) [fd] fullname(mom_variables/accel_diag_ptrs) ftype(None) [fd] name(('mom_variables/accel_diag_ptrs', None)) sig(accel_diag_ptrs) signode(type mom_variables/accel_diag_ptrs) [fd] run(.. f:type:: bt_cont_type) [fd] sig(bt_cont_type) [fd] ftype(None) objtype(None) modname(None) typename() name(bt_cont_type) arglist(None) [fd] fullname(mom_variables/bt_cont_type) ftype(None) [fd] name(('mom_variables/bt_cont_type', None)) sig(bt_cont_type) signode(type mom_variables/bt_cont_type) [fd] run(.. f:type:: cont_diag_ptrs) [fd] sig(cont_diag_ptrs) [fd] ftype(None) objtype(None) modname(None) typename() name(cont_diag_ptrs) arglist(None) [fd] fullname(mom_variables/cont_diag_ptrs) ftype(None) [fd] name(('mom_variables/cont_diag_ptrs', None)) sig(cont_diag_ptrs) signode(type mom_variables/cont_diag_ptrs) [fd] run(.. f:type:: ocean_internal_state) [fd] sig(ocean_internal_state) [fd] ftype(None) objtype(None) modname(None) typename() name(ocean_internal_state) arglist(None) [fd] fullname(mom_variables/ocean_internal_state) ftype(None) [fd] name(('mom_variables/ocean_internal_state', None)) sig(ocean_internal_state) signode(type mom_variables/ocean_internal_state) [fd] run(.. f:type:: p2d) [fd] sig(p2d) [fd] ftype(None) objtype(None) modname(None) typename() name(p2d) arglist(None) [fd] fullname(mom_variables/p2d) ftype(None) [fd] name(('mom_variables/p2d', None)) sig(p2d) signode(type mom_variables/p2d) [fd] run(.. f:type:: p3d) [fd] sig(p3d) [fd] ftype(None) objtype(None) modname(None) typename() name(p3d) arglist(None) [fd] fullname(mom_variables/p3d) ftype(None) [fd] name(('mom_variables/p3d', None)) sig(p3d) signode(type mom_variables/p3d) [fd] run(.. f:type:: surface) [fd] sig(surface) [fd] ftype(None) objtype(None) modname(None) typename() name(surface) arglist(None) [fd] fullname(mom_variables/surface) ftype(None) [fd] name(('mom_variables/surface', None)) sig(surface) signode(type mom_variables/surface) [fd] run(.. f:type:: thermo_var_ptrs) [fd] sig(thermo_var_ptrs) [fd] ftype(None) objtype(None) modname(None) typename() name(thermo_var_ptrs) arglist(None) [fd] fullname(mom_variables/thermo_var_ptrs) ftype(None) [fd] name(('mom_variables/thermo_var_ptrs', None)) sig(thermo_var_ptrs) signode(type mom_variables/thermo_var_ptrs) [fd] run(.. f:type:: vertvisc_type) [fd] sig(vertvisc_type) [fd] ftype(None) objtype(None) modname(None) typename() name(vertvisc_type) arglist(None) [fd] fullname(mom_variables/vertvisc_type) ftype(None) [fd] name(('mom_variables/vertvisc_type', None)) sig(vertvisc_type) signode(type mom_variables/vertvisc_type) [fd] run(.. f:subroutine:: subroutine allocate_surface_state(sfc_state, G, use_temperature, do_integrals, gas_fields_ocn, use_meltpot, use_iceshelves, omit_frazil)) [fd] sig(subroutine allocate_surface_state(sfc_state, G, use_temperature, do_integrals, gas_fields_ocn, use_meltpot, use_iceshelves, omit_frazil)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(allocate_surface_state) arglist(sfc_state, G, use_temperature, do_integrals, gas_fields_ocn, use_meltpot, use_iceshelves, omit_frazil) [fd] fullname(mom_variables/allocate_surface_state) ftype(None) [fd] name(('mom_variables/allocate_surface_state', None)) sig(subroutine allocate_surface_state(sfc_state, G, use_temperature, do_integrals, gas_fields_ocn, use_meltpot, use_iceshelves, omit_frazil)) signode(subroutine mom_variables/allocate_surface_statesfc_stateGuse_temperaturedo_integralsgas_fields_ocnuse_meltpotuse_iceshelvesomit_frazil) [fd] run(.. f:subroutine:: subroutine deallocate_surface_state(sfc_state)) [fd] sig(subroutine deallocate_surface_state(sfc_state)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(deallocate_surface_state) arglist(sfc_state) [fd] fullname(mom_variables/deallocate_surface_state) ftype(None) [fd] name(('mom_variables/deallocate_surface_state', None)) sig(subroutine deallocate_surface_state(sfc_state)) signode(subroutine mom_variables/deallocate_surface_statesfc_state) [fd] run(.. f:subroutine:: subroutine rotate_surface_state(sfc_state_in, G_in, sfc_state, G, turns)) [fd] sig(subroutine rotate_surface_state(sfc_state_in, G_in, sfc_state, G, turns)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rotate_surface_state) arglist(sfc_state_in, G_in, sfc_state, G, turns) [fd] fullname(mom_variables/rotate_surface_state) ftype(None) [fd] name(('mom_variables/rotate_surface_state', None)) sig(subroutine rotate_surface_state(sfc_state_in, G_in, sfc_state, G, turns)) signode(subroutine mom_variables/rotate_surface_statesfc_state_inG_insfc_stateGturns) [fd] run(.. f:subroutine:: subroutine alloc_bt_cont_type(BT_cont, G, alloc_faces)) [fd] sig(subroutine alloc_bt_cont_type(BT_cont, G, alloc_faces)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(alloc_bt_cont_type) arglist(BT_cont, G, alloc_faces) [fd] fullname(mom_variables/alloc_bt_cont_type) ftype(None) [fd] name(('mom_variables/alloc_bt_cont_type', None)) sig(subroutine alloc_bt_cont_type(BT_cont, G, alloc_faces)) signode(subroutine mom_variables/alloc_bt_cont_typeBT_contGalloc_faces) [fd] run(.. f:subroutine:: subroutine dealloc_bt_cont_type(BT_cont)) [fd] sig(subroutine dealloc_bt_cont_type(BT_cont)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dealloc_bt_cont_type) arglist(BT_cont) [fd] fullname(mom_variables/dealloc_bt_cont_type) ftype(None) [fd] name(('mom_variables/dealloc_bt_cont_type', None)) sig(subroutine dealloc_bt_cont_type(BT_cont)) signode(subroutine mom_variables/dealloc_bt_cont_typeBT_cont) [fd] run(.. f:subroutine:: subroutine mom_thermovar_chksum(mesg, tv, G)) [fd] sig(subroutine mom_thermovar_chksum(mesg, tv, G)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_thermovar_chksum) arglist(mesg, tv, G) [fd] fullname(mom_variables/mom_thermovar_chksum) ftype(None) [fd] name(('mom_variables/mom_thermovar_chksum', None)) sig(subroutine mom_thermovar_chksum(mesg, tv, G)) signode(subroutine mom_variables/mom_thermovar_chksummesgtvG) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 61%] api/generated/modules/mom_vert_friction [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_vert_fri [app] emitting event: 'source-read'('api/generated/modules/mom_vert_friction', ['.. autodoxymodule:: mom_vert_friction\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_vert_friction.rst:1: input: .. autodoxymodule:: mom_vert_friction :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_vert_friction::vertvisc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_vert_friction::vertvisc ~mom_vert_friction::vertvisc_remnant ~mom_vert_friction::vertvisc_coef ~mom_vert_friction::find_coupling_coef ~mom_vert_friction::vertvisc_limit_vel ~mom_vert_friction::vertvisc_init ~mom_vert_friction::updatecfltruncationvalue ~mom_vert_friction::vertvisc_end [debug] xpath(./compounddef/compoundname[text()="mom_vert_friction"]/..) match([('id', 'namespacemom__vert__friction'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_vert_friction module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_vert_friction', , {'members': , {'members': ]) [debug] ref([('id', 'MOM__memory_8h'), ('kind', 'file'), ('language', 'C++')]) [debug] method=visit_para [debug] method=visit_verbatim [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_vert_friction', , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_vert_friction' (exception was: ModuleNotFoundError("No module named 'mom_vert_friction'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_vert_friction::vertvisc_cs', , {'members': [debug] members([('vertvisc', ), ('vertvisc_remnant', ), ('vertvisc_coef', ), ('find_coupling_coef', ), ('vertvisc_limit_vel', ), ('vertvisc_init', ), ('updatecfltruncationvalue', ), ('vertvisc_end', )]) [autodoc] module analyzer failed: error importing 'mom_vert_friction' (exception was: ModuleNotFoundError("No module named 'mom_vert_friction'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, forces, visc, dt, OBC, ADp, CDp, G, GV, US, CS, taux_bot, tauy_bot, Waves)) [debug] add_directive_header sig((u, v, h, forces, visc, dt, OBC, ADp, CDp, G, GV, US, CS, taux_bot, tauy_bot, Waves)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine vertvisc) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_emphasis [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'vertvisc', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__vert__friction_1a8f1a390fa24fbe985068fed9ac26873c'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_vert_friction::vertvisc) node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'vertvisc_coef', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_vert_friction::vertvisc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_vert_friction::vertvisc ~mom_vert_friction::vertvisc_remnant ~mom_vert_friction::vertvisc_coef ~mom_vert_friction::find_coupling_coef ~mom_vert_friction::vertvisc_limit_vel ~mom_vert_friction::vertvisc_init ~mom_vert_friction::updatecfltruncationvalue ~mom_vert_friction::vertvisc_end .. _DETAmom_vert_friction: -------------------- Detailed Description -------------------- The vertical diffusion of momentum is fully implicit. This is necessary to allow for vanishingly small layers. The coupling is based on the distance between the centers of adjacent layers, except where a layer is close to the bottom compared with a bottom boundary layer thickness when a bottom drag law is used. A stress top b.c. and a no slip bottom b.c. are used. There is no limit on the time step for vertvisc. Near the bottom, the horizontal thickness interpolation scheme changes to an upwind biased estimate to control the effect of spurious Montgomery potential gradients at the bottom where nearly massless layers layers ride over the topography. Within a few boundary layer depths of the bottom, the harmonic mean thickness (i.e. (2 h+ h-) / (h+ + h-) ) is used if the velocity is from the thinner side and the arithmetic mean thickness (i.e. (h+ + h-)/2) is used if the velocity is from the thicker side. Both of these thickness estimates are second order accurate. Above this the arithmetic mean thickness is used. In addition, vertvisc truncates any velocity component that exceeds maxvel to truncvel. This basically keeps instabilities spatially localized. The number of times the velocity is truncated is reported each time the energies are saved, and if exceeds CSMaxtrunc the model will stop itself and change the time to a large value. This has proven very useful in (1) diagnosing model failures and (2) letting the model settle down to a meaningful integration from a poorly specified initial condition. The same code is used for the two velocity components, by indirectly referencing the velocities and defining a handful of direction-specific defined variables. Macros written all in capital letters are defined in ``MOM_memory.h``. A small fragment of the grid is shown below: :: j+1 x ^ x ^ x At x: q j+1 > o > o > At ^: v, frhatv, tauy j x ^ x ^ x At >: u, frhatu, taux j > o > o > At o: h j-1 x ^ x ^ x i-1 i i+1 At x & ^: i i+1 At > & o: The boundaries always run through q grid points (x). ------------------ Type Documentation ------------------ .. f:type:: vertvisc_cs The control structure with parameters and memory for the MOM_vert_friction module. :typefield integer id_du_dt_visc: Diagnostic identifiers. :typefield integer id_dv_dt_visc: Diagnostic identifiers. :typefield integer id_au_vv: Diagnostic identifiers. :typefield integer id_av_vv: Diagnostic identifiers. :typefield integer id_h_u: Diagnostic identifiers. :typefield integer id_h_v: Diagnostic identifiers. :typefield integer id_hml_u: Diagnostic identifiers. :typefield integer id_hml_v: Diagnostic identifiers. :typefield integer id_taux_bot: Diagnostic identifiers. :typefield integer id_tauy_bot: Diagnostic identifiers. :typefield integer id_kv_slow: Diagnostic identifiers. :typefield integer id_kv_u: Diagnostic identifiers. :typefield integer id_kv_v: Diagnostic identifiers. :typefield integer id_hf_du_dt_visc_2d: Diagnostic identifiers. :typefield integer id_hf_dv_dt_visc_2d: Diagnostic identifiers. :typefield real hmix: The mixed layer thickness in thickness units [H ~> m or kg m-2]. :typefield real hmix_stress: The mixed layer thickness over which the wind stress is applied with direct_stress [H ~> m or kg m-2]. :typefield real kvml: The mixed layer vertical viscosity [Z2 T-1 ~> m2 s-1]. :typefield real kv: The interior vertical viscosity [Z2 T-1 ~> m2 s-1]. :typefield real hbbl: The static bottom boundary layer thickness [H ~> m or kg m-2]. :typefield real kvbbl: The vertical viscosity in the bottom boundary layer [Z2 T-1 ~> m2 s-1]. :typefield real maxvel: Velocity components greater than maxvel are truncated [L T-1 ~> m s-1]. :typefield real vel_underflow: Velocity components smaller than vel_underflow are set to 0 [L T-1 ~> m s-1]. :typefield logical cfl_based_trunc: If true, base truncations on CFL numbers, not absolute velocities. :typefield real cfl_trunc: Velocity components will be truncated when they are large enough that the corresponding CFL number exceeds this value, nondim. :typefield real cfl_report: The value of the CFL number that will cause the accelerations to be reported, nondim. CFL_report will often equal CFL_trunc. :typefield real truncramptime: The time-scale over which to ramp up the value of CFL_trunc from CFL_truncS to CFL_truncE. :typefield real cfl_truncs: The start value of CFL_trunc. :typefield real cfl_trunce: The end/target value of CFL_trunc. :typefield logical cflrampingisactivated: True if the ramping has been initialized. :typefield type(time_type) rampstarttime: The time at which the ramping of CFL_trunc starts. :typefield real(\: a_u [:, :), allocatable]: The u-drag coefficient across an interface [Z T-1 ~> m s-1]. :typefield real(\: h_u [:, :), allocatable]: The effective layer thickness at u-points [H ~> m or kg m-2]. :typefield real(\: a_v [:, :), allocatable]: The v-drag coefficient across an interface [Z T-1 ~> m s-1]. :typefield real(\: h_v [:, :), allocatable]: The effective layer thickness at v-points [H ~> m or kg m-2]. :typefield real(\:,\:) a1_shelf_u [pointer]: The u-momentum coupling coefficient under ice shelves [Z T-1 ~> m s-1]. Retained to determine stress under shelves. :typefield real(\:,\:) a1_shelf_v [pointer]: The v-momentum coupling coefficient under ice shelves [Z T-1 ~> m s-1]. Retained to determine stress under shelves. :typefield logical split: If true, use the split time stepping scheme. :typefield logical bottomdraglaw: If true, the bottom stress is calculated with a drag law c_drag*|u|*u. The velocity magnitude may be an assumed value or it may be based on the actual velocity in the bottommost HBBL, depending on whether linear_drag is true. :typefield logical channel_drag: If true, the drag is exerted directly on each layer according to what fraction of the bottom they overlie. :typefield logical harmonic_visc: If true, the harmonic mean thicknesses are used to calculate the viscous coupling between layers except near the bottom. Otherwise the arithmetic mean thickness is used except near the bottom. :typefield real harm_bl_val: A scale to determine when water is in the boundary layers based solely on harmonic mean thicknesses for the purpose of determining the extent to which the thicknesses used in the viscosities are upwinded. :typefield logical direct_stress: If true, the wind stress is distributed over the topmost Hmix_stress of fluid and KVML may be very small. :typefield logical dynamic_viscous_ml: If true, use the results from a dynamic calculation, perhaps based on a bulk Richardson number criterion, to determine the mixed layer thickness for viscosity. :typefield logical answers_2018: If true, use the order of arithmetic and expressions that recover the answers from the end of 2018. Otherwise, use expressions that do not use an arbitary and hard-coded maximum viscous coupling coefficient between layers. :typefield logical debug: If true, write verbose checksums for debugging purposes. :typefield integer nkml: The number of layers in the mixed layer. :typefield integer ntrunc [pointer]: The number of times the velocity has been truncated since the last call to write_energy. :typefield character (len=200) u_trunc_file: The complete path to a file in which a column of u-accelerations are written if velocity truncations occur. :typefield character (len=200) v_trunc_file: The complete path to a file in which a column of v-accelerations are written if velocity truncations occur. :typefield logical stokesmixing: If true, do Stokes drift mixing via the Lagrangian current (Eulerian plus Stokes drift). False by default and set via STOKES_MIXING_COMBINED. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(pointaccel_cs) pointaccel_csp [pointer]: A pointer to the control structure for recording accelerations leading to velocity truncations. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine vertvisc(u, v, h, forces, visc, dt, OBC, ADp, CDp, G, GV, US, CS, taux_bot, tauy_bot, Waves) Perform a fully implicit vertical diffusion of momentum. Stress top and bottom boundary conditions are used. This is solving the tridiagonal system .. math:: \left(h_k + a_{k + 1/2} + a_{k - 1/2} + r_k\right) u_k^{n+1} = h_k u_k^n + a_{k + 1/2} u_{k+1}^{n+1} + a_{k - 1/2} u_{k-1}^{n+1} where :math:`a_{k + 1/2} = \Delta t \nu_{k + 1/2} / h_{k + 1/2}` is the *interfacial coupling thickness per time step* , encompassing background viscosity as well as contributions from enhanced mixed and bottom layer viscosities. $r_k$ is a Rayleight drag term due to channel drag. There is an additional stress term on the right-hand side if DIRECT_STRESS is true, applied to the surface layer. :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param u: [inout] Zonal velocity [L T-1 ~> m s-1] :param v: [inout] Meridional velocity [L T-1 ~> m s-1] :param h: [in] Layer thickness [H ~> m or kg m-2] :param forces: [in] A structure with the driving mechanical forces :param visc: [inout] Viscosities and bottom drag :param dt: [in] Time increment [T ~> s] :param obc: Open boundary condition structure :param adp: [inout] Accelerations in the momentum equations for diagnostics :param cdp: [inout] Continuity equation terms :param cs: Vertical viscosity control structure :param taux_bot: [out] Zonal bottom stress from ocean to :param tauy_bot: [out] Meridional bottom stress from ocean to :param waves: Container for wave/Stokes information :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`vertvisc_limit_vel ` :calledfrom: :f:func:`mom_dynamics_unsplit::step_mom_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2 ` .. f:subroutine:: subroutine vertvisc_remnant(visc, visc_rem_u, visc_rem_v, dt, G, GV, US, CS) Calculate the fraction of momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step's worth of barotropic acceleration that a layer experiences after viscosity is applied. :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param visc: [in] Viscosities and bottom drag :param visc_rem_u: [inout] Fraction of a time-step's worth of a :param visc_rem_v: [inout] Fraction of a time-step's worth of a :param dt: [in] Time increment [T ~> s] :param us: [in] A dimensional unit scaling type :param cs: Vertical viscosity control structure :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine vertvisc_coef(u, v, h, forces, visc, dt, G, GV, US, CS, OBC) Calculate the coupling coefficients (CSa_u and CSa_v) and effective layer thicknesses (CSh_u and CSh_v) for later use in the applying the implicit vertical viscosity via :f:func:`vertvisc() `. . :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param u: [in] Zonal velocity [L T-1 ~> m s-1] :param v: [in] Meridional velocity [L T-1 ~> m s-1] :param h: [in] Layer thickness [H ~> m or kg m-2] :param forces: [in] A structure with the driving mechanical forces :param visc: [in] Viscosities and bottom drag :param dt: [in] Time increment [T ~> s] :param cs: Vertical viscosity control structure :param obc: Open boundary condition structure :callto: :f:func:`find_coupling_coef ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_open_boundary::obc_direction_n ` :callto: :f:func:`mom_open_boundary::obc_direction_s ` :callto: :f:func:`mom_open_boundary::obc_direction_w ` :calledfrom: :f:func:`mom_dynamics_unsplit::step_mom_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2 ` .. f:subroutine:: subroutine find_coupling_coef(a_cpl, hvel, do_i, h_harm, bbl_thick, kv_bbl, z_i, h_ml, dt, j, G, GV, US, CS, visc, forces, work_on_u, OBC, shelf) Calculate the 'coupling coefficient' (a_cpl) at the interfaces. If BOTTOMDRAGLAW is defined, the minimum of Hbbl and half the adjacent layer thicknesses are used to calculate a_cpl near the bottom. :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param a_cpl: [out] Coupling coefficient across interfaces [Z T-1 ~> m s-1]. :param hvel: [in] Thickness at velocity points [H ~> m or kg m-2] :param do_i: [in] If true, determine coupling coefficient for a column :param h_harm: [in] Harmonic mean of thicknesses around a velocity :param bbl_thick: [in] Bottom boundary layer thickness [H ~> m or kg m-2] :param kv_bbl: [in] Bottom boundary layer viscosity [Z2 T-1 ~> m2 s-1]. :param z_i: [in] Estimate of interface heights above the bottom, :param h_ml: [out] Mixed layer depth [H ~> m or kg m-2] :param j: [in] j-index to find coupling coefficient for :param dt: [in] Time increment [T ~> s] :param cs: Vertical viscosity control structure :param visc: [in] Structure containing viscosities and bottom drag :param forces: [in] A structure with the driving mechanical forces :param work_on_u: [in] If true, u-points are being calculated, otherwise they are v-points :param obc: Open boundary condition structure :param shelf: [in] If present and true, use a surface boundary condition appropriate for an ice shelf. :callto: :f:func:`mom_open_boundary::obc_direction_n ` :callto: :f:func:`mom_open_boundary::obc_direction_s ` :callto: :f:func:`mom_open_boundary::obc_direction_w ` :calledfrom: :f:func:`vertvisc_coef ` .. f:subroutine:: subroutine vertvisc_limit_vel(u, v, h, ADp, CDp, forces, visc, dt, G, GV, US, CS) Velocity components which exceed a threshold for physically reasonable values are truncated. Optionally, any column with excessive velocities may be sent to a diagnostic reporting subroutine. :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param u: [inout] Zonal velocity [L T-1 ~> m s-1] :param v: [inout] Meridional velocity [L T-1 ~> m s-1] :param h: [in] Layer thickness [H ~> m or kg m-2] :param adp: [in] Acceleration diagnostic pointers :param cdp: [in] Continuity diagnostic pointers :param forces: [in] A structure with the driving mechanical forces :param visc: [in] Viscosities and bottom drag :param dt: [in] Time increment [T ~> s] :param cs: Vertical viscosity control structure :calledfrom: :f:func:`vertvisc ` .. f:subroutine:: subroutine vertvisc_init(MIS, Time, G, GV, US, param_file, diag, ADp, dirs, ntrunc, CS) Initialize the vertical friction module. :param mis: [in] The "MOM Internal State", a set of pointers :param time: [in] Current model time :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] File to parse for parameters :param diag: [inout] Diagnostic control structure :param adp: [inout] Acceleration diagnostic pointers :param dirs: [in] Relevant directory paths :param ntrunc: [inout] Number of velocity truncations :param cs: Vertical viscosity control structure :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_dynamics_unsplit::initialize_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::initialize_dyn_unsplit_rk2 ` .. f:subroutine:: subroutine updatecfltruncationvalue(Time, CS, activate) Update the CFL truncation value as a function of time. If called with the optional argument activate=.true., record the value of Time as the beginning of the ramp period. :param time: [in] Current model time :param cs: Vertical viscosity control structure :param activate: [in] Specifiy whether to record the value of Time as the beginning of the ramp period :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_dynamics_split_rk2::initialize_dyn_split_rk2 ` :calledfrom: :f:func:`mom_dynamics_split_rk2::step_mom_dyn_split_rk2 ` .. f:subroutine:: subroutine vertvisc_end(CS) Clean up and deallocate the vertical friction module. :param cs: Vertical viscosity control structure that will be deallocated in this subroutine. [debug] xpath(./compounddef/compoundname[text()="mom_vert_friction::vertvisc_cs"]/..) match([('id', 'structmom__vert__friction_1_1vertvisc__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_vert_friction::vertvisc_cs', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_vert_friction::vertvisc_cs', , {}, ['`Mor [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_vert_friction::vertvisc_cs', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, forces, visc, dt, OBC, ADp, CDp, G, GV, US, CS, taux_bot, tauy_bot, Waves)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_vert_friction::vertvisc', , {}, ['', 'Perfo [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_vert_friction::vertvisc', , {}, ['', 'Perfo [debug] DoxygenMethodDocumenter format_signature called ((visc, visc_rem_u, visc_rem_v, dt, G, GV, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_vert_friction::vertvisc_remnant', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_vert_friction::vertvisc_remnant', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, forces, visc, dt, G, GV, US, CS, OBC)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespacemom__vert__friction_1a8f1a390fa24fbe985068fed9ac26873c) kindref(member) ref([]) [debug] ref([('kind', 'function'), ('id', 'namespacemom__vert__friction_1a8f1a390fa24fbe985068fed9ac26873c'), ('prot', 'public'), ('static', 'no'), ('const', 'no'), ('explicit', 'no'), ('inline', 'no'), ('virt', 'non-virtual')]) [debug] kind(function) real_name(mom_vert_friction::vertvisc) node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_vert_friction::vertvisc_coef', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_vert_friction::vertvisc_coef', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((a_cpl, hvel, do_i, h_harm, bbl_thick, kv_bbl, z_i, h_ml, dt, j, G, GV, US, CS, visc, forces, work_on_u, OBC, shelf)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_vert_friction::find_coupling_coef', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_vert_friction::find_coupling_coef', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, ADp, CDp, forces, visc, dt, G, GV, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_vert_friction::vertvisc_limit_vel', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_vert_friction::vertvisc_limit_vel', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((MIS, Time, G, GV, US, param_file, diag, ADp, dirs, ntrunc, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_vert_friction::vertvisc_init', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_vert_friction::vertvisc_init', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((Time, CS, activate)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_vert_friction::updatecfltruncationvalue', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_vert_friction::updatecfltruncationvalue', , [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_vert_friction::vertvisc_end', , {}, ['', 'C [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_vert_friction::vertvisc_end', , {}, ['', 'C [fd] run(.. f:type:: vertvisc_cs) [fd] sig(vertvisc_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(vertvisc_cs) arglist(None) [fd] fullname(mom_vert_friction/vertvisc_cs) ftype(None) [fd] name(('mom_vert_friction/vertvisc_cs', None)) sig(vertvisc_cs) signode(type mom_vert_friction/vertvisc_cs) [fd] run(.. f:subroutine:: subroutine vertvisc(u, v, h, forces, visc, dt, OBC, ADp, CDp, G, GV, US, CS, taux_bot, tauy_bot, Waves)) [fd] sig(subroutine vertvisc(u, v, h, forces, visc, dt, OBC, ADp, CDp, G, GV, US, CS, taux_bot, tauy_bot, Waves)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(vertvisc) arglist(u, v, h, forces, visc, dt, OBC, ADp, CDp, G, GV, US, CS, taux_bot, tauy_bot, Waves) [fd] fullname(mom_vert_friction/vertvisc) ftype(None) [fd] name(('mom_vert_friction/vertvisc', None)) sig(subroutine vertvisc(u, v, h, forces, visc, dt, OBC, ADp, CDp, G, GV, US, CS, taux_bot, tauy_bot, Waves)) signode(subroutine mom_vert_friction/vertviscuvhforcesviscdtOBCADpCDpGGVUSCStaux_bottauy_botWaves) [fd] run(.. f:subroutine:: subroutine vertvisc_remnant(visc, visc_rem_u, visc_rem_v, dt, G, GV, US, CS)) [fd] sig(subroutine vertvisc_remnant(visc, visc_rem_u, visc_rem_v, dt, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(vertvisc_remnant) arglist(visc, visc_rem_u, visc_rem_v, dt, G, GV, US, CS) [fd] fullname(mom_vert_friction/vertvisc_remnant) ftype(None) [fd] name(('mom_vert_friction/vertvisc_remnant', None)) sig(subroutine vertvisc_remnant(visc, visc_rem_u, visc_rem_v, dt, G, GV, US, CS)) signode(subroutine mom_vert_friction/vertvisc_remnantviscvisc_rem_uvisc_rem_vdtGGVUSCS) [fd] run(.. f:subroutine:: subroutine vertvisc_coef(u, v, h, forces, visc, dt, G, GV, US, CS, OBC)) [fd] sig(subroutine vertvisc_coef(u, v, h, forces, visc, dt, G, GV, US, CS, OBC)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(vertvisc_coef) arglist(u, v, h, forces, visc, dt, G, GV, US, CS, OBC) [fd] fullname(mom_vert_friction/vertvisc_coef) ftype(None) [fd] name(('mom_vert_friction/vertvisc_coef', None)) sig(subroutine vertvisc_coef(u, v, h, forces, visc, dt, G, GV, US, CS, OBC)) signode(subroutine mom_vert_friction/vertvisc_coefuvhforcesviscdtGGVUSCSOBC) [fd] run(.. f:subroutine:: subroutine find_coupling_coef(a_cpl, hvel, do_i, h_harm, bbl_thick, kv_bbl, z_i, h_ml, dt, j, G, GV, US, CS, visc, forces, work_on_u, OBC, shelf)) [fd] sig(subroutine find_coupling_coef(a_cpl, hvel, do_i, h_harm, bbl_thick, kv_bbl, z_i, h_ml, dt, j, G, GV, US, CS, visc, forces, work_on_u, OBC, shelf)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(find_coupling_coef) arglist(a_cpl, hvel, do_i, h_harm, bbl_thick, kv_bbl, z_i, h_ml, dt, j, G, GV, US, CS, visc, forces, work_on_u, OBC, shelf) [fd] fullname(mom_vert_friction/find_coupling_coef) ftype(None) [fd] name(('mom_vert_friction/find_coupling_coef', None)) sig(subroutine find_coupling_coef(a_cpl, hvel, do_i, h_harm, bbl_thick, kv_bbl, z_i, h_ml, dt, j, G, GV, US, CS, visc, forces, work_on_u, OBC, shelf)) signode(subroutine mom_vert_friction/find_coupling_coefa_cplhveldo_ih_harmbbl_thickkv_bblz_ih_mldtjGGVUSCSviscforceswork_on_uOBCshelf) [fd] run(.. f:subroutine:: subroutine vertvisc_limit_vel(u, v, h, ADp, CDp, forces, visc, dt, G, GV, US, CS)) [fd] sig(subroutine vertvisc_limit_vel(u, v, h, ADp, CDp, forces, visc, dt, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(vertvisc_limit_vel) arglist(u, v, h, ADp, CDp, forces, visc, dt, G, GV, US, CS) [fd] fullname(mom_vert_friction/vertvisc_limit_vel) ftype(None) [fd] name(('mom_vert_friction/vertvisc_limit_vel', None)) sig(subroutine vertvisc_limit_vel(u, v, h, ADp, CDp, forces, visc, dt, G, GV, US, CS)) signode(subroutine mom_vert_friction/vertvisc_limit_veluvhADpCDpforcesviscdtGGVUSCS) [fd] run(.. f:subroutine:: subroutine vertvisc_init(MIS, Time, G, GV, US, param_file, diag, ADp, dirs, ntrunc, CS)) [fd] sig(subroutine vertvisc_init(MIS, Time, G, GV, US, param_file, diag, ADp, dirs, ntrunc, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(vertvisc_init) arglist(MIS, Time, G, GV, US, param_file, diag, ADp, dirs, ntrunc, CS) [fd] fullname(mom_vert_friction/vertvisc_init) ftype(None) [fd] name(('mom_vert_friction/vertvisc_init', None)) sig(subroutine vertvisc_init(MIS, Time, G, GV, US, param_file, diag, ADp, dirs, ntrunc, CS)) signode(subroutine mom_vert_friction/vertvisc_initMISTimeGGVUSparam_filediagADpdirsntruncCS) [fd] run(.. f:subroutine:: subroutine updatecfltruncationvalue(Time, CS, activate)) [fd] sig(subroutine updatecfltruncationvalue(Time, CS, activate)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(updatecfltruncationvalue) arglist(Time, CS, activate) [fd] fullname(mom_vert_friction/updatecfltruncationvalue) ftype(None) [fd] name(('mom_vert_friction/updatecfltruncationvalue', None)) sig(subroutine updatecfltruncationvalue(Time, CS, activate)) signode(subroutine mom_vert_friction/updatecfltruncationvalueTimeCSactivate) [fd] run(.. f:subroutine:: subroutine vertvisc_end(CS)) [fd] sig(subroutine vertvisc_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(vertvisc_end) arglist(CS) [fd] fullname(mom_vert_friction/vertvisc_end) ftype(None) [fd] name(('mom_vert_friction/vertvisc_end', None)) sig(subroutine vertvisc_end(CS)) signode(subroutine mom_vert_friction/vertvisc_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) docstring of mom_vert_friction:14: (INFO/1) Possible title underline, too short for the title. Treating it as ordinary text because it’s so short. [filtered system message] reading sources... [ 62%] api/generated/modules/mom_verticalgrid [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_vertical [app] emitting event: 'source-read'('api/generated/modules/mom_verticalgrid', ['.. autodoxymodule:: mom_verticalgrid\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_verticalgrid.rst:1: input: .. autodoxymodule:: mom_verticalgrid :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_verticalgrid::verticalgrid_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_verticalgrid::verticalgridinit ~mom_verticalgrid::fix_restart_scaling ~mom_verticalgrid::get_thickness_units ~mom_verticalgrid::get_flux_units ~mom_verticalgrid::get_tr_flux_units ~mom_verticalgrid::setverticalgridaxes ~mom_verticalgrid::verticalgridend [debug] xpath(./compounddef/compoundname[text()="mom_verticalgrid"]/..) match([('id', 'namespacemom__verticalgrid'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_verticalgrid module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_verticalgrid', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_verticalgrid' (exception was: ModuleNotFoundError("No module named 'mom_verticalgrid'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_verticalgrid::verticalgrid_type', , {'membe [debug] members([('verticalgridinit', ), ('fix_restart_scaling', ), ('get_thickness_units', ), ('get_flux_units', ), ('get_tr_flux_units', ), ('setverticalgridaxes', ), ('verticalgridend', )]) [autodoc] module analyzer failed: error importing 'mom_verticalgrid' (exception was: ModuleNotFoundError("No module named 'mom_verticalgrid'")) [debug] DoxygenMethodDocumenter format_signature called ((param_file, GV, US)) [debug] add_directive_header sig((param_file, GV, US)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine verticalgridinit) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'verticalgridinit', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_verticalgrid::verticalgrid_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_verticalgrid::verticalgridinit ~mom_verticalgrid::fix_restart_scaling ~mom_verticalgrid::get_thickness_units ~mom_verticalgrid::get_flux_units ~mom_verticalgrid::get_tr_flux_units ~mom_verticalgrid::setverticalgridaxes ~mom_verticalgrid::verticalgridend .. _DETAmom_verticalgrid: -------------------- Detailed Description -------------------- Provides a transparent vertical ocean grid type and supporting routines. ------------------ Type Documentation ------------------ .. f:type:: verticalgrid_type Describes the vertical ocean grid, including unit conversion factors. :typefield integer ke: The number of layers/levels in the vertical. :typefield real max_depth: The maximum depth of the ocean [Z ~> m]. :typefield real mks_g_earth: The gravitational acceleration in unscaled MKS units [m s-2]. :typefield real g_earth: The gravitational acceleration [L2 Z-1 T-2 ~> m s-2]. :typefield real rho0: The density used in the Boussinesq approximation or nominal density used to convert depths into mass units [R ~> kg m-3]. :typefield character (len=40) zaxisunits: The units that vertical coordinates are written in. :typefield character (len=40) zaxislongname: Coordinate name to appear in files, e.g. "Target Potential Density" or "Height". :typefield real(\:) slayer [allocatable]: Coordinate values of layer centers. :typefield real(\:) sinterface [allocatable]: Coordinate values on interfaces. :typefield integer direction: Direction defaults to 1, positive up. :typefield logical boussinesq: If true, make the Boussinesq approximation. :typefield real angstrom_h: A one-Angstrom thickness in the model thickness units [H ~> m or kg m-2]. :typefield real angstrom_z: A one-Angstrom thickness in the model depth units [Z ~> m]. :typefield real angstrom_m: A one-Angstrom thickness [m]. :typefield real h_subroundoff: A thickness that is so small that it can be added to a thickness of Angstrom or larger without changing it at the bit level [H ~> m or kg m-2]. If Angstrom is 0 or exceedingly small, this is negligible compared to 1e-17 m. :typefield real(\:) g_prime [allocatable]: The reduced gravity at each interface [L2 Z-1 T-2 ~> m s-2]. :typefield real(\:) rlay [allocatable]: The target coordinate value (potential density) in each layer [R ~> kg m-3]. :typefield integer nkml: The number of layers at the top that should be treated as parts of a homogeneous region. :typefield integer nk_rho_varies: The number of layers at the top where the density does not track any target density. :typefield real h_to_kg_m2: A constant that translates thicknesses from the units of thickness to kg m-2. :typefield real kg_m2_to_h: A constant that translates thicknesses from kg m-2 to the units of thickness. :typefield real m_to_h: A constant that translates distances in m to the units of thickness. :typefield real h_to_m: A constant that translates distances in the units of thickness to m. :typefield real h_to_pa: A constant that translates the units of thickness to pressure [Pa]. :typefield real h_to_z: A constant that translates thickness units to the units of depth. :typefield real z_to_h: A constant that translates depth units to thickness units. :typefield real h_to_rz: A constant that translates thickness units to the units of mass per unit area. :typefield real rz_to_h: A constant that translates mass per unit area units to thickness units. :typefield real h_to_mks: A constant that translates thickness units to its MKS unit (m or kg m-2) based on GVBoussinesq. :typefield real m_to_h_restart: A copy of the m_to_H that is used in restart files. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine verticalgridinit(param_file, GV, US) Allocates and initializes the ocean model vertical grid structure. :param param_file: [in] Parameter file handle/type :param gv: The container for vertical grid data :param us: [in] A dimensional unit scaling type :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` .. f:subroutine:: subroutine fix_restart_scaling(GV) Set the scaling factors for restart files to the scaling factors for this run. :param gv: [inout] The ocean's vertical grid structure .. f:function:: character(len=48) function get_thickness_units(GV) Returns the model's thickness units, usually m or kg/m^2. :returns undefined: The vertical thickness units :param gv: [in] The ocean's vertical grid structure :calledfrom: :f:func:`mom_ale::ale_register_diags ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic_driver_init ` :calledfrom: :f:func:`mom_geothermal::geothermal_init ` :calledfrom: :f:func:`mom::register_diags ` :calledfrom: :f:func:`mom_diagnostics::register_transport_diags ` :calledfrom: :f:func:`mom::set_restart_fields ` .. f:function:: character(len=48) function get_flux_units(GV) Returns the model's thickness flux units, usually m^3/s or kg/s. :returns undefined: The thickness flux units :param gv: [in] The ocean's vertical grid structure :calledfrom: :f:func:`mom_dynamics_split_rk2::initialize_dyn_split_rk2 ` :calledfrom: :f:func:`mom_dynamics_unsplit::initialize_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::initialize_dyn_unsplit_rk2 ` :calledfrom: :f:func:`mom_dynamics_split_rk2::register_restarts_dyn_split_rk2 ` :calledfrom: :f:func:`mom_dynamics_unsplit::register_restarts_dyn_unsplit ` :calledfrom: :f:func:`mom_dynamics_unsplit_rk2::register_restarts_dyn_unsplit_rk2 ` :calledfrom: :f:func:`mom::set_restart_fields ` .. f:function:: character(len=48) function get_tr_flux_units(GV, tr_units, tr_vol_conc_units, tr_mass_conc_units) Returns the model's tracer flux units. :returns undefined: The model's flux units for a tracer. :param gv: [in] The ocean's vertical grid structure. :param tr_units: [in] Units for a tracer, for example Celsius or PSU. :param tr_vol_conc_units: [in] The concentration units per unit volume, for example if the units are umol m-3, tr_vol_conc_units would be umol. :param tr_mass_conc_units: [in] The concentration units per unit mass of sea water, for example if the units are mol kg-1, tr_vol_conc_units would be mol. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom::initialize_mom ` .. f:subroutine:: subroutine setverticalgridaxes(Rlay, GV, scale) This sets the coordinate data for the "layer mode" of the isopycnal model. :param gv: [inout] The container for vertical grid data :param rlay: [in] The layer target density [R ~> kg m-3] :param scale: [in] A unit scaling factor for Rlay :calledfrom: :f:func:`mom_coord_initialization::mom_initialize_coord ` .. f:subroutine:: subroutine verticalgridend(GV) Deallocates the model's vertical grid structure. :param gv: The ocean's vertical grid structure [debug] xpath(./compounddef/compoundname[text()="mom_verticalgrid::verticalgrid_type"]/..) match([('id', 'structmom__verticalgrid_1_1verticalgrid__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_verticalgrid::verticalgrid_type', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_verticalgrid::verticalgrid_type', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_verticalgrid::verticalgrid_type', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((param_file, GV, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_verticalgrid::verticalgridinit', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_verticalgrid::verticalgridinit', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((GV)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_verticalgrid::fix_restart_scaling', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_verticalgrid::fix_restart_scaling', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((GV)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_verticalgrid::get_thickness_units', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_verticalgrid::get_thickness_units', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((GV)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_verticalgrid::get_flux_units', , {}, ['', " [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_verticalgrid::get_flux_units', , {}, ['', " [debug] DoxygenMethodDocumenter format_signature called ((GV, tr_units, tr_vol_conc_units, tr_mass_conc_units)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_verticalgrid::get_tr_flux_units', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_verticalgrid::get_tr_flux_units', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((Rlay, GV, scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_verticalgrid::setverticalgridaxes', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_verticalgrid::setverticalgridaxes', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((GV)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_verticalgrid::verticalgridend', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_verticalgrid::verticalgridend', , {}, ['', [fd] run(.. f:type:: verticalgrid_type) [fd] sig(verticalgrid_type) [fd] ftype(None) objtype(None) modname(None) typename() name(verticalgrid_type) arglist(None) [fd] fullname(mom_verticalgrid/verticalgrid_type) ftype(None) [fd] name(('mom_verticalgrid/verticalgrid_type', None)) sig(verticalgrid_type) signode(type mom_verticalgrid/verticalgrid_type) [fd] run(.. f:subroutine:: subroutine verticalgridinit(param_file, GV, US)) [fd] sig(subroutine verticalgridinit(param_file, GV, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(verticalgridinit) arglist(param_file, GV, US) [fd] fullname(mom_verticalgrid/verticalgridinit) ftype(None) [fd] name(('mom_verticalgrid/verticalgridinit', None)) sig(subroutine verticalgridinit(param_file, GV, US)) signode(subroutine mom_verticalgrid/verticalgridinitparam_fileGVUS) [fd] run(.. f:subroutine:: subroutine fix_restart_scaling(GV)) [fd] sig(subroutine fix_restart_scaling(GV)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(fix_restart_scaling) arglist(GV) [fd] fullname(mom_verticalgrid/fix_restart_scaling) ftype(None) [fd] name(('mom_verticalgrid/fix_restart_scaling', None)) sig(subroutine fix_restart_scaling(GV)) signode(subroutine mom_verticalgrid/fix_restart_scalingGV) [fd] run(.. f:function:: character(len=48) function get_thickness_units(GV)) [fd] sig(character(len=48) function get_thickness_units(GV)) [fd] ftype(character(len=48)) objtype(function) modname(None) typename() name(get_thickness_units) arglist(GV) [fd] fullname(mom_verticalgrid/get_thickness_units) ftype(character(len=48)) [fd] name(('mom_verticalgrid/get_thickness_units', 'character(len=48)')) sig(character(len=48) function get_thickness_units(GV)) signode(function mom_verticalgrid/get_thickness_unitsGV [character(len=48)]) [fd] run(.. f:function:: character(len=48) function get_flux_units(GV)) [fd] sig(character(len=48) function get_flux_units(GV)) [fd] ftype(character(len=48)) objtype(function) modname(None) typename() name(get_flux_units) arglist(GV) [fd] fullname(mom_verticalgrid/get_flux_units) ftype(character(len=48)) [fd] name(('mom_verticalgrid/get_flux_units', 'character(len=48)')) sig(character(len=48) function get_flux_units(GV)) signode(function mom_verticalgrid/get_flux_unitsGV [character(len=48)]) [fd] run(.. f:function:: character(len=48) function get_tr_flux_units(GV, tr_units, tr_vol_conc_units, tr_mass_conc_units)) [fd] sig(character(len=48) function get_tr_flux_units(GV, tr_units, tr_vol_conc_units, tr_mass_conc_units)) [fd] ftype(character(len=48)) objtype(function) modname(None) typename() name(get_tr_flux_units) arglist(GV, tr_units, tr_vol_conc_units, tr_mass_conc_units) [fd] fullname(mom_verticalgrid/get_tr_flux_units) ftype(character(len=48)) [fd] name(('mom_verticalgrid/get_tr_flux_units', 'character(len=48)')) sig(character(len=48) function get_tr_flux_units(GV, tr_units, tr_vol_conc_units, tr_mass_conc_units)) signode(function mom_verticalgrid/get_tr_flux_unitsGVtr_unitstr_vol_conc_unitstr_mass_conc_units [character(len=48)]) [fd] run(.. f:subroutine:: subroutine setverticalgridaxes(Rlay, GV, scale)) [fd] sig(subroutine setverticalgridaxes(Rlay, GV, scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(setverticalgridaxes) arglist(Rlay, GV, scale) [fd] fullname(mom_verticalgrid/setverticalgridaxes) ftype(None) [fd] name(('mom_verticalgrid/setverticalgridaxes', None)) sig(subroutine setverticalgridaxes(Rlay, GV, scale)) signode(subroutine mom_verticalgrid/setverticalgridaxesRlayGVscale) [fd] run(.. f:subroutine:: subroutine verticalgridend(GV)) [fd] sig(subroutine verticalgridend(GV)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(verticalgridend) arglist(GV) [fd] fullname(mom_verticalgrid/verticalgridend) ftype(None) [fd] name(('mom_verticalgrid/verticalgridend', None)) sig(subroutine verticalgridend(GV)) signode(subroutine mom_verticalgrid/verticalgridendGV) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 62%] api/generated/modules/mom_wave_interface [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_wave_int [app] emitting event: 'source-read'('api/generated/modules/mom_wave_interface', ['.. autodoxymodule:: mom_wave_interface\n :members:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_wave_interface.rst:1: input: .. autodoxymodule:: mom_wave_interface :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_wave_interface::wave_parameters_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_wave_interface::mom_wave_interface_init ~mom_wave_interface::mom_wave_interface_init_lite ~mom_wave_interface::update_surface_waves ~mom_wave_interface::update_stokes_drift ~mom_wave_interface::surface_bands_by_data_override ~mom_wave_interface::get_langmuir_number ~mom_wave_interface::get_stokessl_lifoxkemper ~mom_wave_interface::get_sl_average_prof ~mom_wave_interface::get_sl_average_band ~mom_wave_interface::dhh85_mid ~mom_wave_interface::stokesmixing ~mom_wave_interface::coriolisstokes ~mom_wave_interface::ust_2_u10_coare3p5 ~mom_wave_interface::waves_end [debug] xpath(./compounddef/compoundname[text()="mom_wave_interface"]/..) match([('id', 'namespacemom__wave__interface'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_wave_interface module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_interface', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_wave_interface' (exception was: ModuleNotFoundError("No module named 'mom_wave_interface'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_interface::wave_parameters_cs', , {'me [debug] members([('mom_wave_interface_init', ), ('mom_wave_interface_init_lite', ), ('update_surface_waves', ), ('update_stokes_drift', ), ('surface_bands_by_data_override', ), ('get_langmuir_number', ), ('get_stokessl_lifoxkemper', ), ('get_sl_average_prof', ), ('get_sl_average_band', ), ('dhh85_mid', ), ('stokesmixing', ), ('coriolisstokes', ), ('ust_2_u10_coare3p5', ), ('waves_end', )]) [autodoc] module analyzer failed: error importing 'mom_wave_interface' (exception was: ModuleNotFoundError("No module named 'mom_wave_interface'")) [debug] DoxygenMethodDocumenter format_signature called ((time, G, GV, US, param_file, CS, diag)) [debug] add_directive_header sig((time, G, GV, US, param_file, CS, diag)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine mom_wave_interface_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'surface_bands_by_data_override', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'surface_bands_by_data_override', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'surface_bands_by_data_override', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'surface_bands_by_data_override', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'surface_bands_by_data_override', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'surface_bands_by_data_override', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'surface_bands_by_data_override', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'surface_bands_by_data_override', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'surface_bands_by_data_override', , {'members': [autodoc] module analyzer failed: error importing 'mom_wave_interface' (exception was: ModuleNotFoundError("No module named 'mom_wave_interface'")) [debug] DoxygenMethodDocumenter format_signature called ((LA, G, GV, US, HBL, ustar, i, j, H, U_H, V_H, Override_MA, Waves)) [debug] add_directive_header sig((LA, G, GV, US, HBL, ustar, i, j, H, U_H, V_H, Override_MA, Waves)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine get_langmuir_number) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'get_langmuir_number', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_wave_interface::wave_parameters_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_wave_interface::mom_wave_interface_init ~mom_wave_interface::mom_wave_interface_init_lite ~mom_wave_interface::update_surface_waves ~mom_wave_interface::update_stokes_drift ~mom_wave_interface::surface_bands_by_data_override ~mom_wave_interface::get_langmuir_number ~mom_wave_interface::get_stokessl_lifoxkemper ~mom_wave_interface::get_sl_average_prof ~mom_wave_interface::get_sl_average_band ~mom_wave_interface::dhh85_mid ~mom_wave_interface::stokesmixing ~mom_wave_interface::coriolisstokes ~mom_wave_interface::ust_2_u10_coare3p5 ~mom_wave_interface::waves_end .. _DETAmom_wave_interface: -------------------- Detailed Description -------------------- This module should be moved as wave coupling progresses and likely will should mirror the iceberg or sea-ice model set-up. This module is meant to contain the routines to read in and interpret surface wave data for MOM6. In its original form, the capabilities include setting the Stokes drift in the model (from a variety of sources including prescribed, empirical, and input files). In short order, the plan is to also ammend the subroutine to accept Stokes drift information from an external coupler. Eventually, it will be necessary to break this file apart so that general wave information may be stored in the control structure and the Stokes drift effect can be isolated from processes such as sea-state dependent momentum fluxes, gas fluxes, and other wave related air-sea interaction and boundary layer phenomenon. The Stokes drift are stored on the C-grid with the conventional protocol to interpolate to the h-grid to compute Langmuir number, the primary quantity needed for Langmuir turbulence parameterizations in both the ePBL and KPP approach. This module also computes full 3d Stokes drift profiles, which will be useful if second-order type boundary layer parameterizations are implemented (perhaps via GOTM, work in progress). ------------------ Type Documentation ------------------ .. f:type:: wave_parameters_cs Container for all surface wave related parameters. :typefield integer id_surfacestokes_x [public]: Diagnostic handles. :typefield integer id_surfacestokes_y [public]: Diagnostic handles. :typefield integer id_3dstokes_x [public]: Diagnostic handles. :typefield integer id_3dstokes_y [public]: Diagnostic handles. :typefield integer id_la_turb [public]: Diagnostic handles. :typefield logical usewaves [public]: Flag to enable surface gravity wave feature. :typefield logical lagrangianmixing [public]: This feature is in development and not ready True if Stokes drift is present and mixing should be applied to Lagrangian current (mean current + Stokes drift). See Reichl et al., 2016 KPP-LT approach. :typefield logical stokesmixing [public]: This feature is in development and not ready. True if vertical mixing of momentum should be applied directly to Stokes current (with separate mixing parameter for Eulerian mixing contribution). See Harcourt 2013, 2015 Second-Moment approach. :typefield logical coriolisstokes [public]: This feature is in development and not ready. :typefield integer stklevelmode [public]: Sets if Stokes drift is defined at mid-points or layer averaged. Set to 0 if mid-point and set to 1 if average value of Stokes drift over level. If advecting with Stokes transport, 1 is the correct approach. :typefield real(\:) wavenum_cen [allocatable, public]: Wavenumber bands for read/coupled [m-1]. :typefield real(\:) freq_cen [allocatable, public]: Frequency bands for read/coupled [s-1]. :typefield real(\:) prescribedsurfstkx [allocatable, public]: Surface Stokes drift if prescribed [m s-1]. :typefield real(\:) prescribedsurfstky [allocatable, public]: Surface Stokes drift if prescribed [m s-1]. :typefield real(\:,\:,\:) us_x [allocatable, public]: 3d zonal Stokes drift profile [m s-1] :typefield real(\:,\:,\:) us_y [allocatable, public]: 3d meridional Stokes drift profile [m s-1] :typefield real(\:,\:) la_sl [allocatable, public]: SL Langmuir number (directionality factored later) :typefield real(\:,\:) la_turb [allocatable, public]: Aligned Turbulent Langmuir number. :typefield real(\:,\:) us0_x [allocatable, public]: Surface Stokes Drift (zonal, m/s) :typefield real(\:,\:) us0_y [allocatable, public]: Surface Stokes Drift (meridional, m/s) :typefield real(\:,\:,\:) stkx0 [allocatable, public]: Stokes Drift spectrum (zonal, m/s) :typefield real(\:,\:,\:) stky0 [allocatable, public]: Stokes Drift spectrum (meridional, m/s) :typefield real(\:,\:,\:) kvs [allocatable, public]: Viscosity for Stokes Drift shear [Z2 T-1 ~> m2 s-1]. :typefield type(time_type) time [pointer, public]: A pointer to the ocean model's clock. :typefield type(diag_ctrl) diag [pointer, public]: A structure that is used to regulate the timing of diagnostic output. :typefield real la_min: An arbitrary lower-bound on the Langmuir number. Run-time parameter. Langmuir number is sqrt(u_star/u_stokes). When both are small but u_star is orders of magnitude smaller the Langmuir number could have unintended consequences. Since both are small it can be safely capped to avoid such consequences. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine mom_wave_interface_init(time, G, GV, US, param_file, CS, diag) Initializes parameters related to MOM_wave_interface. :param time: [in] Model time :param g: [inout] Grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] Input parameter structure :param cs: Wave parameter control structure :param diag: [inout] Diagnostic Pointer :callto: :f:func:`coupler ` :callto: :f:func:`dataoverrideisinitialized ` :callto: :f:func:`dataovr ` :callto: :f:func:`datasource ` :callto: :f:func:`dhh85 ` :callto: :f:func:`input ` :callto: :f:func:`la_frachbl ` :callto: :f:func:`la_misalignment ` :callto: :f:func:`lf17 ` :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`numbands ` :callto: :f:func:`partitionmode ` :callto: :f:func:`pi ` :callto: :f:func:`staticwaves ` :callto: :f:func:`surfbandfilename ` :callto: :f:func:`surfbands ` :callto: :f:func:`testprof ` :callto: :f:func:`tp_stkx0 ` :callto: :f:func:`tp_stky0 ` :callto: :f:func:`tp_wvl ` :callto: :f:func:`waveage ` :callto: :f:func:`waveagepeakfreq ` :callto: :f:func:`wavemethod ` :callto: :f:func:`wavewind ` :calledfrom: :f:func:`mom_main ` .. f:subroutine:: subroutine mom_wave_interface_init_lite(param_file) A 'lite' init subroutine to initialize a few inputs needed if using wave information with the wind-speed dependent Stokes drift formulation of LF17. :param param_file: [in] Input parameter structure :callto: :f:func:`la_frachbl ` :callto: :f:func:`lf17 ` :callto: :f:func:`mdl ` :callto: :f:func:`null_wavemethod ` :callto: :f:func:`pi ` :callto: :f:func:`wavemethod ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`ocean_model_mod::ocean_model_init ` .. f:subroutine:: subroutine update_surface_waves(G, GV, US, Day, dt, CS) Subroutine that handles updating of surface wave/Stokes drift related properties. :param cs: Wave parameter Control structure :param g: [inout] Grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param day: [in] Current model time :param dt: [in] Timestep as a time-type :callto: :f:func:`coupler ` :callto: :f:func:`dataovr ` :callto: :f:func:`datasource ` :callto: :f:func:`input ` :callto: :f:func:`numbands ` :callto: :f:func:`surface_bands_by_data_override ` :callto: :f:func:`surfbands ` :callto: :f:func:`testprof ` :callto: :f:func:`wavemethod ` :calledfrom: :f:func:`mom_main ` :calledfrom: :f:func:`ocean_model_mod::update_ocean_model ` .. f:subroutine:: subroutine update_stokes_drift(G, GV, US, CS, h, ustar) Constructs the Stokes Drift profile on the model grid based on desired coupling options. :param cs: Wave parameter Control structure :param g: [inout] Grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Thickness [H ~> m or kg m-2] :param ustar: [in] Wind friction velocity [Z T-1 ~> m s-1]. :callto: :f:func:`dhh85 ` :callto: :f:func:`dhh85_is_set ` :callto: :f:func:`dhh85_mid ` :callto: :f:func:`get_langmuir_number ` :callto: :f:func:`numbands ` :callto: :f:func:`partitionmode ` :callto: :f:func:`pi ` :callto: :f:func:`staticwaves ` :callto: :f:func:`surfbands ` :callto: :f:func:`testprof ` :callto: :f:func:`tp_stkx0 ` :callto: :f:func:`tp_stky0 ` :callto: :f:func:`tp_wvl ` :callto: :f:func:`wavemethod ` :calledfrom: :f:func:`mom::step_mom ` .. f:subroutine:: subroutine surface_bands_by_data_override(day_center, G, GV, US, CS) A subroutine to fill the Stokes drift from a NetCDF file using the data_override procedures. :param day_center: [in] Center of timestep :param cs: Wave structure :param g: [inout] Grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :callto: :f:func:`dataoverrideisinitialized ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`numbands ` :callto: :f:func:`partitionmode ` :callto: :f:func:`pi ` :callto: :f:func:`surfbandfilename ` :callto: :f:func:`mom_domains::to_all ` :calledfrom: :f:func:`update_surface_waves ` .. f:subroutine:: subroutine get_langmuir_number(LA, G, GV, US, HBL, ustar, i, j, H, U_H, V_H, Override_MA, Waves) Interface to get Langmuir number based on options stored in wave structure. Note this can be called with an unallocated Waves pointer, which is okay if we want the wind-speed only dependent Langmuir number. Therefore, we need to be careful about what we try to access here. :param g: [in] Ocean grid structure :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param i: [in] Meridional index of h-point :param j: [in] Zonal index of h-point :param ustar: [in] Friction velocity [Z T-1 ~> m s-1]. :param hbl: [in] (Positive) thickness of boundary layer [Z ~> m]. :param override_ma: [in] Override to use misalignment in LA calculation. This can be used if diagnostic LA outputs are desired that are different than those used by the dynamical model. :param h: [in] Grid layer thickness [H ~> m or kg m-2] :param u_h: [in] Zonal velocity at H point [m s-1] :param v_h: [in] Meridional velocity at H point [m s-1] :param waves: Surface wave control structure. :param la: [out] Langmuir number :callto: :f:func:`dhh85 ` :callto: :f:func:`get_sl_average_band ` :callto: :f:func:`get_sl_average_prof ` :callto: :f:func:`get_stokessl_lifoxkemper ` :callto: :f:func:`la_frachbl ` :callto: :f:func:`la_misalignment ` :callto: :f:func:`lf17 ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`null_wavemethod ` :callto: :f:func:`numbands ` :callto: :f:func:`surfbands ` :callto: :f:func:`testprof ` :callto: :f:func:`wavemethod ` :calledfrom: :f:func:`mom_energetic_pbl::epbl_column ` :calledfrom: :f:func:`mom_cvmix_kpp::kpp_compute_bld ` :calledfrom: :f:func:`update_stokes_drift ` .. f:subroutine:: subroutine get_stokessl_lifoxkemper(ustar, hbl, GV, US, UStokes_SL, LA) Get SL averaged Stokes drift from Li/FK 17 method. Original description: * This function returns the enhancement factor, given the 10-meter wind [m s-1], friction velocity [m s-1] and the boundary layer depth [m]. Update (Jan/25): * Converted from function to subroutine, now returns Langmuir number. * Computs 10m wind internally, so only ustar and hbl need passed to subroutine. Qing Li, 160606 * BGR port from CVMix to MOM6 Jan/25/2017 * BGR change output to LA from Efactor * BGR remove u10 input * BGR note: fixed parameter values should be changed to "get_params" :param ustar: [in] water-side surface friction velocity [Z T-1 ~> m s-1]. :param hbl: [in] boundary layer depth [Z ~> m]. :param gv: [in] Ocean vertical grid structure :param us: [in] A dimensional unit scaling type :param ustokes_sl: [out] Surface layer averaged Stokes drift [m s-1] :param la: [out] Langmuir number :callto: :f:func:`pi ` :callto: :f:func:`ust_2_u10_coare3p5 ` :calledfrom: :f:func:`get_langmuir_number ` .. f:subroutine:: subroutine get_sl_average_prof(GV, AvgDepth, H, Profile, Average) Get SL Averaged Stokes drift from a Stokes drift Profile. :param gv: [in] Ocean vertical grid structure :param avgdepth: [in] Depth to average over (negative) [Z ~> m]. :param h: [in] Grid thickness [H ~> m or kg m-2] :param profile: [in] Profile of quantity to be averaged [arbitrary] :param average: [out] Output quantity averaged over depth AvgDepth [arbitrary] (used here for Stokes drift) :calledfrom: :f:func:`get_langmuir_number ` .. f:subroutine:: subroutine get_sl_average_band(GV, AvgDepth, NB, WaveNumbers, SurfStokes, Average) Get SL averaged Stokes drift from the banded Spectrum method. :param gv: [in] Ocean vertical grid :param avgdepth: [in] Depth to average over [Z ~> m]. :param nb: [in] Number of bands used :param wavenumbers: [in] Wavenumber corresponding to each band [Z-1 ~> m-1] :param surfstokes: [in] Surface Stokes drift for each band [m s-1] :param average: [out] Output average Stokes drift over depth AvgDepth [m s-1] :calledfrom: :f:func:`get_langmuir_number ` .. f:subroutine:: subroutine dhh85_mid(GV, US, zpt, UStokes) Compute the Stokes drift at a given depth. Taken from Qing Li (Brown) use for comparing MOM6 simulation to his LES computed at z mid point (I think) and not depth averaged. Should be fine to integrate in frequency from 0.1 to sqrt(-0.2*grav*2pi/dz :param gv: [in] Ocean vertical grid :param us: [in] A dimensional unit scaling type :param zpt: [in] Depth to get Stokes drift [Z ~> m]. :param ustokes: [out] Stokes drift [m s-1] :callto: :f:func:`pi ` :callto: :f:func:`waveage ` :callto: :f:func:`waveagepeakfreq ` :callto: :f:func:`wavewind ` :calledfrom: :f:func:`update_stokes_drift ` .. f:subroutine:: subroutine stokesmixing(G, GV, dt, h, u, v, Waves) Explicit solver for Stokes mixing. Still in development do not use. :param g: [in] Ocean grid :param gv: [in] Ocean vertical grid :param dt: [in] Time step of MOM6 [T ~> s] for explicit solver :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param u: [inout] Velocity i-component [m s-1] :param v: [inout] Velocity j-component [m s-1] :param waves: Surface wave related control structure. .. f:subroutine:: subroutine coriolisstokes(G, GV, DT, h, u, v, WAVES, US) Solver to add Coriolis-Stokes to model Still in development and not meant for general use. Can be activated (with code intervention) for LES comparison CHECK THAT RIGHT TIMESTEP IS PASSED IF YOU USE THIS**. Not accessed in the standard code. :param g: [in] Ocean grid :param gv: [in] Ocean vertical grid :param dt: [in] Time step of MOM6 [s] CHECK IF PASSING RIGHT TIMESTEP :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param u: [inout] Velocity i-component [m s-1] :param v: [inout] Velocity j-component [m s-1] :param waves: Surface wave related control structure. :param us: [in] A dimensional unit scaling type .. f:subroutine:: subroutine ust_2_u10_coare3p5(USTair, U10, GV, US) Computes wind speed from ustar_air based on COARE 3.5 Cd relationship Probably doesn't belong in this module, but it is used here to estimate wind speed for wind-wave relationships. Should be a fine way to estimate the neutral wind-speed as written here. :param ustair: [in] Wind friction velocity [m s-1] :param u10: [out] 10-m neutral wind speed [m s-1] :param gv: [in] vertical grid type :param us: [in] A dimensional unit scaling type :calledfrom: :f:func:`get_stokessl_lifoxkemper ` .. f:subroutine:: subroutine waves_end(CS) Clear pointers, deallocate memory. :param cs: Control structure [debug] xpath(./compounddef/compoundname[text()="mom_wave_interface::wave_parameters_cs"]/..) match([('id', 'structmom__wave__interface_1_1wave__parameters__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_interface::wave_parameters_cs', , {} [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_interface::wave_parameters_cs', , {} [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_interface::wave_parameters_cs', , {} [debug] DoxygenMethodDocumenter format_signature called ((time, G, GV, US, param_file, CS, diag)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::mom_wave_interface_init', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::mom_wave_interface_init', , [debug] DoxygenMethodDocumenter format_signature called ((param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::mom_wave_interface_init_lite', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::update_surface_waves', , {} [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, CS, h, ustar)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::update_stokes_drift', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::update_stokes_drift', , {}, [debug] DoxygenMethodDocumenter format_signature called ((day_center, G, GV, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::surface_bands_by_data_override', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::get_langmuir_number', , {}, [debug] DoxygenMethodDocumenter format_signature called ((ustar, hbl, GV, US, UStokes_SL, LA)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::get_stokessl_lifoxkemper', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::get_stokessl_lifoxkemper', [debug] DoxygenMethodDocumenter format_signature called ((GV, AvgDepth, H, Profile, Average)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::get_sl_average_prof', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::get_sl_average_prof', , {}, [debug] DoxygenMethodDocumenter format_signature called ((GV, AvgDepth, NB, WaveNumbers, SurfStokes, Average)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::get_sl_average_band', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::get_sl_average_band', , {}, [debug] DoxygenMethodDocumenter format_signature called ((GV, US, zpt, UStokes)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::dhh85_mid', , {}, ['', 'Com [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::dhh85_mid', , {}, ['', 'Com [debug] DoxygenMethodDocumenter format_signature called ((G, GV, dt, h, u, v, Waves)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::stokesmixing', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::stokesmixing', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((G, GV, DT, h, u, v, WAVES, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::coriolisstokes', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::coriolisstokes', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((USTair, U10, GV, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::ust_2_u10_coare3p5', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::ust_2_u10_coare3p5', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::waves_end', , {}, ['', 'Cle [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_interface::waves_end', , {}, ['', 'Cle [fd] run(.. f:type:: wave_parameters_cs) [fd] sig(wave_parameters_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(wave_parameters_cs) arglist(None) [fd] fullname(mom_wave_interface/wave_parameters_cs) ftype(None) [fd] name(('mom_wave_interface/wave_parameters_cs', None)) sig(wave_parameters_cs) signode(type mom_wave_interface/wave_parameters_cs) [fd] run(.. f:subroutine:: subroutine mom_wave_interface_init(time, G, GV, US, param_file, CS, diag)) [fd] sig(subroutine mom_wave_interface_init(time, G, GV, US, param_file, CS, diag)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_wave_interface_init) arglist(time, G, GV, US, param_file, CS, diag) [fd] fullname(mom_wave_interface/mom_wave_interface_init) ftype(None) [fd] name(('mom_wave_interface/mom_wave_interface_init', None)) sig(subroutine mom_wave_interface_init(time, G, GV, US, param_file, CS, diag)) signode(subroutine mom_wave_interface/mom_wave_interface_inittimeGGVUSparam_fileCSdiag) [fd] run(.. f:subroutine:: subroutine mom_wave_interface_init_lite(param_file)) [fd] sig(subroutine mom_wave_interface_init_lite(param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_wave_interface_init_lite) arglist(param_file) [fd] fullname(mom_wave_interface/mom_wave_interface_init_lite) ftype(None) [fd] name(('mom_wave_interface/mom_wave_interface_init_lite', None)) sig(subroutine mom_wave_interface_init_lite(param_file)) signode(subroutine mom_wave_interface/mom_wave_interface_init_liteparam_file) [fd] run(.. f:subroutine:: subroutine update_surface_waves(G, GV, US, Day, dt, CS)) [fd] sig(subroutine update_surface_waves(G, GV, US, Day, dt, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_surface_waves) arglist(G, GV, US, Day, dt, CS) [fd] fullname(mom_wave_interface/update_surface_waves) ftype(None) [fd] name(('mom_wave_interface/update_surface_waves', None)) sig(subroutine update_surface_waves(G, GV, US, Day, dt, CS)) signode(subroutine mom_wave_interface/update_surface_wavesGGVUSDaydtCS) [fd] run(.. f:subroutine:: subroutine update_stokes_drift(G, GV, US, CS, h, ustar)) [fd] sig(subroutine update_stokes_drift(G, GV, US, CS, h, ustar)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_stokes_drift) arglist(G, GV, US, CS, h, ustar) [fd] fullname(mom_wave_interface/update_stokes_drift) ftype(None) [fd] name(('mom_wave_interface/update_stokes_drift', None)) sig(subroutine update_stokes_drift(G, GV, US, CS, h, ustar)) signode(subroutine mom_wave_interface/update_stokes_driftGGVUSCShustar) [fd] run(.. f:subroutine:: subroutine surface_bands_by_data_override(day_center, G, GV, US, CS)) [fd] sig(subroutine surface_bands_by_data_override(day_center, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(surface_bands_by_data_override) arglist(day_center, G, GV, US, CS) [fd] fullname(mom_wave_interface/surface_bands_by_data_override) ftype(None) [fd] name(('mom_wave_interface/surface_bands_by_data_override', None)) sig(subroutine surface_bands_by_data_override(day_center, G, GV, US, CS)) signode(subroutine mom_wave_interface/surface_bands_by_data_overrideday_centerGGVUSCS) [fd] run(.. f:subroutine:: subroutine get_langmuir_number(LA, G, GV, US, HBL, ustar, i, j, H, U_H, V_H, Override_MA, Waves)) [fd] sig(subroutine get_langmuir_number(LA, G, GV, US, HBL, ustar, i, j, H, U_H, V_H, Override_MA, Waves)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_langmuir_number) arglist(LA, G, GV, US, HBL, ustar, i, j, H, U_H, V_H, Override_MA, Waves) [fd] fullname(mom_wave_interface/get_langmuir_number) ftype(None) [fd] name(('mom_wave_interface/get_langmuir_number', None)) sig(subroutine get_langmuir_number(LA, G, GV, US, HBL, ustar, i, j, H, U_H, V_H, Override_MA, Waves)) signode(subroutine mom_wave_interface/get_langmuir_numberLAGGVUSHBLustarijHU_HV_HOverride_MAWaves) [fd] run(.. f:subroutine:: subroutine get_stokessl_lifoxkemper(ustar, hbl, GV, US, UStokes_SL, LA)) [fd] sig(subroutine get_stokessl_lifoxkemper(ustar, hbl, GV, US, UStokes_SL, LA)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_stokessl_lifoxkemper) arglist(ustar, hbl, GV, US, UStokes_SL, LA) [fd] fullname(mom_wave_interface/get_stokessl_lifoxkemper) ftype(None) [fd] name(('mom_wave_interface/get_stokessl_lifoxkemper', None)) sig(subroutine get_stokessl_lifoxkemper(ustar, hbl, GV, US, UStokes_SL, LA)) signode(subroutine mom_wave_interface/get_stokessl_lifoxkemperustarhblGVUSUStokes_SLLA) [fd] run(.. f:subroutine:: subroutine get_sl_average_prof(GV, AvgDepth, H, Profile, Average)) [fd] sig(subroutine get_sl_average_prof(GV, AvgDepth, H, Profile, Average)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_sl_average_prof) arglist(GV, AvgDepth, H, Profile, Average) [fd] fullname(mom_wave_interface/get_sl_average_prof) ftype(None) [fd] name(('mom_wave_interface/get_sl_average_prof', None)) sig(subroutine get_sl_average_prof(GV, AvgDepth, H, Profile, Average)) signode(subroutine mom_wave_interface/get_sl_average_profGVAvgDepthHProfileAverage) [fd] run(.. f:subroutine:: subroutine get_sl_average_band(GV, AvgDepth, NB, WaveNumbers, SurfStokes, Average)) [fd] sig(subroutine get_sl_average_band(GV, AvgDepth, NB, WaveNumbers, SurfStokes, Average)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_sl_average_band) arglist(GV, AvgDepth, NB, WaveNumbers, SurfStokes, Average) [fd] fullname(mom_wave_interface/get_sl_average_band) ftype(None) [fd] name(('mom_wave_interface/get_sl_average_band', None)) sig(subroutine get_sl_average_band(GV, AvgDepth, NB, WaveNumbers, SurfStokes, Average)) signode(subroutine mom_wave_interface/get_sl_average_bandGVAvgDepthNBWaveNumbersSurfStokesAverage) [fd] run(.. f:subroutine:: subroutine dhh85_mid(GV, US, zpt, UStokes)) [fd] sig(subroutine dhh85_mid(GV, US, zpt, UStokes)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dhh85_mid) arglist(GV, US, zpt, UStokes) [fd] fullname(mom_wave_interface/dhh85_mid) ftype(None) [fd] name(('mom_wave_interface/dhh85_mid', None)) sig(subroutine dhh85_mid(GV, US, zpt, UStokes)) signode(subroutine mom_wave_interface/dhh85_midGVUSzptUStokes) [fd] run(.. f:subroutine:: subroutine stokesmixing(G, GV, dt, h, u, v, Waves)) [fd] sig(subroutine stokesmixing(G, GV, dt, h, u, v, Waves)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(stokesmixing) arglist(G, GV, dt, h, u, v, Waves) [fd] fullname(mom_wave_interface/stokesmixing) ftype(None) [fd] name(('mom_wave_interface/stokesmixing', None)) sig(subroutine stokesmixing(G, GV, dt, h, u, v, Waves)) signode(subroutine mom_wave_interface/stokesmixingGGVdthuvWaves) [fd] run(.. f:subroutine:: subroutine coriolisstokes(G, GV, DT, h, u, v, WAVES, US)) [fd] sig(subroutine coriolisstokes(G, GV, DT, h, u, v, WAVES, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(coriolisstokes) arglist(G, GV, DT, h, u, v, WAVES, US) [fd] fullname(mom_wave_interface/coriolisstokes) ftype(None) [fd] name(('mom_wave_interface/coriolisstokes', None)) sig(subroutine coriolisstokes(G, GV, DT, h, u, v, WAVES, US)) signode(subroutine mom_wave_interface/coriolisstokesGGVDThuvWAVESUS) [fd] run(.. f:subroutine:: subroutine ust_2_u10_coare3p5(USTair, U10, GV, US)) [fd] sig(subroutine ust_2_u10_coare3p5(USTair, U10, GV, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ust_2_u10_coare3p5) arglist(USTair, U10, GV, US) [fd] fullname(mom_wave_interface/ust_2_u10_coare3p5) ftype(None) [fd] name(('mom_wave_interface/ust_2_u10_coare3p5', None)) sig(subroutine ust_2_u10_coare3p5(USTair, U10, GV, US)) signode(subroutine mom_wave_interface/ust_2_u10_coare3p5USTairU10GVUS) [fd] run(.. f:subroutine:: subroutine waves_end(CS)) [fd] sig(subroutine waves_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(waves_end) arglist(CS) [fd] fullname(mom_wave_interface/waves_end) ftype(None) [fd] name(('mom_wave_interface/waves_end', None)) sig(subroutine waves_end(CS)) signode(subroutine mom_wave_interface/waves_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 63%] api/generated/modules/mom_wave_speed [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_wave_spe [app] emitting event: 'source-read'('api/generated/modules/mom_wave_speed', ['.. autodoxymodule:: mom_wave_speed\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_wave_speed.rst:1: input: .. autodoxymodule:: mom_wave_speed :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_wave_speed::wave_speed_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_wave_speed::wave_speed ~mom_wave_speed::tdma6 ~mom_wave_speed::wave_speeds ~mom_wave_speed::tridiag_det ~mom_wave_speed::wave_speed_init ~mom_wave_speed::wave_speed_set_param [debug] xpath(./compounddef/compoundname[text()="mom_wave_speed"]/..) match([('id', 'namespacemom__wave__speed'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_wave_speed module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_speed', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_wave_speed' (exception was: ModuleNotFoundError("No module named 'mom_wave_speed'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_wave_speed::wave_speed_cs', , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_speed::wave_speed_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_speed::wave_speed_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_speed::wave_speed_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_speed::wave_speed_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_speed::wave_speed_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_speed::wave_speed_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_speed::wave_speed_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_speed::wave_speed_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_speed::wave_speed_cs', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_speed::wave_speed_cs', , {'members': < [debug] members([('wave_speed', ), ('tdma6', ), ('wave_speeds', ), ('tridiag_det', ), ('wave_speed_init', ), ('wave_speed_set_param', )]) [autodoc] module analyzer failed: error importing 'mom_wave_speed' (exception was: ModuleNotFoundError("No module named 'mom_wave_speed'")) [debug] DoxygenMethodDocumenter format_signature called ((h, tv, G, GV, US, cg1, CS, full_halos, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, modal_structure, better_speed_est, min_speed, wave_speed_tol)) [debug] add_directive_header sig((h, tv, G, GV, US, cg1, CS, full_halos, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, modal_structure, better_speed_est, min_speed, wave_speed_tol)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine wave_speed) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'wave_speed', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_wave_speed::wave_speed_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_wave_speed::wave_speed ~mom_wave_speed::tdma6 ~mom_wave_speed::wave_speeds ~mom_wave_speed::tridiag_det ~mom_wave_speed::wave_speed_init ~mom_wave_speed::wave_speed_set_param .. _DETAmom_wave_speed: -------------------- Detailed Description -------------------- Routines for calculating baroclinic wave speeds. ------------------ Type Documentation ------------------ .. f:type:: wave_speed_cs Control structure for MOM_wave_speed. :typefield logical use_ebt_mode: If true, calculate the equivalent barotropic wave speed instead of the first baroclinic wave speed. This parameter controls the default behavior of :typefield logical better_cg1_est: If true, use an improved estimate of the first mode internal wave speed. :typefield real mono_n2_column_fraction: The lower fraction of water column over which N2 is limited as monotonic for the purposes of calculating the equivalent barotropic wave speed. This parameter controls the default behavior of :typefield real mono_n2_depth: The depth below which N2 is limited as monotonic for the purposes of calculating the equivalent barotropic wave speed [Z ~> m]. This parameter controls the default behavior of :typefield real min_speed2: The minimum mode 1 internal wave speed squared [L2 T-2 ~> m2 s-2]. :typefield real wave_speed_tol: The fractional tolerance with which to solve for the wave speeds [nondim]. :typefield type(remapping_cs) remapping_cs: Used for vertical remapping when calculating equivalent barotropic mode structure. :typefield logical remap_answers_2018: If true, use the order of arithmetic and expressions that recover the remapping answers from 2018. If false, use more robust forms of the same remapping expressions. :typefield type(diag_ctrl) diag [pointer]: Diagnostics control structure. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine wave_speed(h, tv, G, GV, US, cg1, CS, full_halos, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, modal_structure, better_speed_est, min_speed, wave_speed_tol) Calculates the wave speed of the first baroclinic mode. :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thickness [H ~> m or kg m-2] :param tv: [in] Thermodynamic variables :param cg1: [out] First mode internal wave speed [L T-1 ~> m s-1] :param cs: Control structure for MOM_wave_speed :param full_halos: [in] If true, do the calculation over the entire computational domain. :param use_ebt_mode: [in] If true, use the equivalent barotropic mode instead of the first baroclinic mode. :param mono_n2_column_fraction: [in] The lower fraction of water column over which N2 is limited as monotonic for the purposes of calculating vertical modal structure. :param mono_n2_depth: [in] A depth below which N2 is limited as monotonic for the purposes of calculating vertical modal structure [Z ~> m]. :param modal_structure: [out] Normalized model structure [nondim] :param better_speed_est: [in] If true, use a more robust estimate of the first mode speed as the starting point for iterations. :param min_speed: [in] If present, set a floor in the first mode speed below which 0 is returned [L T-1 ~> m s-1]. :param wave_speed_tol: [in] The fractional tolerance for finding the wave speeds [nondim] :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_remapping::remapping_core_h ` :callto: :f:func:`tdma6 ` :callto: :f:func:`tridiag_det ` :calledfrom: :f:func:`mom_lateral_mixing_coeffs::calc_resoln_function ` :calledfrom: :f:func:`mom_diagnostics::calculate_diagnostic_fields ` .. f:subroutine:: subroutine tdma6(n, a, c, lam, y) Solve a non-symmetric tridiagonal problem with the sum of the upper and lower diagnonals minus a scalar contribution as the leading diagonal. This uses the Thomas algorithm rather than the Hallberg algorithm since the matrix is not symmetric. :param n: [in] Number of rows of matrix :param a: [in] Lower diagonal [T2 L-2 ~> s2 m-2] :param c: [in] Upper diagonal [T2 L-2 ~> s2 m-2] :param lam: [in] Scalar subtracted from leading diagonal [T2 L-2 ~> s2 m-2] :param y: [inout] RHS on entry, result on exit :calledfrom: :f:func:`wave_speed ` .. f:subroutine:: subroutine wave_speeds(h, tv, G, GV, US, nmodes, cn, CS, full_halos, better_speed_est, min_speed, wave_speed_tol) Calculates the wave speeds for the first few barolinic modes. :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thickness [H ~> m or kg m-2] :param tv: [in] Thermodynamic variables :param nmodes: [in] Number of modes :param cn: [out] Waves speeds [L T-1 ~> m s-1] :param cs: Control structure for MOM_wave_speed :param full_halos: [in] If true, do the calculation over the entire computational domain. :param better_speed_est: [in] If true, use a more robust estimate of the first mode speed as the starting point for iterations. :param min_speed: [in] If present, set a floor in the first mode speed below which 0 is returned [L T-1 ~> m s-1]. :param wave_speed_tol: [in] The fractional tolerance for finding the wave speeds [nondim] :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`tridiag_det ` :calledfrom: :f:func:`mom_diabatic_driver::diabatic ` .. f:subroutine:: subroutine tridiag_det(a, c, ks, ke, lam, det, ddet, row_scale) Calculate the determinant of a tridiagonal matrix with diagonals a,b-lam,c and its derivative with lam, where lam is constant across rows. Only the ratio of det to its derivative and their signs are typically used, so internal rescaling by consistent factors are used to avoid over- or underflow. :param a: [in] Lower diagonal of matrix (first entry unused) :param c: [in] Upper diagonal of matrix (last entry unused) :param ks: [in] Starting index to use in determinant :param ke: [in] Ending index to use in determinant :param lam: [in] Value subtracted from b :param det: [out] Determinant :param ddet: [out] Derivative of determinant with lam :param row_scale: [in] A scaling factor of the rows of the matrix to limit the growth of the determinant :calledfrom: :f:func:`wave_speed ` :calledfrom: :f:func:`wave_speeds ` .. f:subroutine:: subroutine wave_speed_init(CS, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, remap_answers_2018, better_speed_est, min_speed, wave_speed_tol) Initialize control structure for MOM_wave_speed. :param cs: Control structure for MOM_wave_speed :param use_ebt_mode: [in] If true, use the equivalent barotropic mode instead of the first baroclinic mode. :param mono_n2_column_fraction: [in] The lower fraction of water column over which N2 is limited as monotonic for the purposes of calculating the vertical modal structure. :param mono_n2_depth: [in] The depth below which N2 is limited as monotonic for the purposes of calculating the vertical modal structure [Z ~> m]. :param remap_answers_2018: [in] If true, use the order of arithmetic and expressions that recover the remapping answers from 2018. Otherwise use more robust but mathematically equivalent expressions. :param better_speed_est: [in] If true, use a more robust estimate of the first mode speed as the starting point for iterations. :param min_speed: [in] If present, set a floor in the first mode speed below which 0 is returned [L T-1 ~> m s-1]. :param wave_speed_tol: [in] The fractional tolerance for finding the wave speeds [nondim] :callto: :f:func:`mom_remapping::initialize_remapping ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`wave_speed_set_param ` :calledfrom: :f:func:`mom_diagnostics::mom_diagnostics_init ` :calledfrom: :f:func:`mom_lateral_mixing_coeffs::varmix_init ` .. f:subroutine:: subroutine wave_speed_set_param(CS, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, remap_answers_2018, better_speed_est, min_speed, wave_speed_tol) Sets internal parameters for MOM_wave_speed. :param cs: Control structure for MOM_wave_speed :param use_ebt_mode: [in] If true, use the equivalent barotropic mode instead of the first baroclinic mode. :param mono_n2_column_fraction: [in] The lower fraction of water column over which N2 is limited as monotonic for the purposes of calculating the vertical modal structure. :param mono_n2_depth: [in] The depth below which N2 is limited as monotonic for the purposes of calculating the vertical modal structure [Z ~> m]. :param remap_answers_2018: [in] If true, use the order of arithmetic and expressions that recover the remapping answers from 2018. Otherwise use more robust but mathematically equivalent expressions. :param better_speed_est: [in] If true, use a more robust estimate of the first mode speed as the starting point for iterations. :param min_speed: [in] If present, set a floor in the first mode speed below which 0 is returned [L T-1 ~> m s-1]. :param wave_speed_tol: [in] The fractional tolerance for finding the wave speeds [nondim] :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`wave_speed_init ` [debug] xpath(./compounddef/compoundname[text()="mom_wave_speed::wave_speed_cs"]/..) match([('id', 'structmom__wave__speed_1_1wave__speed__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_speed::wave_speed_cs', , {}, ['', 'C [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_speed::wave_speed_cs', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_speed::wave_speed_cs', , {}, ['', 'C [debug] DoxygenMethodDocumenter format_signature called ((h, tv, G, GV, US, cg1, CS, full_halos, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, modal_structure, better_speed_est, min_speed, wave_speed_tol)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_speed::wave_speed', , {}, ['', 'Calcul [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_speed::wave_speed', , {}, ['', 'Calcul [debug] DoxygenMethodDocumenter format_signature called ((n, a, c, lam, y)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_speed::tdma6', , {}, ['', 'Solve a non [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_speed::tdma6', , {}, ['', 'Solve a non [debug] DoxygenMethodDocumenter format_signature called ((h, tv, G, GV, US, nmodes, cn, CS, full_halos, better_speed_est, min_speed, wave_speed_tol)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_speed::wave_speeds', , {}, ['', 'Calcu [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_speed::wave_speeds', , {}, ['', 'Calcu [debug] DoxygenMethodDocumenter format_signature called ((a, c, ks, ke, lam, det, ddet, row_scale)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_speed::tridiag_det', , {}, ['', 'Calcu [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_speed::tridiag_det', , {}, ['', 'Calcu [debug] DoxygenMethodDocumenter format_signature called ((CS, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, remap_answers_2018, better_speed_est, min_speed, wave_speed_tol)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_speed::wave_speed_init', , {}, ['', 'I [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_speed::wave_speed_init', , {}, ['', 'I [debug] DoxygenMethodDocumenter format_signature called ((CS, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, remap_answers_2018, better_speed_est, min_speed, wave_speed_tol)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_speed::wave_speed_set_param', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_speed::wave_speed_set_param', , {}, [' [fd] run(.. f:type:: wave_speed_cs) [fd] sig(wave_speed_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(wave_speed_cs) arglist(None) [fd] fullname(mom_wave_speed/wave_speed_cs) ftype(None) [fd] name(('mom_wave_speed/wave_speed_cs', None)) sig(wave_speed_cs) signode(type mom_wave_speed/wave_speed_cs) [fd] run(.. f:subroutine:: subroutine wave_speed(h, tv, G, GV, US, cg1, CS, full_halos, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, modal_structure, better_speed_est, min_speed, wave_speed_tol)) [fd] sig(subroutine wave_speed(h, tv, G, GV, US, cg1, CS, full_halos, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, modal_structure, better_speed_est, min_speed, wave_speed_tol)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(wave_speed) arglist(h, tv, G, GV, US, cg1, CS, full_halos, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, modal_structure, better_speed_est, min_speed, wave_speed_tol) [fd] fullname(mom_wave_speed/wave_speed) ftype(None) [fd] name(('mom_wave_speed/wave_speed', None)) sig(subroutine wave_speed(h, tv, G, GV, US, cg1, CS, full_halos, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, modal_structure, better_speed_est, min_speed, wave_speed_tol)) signode(subroutine mom_wave_speed/wave_speedhtvGGVUScg1CSfull_halosuse_ebt_modemono_N2_column_fractionmono_N2_depthmodal_structurebetter_speed_estmin_speedwave_speed_tol) [fd] run(.. f:subroutine:: subroutine tdma6(n, a, c, lam, y)) [fd] sig(subroutine tdma6(n, a, c, lam, y)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tdma6) arglist(n, a, c, lam, y) [fd] fullname(mom_wave_speed/tdma6) ftype(None) [fd] name(('mom_wave_speed/tdma6', None)) sig(subroutine tdma6(n, a, c, lam, y)) signode(subroutine mom_wave_speed/tdma6naclamy) [fd] run(.. f:subroutine:: subroutine wave_speeds(h, tv, G, GV, US, nmodes, cn, CS, full_halos, better_speed_est, min_speed, wave_speed_tol)) [fd] sig(subroutine wave_speeds(h, tv, G, GV, US, nmodes, cn, CS, full_halos, better_speed_est, min_speed, wave_speed_tol)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(wave_speeds) arglist(h, tv, G, GV, US, nmodes, cn, CS, full_halos, better_speed_est, min_speed, wave_speed_tol) [fd] fullname(mom_wave_speed/wave_speeds) ftype(None) [fd] name(('mom_wave_speed/wave_speeds', None)) sig(subroutine wave_speeds(h, tv, G, GV, US, nmodes, cn, CS, full_halos, better_speed_est, min_speed, wave_speed_tol)) signode(subroutine mom_wave_speed/wave_speedshtvGGVUSnmodescnCSfull_halosbetter_speed_estmin_speedwave_speed_tol) [fd] run(.. f:subroutine:: subroutine tridiag_det(a, c, ks, ke, lam, det, ddet, row_scale)) [fd] sig(subroutine tridiag_det(a, c, ks, ke, lam, det, ddet, row_scale)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tridiag_det) arglist(a, c, ks, ke, lam, det, ddet, row_scale) [fd] fullname(mom_wave_speed/tridiag_det) ftype(None) [fd] name(('mom_wave_speed/tridiag_det', None)) sig(subroutine tridiag_det(a, c, ks, ke, lam, det, ddet, row_scale)) signode(subroutine mom_wave_speed/tridiag_detackskelamdetddetrow_scale) [fd] run(.. f:subroutine:: subroutine wave_speed_init(CS, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, remap_answers_2018, better_speed_est, min_speed, wave_speed_tol)) [fd] sig(subroutine wave_speed_init(CS, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, remap_answers_2018, better_speed_est, min_speed, wave_speed_tol)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(wave_speed_init) arglist(CS, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, remap_answers_2018, better_speed_est, min_speed, wave_speed_tol) [fd] fullname(mom_wave_speed/wave_speed_init) ftype(None) [fd] name(('mom_wave_speed/wave_speed_init', None)) sig(subroutine wave_speed_init(CS, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, remap_answers_2018, better_speed_est, min_speed, wave_speed_tol)) signode(subroutine mom_wave_speed/wave_speed_initCSuse_ebt_modemono_N2_column_fractionmono_N2_depthremap_answers_2018better_speed_estmin_speedwave_speed_tol) [fd] run(.. f:subroutine:: subroutine wave_speed_set_param(CS, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, remap_answers_2018, better_speed_est, min_speed, wave_speed_tol)) [fd] sig(subroutine wave_speed_set_param(CS, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, remap_answers_2018, better_speed_est, min_speed, wave_speed_tol)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(wave_speed_set_param) arglist(CS, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, remap_answers_2018, better_speed_est, min_speed, wave_speed_tol) [fd] fullname(mom_wave_speed/wave_speed_set_param) ftype(None) [fd] name(('mom_wave_speed/wave_speed_set_param', None)) sig(subroutine wave_speed_set_param(CS, use_ebt_mode, mono_N2_column_fraction, mono_N2_depth, remap_answers_2018, better_speed_est, min_speed, wave_speed_tol)) signode(subroutine mom_wave_speed/wave_speed_set_paramCSuse_ebt_modemono_N2_column_fractionmono_N2_depthremap_answers_2018better_speed_estmin_speedwave_speed_tol) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 63%] api/generated/modules/mom_wave_structure [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_wave_str [app] emitting event: 'source-read'('api/generated/modules/mom_wave_structure', ['.. autodoxymodule:: mom_wave_structure\n :members:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_wave_structure.rst:1: input: .. autodoxymodule:: mom_wave_structure :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_wave_structure::wave_structure_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_wave_structure::wave_structure ~mom_wave_structure::tridiag_solver ~mom_wave_structure::wave_structure_init [debug] xpath(./compounddef/compoundname[text()="mom_wave_structure"]/..) match([('id', 'namespacemom__wave__structure'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_wave_structure module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_structure', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_wave_structure' (exception was: ModuleNotFoundError("No module named 'mom_wave_structure'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_wave_structure::wave_structure_cs', , {'mem [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_structure::wave_structure_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_structure::wave_structure_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_structure::wave_structure_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_structure::wave_structure_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_structure::wave_structure_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_structure::wave_structure_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_structure::wave_structure_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_structure::wave_structure_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_structure::wave_structure_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_structure::wave_structure_cs', , {'mem [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_wave_structure::wave_structure_cs', , {'mem [debug] members([('wave_structure', ), ('tridiag_solver', ), ('wave_structure_init', )]) [autodoc] module analyzer failed: error importing 'mom_wave_structure' (exception was: ModuleNotFoundError("No module named 'mom_wave_structure'")) [debug] DoxygenMethodDocumenter format_signature called ((h, tv, G, GV, US, cn, ModeNum, freq, CS, En, full_halos)) [debug] add_directive_header sig((h, tv, G, GV, US, cn, ModeNum, freq, CS, En, full_halos)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine wave_structure) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'wave_structure', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_wave_structure::wave_structure_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_wave_structure::wave_structure ~mom_wave_structure::tridiag_solver ~mom_wave_structure::wave_structure_init .. _DETAmom_wave_structure: -------------------- Detailed Description -------------------- Vertical structure functions for first baroclinic mode wave speed. ------------------ Type Documentation ------------------ .. f:type:: wave_structure_cs The control structure for the MOM_wave_structure module. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield real(\:,\:,\:) w_strct [allocatable]: Vertical structure of vertical velocity (normalized) [m s-1]. :typefield real(\:,\:,\:) u_strct [allocatable]: Vertical structure of horizontal velocity (normalized) [m s-1]. :typefield real(\:,\:,\:) w_profile [allocatable]: Vertical profile of w_hat(z), where w(x,y,z,t) = w_hat(z)*exp(i(kx+ly-freq*t)) is the full time- varying vertical velocity with w_hat(z) = W0*w_strct(z) [Z T-1 ~> m s-1]. :typefield real(\:,\:,\:) uavg_profile [allocatable]: Vertical profile of the magnitude of horizontal velocity, (u^2+v^2)^0.5, averaged over a period [L T-1 ~> m s-1]. :typefield real(\:,\:,\:) z_depths [allocatable]: Depths of layer interfaces [m]. :typefield real(\:,\:,\:) n2 [allocatable]: Squared buoyancy frequency at each interface [s-2]. :typefield integer(\:,\:) num_intfaces [allocatable]: Number of layer interfaces (including surface and bottom) :typefield real int_tide_source_x: X Location of generation site for internal tide for testing (BDM) :typefield real int_tide_source_y: Y Location of generation site for internal tide for testing (BDM) --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine wave_structure(h, tv, G, GV, US, cn, ModeNum, freq, CS, En, full_halos) This subroutine determines the internal wave velocity structure for any mode. This subroutine solves for the eigen vector [vertical structure, e(k)] associated with the first baroclinic mode speed [i.e., smallest eigen value (lam = 1/c^2)] of the system d2e/dz2 = -(N2/cn2)e, or (A-lam*I)e = 0, where A = -(1/N2)(d2/dz2), lam = 1/c^2, and I is the identity matrix. 2nd order discretization in the vertical lets this system be represented as -Igu(k)*e(k-1) + (Igu(k)+Igl(k)-lam)*e(k) - Igl(k)*e(k+1) = 0.0 with rigid lid boundary conditions e(1) = e(nz+1) = 0.0 giving (Igu(2)+Igl(2)-lam)*e(2) - Igl(2)*e(3) = 0.0 -Igu(nz)*e(nz-1) + (Igu(nz)+Igl(nz)-lam)*e(nz) = 0.0 where, upon noting N2 = reduced gravity/layer thickness, we get Igl(k) = 1.0/(gprime(k)*H(k)) ; Igu(k) = 1.0/(gprime(k)*H(k-1)) The eigen value for this system is approximated using "wave_speed." This subroutine uses these eigen values (mode speeds) to estimate the corresponding eigen vectors (velocity structure) using the "inverse iteration with shift" method. The algorithm is Pick a starting vector reasonably close to mode structure and with unit magnitude, b_guess For n=1,2,3,... Solve (A-lam*I)e = e_guess for e Set e_guess=e/|e| and repeat, with each iteration refining the estimate of e :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param tv: [in] A structure pointing to various thermodynamic variables. :param cn: [in] The (non-rotational) mode internal gravity wave speed [L T-1 ~> m s-1]. :param modenum: [in] Mode number :param freq: [in] Intrinsic wave frequency [T-1 ~> s-1]. :param cs: The control structure returned by a previous call to wave_structure_init. :param en: [in] Internal wave energy density [R Z3 T-2 ~> J m-2] :param full_halos: [in] If true, do the calculation over the entire computational domain. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`tridiag_solver ` :calledfrom: :f:func:`mom_internal_tides::propagate_int_tide ` .. f:subroutine:: subroutine tridiag_solver(a, b, c, h, y, method, x) Solves a tri-diagonal system Ax=y using either the standard Thomas algorithm (TDMA_T) or its more stable variant that invokes the "Hallberg substitution" (TDMA_H). :param a: [in] lower diagonal with first entry equal to zero. :param b: [in] middle diagonal. :param c: [in] upper diagonal with last entry equal to zero. :param h: [in] vector of values that have already been added to b; used for systems of the form (e.g. average layer thickness in vertical diffusion case): [ -alpha(k-1/2) ] * e(k-1) + [ alpha(k-1/2) + alpha(k+1/2) + h(k) ] * e(k) + [ -alpha(k+1/2) ] * e(k+1) = y(k) where a(k)=[-alpha(k-1/2)], b(k)=[alpha(k-1/2)+alpha(k+1/2) + h(k)], and c(k)=[-alpha(k+1/2)]. Only used with TDMA_H method. :param y: [in] vector of known values on right hand side. :param method: [in] A string describing the algorithm to use :param x: [out] vector of unknown values to solve for. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`wave_structure ` .. f:subroutine:: subroutine wave_structure_init(Time, G, param_file, diag, CS) Allocate memory associated with the wave structure module and read parameters. :param time: [in] The current model time. :param g: [in] The ocean's grid structure. :param param_file: [in] A structure to parse for run-time parameters. :param diag: [in] A structure that is used to regulate diagnostic output. :param cs: A pointer that is set to point to the control structure for this module. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_internal_tides::internal_tides_init ` [debug] xpath(./compounddef/compoundname[text()="mom_wave_structure::wave_structure_cs"]/..) match([('id', 'structmom__wave__structure_1_1wave__structure__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_structure::wave_structure_cs', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_structure::wave_structure_cs', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_structure::wave_structure_cs', , {}, [debug] DoxygenMethodDocumenter format_signature called ((h, tv, G, GV, US, cn, ModeNum, freq, CS, En, full_halos)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_structure::wave_structure', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_structure::wave_structure', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((a, b, c, h, y, method, x)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_structure::tridiag_solver', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_structure::tridiag_solver', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((Time, G, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_structure::wave_structure_init', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_wave_structure::wave_structure_init', , {}, [fd] run(.. f:type:: wave_structure_cs) [fd] sig(wave_structure_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(wave_structure_cs) arglist(None) [fd] fullname(mom_wave_structure/wave_structure_cs) ftype(None) [fd] name(('mom_wave_structure/wave_structure_cs', None)) sig(wave_structure_cs) signode(type mom_wave_structure/wave_structure_cs) [fd] run(.. f:subroutine:: subroutine wave_structure(h, tv, G, GV, US, cn, ModeNum, freq, CS, En, full_halos)) [fd] sig(subroutine wave_structure(h, tv, G, GV, US, cn, ModeNum, freq, CS, En, full_halos)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(wave_structure) arglist(h, tv, G, GV, US, cn, ModeNum, freq, CS, En, full_halos) [fd] fullname(mom_wave_structure/wave_structure) ftype(None) [fd] name(('mom_wave_structure/wave_structure', None)) sig(subroutine wave_structure(h, tv, G, GV, US, cn, ModeNum, freq, CS, En, full_halos)) signode(subroutine mom_wave_structure/wave_structurehtvGGVUScnModeNumfreqCSEnfull_halos) [fd] run(.. f:subroutine:: subroutine tridiag_solver(a, b, c, h, y, method, x)) [fd] sig(subroutine tridiag_solver(a, b, c, h, y, method, x)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tridiag_solver) arglist(a, b, c, h, y, method, x) [fd] fullname(mom_wave_structure/tridiag_solver) ftype(None) [fd] name(('mom_wave_structure/tridiag_solver', None)) sig(subroutine tridiag_solver(a, b, c, h, y, method, x)) signode(subroutine mom_wave_structure/tridiag_solverabchymethodx) [fd] run(.. f:subroutine:: subroutine wave_structure_init(Time, G, param_file, diag, CS)) [fd] sig(subroutine wave_structure_init(Time, G, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(wave_structure_init) arglist(Time, G, param_file, diag, CS) [fd] fullname(mom_wave_structure/wave_structure_init) ftype(None) [fd] name(('mom_wave_structure/wave_structure_init', None)) sig(subroutine wave_structure_init(Time, G, param_file, diag, CS)) signode(subroutine mom_wave_structure/wave_structure_initTimeGparam_filediagCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 63%] api/generated/modules/mom_write_cputime [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/mom_write_cp [app] emitting event: 'source-read'('api/generated/modules/mom_write_cputime', ['.. autodoxymodule:: mom_write_cputime\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/mom_write_cputime.rst:1: input: .. autodoxymodule:: mom_write_cputime :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_write_cputime::write_cputime_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_write_cputime::write_cputime_start_clock ~mom_write_cputime::mom_write_cputime_init ~mom_write_cputime::mom_write_cputime_end ~mom_write_cputime::write_cputime [debug] xpath(./compounddef/compoundname[text()="mom_write_cputime"]/..) match([('id', 'namespacemom__write__cputime'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:mom_write_cputime module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_write_cputime', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'mom_write_cputime' (exception was: ModuleNotFoundError("No module named 'mom_write_cputime'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'mom_write_cputime::write_cputime_cs', , {'membe [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_write_cputime::write_cputime_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_write_cputime::write_cputime_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_write_cputime::write_cputime_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_write_cputime::write_cputime_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_write_cputime::write_cputime_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_write_cputime::write_cputime_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_write_cputime::write_cputime_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_write_cputime::write_cputime_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_write_cputime::write_cputime_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_write_cputime::write_cputime_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'mom_write_cputime::write_cputime_cs', , {'membe [debug] members([('write_cputime_start_clock', ), ('mom_write_cputime_init', ), ('mom_write_cputime_end', ), ('write_cputime', )]) [autodoc] module analyzer failed: error importing 'mom_write_cputime' (exception was: ModuleNotFoundError("No module named 'mom_write_cputime'")) [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] add_directive_header sig((CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine write_cputime_start_clock) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'write_cputime_start_clock', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~mom_write_cputime::write_cputime_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~mom_write_cputime::write_cputime_start_clock ~mom_write_cputime::mom_write_cputime_init ~mom_write_cputime::mom_write_cputime_end ~mom_write_cputime::write_cputime .. _DETAmom_write_cputime: -------------------- Detailed Description -------------------- By Robert Hallberg, May 2006. This file contains the subroutine (write_cputime) that writes the summed CPU time across all processors to an output file. In addition, write_cputime estimates how many more time steps can be taken before 95% of the available CPU time is used, so that the model can be checkpointed at that time. ------------------ Type Documentation ------------------ .. f:type:: write_cputime_cs A control structure that regulates the writing of CPU time. :typefield real maxcpu: The maximum amount of cpu time per processor for which MOM should run before saving a restart file and quiting with a return value that indicates that further execution is required to complete the simulation, in wall-clock seconds. :typefield type(time_type) start_time: The start time of the simulation. Start_time is set in MOM_initialization.F90. :typefield real startup_cputime: The CPU time used in the startup phase of the model. :typefield real prev_cputime: The last measured CPU time. :typefield real dn_dcpu_min: The minimum derivative of timestep with CPU time. :typefield real cputime2: The accumulated cpu time. :typefield integer previous_calls: The number of times write_CPUtime has been called. :typefield integer prev_n: The value of n from the last call. :typefield integer filecpu_ascii: The unit number of the CPU time file. :typefield character (len=200) cpufile: The name of the CPU time file. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine write_cputime_start_clock(CS) Evaluate the CPU time returned by SYSTEM_CLOCK at the start of a run. :param cs: The control structure set up by a previous call to MOM_write_cputime_init. :callto: :f:func:`clocks_per_sec ` :callto: :f:func:`max_ticks ` :calledfrom: :f:func:`mom_main ` .. f:subroutine:: subroutine mom_write_cputime_init(param_file, directory, Input_start_time, CS) Initialize the MOM_write_cputime module. :param param_file: [in] A structure to parse for run-time parameters :param directory: [in] The directory where the CPU time file goes. :param input_start_time: [in] The start model time of the simulation. :param cs: A pointer that may be set to point to the control structure for this module. :callto: :f:func:`clocks_per_sec ` :callto: :f:func:`max_ticks ` :calledfrom: :f:func:`mom_main ` .. f:subroutine:: subroutine mom_write_cputime_end(CS) Close the MOM_write_cputime module. :param cs: The control structure set up by a previous call to MOM_write_cputime_init. :callto: :f:func:`mom_error_handler::is_root_pe ` :calledfrom: :f:func:`write_cputime ` .. f:subroutine:: subroutine write_cputime(day, n, CS, nmax, call_end) This subroutine assesses how much CPU time the model has taken and determines how long the model should be run before it saves a restart file and stops itself. Optionally this may also be used to trigger this module's end routine. :param day: [inout] The current model time. :param n: [in] The time step number of the current execution. :param cs: The control structure set up by a previous call to MOM_write_cputime_init. :param nmax: [inout] The number of iterations after which to stop so that the simulation will not run out of CPU time. :param call_end: [in] If true, also call MOM_write_cputime_end. :callto: :f:func:`clocks_per_sec ` :callto: :f:func:`mom_error_handler::is_root_pe ` :callto: :f:func:`max_ticks ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_write_cputime_end ` :calledfrom: :f:func:`mom_main ` [debug] xpath(./compounddef/compoundname[text()="mom_write_cputime::write_cputime_cs"]/..) match([('id', 'structmom__write__cputime_1_1write__cputime__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_write_cputime::write_cputime_cs', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_write_cputime::write_cputime_cs', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_write_cputime::write_cputime_cs', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_write_cputime::write_cputime_start_clock', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_write_cputime::write_cputime_start_clock', [debug] DoxygenMethodDocumenter format_signature called ((param_file, directory, Input_start_time, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_write_cputime::mom_write_cputime_init', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_write_cputime::mom_write_cputime_init', , { [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_write_cputime::mom_write_cputime_end', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_write_cputime::mom_write_cputime_end', , {} [debug] DoxygenMethodDocumenter format_signature called ((day, n, CS, nmax, call_end)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_write_cputime::write_cputime', , {}, ['', " [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'mom_write_cputime::write_cputime', , {}, ['', " [fd] run(.. f:type:: write_cputime_cs) [fd] sig(write_cputime_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(write_cputime_cs) arglist(None) [fd] fullname(mom_write_cputime/write_cputime_cs) ftype(None) [fd] name(('mom_write_cputime/write_cputime_cs', None)) sig(write_cputime_cs) signode(type mom_write_cputime/write_cputime_cs) [fd] run(.. f:subroutine:: subroutine write_cputime_start_clock(CS)) [fd] sig(subroutine write_cputime_start_clock(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(write_cputime_start_clock) arglist(CS) [fd] fullname(mom_write_cputime/write_cputime_start_clock) ftype(None) [fd] name(('mom_write_cputime/write_cputime_start_clock', None)) sig(subroutine write_cputime_start_clock(CS)) signode(subroutine mom_write_cputime/write_cputime_start_clockCS) [fd] run(.. f:subroutine:: subroutine mom_write_cputime_init(param_file, directory, Input_start_time, CS)) [fd] sig(subroutine mom_write_cputime_init(param_file, directory, Input_start_time, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_write_cputime_init) arglist(param_file, directory, Input_start_time, CS) [fd] fullname(mom_write_cputime/mom_write_cputime_init) ftype(None) [fd] name(('mom_write_cputime/mom_write_cputime_init', None)) sig(subroutine mom_write_cputime_init(param_file, directory, Input_start_time, CS)) signode(subroutine mom_write_cputime/mom_write_cputime_initparam_filedirectoryInput_start_timeCS) [fd] run(.. f:subroutine:: subroutine mom_write_cputime_end(CS)) [fd] sig(subroutine mom_write_cputime_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(mom_write_cputime_end) arglist(CS) [fd] fullname(mom_write_cputime/mom_write_cputime_end) ftype(None) [fd] name(('mom_write_cputime/mom_write_cputime_end', None)) sig(subroutine mom_write_cputime_end(CS)) signode(subroutine mom_write_cputime/mom_write_cputime_endCS) [fd] run(.. f:subroutine:: subroutine write_cputime(day, n, CS, nmax, call_end)) [fd] sig(subroutine write_cputime(day, n, CS, nmax, call_end)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(write_cputime) arglist(day, n, CS, nmax, call_end) [fd] fullname(mom_write_cputime/write_cputime) ftype(None) [fd] name(('mom_write_cputime/write_cputime', None)) sig(subroutine write_cputime(day, n, CS, nmax, call_end)) signode(subroutine mom_write_cputime/write_cputimedaynCSnmaxcall_end) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 64%] api/generated/modules/netcdf [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/netcdf') [app] emitting event: 'source-read'('api/generated/modules/netcdf', ['.. autodoxymodule:: netcdf\n :members:\n\n\n']) [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/netcdf.rst:1: input: .. autodoxymodule:: netcdf :members: [debug] xpath(./compounddef/compoundname[text()="netcdf"]/..) match([('id', 'namespacenetcdf'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:netcdf module reference [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'netcdf', , {'members': , {'members': , {'members': , {'members': , {'members': `More... `_ .. _DETAnetcdf: -------------------- Detailed Description -------------------- [app] emitting event: 'doctree-read'(>,) reading sources... [ 64%] api/generated/modules/neverworld_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/neverworld_i [app] emitting event: 'source-read'('api/generated/modules/neverworld_initialization', ['.. autodoxymodule:: neverworld_initialization\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/neverworld_initialization.rst:1: input: .. autodoxymodule:: neverworld_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~neverworld_initialization::neverworld_initialize_topography ~neverworld_initialization::cosbell ~neverworld_initialization::spike ~neverworld_initialization::cone ~neverworld_initialization::scurve ~neverworld_initialization::cstprof ~neverworld_initialization::dist_line_fixed_x ~neverworld_initialization::dist_line_fixed_y ~neverworld_initialization::ns_coast ~neverworld_initialization::ew_coast ~neverworld_initialization::ns_ridge ~neverworld_initialization::circ_ridge ~neverworld_initialization::neverworld_initialize_thickness [debug] xpath(./compounddef/compoundname[text()="neverworld_initialization"]/..) match([('id', 'namespaceneverworld__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:neverworld_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'neverworld_initialization', , {'members': , {'members': , {'members': ), ('cosbell', ), ('spike', ), ('cone', ), ('scurve', ), ('cstprof', ), ('dist_line_fixed_x', ), ('dist_line_fixed_y', ), ('ns_coast', ), ('ew_coast', ), ('ns_ridge', ), ('circ_ridge', ), ('neverworld_initialize_thickness', )]) [autodoc] module analyzer failed: error importing 'neverworld_initialization' (exception was: ModuleNotFoundError("No module named 'neverworld_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth)) [debug] add_directive_header sig((D, G, param_file, max_depth)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine neverworld_initialize_topography) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialize_topography', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialize_topography', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialize_topography', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialize_topography', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialize_topography', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialize_topography', , {'members' [autodoc] module analyzer failed: error importing 'neverworld_initialization' (exception was: ModuleNotFoundError("No module named 'neverworld_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((x, L)) [debug] add_directive_header sig((x, L)) [debug] DoxygenMethodDocumenter directive(function) name(real function cosbell) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'cosbell', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialize_thickness', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialize_thickness', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialize_thickness', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialize_thickness', , {'members': [autodoc] output: ========================================== neverworld_initialization module reference ========================================== .. f:module:: neverworld_initialization Initialization for the "Neverworld" configuration. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~neverworld_initialization::neverworld_initialize_topography ~neverworld_initialization::cosbell ~neverworld_initialization::spike ~neverworld_initialization::cone ~neverworld_initialization::scurve ~neverworld_initialization::cstprof ~neverworld_initialization::dist_line_fixed_x ~neverworld_initialization::dist_line_fixed_y ~neverworld_initialization::ns_coast ~neverworld_initialization::ew_coast ~neverworld_initialization::ns_ridge ~neverworld_initialization::circ_ridge ~neverworld_initialization::neverworld_initialize_thickness .. _DETAneverworld_initialization: -------------------- Detailed Description -------------------- Initialization for the "Neverworld" configuration. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine neverworld_initialize_topography(D, G, param_file, max_depth) This subroutine sets up the Neverworld test case topography. :param g: [in] The dynamic horizontal grid type :param d: [out] Ocean bottom depth in the units of depth_max :param param_file: [in] Parameter file structure :param max_depth: [in] Maximum ocean depth in arbitrary units :callto: :f:func:`cosbell ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`spike ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_topography ` .. f:function:: real function cosbell(x, L) Returns the value of a cosine-bell function evaluated at x/L. :param x: [in] non-dimensional position :param l: [in] non-dimensional width :calledfrom: :f:func:`neverworld_initialize_topography ` .. f:function:: real function spike(x, L) Returns the value of a sin-spike function evaluated at x/L. :param x: [in] non-dimensional position :param l: [in] non-dimensional width :calledfrom: :f:func:`neverworld_initialize_thickness ` :calledfrom: :f:func:`neverworld_initialize_topography ` .. f:function:: real function cone(x, x0, L, clip) Returns the value of a triangular function centered at x=x0 with value 1 and linearly decreasing to 0 at x=x0+/-L, and 0 otherwise. If clip is present the top of the cone is cut off at "clip", which effectively defaults to 1. :param x: [in] non-dimensional coordinate [nondim] :param x0: [in] position of peak [nondim] :param l: [in] half-width of base of cone [nondim] :param clip: [in] clipping height of cone [nondim] :calledfrom: :f:func:`circ_ridge ` :calledfrom: :f:func:`ns_ridge ` .. f:function:: real function scurve(x, x0, L) Returns an s-curve s(x) s.t. s(x0)<=0, s(x0+L)>=1 and cubic in between. :param x: [in] non-dimensional coordinate [nondim] :param x0: [in] position of peak [nondim] :param l: [in] half-width of base of cone [nondim] :calledfrom: :f:func:`cstprof ` .. f:function:: real function cstprof(x, x0, L, lf, bf, sf, sh) Returns a "coastal" profile. :param x: [in] non-dimensional coordinate [nondim] :param x0: [in] position of peak [nondim] :param l: [in] width of profile [nondim] :param lf: [in] fraction of width that is "land" [nondim] :param bf: [in] fraction of width that is "beach" [nondim] :param sf: [in] fraction of width that is "continental slope" [nondim] :param sh: [in] depth of shelf as fraction of full depth [nondim] :callto: :f:func:`scurve ` :calledfrom: :f:func:`ew_coast ` :calledfrom: :f:func:`ns_coast ` .. f:function:: real function dist_line_fixed_x(x, y, x0, y0, y1) Distance between points x,y and a line segment (x0,y0) and (x0,y1). :param x: [in] non-dimensional x-coordinate [nondim] :param y: [in] non-dimensional y-coordinate [nondim] :param x0: [in] x-position of line segment [nondim] :param y0: [in] y-position of line segment end[nondim] :param y1: [in] y-position of line segment end[nondim] :calledfrom: :f:func:`dist_line_fixed_y ` :calledfrom: :f:func:`ns_coast ` :calledfrom: :f:func:`ns_ridge ` .. f:function:: real function dist_line_fixed_y(x, y, x0, x1, y0) Distance between points x,y and a line segment (x0,y0) and (x1,y0). :param x: [in] non-dimensional x-coordinate [nondim] :param y: [in] non-dimensional y-coordinate [nondim] :param x0: [in] x-position of line segment end[nondim] :param x1: [in] x-position of line segment end[nondim] :param y0: [in] y-position of line segment [nondim] :callto: :f:func:`dist_line_fixed_x ` :calledfrom: :f:func:`ew_coast ` .. f:function:: real function ns_coast(lon, lat, lon0, lat0, lat1, dlon, sh) A "coast profile" applied in an N-S line from lon0,lat0 to lon0,lat1. :param lon: [in] Longitude [degrees_E] :param lat: [in] Latitude [degrees_N] :param lon0: [in] Longitude of coast [degrees_E] :param lat0: [in] Latitude of coast end [degrees_N] :param lat1: [in] Latitude of coast end [degrees_N] :param dlon: [in] "Radius" of coast profile [degrees] :param sh: [in] depth of shelf as fraction of full depth [nondim] :callto: :f:func:`cstprof ` :callto: :f:func:`dist_line_fixed_x ` .. f:function:: real function ew_coast(lon, lat, lon0, lon1, lat0, dlat, sh) A "coast profile" applied in an E-W line from lon0,lat0 to lon1,lat0. :param lon: [in] Longitude [degrees_E] :param lat: [in] Latitude [degrees_N] :param lon0: [in] Longitude of coast end [degrees_E] :param lon1: [in] Longitude of coast end [degrees_E] :param lat0: [in] Latitude of coast [degrees_N] :param dlat: [in] "Radius" of coast profile [degrees] :param sh: [in] depth of shelf as fraction of full depth [nondim] :callto: :f:func:`cstprof ` :callto: :f:func:`dist_line_fixed_y ` .. f:function:: real function ns_ridge(lon, lat, lon0, lat0, lat1, dlon, rh) A NS ridge. :param lon: [in] Longitude [degrees_E] :param lat: [in] Latitude [degrees_N] :param lon0: [in] Longitude of ridge center [degrees_E] :param lat0: [in] Latitude of ridge end [degrees_N] :param lat1: [in] Latitude of ridge end [degrees_N] :param dlon: [in] "Radius" of ridge profile [degrees] :param rh: [in] depth of ridge as fraction of full depth [nondim] :callto: :f:func:`cone ` :callto: :f:func:`dist_line_fixed_x ` .. f:function:: real function circ_ridge(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height) A circular ridge. :param lon: [in] Longitude [degrees_E] :param lat: [in] Latitude [degrees_N] :param lon0: [in] Longitude of center of ring [degrees_E] :param lat0: [in] Latitude of center of ring [degrees_N] :param ring_radius: [in] Radius of ring [degrees] :param ring_thickness: [in] Radial thickness of ring [degrees] :param ridge_height: [in] Ridge height as fraction of full depth [nondim] :callto: :f:func:`cone ` .. f:subroutine:: subroutine neverworld_initialize_thickness(h, G, GV, US, param_file, eqn_of_state, P_ref) This subroutine initializes layer thicknesses for the Neverworld test case, by finding the depths of interfaces in a specified latitude-dependent temperature profile with an exponentially decaying thermocline on top of a linear stratification. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [out] The thickness that is being initialized [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param eqn_of_state: Equation of state structure :param p_ref: [in] The coordinate-density reference pressure [R L2 T-2 ~> Pa]. :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`spike ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::neverworld_initialize_topography', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::cosbell', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((x, L)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::spike', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::spike', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((x, x0, L, clip)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::cone', , {}, ['', 'R [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::cone', , {}, ['', 'R [debug] DoxygenMethodDocumenter format_signature called ((x, x0, L)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::scurve', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::scurve', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((x, x0, L, lf, bf, sf, sh)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::cstprof', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::cstprof', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((x, y, x0, y0, y1)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::dist_line_fixed_x', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::dist_line_fixed_x', [debug] DoxygenMethodDocumenter format_signature called ((x, y, x0, x1, y0)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::dist_line_fixed_y', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::dist_line_fixed_y', [debug] DoxygenMethodDocumenter format_signature called ((lon, lat, lon0, lat0, lat1, dlon, sh)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::ns_coast', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::ns_coast', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((lon, lat, lon0, lon1, lat0, dlat, sh)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::ew_coast', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::ew_coast', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((lon, lat, lon0, lat0, lat1, dlon, rh)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::ns_ridge', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::ns_ridge', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::circ_ridge', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::circ_ridge', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US, param_file, eqn_of_state, P_ref)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'neverworld_initialization::neverworld_initialize_thickness', subroutine neverworld_initialization/neverworld_initialize_topographyDGparam_filemax_depth) [fd] run(.. f:function:: real function cosbell(x, L)) [fd] sig(real function cosbell(x, L)) [fd] ftype(real) objtype(function) modname(None) typename() name(cosbell) arglist(x, L) [fd] fullname(neverworld_initialization/cosbell) ftype(real) [fd] name(('neverworld_initialization/cosbell', 'real')) sig(real function cosbell(x, L)) signode(function neverworld_initialization/cosbellxL [real]) [fd] run(.. f:function:: real function spike(x, L)) [fd] sig(real function spike(x, L)) [fd] ftype(real) objtype(function) modname(None) typename() name(spike) arglist(x, L) [fd] fullname(neverworld_initialization/spike) ftype(real) [fd] name(('neverworld_initialization/spike', 'real')) sig(real function spike(x, L)) signode(function neverworld_initialization/spikexL [real]) [fd] run(.. f:function:: real function cone(x, x0, L, clip)) [fd] sig(real function cone(x, x0, L, clip)) [fd] ftype(real) objtype(function) modname(None) typename() name(cone) arglist(x, x0, L, clip) [fd] fullname(neverworld_initialization/cone) ftype(real) [fd] name(('neverworld_initialization/cone', 'real')) sig(real function cone(x, x0, L, clip)) signode(function neverworld_initialization/conexx0Lclip [real]) [fd] run(.. f:function:: real function scurve(x, x0, L)) [fd] sig(real function scurve(x, x0, L)) [fd] ftype(real) objtype(function) modname(None) typename() name(scurve) arglist(x, x0, L) [fd] fullname(neverworld_initialization/scurve) ftype(real) [fd] name(('neverworld_initialization/scurve', 'real')) sig(real function scurve(x, x0, L)) signode(function neverworld_initialization/scurvexx0L [real]) [fd] run(.. f:function:: real function cstprof(x, x0, L, lf, bf, sf, sh)) [fd] sig(real function cstprof(x, x0, L, lf, bf, sf, sh)) [fd] ftype(real) objtype(function) modname(None) typename() name(cstprof) arglist(x, x0, L, lf, bf, sf, sh) [fd] fullname(neverworld_initialization/cstprof) ftype(real) [fd] name(('neverworld_initialization/cstprof', 'real')) sig(real function cstprof(x, x0, L, lf, bf, sf, sh)) signode(function neverworld_initialization/cstprofxx0Llfbfsfsh [real]) [fd] run(.. f:function:: real function dist_line_fixed_x(x, y, x0, y0, y1)) [fd] sig(real function dist_line_fixed_x(x, y, x0, y0, y1)) [fd] ftype(real) objtype(function) modname(None) typename() name(dist_line_fixed_x) arglist(x, y, x0, y0, y1) [fd] fullname(neverworld_initialization/dist_line_fixed_x) ftype(real) [fd] name(('neverworld_initialization/dist_line_fixed_x', 'real')) sig(real function dist_line_fixed_x(x, y, x0, y0, y1)) signode(function neverworld_initialization/dist_line_fixed_xxyx0y0y1 [real]) [fd] run(.. f:function:: real function dist_line_fixed_y(x, y, x0, x1, y0)) [fd] sig(real function dist_line_fixed_y(x, y, x0, x1, y0)) [fd] ftype(real) objtype(function) modname(None) typename() name(dist_line_fixed_y) arglist(x, y, x0, x1, y0) [fd] fullname(neverworld_initialization/dist_line_fixed_y) ftype(real) [fd] name(('neverworld_initialization/dist_line_fixed_y', 'real')) sig(real function dist_line_fixed_y(x, y, x0, x1, y0)) signode(function neverworld_initialization/dist_line_fixed_yxyx0x1y0 [real]) [fd] run(.. f:function:: real function ns_coast(lon, lat, lon0, lat0, lat1, dlon, sh)) [fd] sig(real function ns_coast(lon, lat, lon0, lat0, lat1, dlon, sh)) [fd] ftype(real) objtype(function) modname(None) typename() name(ns_coast) arglist(lon, lat, lon0, lat0, lat1, dlon, sh) [fd] fullname(neverworld_initialization/ns_coast) ftype(real) [fd] name(('neverworld_initialization/ns_coast', 'real')) sig(real function ns_coast(lon, lat, lon0, lat0, lat1, dlon, sh)) signode(function neverworld_initialization/ns_coastlonlatlon0lat0lat1dlonsh [real]) [fd] run(.. f:function:: real function ew_coast(lon, lat, lon0, lon1, lat0, dlat, sh)) [fd] sig(real function ew_coast(lon, lat, lon0, lon1, lat0, dlat, sh)) [fd] ftype(real) objtype(function) modname(None) typename() name(ew_coast) arglist(lon, lat, lon0, lon1, lat0, dlat, sh) [fd] fullname(neverworld_initialization/ew_coast) ftype(real) [fd] name(('neverworld_initialization/ew_coast', 'real')) sig(real function ew_coast(lon, lat, lon0, lon1, lat0, dlat, sh)) signode(function neverworld_initialization/ew_coastlonlatlon0lon1lat0dlatsh [real]) [fd] run(.. f:function:: real function ns_ridge(lon, lat, lon0, lat0, lat1, dlon, rh)) [fd] sig(real function ns_ridge(lon, lat, lon0, lat0, lat1, dlon, rh)) [fd] ftype(real) objtype(function) modname(None) typename() name(ns_ridge) arglist(lon, lat, lon0, lat0, lat1, dlon, rh) [fd] fullname(neverworld_initialization/ns_ridge) ftype(real) [fd] name(('neverworld_initialization/ns_ridge', 'real')) sig(real function ns_ridge(lon, lat, lon0, lat0, lat1, dlon, rh)) signode(function neverworld_initialization/ns_ridgelonlatlon0lat0lat1dlonrh [real]) [fd] run(.. f:function:: real function circ_ridge(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height)) [fd] sig(real function circ_ridge(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height)) [fd] ftype(real) objtype(function) modname(None) typename() name(circ_ridge) arglist(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height) [fd] fullname(neverworld_initialization/circ_ridge) ftype(real) [fd] name(('neverworld_initialization/circ_ridge', 'real')) sig(real function circ_ridge(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height)) signode(function neverworld_initialization/circ_ridgelonlatlon0lat0ring_radiusring_thicknessridge_height [real]) [fd] run(.. f:subroutine:: subroutine neverworld_initialize_thickness(h, G, GV, US, param_file, eqn_of_state, P_ref)) [fd] sig(subroutine neverworld_initialize_thickness(h, G, GV, US, param_file, eqn_of_state, P_ref)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(neverworld_initialize_thickness) arglist(h, G, GV, US, param_file, eqn_of_state, P_ref) [fd] fullname(neverworld_initialization/neverworld_initialize_thickness) ftype(None) [fd] name(('neverworld_initialization/neverworld_initialize_thickness', None)) sig(subroutine neverworld_initialize_thickness(h, G, GV, US, param_file, eqn_of_state, P_ref)) signode(subroutine neverworld_initialization/neverworld_initialize_thicknesshGGVUSparam_fileeqn_of_stateP_ref) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 64%] api/generated/modules/ocean_da_core_mod [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/ocean_da_cor [app] emitting event: 'source-read'('api/generated/modules/ocean_da_core_mod', ['.. autodoxymodule:: ocean_da_core_mod\n :members:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/ocean_da_core_mod.rst:1: input: .. autodoxymodule:: ocean_da_core_mod :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~ocean_da_core_mod::ocean_da_core_init ~ocean_da_core_mod::get_profiles [debug] xpath(./compounddef/compoundname[text()="ocean_da_core_mod"]/..) match([('id', 'namespaceocean__da__core__mod'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:ocean_da_core_mod module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_core_mod', , {'members': , {'members': , {'members': ), ('get_profiles', )]) [autodoc] module analyzer failed: error importing 'ocean_da_core_mod' (exception was: ModuleNotFoundError("No module named 'ocean_da_core_mod'")) [debug] DoxygenMethodDocumenter format_signature called ((Domain, global_grid, Profiles, model_time)) [debug] add_directive_header sig((Domain, global_grid, Profiles, model_time)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine ocean_da_core_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_da_core_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~ocean_da_core_mod::ocean_da_core_init ~ocean_da_core_mod::get_profiles .. _DETAocean_da_core_mod: -------------------- Detailed Description -------------------- A set of dummy interfaces for compiling the MOM6 DA driver code. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine ocean_da_core_init(Domain, global_grid, Profiles, model_time) Initializes the MOM6 DA driver code. :param domain: [in] A MOM domain type :param global_grid: [in] The global ODA horizontal grid type :param profiles: This is an unstructured recursive list of profiles which are either within the localized domain corresponding to the Domain argument, or the global profile list (type). :param model_time: [in] The current model time type. :calledfrom: :f:func:`mom_oda_driver_mod::init_oda ` .. f:subroutine:: subroutine get_profiles(model_time, Profiles, Current_profiles) Get profiles obs within the current analysis interval. :param model_time: [in] The current analysis time. :param profiles: The full recursive list of profiles. :param current_profiles: A returned list of profiles for the current analysis step. :calledfrom: :f:func:`mom_oda_driver_mod::oda ` [debug] DoxygenMethodDocumenter format_signature called ((Domain, global_grid, Profiles, model_time)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_da_core_mod::ocean_da_core_init', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_da_core_mod::ocean_da_core_init', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((model_time, Profiles, Current_profiles)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_da_core_mod::get_profiles', , {}, ['', 'G [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_da_core_mod::get_profiles', , {}, ['', 'G [fd] run(.. f:subroutine:: subroutine ocean_da_core_init(Domain, global_grid, Profiles, model_time)) [fd] sig(subroutine ocean_da_core_init(Domain, global_grid, Profiles, model_time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ocean_da_core_init) arglist(Domain, global_grid, Profiles, model_time) [fd] fullname(ocean_da_core_mod/ocean_da_core_init) ftype(None) [fd] name(('ocean_da_core_mod/ocean_da_core_init', None)) sig(subroutine ocean_da_core_init(Domain, global_grid, Profiles, model_time)) signode(subroutine ocean_da_core_mod/ocean_da_core_initDomainglobal_gridProfilesmodel_time) [fd] run(.. f:subroutine:: subroutine get_profiles(model_time, Profiles, Current_profiles)) [fd] sig(subroutine get_profiles(model_time, Profiles, Current_profiles)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_profiles) arglist(model_time, Profiles, Current_profiles) [fd] fullname(ocean_da_core_mod/get_profiles) ftype(None) [fd] name(('ocean_da_core_mod/get_profiles', None)) sig(subroutine get_profiles(model_time, Profiles, Current_profiles)) signode(subroutine ocean_da_core_mod/get_profilesmodel_timeProfilesCurrent_profiles) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 65%] api/generated/modules/ocean_da_types_mod [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/ocean_da_typ [app] emitting event: 'source-read'('api/generated/modules/ocean_da_types_mod', ['.. autodoxymodule:: ocean_da_types_mod\n :members:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/ocean_da_types_mod.rst:1: input: .. autodoxymodule:: ocean_da_types_mod :members: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~ocean_da_types_mod::forward_operator_type ~ocean_da_types_mod::grid_type ~ocean_da_types_mod::ocean_control_struct ~ocean_da_types_mod::ocean_profile_type [debug] xpath(./compounddef/compoundname[text()="ocean_da_types_mod"]/..) match([('id', 'namespaceocean__da__types__mod'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:ocean_da_types_mod module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_types_mod', , {'members': , {'members': , {'members': ), ('ocean_da_types_mod::grid_type', ), ('ocean_da_types_mod::ocean_control_struct', ), ('ocean_da_types_mod::ocean_profile_type', )]) [autodoc] module analyzer failed: error importing 'ocean_da_types_mod' (exception was: ModuleNotFoundError("No module named 'ocean_da_types_mod'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'ocean_da_types_mod::forward_operator_type', , { [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::forward_operator_type', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::forward_operator_type', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::forward_operator_type', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::forward_operator_type', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::forward_operator_type', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::forward_operator_type', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::forward_operator_type', , { [autodoc] module analyzer failed: error importing 'ocean_da_types_mod' (exception was: ModuleNotFoundError("No module named 'ocean_da_types_mod'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'ocean_da_types_mod::grid_type', , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::grid_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::grid_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::grid_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::grid_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::grid_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::grid_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::grid_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::grid_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::grid_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::grid_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::grid_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::grid_type', , {'members': < [autodoc] module analyzer failed: error importing 'ocean_da_types_mod' (exception was: ModuleNotFoundError("No module named 'ocean_da_types_mod'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'ocean_da_types_mod::ocean_control_struct', , {' [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_control_struct', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_control_struct', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_control_struct', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_control_struct', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_control_struct', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_control_struct', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_control_struct', , {' [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_control_struct', , {' [autodoc] module analyzer failed: error importing 'ocean_da_types_mod' (exception was: ModuleNotFoundError("No module named 'ocean_da_types_mod'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_da_types_mod::ocean_profile_type', , {'me [autodoc] output: =================================== ocean_da_types_mod module reference =================================== .. f:module:: ocean_da_types_mod Dummy aata structures and methods for ocean data assimilation. `More... `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~ocean_da_types_mod::forward_operator_type ~ocean_da_types_mod::grid_type ~ocean_da_types_mod::ocean_control_struct ~ocean_da_types_mod::ocean_profile_type .. _DETAocean_da_types_mod: -------------------- Detailed Description -------------------- Dummy aata structures and methods for ocean data assimilation. ------------------ Type Documentation ------------------ .. f:type:: forward_operator_type Example forward operator type. :typefield integer num: how many? :typefield integer(2) state_size: for :typefield integer(\:) state_var_index [pointer]: for flattened data :typefield integer(\:) i_index [pointer]: i-dimension index :typefield integer(\:) j_index [pointer]: j-dimension index :typefield real(\:) coef [pointer]: coefficient .. f:type:: grid_type Grid type for DA. :typefield real(\:,\:) x [pointer]: x :typefield real(\:,\:) y [pointer]: y :typefield real(\:,\:,\:) z [pointer]: z :typefield real(\:,\:,\:) h [pointer]: h :typefield real(\:,\:) basin_mask [pointer]: basin mask :typefield real(\:,\:,\:) mask [pointer]: land mask? :typefield real(\:,\:) bathyt [pointer]: bathymetry at T points :typefield logical tripolar_n: True for tripolar grids. :typefield integer ni: ni :typefield integer nj: nj :typefield integer nk: nk .. f:type:: ocean_control_struct Example type for ocean ensemble DA state. :typefield integer ensemble_size: ensemble size :typefield real(\:,\:,\:) ssh [pointer]: sea surface height (m) across ensembles :typefield real(\:,\:,\:,\:) h [pointer]: layer thicknesses (m or kg) across ensembles :typefield real(\:,\:,\:,\:) t [pointer]: layer potential temperature (degC) across ensembles :typefield real(\:,\:,\:,\:) s [pointer]: layer salinity (psu or g kg-1) across ensembles :typefield real(\:,\:,\:,\:) u [pointer]: layer zonal velocity (m s-1) across ensembles :typefield real(\:,\:,\:,\:) v [pointer]: layer meridional velocity (m s-1) across ensembles .. f:type:: ocean_profile_type Example of a profile type. :typefield integer inst_type: A numeric code indicating the type of instrument (e.g. ARGO drifter, CTD, ...) :typefield logical initialized: a True value indicates that this profile has been allocated for use :typefield logical colocated: a True value indicated that the measurements of (num_variables) data are co-located in space-time :typefield integer ensemble_size: size of the ensemble of model states used in association with this profile :typefield integer num_variables: number of measurement types associated with this profile. :typefield integer(\:) var_id [pointer]: variable ids are defined by the ocean_types module :typefield integer platform: platform types are defined by platform class (e.g. MOORING, DROP, etc.) and instrument type (XBT, CDT, etc.) :typefield integer levels: number of levels in the current profile :typefield integer basin_mask: 1:Southern Ocean, 2:Atlantic Ocean, 3:Pacific Ocean, 4:Arctic Ocean, 5:Indian Ocean, 6:Mediterranean Sea, 7:Black Sea, 8:Hudson Bay, 9:Baltic Sea, 10:Red Sea, 11:Persian Gulf :typefield integer profile_flag: an overall flag for the profile :typefield real lat: latitude [degrees_N] :typefield real lon: longitude [degrees_E] :typefield logical accepted: logical flag to disable a profile :typefield type(time_type) time_window: The time window associated with this profile [s]. :typefield real(\:) obs_error [pointer]: The observation error by variable. :typefield real loc_dist: The impact radius of this observation (m) :typefield type( ocean_profile_type ) next [pointer]: all profiles are stored as linked list. :typefield type( ocean_profile_type ) prev [pointer]: previous :typefield type( ocean_profile_type ) cnext [pointer]: current profiles are stored as linked list. :typefield type( ocean_profile_type ) cprev [pointer]: previous :typefield integer nbr_xi: x nearest neighbor model gridpoint for the profile :typefield integer nbr_yi: y nearest neighbor model gridpoint for the profile :typefield real nbr_dist: distance to nearest neighbor model gridpoint :typefield logical compute: profile is within current compute domain :typefield real(\:,\:) depth [pointer]: depth of measurement [m] :typefield real(\:,\:) data [pointer]: data by variable type :typefield integer(\:,\:) flag [pointer]: flag by depth and variable type :typefield real(\:,\:,\:) forecast [pointer]: ensemble member first guess :typefield real(\:,\:,\:) analysis [pointer]: ensemble member analysis :typefield type( forward_operator_type ) obs_def [pointer]: observation forward operator :typefield type(time_type) time: profile time type :typefield real i_index: model longitude indices respectively :typefield real j_index: model latitude indices respectively :typefield real(\:,\:) k_index [pointer]: model depth indices :typefield type(time_type) tdiff: difference between model time and observation time :typefield character (len=128) filename: a filename [debug] xpath(./compounddef/compoundname[text()="ocean_da_types_mod::forward_operator_type"]/..) match([('id', 'structocean__da__types__mod_1_1forward__operator__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_types_mod::forward_operator_type', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_types_mod::forward_operator_type', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_types_mod::forward_operator_type', , [debug] xpath(./compounddef/compoundname[text()="ocean_da_types_mod::grid_type"]/..) match([('id', 'structocean__da__types__mod_1_1grid__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_types_mod::grid_type', , {}, ['', 'G [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_types_mod::grid_type', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_types_mod::grid_type', , {}, ['', 'G [debug] xpath(./compounddef/compoundname[text()="ocean_da_types_mod::ocean_control_struct"]/..) match([('id', 'structocean__da__types__mod_1_1ocean__control__struct'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_types_mod::ocean_control_struct', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_types_mod::ocean_control_struct', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_types_mod::ocean_control_struct', , [debug] xpath(./compounddef/compoundname[text()="ocean_da_types_mod::ocean_profile_type"]/..) match([('id', 'structocean__da__types__mod_1_1ocean__profile__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_types_mod::ocean_profile_type', , {} [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_types_mod::ocean_profile_type', , {} [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_types_mod::ocean_profile_type', , {} [fd] run(.. f:type:: forward_operator_type) [fd] sig(forward_operator_type) [fd] ftype(None) objtype(None) modname(None) typename() name(forward_operator_type) arglist(None) [fd] fullname(ocean_da_types_mod/forward_operator_type) ftype(None) [fd] name(('ocean_da_types_mod/forward_operator_type', None)) sig(forward_operator_type) signode(type ocean_da_types_mod/forward_operator_type) [fd] run(.. f:type:: grid_type) [fd] sig(grid_type) [fd] ftype(None) objtype(None) modname(None) typename() name(grid_type) arglist(None) [fd] fullname(ocean_da_types_mod/grid_type) ftype(None) [fd] name(('ocean_da_types_mod/grid_type', None)) sig(grid_type) signode(type ocean_da_types_mod/grid_type) [fd] run(.. f:type:: ocean_control_struct) [fd] sig(ocean_control_struct) [fd] ftype(None) objtype(None) modname(None) typename() name(ocean_control_struct) arglist(None) [fd] fullname(ocean_da_types_mod/ocean_control_struct) ftype(None) [fd] name(('ocean_da_types_mod/ocean_control_struct', None)) sig(ocean_control_struct) signode(type ocean_da_types_mod/ocean_control_struct) [fd] run(.. f:type:: ocean_profile_type) [fd] sig(ocean_profile_type) [fd] ftype(None) objtype(None) modname(None) typename() name(ocean_profile_type) arglist(None) [fd] fullname(ocean_da_types_mod/ocean_profile_type) ftype(None) [fd] name(('ocean_da_types_mod/ocean_profile_type', None)) sig(ocean_profile_type) signode(type ocean_da_types_mod/ocean_profile_type) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [app] emitting event: 'doctree-read'(>,) reading sources... [ 65%] api/generated/modules/ocean_model_mod [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/ocean_model_ [app] emitting event: 'source-read'('api/generated/modules/ocean_model_mod', ['.. autodoxymodule:: ocean_model_mod\n :members:\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/ocean_model_mod.rst:1: input: .. autodoxymodule:: ocean_model_mod :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~ocean_model_mod::ocean_public_type ~ocean_model_mod::ocean_state_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~ocean_model_mod::ocean_model_init ~ocean_model_mod::update_ocean_model ~ocean_model_mod::ocean_model_restart ~ocean_model_mod::ocean_model_end ~ocean_model_mod::ocean_model_save_restart ~ocean_model_mod::initialize_ocean_public_type ~ocean_model_mod::convert_state_to_ocean_type ~ocean_model_mod::ocean_model_init_sfc ~ocean_model_mod::ocean_model_flux_init ~ocean_model_mod::ocean_stock_pe ~ocean_model_mod::ocean_model_data2d_get ~ocean_model_mod::ocean_model_data1d_get ~ocean_model_mod::ocean_public_type_chksum ~ocean_model_mod::get_ocean_grid ~ocean_model_mod::ocean_model_get_uv_surf [debug] xpath(./compounddef/compoundname[text()="ocean_model_mod"]/..) match([('id', 'namespaceocean__model__mod'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:ocean_model_mod module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_model_mod', , {'members': , {'members': , {'members': ), ('ocean_model_mod::ocean_state_type', )]) [autodoc] module analyzer failed: error importing 'ocean_model_mod' (exception was: ModuleNotFoundError("No module named 'ocean_model_mod'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_public_type', , {'member [autodoc] module analyzer failed: error importing 'ocean_model_mod' (exception was: ModuleNotFoundError("No module named 'ocean_model_mod'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structocean__model__mod_1_1ocean__state__type) kindref(compound) ref([]) [debug] ref([('id', 'structocean__model__mod_1_1ocean__state__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [app] emitting event: 'autodoc-process-docstring'('doxytype', 'ocean_model_mod::ocean_state_type', , {'members [debug] members([('ocean_model_init', ), ('update_ocean_model', ), ('ocean_model_restart', ), ('ocean_model_end', ), ('ocean_model_save_restart', ), ('initialize_ocean_public_type', ), ('convert_state_to_ocean_type', ), ('ocean_model_init_sfc', ), ('ocean_model_flux_init', ), ('ocean_stock_pe', ), ('ocean_model_data2d_get', ), ('ocean_model_data1d_get', ), ('ocean_public_type_chksum', ), ('get_ocean_grid', ), ('ocean_model_get_uv_surf', )]) [autodoc] module analyzer failed: error importing 'ocean_model_mod' (exception was: ModuleNotFoundError("No module named 'ocean_model_mod'")) [debug] DoxygenMethodDocumenter format_signature called ((Ocean_sfc, OS, Time_init, Time_in, wind_stagger, gas_fields_ocn)) [debug] add_directive_header sig((Ocean_sfc, OS, Time_init, Time_in, wind_stagger, gas_fields_ocn)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine ocean_model_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_init', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~ocean_model_mod::ocean_public_type ~ocean_model_mod::ocean_state_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~ocean_model_mod::ocean_model_init ~ocean_model_mod::update_ocean_model ~ocean_model_mod::ocean_model_restart ~ocean_model_mod::ocean_model_end ~ocean_model_mod::ocean_model_save_restart ~ocean_model_mod::initialize_ocean_public_type ~ocean_model_mod::convert_state_to_ocean_type ~ocean_model_mod::ocean_model_init_sfc ~ocean_model_mod::ocean_model_flux_init ~ocean_model_mod::ocean_stock_pe ~ocean_model_mod::ocean_model_data2d_get ~ocean_model_mod::ocean_model_data1d_get ~ocean_model_mod::ocean_public_type_chksum ~ocean_model_mod::get_ocean_grid ~ocean_model_mod::ocean_model_get_uv_surf .. _DETAocean_model_mod: -------------------- Detailed Description -------------------- Top-level module for the MOM6 ocean model in coupled mode. ------------------ Type Documentation ------------------ .. f:type:: ocean_public_type This type is used for communication with other components via the FMS coupler. The element names and types can be changed only with great deliberation, hence the persistnce of things like the cutsy element name "avg_kount". :typefield type(domain2d) domain: The domain for the surface fields. :typefield logical is_ocean_pe: .true. on processors that run the ocean model. :typefield character (len=32) instance_name: A name that can be used to identify this instance of an ocean model, for example in ensembles when writing messages. :typefield integer(\:) pelist [pointer]: The list of ocean PEs. :typefield logical(\:,\:) maskmap [pointer]: A pointer to an array indicating which logical processors are actually used for the ocean code. The other logical processors would be all land points and are not assigned to actual processors. This need not be assigned if all logical processors are used. :typefield integer stagger: The staggering relative to the tracer points points of the two velocity components. Valid entries include AGRID, BGRID_NE, CGRID_NE, BGRID_SW, and CGRID_SW, corresponding to the community-standard Arakawa notation. (These are named integers taken from mpp_parameter_mod.) Following MOM5, stagger is BGRID_NE by default when the ocean is initialized, but here it is set to -999 so that a global max across ocean and non-ocean processors can be used to determine its value. :typefield real(\:,\:) t_surf [pointer]: SST on t-cell (degrees Kelvin) :typefield real(\:,\:) s_surf [pointer]: SSS on t-cell (psu) :typefield real(\:,\:) u_surf [pointer]: i-velocity at the locations indicated by stagger [m s-1]. :typefield real(\:,\:) v_surf [pointer]: j-velocity at the locations indicated by stagger [m s-1]. :typefield real(\:,\:) sea_lev [pointer]: Sea level in m after correction for surface pressure,. :typefield real(\:,\:) frazil [pointer]: Accumulated heating [J m-2] from frazil. :typefield real(\:,\:) area [pointer]: cell area of the ocean surface [m2]. :typefield type(coupler_2d_bc_type) fields: A structure that may contain named arrays of tracer-related surface fields. :typefield integer avg_kount: A count of contributions to running sums, used externally by the FMS coupler for accumulating averages of this type. :typefield integer(2) axes: Axis numbers that are available for I/O using this surface data. .. f:type:: ocean_state_type The :f:func:`ocean_state_type` contains all information about the state of the ocean, with a format that is private so it can be readily changed without disrupting other coupled components. contains all information about the state of the ocean, with a format that is private so it can be readily changed without disrupting other coupled components. :typefield logical is_ocean_pe: True if this is an ocean PE. :typefield type(time_type) time: The ocean model's time and master clock. :typefield type(time_type) time_dyn: The ocean model's time for the dynamics. Time and Time_dyn should be the same after a full time step. :typefield integer restart_control: An integer that is bit-tested to determine whether incremental restart files are saved and whether they have a time stamped name. +1 (bit 0) for generic files and +2 (bit 1) for time-stamped files. A restart file is saved at the end of a run segment unless Restart_control is negative. :typefield integer nstep: The number of calls to update_ocean that update the dynamics. :typefield integer nstep_thermo: The number of calls to update_ocean that update the thermodynamics. :typefield logical use_ice_shelf: If true, the ice shelf model is enabled. :typefield logical use_waves: If true use wave coupling. :typefield logical icebergs_alter_ocean: If true, the icebergs can change ocean the ocean dynamics and forcing fluxes. :typefield real press_to_z: A conversion factor between pressure and ocean depth in m, usually 1/(rho_0*g) [m Pa-1]. :typefield real c_p: The heat capacity of seawater [J degC-1 kg-1]. :typefield logical offline_tracer_mode: If false, use the model in prognostic mode with the barotropic and baroclinic dynamics, thermodynamics, etc. stepped forward integrated in time. If true, all of the above are bypassed with all fields necessary to integrate only the tracer advection and diffusion equation read in from files stored from a previous integration of the prognostic model. :typefield logical single_step_call: If true, advance the state of MOM with a single step including both dynamics and thermodynamics. If false, the two phases are advanced with separate calls. The default is true. :typefield real dt: (baroclinic) dynamics time step [s] :typefield real dt_therm: thermodynamics time step [s] :typefield logical thermo_spans_coupling: If true, thermodynamic and tracer time steps can span multiple coupled time steps. :typefield logical diabatic_first: If true, apply diabatic and thermodynamic processes before time stepping the dynamics. :typefield type(directories) dirs: A structure containing several relevant directory paths. :typefield type(mech_forcing) forces: A structure with the driving mechanical surface forces. :typefield type(forcing) fluxes: A structure containing pointers to the thermodynamic ocean forcing fields. :typefield type(forcing) flux_tmp: A secondary structure containing pointers to the ocean forcing fields for when multiple coupled timesteps are taken per thermodynamic step. :typefield type(surface) sfc_state: A structure containing pointers to the ocean surface state fields. :typefield type(ocean_grid_type) grid [pointer]: A pointer to a grid structure containing metrics. :typefield type(verticalgrid_type) gv [pointer]: A pointer to a structure containing information. :typefield type(unit_scale_type) us [pointer]: A pointer to a structure containing dimensional. :typefield type(mom_control_struct) mom_csp [pointer]: A pointer to the MOM control structure. :typefield type(ice_shelf_cs) ice_shelf_csp [pointer]: A pointer to the control structure for the. :typefield type(marine_ice_cs) marine_ice_csp [pointer]: A pointer to the control structure for the. :typefield type(wave_parameters_cs) waves [pointer]: A structure containing pointers to the surface wave fields. :typefield type(surface_forcing_cs) forcing_csp [pointer]: A pointer to the MOM forcing control structure. :typefield type(mom_restart_cs) restart_csp [pointer]: A pointer set to the restart control structure. :typefield type(diag_ctrl) diag [pointer]: A pointer to the diagnostic regulatory structure. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine ocean_model_init(Ocean_sfc, OS, Time_init, Time_in, wind_stagger, gas_fields_ocn) ocean_model_init initializes the ocean model, including registering fields for restarts and reading restart files if appropriate. This subroutine initializes both the ocean state and the ocean surface type. Because of the way that indicies and domains are handled, Ocean_sfc must have been used in a previous call to initialize_ocean_type. :param ocean_sfc: [inout] A structure containing various publicly :param os: A structure whose internal contents are private to :f:func:`ocean_model_mod` that may be used to contain all information about the ocean's interior state. that may be used to contain all information about the ocean's interior state. :param time_init: [in] The start time for the coupled model's calendar :param time_in: [in] The time at which to initialize the ocean model. :param wind_stagger: [in] If present, the staggering of the winds that are being provided in calls to update_ocean_model :param gas_fields_ocn: [in] If present, this type describes the :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`mom_file_parser::close_param_file ` :callto: :f:func:`convert_state_to_ocean_type ` :callto: :f:func:`mom_diag_mediator::diag_mediator_close_registration ` :callto: :f:func:`initialize_ocean_public_type ` :callto: :f:func:`mom_marine_ice::marine_ice_init ` :callto: :f:func:`mom_wave_interface::mom_wave_interface_init_lite ` :callto: :f:func:`mom_string_functions::uppercase ` .. f:subroutine:: subroutine update_ocean_model(Ice_ocean_boundary, OS, Ocean_sfc, time_start_update, Ocean_coupling_time_step, update_dyn, update_thermo, Ocn_fluxes_used, start_cycle, end_cycle, cycle_length) update_ocean_model uses the forcing in Ice_ocean_boundary to advance the ocean model's state from the input value of Ocean_state (which must be for time time_start_update) for a time interval of Ocean_coupling_time_step, returning the publicly visible ocean surface properties in Ocean_sfc and storing the new ocean properties in Ocean_state. :param ice_ocean_boundary: [in] A structure containing the various :param os: A pointer to a private structure containing the :param ocean_sfc: [inout] A structure containing all the publicly visible :param time_start_update: [in] The time at the beginning of the update step. :param ocean_coupling_time_step: [in] The amount of time over which to advance the ocean. :param update_dyn: [in] If present and false, do not do updates due to the ocean dynamics. :param update_thermo: [in] If present and false, do not do updates due to the ocean thermodynamics or remapping. :param ocn_fluxes_used: [in] If present, this indicates whether the cumulative thermodynamic fluxes from the ocean, like frazil, have been used and should be reset. :param start_cycle: [in] This indicates whether this call is to be treated as the first call to step_MOM in a time-stepping cycle; missing is like true. :param end_cycle: [in] This indicates whether this call is to be treated as the last call to step_MOM in a time-stepping cycle; missing is like true. :param cycle_length: [in] The duration of a coupled time stepping cycle [s]. :callto: :f:func:`mom_ice_shelf::add_shelf_forces ` :callto: :f:func:`mom_error_handler::calltree_enter ` :callto: :f:func:`mom_error_handler::calltree_leave ` :callto: :f:func:`convert_state_to_ocean_type ` :callto: :f:func:`mom_forcing_type::forcing_diagnostics ` :callto: :f:func:`mom_marine_ice::iceberg_fluxes ` :callto: :f:func:`mom_marine_ice::iceberg_forces ` :callto: :f:func:`mom_forcing_type::mech_forcing_diags ` :callto: :f:func:`mom_generic_tracer::mom_generic_tracer_fluxes_accumulate ` :callto: :f:func:`mom_time_manager::real_to_time ` :callto: :f:func:`mom::step_offline ` :callto: :f:func:`mom_wave_interface::update_surface_waves ` .. f:subroutine:: subroutine ocean_model_restart(OS, timestamp) This subroutine writes out the ocean model restart file. :param os: A pointer to the structure containing the internal ocean state being saved to a restart file :param timestamp: [in] An optional timestamp string that should be prepended to the file name. (Currently this is unused.) :callto: :f:func:`mom_surface_forcing_gfdl::forcing_save_restart ` :callto: :f:func:`mom_ice_shelf::ice_shelf_save_restart ` :callto: :f:func:`mom_restart::save_restart ` .. f:subroutine:: subroutine ocean_model_end(Ocean_sfc, Ocean_state, Time) ocean_model_end terminates the model run, saving the ocean state in a restart and deallocating any data associated with the ocean. :param ocean_sfc: [inout] An :f:func:`ocean_public_type` structure that is to be deallocated upon termination. structure that is to be deallocated upon termination. :param ocean_state: A pointer to the structure containing the internal ocean state to be deallocated upon termination. :param time: [in] The model time, used for writing restarts. :callto: :f:func:`mom_diag_mediator::diag_mediator_end ` :callto: :f:func:`mom_ice_shelf::ice_shelf_end ` :callto: :f:func:`ocean_model_save_restart ` .. f:subroutine:: subroutine ocean_model_save_restart(OS, Time, directory, filename_suffix) ocean_model_save_restart causes restart files associated with the ocean to be written out. :param os: A pointer to the structure containing the internal ocean state (in). :param time: [in] The model time at this call, needed for mpp_write calls. :param directory: [in] An optional directory into which to write these restart files. :param filename_suffix: [in] An optional suffix (e.g., a time-stamp) to append to the restart file names. :callto: :f:func:`mom_surface_forcing_gfdl::forcing_save_restart ` :callto: :f:func:`mom_ice_shelf::ice_shelf_save_restart ` :callto: :f:func:`mom_restart::save_restart ` :calledfrom: :f:func:`ocean_model_end ` .. f:subroutine:: subroutine initialize_ocean_public_type(input_domain, Ocean_sfc, diag, maskmap, gas_fields_ocn) Initialize the public ocean type. :param input_domain: [in] The ocean model domain description :param ocean_sfc: [inout] A structure containing various publicly visible ocean surface properties after initialization, whose elements are allocated here. :param diag: [in] A structure that regulates diagnsotic output :param maskmap: [in] A mask indicating which virtual processors :param gas_fields_ocn: [in] If present, this type describes the :calledfrom: :f:func:`ocean_model_init ` .. f:subroutine:: subroutine convert_state_to_ocean_type(sfc_state, Ocean_sfc, G, US, patm, press_to_z) This subroutine translates the coupler's ocean_data_type into MOM's surface state variable. This may eventually be folded into the MOM code that calculates the surface state in the first place. Note the offset in the arrays because the ocean_data_type has no halo points in its arrays and always uses absolute indicies. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param ocean_sfc: [inout] A structure containing various publicly :param g: [inout] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param patm: [in] The pressure at the ocean surface [Pa]. :param press_to_z: [in] A conversion factor between pressure and ocean depth in m, usually 1/(rho_0*g) [m Pa-1]. :callto: :f:func:`mom_constants::celsius_kelvin_offset ` :calledfrom: :f:func:`ocean_model_init ` :calledfrom: :f:func:`ocean_model_init_sfc ` :calledfrom: :f:func:`update_ocean_model ` .. f:subroutine:: subroutine ocean_model_init_sfc(OS, Ocean_sfc) This subroutine extracts the surface properties from the ocean's internal state and stores them in the ocean type returned to the calling ice model. It has to be separate from the ocean_initialization call because the coupler module allocates the space for some of these variables. :param os: The structure with the complete ocean state :param ocean_sfc: [inout] A structure containing various publicly visible ocean surface properties after initialization, whose elements have their data set here. :callto: :f:func:`convert_state_to_ocean_type ` .. f:subroutine:: subroutine ocean_model_flux_init(OS, verbosity) ocean_model_flux_init is used to initialize properties of the air-sea fluxes as determined by various run-time parameters. It can be called from non-ocean PEs, or PEs that have not yet been initialzed, and it can safely be called multiple times. :param os: An optional pointer to the ocean state, used to figure out if this is an ocean PE that has already been initialized. :param verbosity: [in] A 0-9 integer indicating a level of verbosity. :callto: :f:func:`mom_tracer_flow_control::call_tracer_flux_init ` .. f:subroutine:: subroutine ocean_stock_pe(OS, index, value, time_index) Ocean_stock_pe - returns the integrated stocks of heat, water, etc. for conservation checks. Because of the way FMS is coded, only the root PE has the integrated amount, while all other PEs get 0. :param os: A structure containing the internal ocean state. The data in OS is intent in. :param index: [in] The stock index for the quantity of interest. :param value: [out] Sum returned for the conservation quantity of interest. :param time_index: [in] An unused optional argument, present only for interfacial compatibility with other models. :callto: :f:func:`mom::get_ocean_stocks ` .. f:subroutine:: subroutine ocean_model_data2d_get(OS, Ocean, name, array2D, isc, jsc) This subroutine extracts a named 2-D field from the ocean surface or public type. :param os: A pointer to the structure containing the internal ocean state (intent in). :param ocean: [in] A structure containing various publicly visible ocean surface fields. :param name: [in] The name of the field to extract :param array2d: [out] The values of the named field, it must cover only the computational domain :param isc: [in] The starting i-index of array2D :param jsc: [in] The starting j-index of array2D :callto: :f:func:`mom_constants::celsius_kelvin_offset ` .. f:subroutine:: subroutine ocean_model_data1d_get(OS, Ocean, name, value) This subroutine extracts a named scalar field from the ocean surface or public type. :param os: A pointer to the structure containing the internal ocean state (intent in). :param ocean: [in] A structure containing various publicly visible ocean surface fields. :param name: [in] The name of the field to extract :param value: [out] The value of the named field .. f:subroutine:: subroutine ocean_public_type_chksum(id, timestep, ocn) Write out FMS-format checsums on fields from the ocean surface state. :param id: [in] An identifying string for this call :param timestep: [in] The number of elapsed timesteps :param ocn: [in] A structure containing various publicly visible ocean surface fields. .. f:subroutine:: subroutine get_ocean_grid(OS, Gridp) This subroutine gives a handle to the grid from ocean state. :param os: A structure containing the internal ocean state :param gridp: The ocean's grid structure .. f:subroutine:: subroutine ocean_model_get_uv_surf(OS, Ocean, name, array2D, isc, jsc) This subroutine extracts a named (u- or v-) 2-D surface current from ocean internal state. :param os: A pointer to the structure containing the internal ocean state (intent in). :param ocean: [in] A structure containing various publicly visible ocean surface fields. :param name: [in] The name of the current (ua or va) to extract :param array2d: [out] The values of the named field, it must cover only the computational domain :param isc: [in] The starting i-index of array2D :param jsc: [in] The starting j-index of array2D [debug] xpath(./compounddef/compoundname[text()="ocean_model_mod::ocean_public_type"]/..) match([('id', 'structocean__model__mod_1_1ocean__public__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_model_mod::ocean_public_type', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_model_mod::ocean_public_type', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_model_mod::ocean_public_type', , {}, [' [debug] xpath(./compounddef/compoundname[text()="ocean_model_mod::ocean_state_type"]/..) match([('id', 'structocean__model__mod_1_1ocean__state__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structocean__model__mod_1_1ocean__state__type) kindref(compound) ref([]) [debug] ref([('id', 'structocean__model__mod_1_1ocean__state__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_model_mod::ocean_state_type', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_model_mod::ocean_state_type', , {}, ['` [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_model_mod::ocean_state_type', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((Ocean_sfc, OS, Time_init, Time_in, wind_stagger, gas_fields_ocn)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_init', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_init', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((Ice_ocean_boundary, OS, Ocean_sfc, time_start_update, Ocean_coupling_time_step, update_dyn, update_thermo, Ocn_fluxes_used, start_cycle, end_cycle, cycle_length)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::update_ocean_model', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::update_ocean_model', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((OS, timestamp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_restart', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_restart', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((Ocean_sfc, Ocean_state, Time)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_end', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_end', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((OS, Time, directory, filename_suffix)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_save_restart', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_save_restart', , { [debug] DoxygenMethodDocumenter format_signature called ((input_domain, Ocean_sfc, diag, maskmap, gas_fields_ocn)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::initialize_ocean_public_type', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::convert_state_to_ocean_type', [debug] DoxygenMethodDocumenter format_signature called ((OS, Ocean_sfc)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_init_sfc', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_init_sfc', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((OS, verbosity)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_flux_init', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_flux_init', , {}, [debug] DoxygenMethodDocumenter format_signature called ((OS, index, value, time_index)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_stock_pe', , {}, ['', 'O [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_stock_pe', , {}, ['', 'O [debug] DoxygenMethodDocumenter format_signature called ((OS, Ocean, name, array2D, isc, jsc)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_data2d_get', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_data2d_get', , {}, [debug] DoxygenMethodDocumenter format_signature called ((OS, Ocean, name, value)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_data1d_get', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_data1d_get', , {}, [debug] DoxygenMethodDocumenter format_signature called ((id, timestep, ocn)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_public_type_chksum', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_public_type_chksum', , { [debug] DoxygenMethodDocumenter format_signature called ((OS, Gridp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::get_ocean_grid', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::get_ocean_grid', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((OS, Ocean, name, array2D, isc, jsc)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_get_uv_surf', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ocean_model_mod::ocean_model_get_uv_surf', , {} [fd] run(.. f:type:: ocean_public_type) [fd] sig(ocean_public_type) [fd] ftype(None) objtype(None) modname(None) typename() name(ocean_public_type) arglist(None) [fd] fullname(ocean_model_mod/ocean_public_type) ftype(None) [fd] name(('ocean_model_mod/ocean_public_type', None)) sig(ocean_public_type) signode(type ocean_model_mod/ocean_public_type) [fd] run(.. f:type:: ocean_state_type) [fd] sig(ocean_state_type) [fd] ftype(None) objtype(None) modname(None) typename() name(ocean_state_type) arglist(None) [fd] fullname(ocean_model_mod/ocean_state_type) ftype(None) [fd] name(('ocean_model_mod/ocean_state_type', None)) sig(ocean_state_type) signode(type ocean_model_mod/ocean_state_type) [fd] run(.. f:subroutine:: subroutine ocean_model_init(Ocean_sfc, OS, Time_init, Time_in, wind_stagger, gas_fields_ocn)) [fd] sig(subroutine ocean_model_init(Ocean_sfc, OS, Time_init, Time_in, wind_stagger, gas_fields_ocn)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ocean_model_init) arglist(Ocean_sfc, OS, Time_init, Time_in, wind_stagger, gas_fields_ocn) [fd] fullname(ocean_model_mod/ocean_model_init) ftype(None) [fd] name(('ocean_model_mod/ocean_model_init', None)) sig(subroutine ocean_model_init(Ocean_sfc, OS, Time_init, Time_in, wind_stagger, gas_fields_ocn)) signode(subroutine ocean_model_mod/ocean_model_initOcean_sfcOSTime_initTime_inwind_staggergas_fields_ocn) [fd] run(.. f:subroutine:: subroutine update_ocean_model(Ice_ocean_boundary, OS, Ocean_sfc, time_start_update, Ocean_coupling_time_step, update_dyn, update_thermo, Ocn_fluxes_used, start_cycle, end_cycle, cycle_length)) [fd] sig(subroutine update_ocean_model(Ice_ocean_boundary, OS, Ocean_sfc, time_start_update, Ocean_coupling_time_step, update_dyn, update_thermo, Ocn_fluxes_used, start_cycle, end_cycle, cycle_length)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(update_ocean_model) arglist(Ice_ocean_boundary, OS, Ocean_sfc, time_start_update, Ocean_coupling_time_step, update_dyn, update_thermo, Ocn_fluxes_used, start_cycle, end_cycle, cycle_length) [fd] fullname(ocean_model_mod/update_ocean_model) ftype(None) [fd] name(('ocean_model_mod/update_ocean_model', None)) sig(subroutine update_ocean_model(Ice_ocean_boundary, OS, Ocean_sfc, time_start_update, Ocean_coupling_time_step, update_dyn, update_thermo, Ocn_fluxes_used, start_cycle, end_cycle, cycle_length)) signode(subroutine ocean_model_mod/update_ocean_modelIce_ocean_boundaryOSOcean_sfctime_start_updateOcean_coupling_time_stepupdate_dynupdate_thermoOcn_fluxes_usedstart_cycleend_cyclecycle_length) [fd] run(.. f:subroutine:: subroutine ocean_model_restart(OS, timestamp)) [fd] sig(subroutine ocean_model_restart(OS, timestamp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ocean_model_restart) arglist(OS, timestamp) [fd] fullname(ocean_model_mod/ocean_model_restart) ftype(None) [fd] name(('ocean_model_mod/ocean_model_restart', None)) sig(subroutine ocean_model_restart(OS, timestamp)) signode(subroutine ocean_model_mod/ocean_model_restartOStimestamp) [fd] run(.. f:subroutine:: subroutine ocean_model_end(Ocean_sfc, Ocean_state, Time)) [fd] sig(subroutine ocean_model_end(Ocean_sfc, Ocean_state, Time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ocean_model_end) arglist(Ocean_sfc, Ocean_state, Time) [fd] fullname(ocean_model_mod/ocean_model_end) ftype(None) [fd] name(('ocean_model_mod/ocean_model_end', None)) sig(subroutine ocean_model_end(Ocean_sfc, Ocean_state, Time)) signode(subroutine ocean_model_mod/ocean_model_endOcean_sfcOcean_stateTime) [fd] run(.. f:subroutine:: subroutine ocean_model_save_restart(OS, Time, directory, filename_suffix)) [fd] sig(subroutine ocean_model_save_restart(OS, Time, directory, filename_suffix)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ocean_model_save_restart) arglist(OS, Time, directory, filename_suffix) [fd] fullname(ocean_model_mod/ocean_model_save_restart) ftype(None) [fd] name(('ocean_model_mod/ocean_model_save_restart', None)) sig(subroutine ocean_model_save_restart(OS, Time, directory, filename_suffix)) signode(subroutine ocean_model_mod/ocean_model_save_restartOSTimedirectoryfilename_suffix) [fd] run(.. f:subroutine:: subroutine initialize_ocean_public_type(input_domain, Ocean_sfc, diag, maskmap, gas_fields_ocn)) [fd] sig(subroutine initialize_ocean_public_type(input_domain, Ocean_sfc, diag, maskmap, gas_fields_ocn)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_ocean_public_type) arglist(input_domain, Ocean_sfc, diag, maskmap, gas_fields_ocn) [fd] fullname(ocean_model_mod/initialize_ocean_public_type) ftype(None) [fd] name(('ocean_model_mod/initialize_ocean_public_type', None)) sig(subroutine initialize_ocean_public_type(input_domain, Ocean_sfc, diag, maskmap, gas_fields_ocn)) signode(subroutine ocean_model_mod/initialize_ocean_public_typeinput_domainOcean_sfcdiagmaskmapgas_fields_ocn) [fd] run(.. f:subroutine:: subroutine convert_state_to_ocean_type(sfc_state, Ocean_sfc, G, US, patm, press_to_z)) [fd] sig(subroutine convert_state_to_ocean_type(sfc_state, Ocean_sfc, G, US, patm, press_to_z)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(convert_state_to_ocean_type) arglist(sfc_state, Ocean_sfc, G, US, patm, press_to_z) [fd] fullname(ocean_model_mod/convert_state_to_ocean_type) ftype(None) [fd] name(('ocean_model_mod/convert_state_to_ocean_type', None)) sig(subroutine convert_state_to_ocean_type(sfc_state, Ocean_sfc, G, US, patm, press_to_z)) signode(subroutine ocean_model_mod/convert_state_to_ocean_typesfc_stateOcean_sfcGUSpatmpress_to_z) [fd] run(.. f:subroutine:: subroutine ocean_model_init_sfc(OS, Ocean_sfc)) [fd] sig(subroutine ocean_model_init_sfc(OS, Ocean_sfc)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ocean_model_init_sfc) arglist(OS, Ocean_sfc) [fd] fullname(ocean_model_mod/ocean_model_init_sfc) ftype(None) [fd] name(('ocean_model_mod/ocean_model_init_sfc', None)) sig(subroutine ocean_model_init_sfc(OS, Ocean_sfc)) signode(subroutine ocean_model_mod/ocean_model_init_sfcOSOcean_sfc) [fd] run(.. f:subroutine:: subroutine ocean_model_flux_init(OS, verbosity)) [fd] sig(subroutine ocean_model_flux_init(OS, verbosity)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ocean_model_flux_init) arglist(OS, verbosity) [fd] fullname(ocean_model_mod/ocean_model_flux_init) ftype(None) [fd] name(('ocean_model_mod/ocean_model_flux_init', None)) sig(subroutine ocean_model_flux_init(OS, verbosity)) signode(subroutine ocean_model_mod/ocean_model_flux_initOSverbosity) [fd] run(.. f:subroutine:: subroutine ocean_stock_pe(OS, index, value, time_index)) [fd] sig(subroutine ocean_stock_pe(OS, index, value, time_index)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ocean_stock_pe) arglist(OS, index, value, time_index) [fd] fullname(ocean_model_mod/ocean_stock_pe) ftype(None) [fd] name(('ocean_model_mod/ocean_stock_pe', None)) sig(subroutine ocean_stock_pe(OS, index, value, time_index)) signode(subroutine ocean_model_mod/ocean_stock_peOSindexvaluetime_index) [fd] run(.. f:subroutine:: subroutine ocean_model_data2d_get(OS, Ocean, name, array2D, isc, jsc)) [fd] sig(subroutine ocean_model_data2d_get(OS, Ocean, name, array2D, isc, jsc)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ocean_model_data2d_get) arglist(OS, Ocean, name, array2D, isc, jsc) [fd] fullname(ocean_model_mod/ocean_model_data2d_get) ftype(None) [fd] name(('ocean_model_mod/ocean_model_data2d_get', None)) sig(subroutine ocean_model_data2d_get(OS, Ocean, name, array2D, isc, jsc)) signode(subroutine ocean_model_mod/ocean_model_data2d_getOSOceannamearray2Discjsc) [fd] run(.. f:subroutine:: subroutine ocean_model_data1d_get(OS, Ocean, name, value)) [fd] sig(subroutine ocean_model_data1d_get(OS, Ocean, name, value)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ocean_model_data1d_get) arglist(OS, Ocean, name, value) [fd] fullname(ocean_model_mod/ocean_model_data1d_get) ftype(None) [fd] name(('ocean_model_mod/ocean_model_data1d_get', None)) sig(subroutine ocean_model_data1d_get(OS, Ocean, name, value)) signode(subroutine ocean_model_mod/ocean_model_data1d_getOSOceannamevalue) [fd] run(.. f:subroutine:: subroutine ocean_public_type_chksum(id, timestep, ocn)) [fd] sig(subroutine ocean_public_type_chksum(id, timestep, ocn)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ocean_public_type_chksum) arglist(id, timestep, ocn) [fd] fullname(ocean_model_mod/ocean_public_type_chksum) ftype(None) [fd] name(('ocean_model_mod/ocean_public_type_chksum', None)) sig(subroutine ocean_public_type_chksum(id, timestep, ocn)) signode(subroutine ocean_model_mod/ocean_public_type_chksumidtimestepocn) [fd] run(.. f:subroutine:: subroutine get_ocean_grid(OS, Gridp)) [fd] sig(subroutine get_ocean_grid(OS, Gridp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(get_ocean_grid) arglist(OS, Gridp) [fd] fullname(ocean_model_mod/get_ocean_grid) ftype(None) [fd] name(('ocean_model_mod/get_ocean_grid', None)) sig(subroutine get_ocean_grid(OS, Gridp)) signode(subroutine ocean_model_mod/get_ocean_gridOSGridp) [fd] run(.. f:subroutine:: subroutine ocean_model_get_uv_surf(OS, Ocean, name, array2D, isc, jsc)) [fd] sig(subroutine ocean_model_get_uv_surf(OS, Ocean, name, array2D, isc, jsc)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ocean_model_get_uv_surf) arglist(OS, Ocean, name, array2D, isc, jsc) [fd] fullname(ocean_model_mod/ocean_model_get_uv_surf) ftype(None) [fd] name(('ocean_model_mod/ocean_model_get_uv_surf', None)) sig(subroutine ocean_model_get_uv_surf(OS, Ocean, name, array2D, isc, jsc)) signode(subroutine ocean_model_mod/ocean_model_get_uv_surfOSOceannamearray2Discjsc) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 66%] api/generated/modules/oil_tracer [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/oil_tracer') [app] emitting event: 'source-read'('api/generated/modules/oil_tracer', ['.. autodoxymodule:: oil_tracer\n :members:\n :methods:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/oil_tracer.rst:1: input: .. autodoxymodule:: oil_tracer :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~oil_tracer::oil_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~oil_tracer::register_oil_tracer ~oil_tracer::initialize_oil_tracer ~oil_tracer::oil_tracer_column_physics ~oil_tracer::oil_stock ~oil_tracer::oil_tracer_surface_state ~oil_tracer::oil_tracer_end [debug] xpath(./compounddef/compoundname[text()="oil_tracer"]/..) match([('id', 'namespaceoil__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:oil_tracer module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'oil_tracer', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'oil_tracer' (exception was: ModuleNotFoundError("No module named 'oil_tracer'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'oil_tracer::oil_tracer_cs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('initialize_oil_tracer', ), ('oil_tracer_column_physics', ), ('oil_stock', ), ('oil_tracer_surface_state', ), ('oil_tracer_end', )]) [autodoc] module analyzer failed: error importing 'oil_tracer' (exception was: ModuleNotFoundError("No module named 'oil_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, US, param_file, CS, tr_Reg, restart_CS)) [debug] add_directive_header sig((HI, GV, US, param_file, CS, tr_Reg, restart_CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function register_oil_tracer) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_oil_tracer', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~oil_tracer::oil_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~oil_tracer::register_oil_tracer ~oil_tracer::initialize_oil_tracer ~oil_tracer::oil_tracer_column_physics ~oil_tracer::oil_stock ~oil_tracer::oil_tracer_surface_state ~oil_tracer::oil_tracer_end .. _DETAoil_tracer: -------------------- Detailed Description -------------------- By Alistair Adcroft and Robert Hallberg, 2010 * In the midst of the Deepwater Horizon oil spill, it became evident that models were needed to predict the long-term fate of dissolved oil in the open ocean. This tracer packages mimics the transport, dilution and decay of dissolved oil plumes in the ocean. This tracer package was central to the simulations used by Adcroft et al., GRL 2010, to prove that the Deepwater Horizon spill was an important regional event, with implications for dissolved oxygen levels in the Gulf of Mexico, but not one that would directly impact the East Coast of the U.S. ------------------ Type Documentation ------------------ .. f:type:: oil_tracer_cs The control structure for the oil tracer package. :typefield integer ntr: The number of tracers that are actually used. :typefield logical coupled_tracers: These tracers are not offered to the coupler. :typefield character (len=200) ic_file: The file in which the age-tracer initial values can be found, or an empty string for internal initialization. :typefield logical z_ic_file: If true, the IC_file is in Z-space. The default is false. :typefield real oil_source_longitude: Latitude of source location (geographic) :typefield real oil_source_latitude: Longitude of source location (geographic) :typefield integer oil_source_i: Local i of source location (computational) :typefield integer oil_source_j: Local j of source location (computational) :typefield real oil_source_rate: Rate of oil injection [kg T-1 ~> kg s-1]. :typefield real oil_start_year: The year in which tracers start aging, or at which the surface value equals young_val, in years. :typefield real oil_end_year: The year in which tracers start aging, or at which the surface value equals young_val, in years. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(tracer_registry_type) tr_reg [pointer]: A pointer to the MOM tracer registry. :typefield real(\:,\:,\:,\:) tr [pointer]: The array of tracers used in this subroutine, in g m-3? :typefield real( ntr_max ) ic_val: The (uniform) initial condition value. :typefield real( ntr_max ) young_val: The value assigned to tr at the surface. :typefield real( ntr_max ) land_val: The value of tr used where land is masked out. :typefield real( ntr_max ) sfc_growth_rate: The exponential growth rate for the surface value [year-1]. :typefield real( ntr_max ) oil_decay_days: Decay time scale of oil [days]. :typefield real( ntr_max ) oil_decay_rate: Decay rate of oil [T-1 ~> s-1] calculated from oil_decay_days. :typefield integer( ntr_max ) oil_source_k: Layer of source. :typefield logical oil_may_reinit: If true, oil tracers may be reset by the initialization code if they are not found in the restart files. :typefield integer( ntr_max ) ind_tr: Indices returned by aof_set_coupler_flux if it is used and the surface tracer concentrations are to be provided to the coupler. :typefield type(vardesc)( ntr_max ) tr_desc: Descriptions and metadata for the tracers. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(mom_restart_cs) restart_csp [pointer]: A pointer to the restart control structure. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function register_oil_tracer(HI, GV, US, param_file, CS, tr_Reg, restart_CS) Register oil tracer fields and subroutines to be used with MOM. :param hi: [in] A horizontal index type structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :param cs: A pointer that is set to point to the control structure for this module :param tr_reg: A pointer that is set to point to the control structure for the tracer advection and diffusion module :param restart_cs: A pointer to the restart control structure :callto: :f:func:`atmos_ocean_fluxes_mod::aof_set_coupler_flux ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ntr_max ` :callto: :f:func:`mom_io::query_vardesc ` :callto: :f:func:`mom_tracer_registry::register_tracer ` :callto: :f:func:`mom_io::var_desc ` .. f:subroutine:: subroutine initialize_oil_tracer(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp) Initialize the oil tracers and set up tracer output. :param restart: [in] .true. if the fields have already been read from a restart file. :param day: [in] Time of the start of the run. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param diag: [in] A structure that is used to regulate diagnostic output. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param cs: The control structure returned by a previous call to register_oil_tracer. :param sponge_csp: Pointer to the control structure for the sponges. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_io::query_vardesc ` :callto: :f:func:`mom_tracer_z_init::tracer_z_init ` .. f:subroutine:: subroutine oil_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, evap_CFL_limit, minimum_forcing_depth) Apply sources, sinks, diapycnal mixing and rising motions to the oil tracers. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h_old: [in] Layer thickness before entrainment [H ~> m or kg m-2]. :param h_new: [in] Layer thickness after entrainment [H ~> m or kg m-2]. :param ea: [in] an array to which the amount of fluid entrained :param eb: [in] an array to which the amount of fluid entrained :param fluxes: [in] A structure containing pointers to thermodynamic and tracer forcing fields. Unused fields have NULL ptrs. :param dt: [in] The amount of time covered by this call [T ~> s] :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to register_oil_tracer. :param tv: [in] A structure pointing to various thermodynamic variables :param evap_cfl_limit: [in] Limit on the fraction of the water that can be fluxed out of the top layer in a timestep [nondim] :param minimum_forcing_depth: [in] The smallest depth over which fluxes can be applied [H ~> m or kg m-2] :callto: :f:func:`mom_tracer_diabatic::applytracerboundaryfluxesinout ` :callto: :f:func:`mom_tracer_diabatic::tracer_vertdiff ` .. f:function:: integer function oil_stock(h, stocks, G, GV, CS, names, units, stock_index) Calculate the mass-weighted integral of the oil tracer stocks, returning the number of stocks it has calculated. If the stock_index is present, only the stock corresponding to that coded index is returned. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param stocks: [out] the mass-weighted integrated amount of each tracer, in kg times concentration units [kg conc]. :param cs: The control structure returned by a previous call to register_oil_tracer. :param names: [out] the names of the stocks calculated. :param units: [out] the units of the stocks calculated. :param stock_index: [in] the coded index of a specific stock being sought. :returns undefined: The number of stocks calculated here. :callto: :f:func:`mom_io::query_vardesc ` :calledfrom: :f:func:`mom_tracer_flow_control::call_tracer_stocks ` .. f:subroutine:: subroutine oil_tracer_surface_state(sfc_state, h, G, CS) This subroutine extracts the surface fields from this tracer package that are to be shared with the atmosphere in coupled configurations. This particular tracer package does not report anything back to the coupler. :param g: [in] The ocean's grid structure. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param h: [in] Layer thickness [H ~> m or kg m-2]. :param cs: The control structure returned by a previous call to register_oil_tracer. .. f:subroutine:: subroutine oil_tracer_end(CS) Deallocate memory associated with this tracer package. :param cs: The control structure returned by a previous call to register_oil_tracer. [debug] xpath(./compounddef/compoundname[text()="oil_tracer::oil_tracer_cs"]/..) match([('id', 'structoil__tracer_1_1oil__tracer__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'oil_tracer::oil_tracer_cs', , {}, ['', 'The c [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'oil_tracer::oil_tracer_cs', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'oil_tracer::oil_tracer_cs', , {}, ['', 'The c [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, US, param_file, CS, tr_Reg, restart_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'oil_tracer::register_oil_tracer', , {}, ['', 'R [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'oil_tracer::register_oil_tracer', , {}, ['', 'R [debug] DoxygenMethodDocumenter format_signature called ((restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'oil_tracer::initialize_oil_tracer', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'oil_tracer::initialize_oil_tracer', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, evap_CFL_limit, minimum_forcing_depth)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'oil_tracer::oil_tracer_column_physics', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'oil_tracer::oil_tracer_column_physics', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((h, stocks, G, GV, CS, names, units, stock_index)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'oil_tracer::oil_stock', , {}, ['', 'Calculate t [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'oil_tracer::oil_stock', , {}, ['', 'Calculate t [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, h, G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'oil_tracer::oil_tracer_surface_state', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'oil_tracer::oil_tracer_surface_state', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'oil_tracer::oil_tracer_end', , {}, ['', 'Deallo [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'oil_tracer::oil_tracer_end', , {}, ['', 'Deallo [fd] run(.. f:type:: oil_tracer_cs) [fd] sig(oil_tracer_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(oil_tracer_cs) arglist(None) [fd] fullname(oil_tracer/oil_tracer_cs) ftype(None) [fd] name(('oil_tracer/oil_tracer_cs', None)) sig(oil_tracer_cs) signode(type oil_tracer/oil_tracer_cs) [fd] run(.. f:function:: logical function register_oil_tracer(HI, GV, US, param_file, CS, tr_Reg, restart_CS)) [fd] sig(logical function register_oil_tracer(HI, GV, US, param_file, CS, tr_Reg, restart_CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_oil_tracer) arglist(HI, GV, US, param_file, CS, tr_Reg, restart_CS) [fd] fullname(oil_tracer/register_oil_tracer) ftype(logical) [fd] name(('oil_tracer/register_oil_tracer', 'logical')) sig(logical function register_oil_tracer(HI, GV, US, param_file, CS, tr_Reg, restart_CS)) signode(function oil_tracer/register_oil_tracerHIGVUSparam_fileCStr_Regrestart_CS [logical]) [fd] run(.. f:subroutine:: subroutine initialize_oil_tracer(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp)) [fd] sig(subroutine initialize_oil_tracer(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_oil_tracer) arglist(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp) [fd] fullname(oil_tracer/initialize_oil_tracer) ftype(None) [fd] name(('oil_tracer/initialize_oil_tracer', None)) sig(subroutine initialize_oil_tracer(restart, day, G, GV, US, h, diag, OBC, CS, sponge_CSp)) signode(subroutine oil_tracer/initialize_oil_tracerrestartdayGGVUShdiagOBCCSsponge_CSp) [fd] run(.. f:subroutine:: subroutine oil_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, evap_CFL_limit, minimum_forcing_depth)) [fd] sig(subroutine oil_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, evap_CFL_limit, minimum_forcing_depth)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(oil_tracer_column_physics) arglist(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, evap_CFL_limit, minimum_forcing_depth) [fd] fullname(oil_tracer/oil_tracer_column_physics) ftype(None) [fd] name(('oil_tracer/oil_tracer_column_physics', None)) sig(subroutine oil_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, evap_CFL_limit, minimum_forcing_depth)) signode(subroutine oil_tracer/oil_tracer_column_physicsh_oldh_neweaebfluxesdtGGVUSCStvevap_CFL_limitminimum_forcing_depth) [fd] run(.. f:function:: integer function oil_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] sig(integer function oil_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] ftype(integer) objtype(function) modname(None) typename() name(oil_stock) arglist(h, stocks, G, GV, CS, names, units, stock_index) [fd] fullname(oil_tracer/oil_stock) ftype(integer) [fd] name(('oil_tracer/oil_stock', 'integer')) sig(integer function oil_stock(h, stocks, G, GV, CS, names, units, stock_index)) signode(function oil_tracer/oil_stockhstocksGGVCSnamesunitsstock_index [integer]) [fd] run(.. f:subroutine:: subroutine oil_tracer_surface_state(sfc_state, h, G, CS)) [fd] sig(subroutine oil_tracer_surface_state(sfc_state, h, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(oil_tracer_surface_state) arglist(sfc_state, h, G, CS) [fd] fullname(oil_tracer/oil_tracer_surface_state) ftype(None) [fd] name(('oil_tracer/oil_tracer_surface_state', None)) sig(subroutine oil_tracer_surface_state(sfc_state, h, G, CS)) signode(subroutine oil_tracer/oil_tracer_surface_statesfc_statehGCS) [fd] run(.. f:subroutine:: subroutine oil_tracer_end(CS)) [fd] sig(subroutine oil_tracer_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(oil_tracer_end) arglist(CS) [fd] fullname(oil_tracer/oil_tracer_end) ftype(None) [fd] name(('oil_tracer/oil_tracer_end', None)) sig(subroutine oil_tracer_end(CS)) signode(subroutine oil_tracer/oil_tracer_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 66%] api/generated/modules/p1m_functions [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/p1m_function [app] emitting event: 'source-read'('api/generated/modules/p1m_functions', ['.. autodoxymodule:: p1m_functions\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/p1m_functions.rst:1: input: .. autodoxymodule:: p1m_functions :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~p1m_functions::p1m_interpolation ~p1m_functions::p1m_boundary_extrapolation [debug] xpath(./compounddef/compoundname[text()="p1m_functions"]/..) match([('id', 'namespacep1m__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:p1m_functions module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'p1m_functions', , {'members': , {'members': , {'members': ), ('p1m_boundary_extrapolation', )]) [autodoc] module analyzer failed: error importing 'p1m_functions' (exception was: ModuleNotFoundError("No module named 'p1m_functions'")) [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, ppoly_coef, h_neglect, answers_2018)) [debug] add_directive_header sig((N, h, u, edge_values, ppoly_coef, h_neglect, answers_2018)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine p1m_interpolation) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p1m_interpolation', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~p1m_functions::p1m_interpolation ~p1m_functions::p1m_boundary_extrapolation .. _DETAp1m_functions: -------------------- Detailed Description -------------------- Date of creation: 2008.06.09 L. White This module contains p1m (linear) interpolation routines. p1m interpolation is performed by estimating the edge values and linearly interpolating between them. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine p1m_interpolation(N, h, u, edge_values, ppoly_coef, h_neglect, answers_2018) Linearly interpolate between edge values. The resulting piecewise interpolant is stored in 'ppoly'. See 'ppoly.F90' for a definition of this structure. The edge values MUST have been estimated prior to calling this routine. The estimated edge values must be limited to ensure monotonicity of the interpolant. We also make sure that edge values are NOT discontinuous. It is assumed that the size of the array 'u' is equal to the number of cells defining 'grid' and 'ppoly'. No consistency check is performed here. :param n: [in] Number of cells :param h: [in] cell widths (size N) [H] :param u: [in] cell average properties (size N) [A] :param edge_values: [inout] Potentially modified edge values [A] :param ppoly_coef: [inout] Potentially modified piecewise polynomial coefficients, mainly [A] :param h_neglect: [in] A negligibly small width [H] :param answers_2018: [in] If true use older, less acccurate expressions. :callto: :f:func:`regrid_edge_values::average_discontinuous_edge_values ` :callto: :f:func:`regrid_edge_values::bound_edge_values ` :calledfrom: :f:func:`regrid_interp::regridding_set_ppolys ` .. f:subroutine:: subroutine p1m_boundary_extrapolation(N, h, u, edge_values, ppoly_coef) Interpolation by linear polynomials within boundary cells. The left and right edge values in the left and right boundary cells, respectively, are estimated using a linear extrapolation within the cells. It is assumed that the size of the array 'u' is equal to the number of cells defining 'grid' and 'ppoly'. No consistency check is performed here. :param n: [in] Number of cells :param h: [in] cell widths (size N) [H] :param u: [in] cell averages (size N) [A] :param edge_values: [inout] edge values of piecewise polynomials [A] :param ppoly_coef: [inout] coefficients of piecewise polynomials, mainly [A] :calledfrom: :f:func:`regrid_interp::regridding_set_ppolys ` [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, ppoly_coef, h_neglect, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p1m_functions::p1m_interpolation', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p1m_functions::p1m_interpolation', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, ppoly_coef)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p1m_functions::p1m_boundary_extrapolation', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p1m_functions::p1m_boundary_extrapolation', , { [fd] run(.. f:subroutine:: subroutine p1m_interpolation(N, h, u, edge_values, ppoly_coef, h_neglect, answers_2018)) [fd] sig(subroutine p1m_interpolation(N, h, u, edge_values, ppoly_coef, h_neglect, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(p1m_interpolation) arglist(N, h, u, edge_values, ppoly_coef, h_neglect, answers_2018) [fd] fullname(p1m_functions/p1m_interpolation) ftype(None) [fd] name(('p1m_functions/p1m_interpolation', None)) sig(subroutine p1m_interpolation(N, h, u, edge_values, ppoly_coef, h_neglect, answers_2018)) signode(subroutine p1m_functions/p1m_interpolationNhuedge_valuesppoly_coefh_neglectanswers_2018) [fd] run(.. f:subroutine:: subroutine p1m_boundary_extrapolation(N, h, u, edge_values, ppoly_coef)) [fd] sig(subroutine p1m_boundary_extrapolation(N, h, u, edge_values, ppoly_coef)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(p1m_boundary_extrapolation) arglist(N, h, u, edge_values, ppoly_coef) [fd] fullname(p1m_functions/p1m_boundary_extrapolation) ftype(None) [fd] name(('p1m_functions/p1m_boundary_extrapolation', None)) sig(subroutine p1m_boundary_extrapolation(N, h, u, edge_values, ppoly_coef)) signode(subroutine p1m_functions/p1m_boundary_extrapolationNhuedge_valuesppoly_coef) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 66%] api/generated/modules/p3m_functions [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/p3m_function [app] emitting event: 'source-read'('api/generated/modules/p3m_functions', ['.. autodoxymodule:: p3m_functions\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/p3m_functions.rst:1: input: .. autodoxymodule:: p3m_functions :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~p3m_functions::p3m_interpolation ~p3m_functions::p3m_limiter ~p3m_functions::p3m_boundary_extrapolation ~p3m_functions::build_cubic_interpolant ~p3m_functions::is_cubic_monotonic ~p3m_functions::monotonize_cubic [debug] xpath(./compounddef/compoundname[text()="p3m_functions"]/..) match([('id', 'namespacep3m__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:p3m_functions module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'p3m_functions', , {'members': , {'members': , {'members': ), ('p3m_limiter', ), ('p3m_boundary_extrapolation', ), ('build_cubic_interpolant', ), ('is_cubic_monotonic', ), ('monotonize_cubic', )]) [autodoc] module analyzer failed: error importing 'p3m_functions' (exception was: ModuleNotFoundError("No module named 'p3m_functions'")) [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, answers_2018)) [debug] add_directive_header sig((N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, answers_2018)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine p3m_interpolation) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p3m_interpolation', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~p3m_functions::p3m_interpolation ~p3m_functions::p3m_limiter ~p3m_functions::p3m_boundary_extrapolation ~p3m_functions::build_cubic_interpolant ~p3m_functions::is_cubic_monotonic ~p3m_functions::monotonize_cubic .. _DETAp3m_functions: -------------------- Detailed Description -------------------- Date of creation: 2008.06.09 L. White This module contains p3m interpolation routines. p3m interpolation is performed by estimating the edge values and slopes and constructing a cubic polynomial. We then make sure that the edge values are bounded and continuous and we then modify the slopes to get a monotonic cubic curve. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine p3m_interpolation(N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, answers_2018) Set up a piecewise cubic interpolation from cell averages and estimated edge slopes and values. Cubic interpolation between edges. The edge values and slopes MUST have been estimated prior to calling this routine. It is assumed that the size of the array 'u' is equal to the number of cells defining 'grid' and 'ppoly'. No consistency check is performed here. :param n: [in] Number of cells :param h: [in] cell widths (size N) [H] :param u: [in] cell averages (size N) in arbitrary units [A] :param edge_values: [inout] Edge value of polynomial [A] :param ppoly_s: [inout] Edge slope of polynomial [A H-1]. :param ppoly_coef: [inout] Coefficients of polynomial [A] :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions [H] :param answers_2018: [in] If true use older, less acccurate expressions. :callto: :f:func:`p3m_limiter ` :calledfrom: :f:func:`regrid_interp::regridding_set_ppolys ` .. f:subroutine:: subroutine p3m_limiter(N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, answers_2018) Adust a piecewise cubic reconstruction with a limiter that adjusts the edge values and slopes. The p3m limiter operates as follows: #. Edge values are bounded #. Discontinuous edge values are systematically averaged #. Loop on cells and do the following a. Build cubic curve b. Check if cubic curve is monotonic c. If not, monotonize cubic curve and rebuild it Step 3 of the monotonization process leaves all edge values unchanged. :param n: [in] Number of cells :param h: [in] cell widths (size N) [H] :param u: [in] cell averages (size N) in arbitrary units [A] :param edge_values: [inout] Edge value of polynomial [A] :param ppoly_s: [inout] Edge slope of polynomial [A H-1] :param ppoly_coef: [inout] Coefficients of polynomial [A] :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions [H] :param answers_2018: [in] If true use older, less acccurate expressions. :callto: :f:func:`regrid_edge_values::average_discontinuous_edge_values ` :callto: :f:func:`regrid_edge_values::bound_edge_values ` :callto: :f:func:`build_cubic_interpolant ` :callto: :f:func:`hneglect_dflt ` :callto: :f:func:`is_cubic_monotonic ` :callto: :f:func:`monotonize_cubic ` :calledfrom: :f:func:`p3m_interpolation ` .. f:subroutine:: subroutine p3m_boundary_extrapolation(N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, h_neglect_edge) Calculate the edge values and slopes at boundary cells as part of building a piecewise cubic sub-grid scale profiles. The following explanations apply to the left boundary cell. The same reasoning holds for the right boundary cell. A cubic needs to be built in the cell and requires four degrees of freedom, which are the edge values and slopes. The right edge values and slopes are taken to be that of the neighboring cell (i.e., the left edge value and slope of the neighboring cell). The left edge value and slope are determined by computing the parabola based on the cell average and the right edge value and slope. The resulting cubic is not necessarily monotonic and the slopes are subsequently modified to yield a monotonic cubic. :param n: [in] Number of cells :param h: [in] cell widths (size N) [H] :param u: [in] cell averages (size N) in arbitrary units [A] :param edge_values: [inout] Edge value of polynomial [A] :param ppoly_s: [inout] Edge slope of polynomial [A H-1] :param ppoly_coef: [inout] Coefficients of polynomial [A] :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions [H] :param h_neglect_edge: [in] A negligibly small width for the purpose of finding edge values [H] :callto: :f:func:`build_cubic_interpolant ` :callto: :f:func:`hneglect_dflt ` :callto: :f:func:`hneglect_edge_dflt ` :callto: :f:func:`is_cubic_monotonic ` :callto: :f:func:`monotonize_cubic ` :calledfrom: :f:func:`regrid_interp::regridding_set_ppolys ` .. f:subroutine:: subroutine build_cubic_interpolant(h, k, edge_values, ppoly_S, ppoly_coef) Build cubic interpolant in cell k. Given edge values and edge slopes, compute coefficients of cubic in cell k. NOTE: edge values and slopes MUST have been properly calculated prior to calling this routine. :param h: [in] cell widths (size N) [H] :param k: [in] The index of the cell to work on :param edge_values: [in] Edge value of polynomial in arbitrary units [A] :param ppoly_s: [in] Edge slope of polynomial [A H-1] :param ppoly_coef: [inout] Coefficients of polynomial [A] :calledfrom: :f:func:`p3m_boundary_extrapolation ` :calledfrom: :f:func:`p3m_limiter ` .. f:function:: logical function is_cubic_monotonic(ppoly_coef, k) Check whether the cubic reconstruction in cell k is monotonic. This function checks whether the cubic curve in cell k is monotonic. If so, returns 1. Otherwise, returns 0. The cubic is monotonic if the first derivative is single-signed in (0,1). Hence, we check whether the roots (if any) lie inside this interval. If there is no root or if both roots lie outside this interval, the cubic is monotonic. :param ppoly_coef: [in] Coefficients of cubic polynomial in arbitary units [A] :param k: [in] The index of the cell to work on :calledfrom: :f:func:`p3m_boundary_extrapolation ` :calledfrom: :f:func:`p3m_limiter ` .. f:subroutine:: subroutine monotonize_cubic(h, u0_l, u0_r, sigma_l, sigma_r, slope, u1_l, u1_r) Monotonize a cubic curve by modifying the edge slopes. This routine takes care of monotonizing a cubic on [0,1] by modifying the edge slopes. The edge values are NOT modified. The cubic is entirely determined by the four degrees of freedom u0_l, u0_r, u1_l and u1_r. u1_l and u1_r are the edge slopes expressed in the GLOBAL coordinate system. The monotonization occurs as follows. :param h: [in] cell width [H] :param u0_l: [in] left edge value in arbitrary units [A] :param u0_r: [in] right edge value [A] :param sigma_l: [in] left 2nd-order slopes [A H-1] :param sigma_r: [in] right 2nd-order slopes [A H-1] :param slope: [in] limited PLM slope [A H-1] :param u1_l: [inout] left edge slopes [A H-1] :param u1_r: [inout] right edge slopes [A H-1] :calledfrom: :f:func:`p3m_boundary_extrapolation ` :calledfrom: :f:func:`p3m_limiter ` [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p3m_functions::p3m_interpolation', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p3m_functions::p3m_interpolation', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p3m_functions::p3m_limiter', , {}, ['', 'Adust [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p3m_functions::p3m_limiter', , {}, ['', 'Adust [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, h_neglect_edge)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p3m_functions::p3m_boundary_extrapolation', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p3m_functions::p3m_boundary_extrapolation', , { [debug] DoxygenMethodDocumenter format_signature called ((h, k, edge_values, ppoly_S, ppoly_coef)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p3m_functions::build_cubic_interpolant', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p3m_functions::build_cubic_interpolant', , {}, [debug] DoxygenMethodDocumenter format_signature called ((ppoly_coef, k)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p3m_functions::is_cubic_monotonic', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p3m_functions::is_cubic_monotonic', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((h, u0_l, u0_r, sigma_l, sigma_r, slope, u1_l, u1_r)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p3m_functions::monotonize_cubic', , {}, ['', 'M [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'p3m_functions::monotonize_cubic', , {}, ['', 'M [fd] run(.. f:subroutine:: subroutine p3m_interpolation(N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, answers_2018)) [fd] sig(subroutine p3m_interpolation(N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(p3m_interpolation) arglist(N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, answers_2018) [fd] fullname(p3m_functions/p3m_interpolation) ftype(None) [fd] name(('p3m_functions/p3m_interpolation', None)) sig(subroutine p3m_interpolation(N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, answers_2018)) signode(subroutine p3m_functions/p3m_interpolationNhuedge_valuesppoly_Sppoly_coefh_neglectanswers_2018) [fd] run(.. f:subroutine:: subroutine p3m_limiter(N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, answers_2018)) [fd] sig(subroutine p3m_limiter(N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(p3m_limiter) arglist(N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, answers_2018) [fd] fullname(p3m_functions/p3m_limiter) ftype(None) [fd] name(('p3m_functions/p3m_limiter', None)) sig(subroutine p3m_limiter(N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, answers_2018)) signode(subroutine p3m_functions/p3m_limiterNhuedge_valuesppoly_Sppoly_coefh_neglectanswers_2018) [fd] run(.. f:subroutine:: subroutine p3m_boundary_extrapolation(N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, h_neglect_edge)) [fd] sig(subroutine p3m_boundary_extrapolation(N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, h_neglect_edge)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(p3m_boundary_extrapolation) arglist(N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, h_neglect_edge) [fd] fullname(p3m_functions/p3m_boundary_extrapolation) ftype(None) [fd] name(('p3m_functions/p3m_boundary_extrapolation', None)) sig(subroutine p3m_boundary_extrapolation(N, h, u, edge_values, ppoly_S, ppoly_coef, h_neglect, h_neglect_edge)) signode(subroutine p3m_functions/p3m_boundary_extrapolationNhuedge_valuesppoly_Sppoly_coefh_neglecth_neglect_edge) [fd] run(.. f:subroutine:: subroutine build_cubic_interpolant(h, k, edge_values, ppoly_S, ppoly_coef)) [fd] sig(subroutine build_cubic_interpolant(h, k, edge_values, ppoly_S, ppoly_coef)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(build_cubic_interpolant) arglist(h, k, edge_values, ppoly_S, ppoly_coef) [fd] fullname(p3m_functions/build_cubic_interpolant) ftype(None) [fd] name(('p3m_functions/build_cubic_interpolant', None)) sig(subroutine build_cubic_interpolant(h, k, edge_values, ppoly_S, ppoly_coef)) signode(subroutine p3m_functions/build_cubic_interpolanthkedge_valuesppoly_Sppoly_coef) [fd] run(.. f:function:: logical function is_cubic_monotonic(ppoly_coef, k)) [fd] sig(logical function is_cubic_monotonic(ppoly_coef, k)) [fd] ftype(logical) objtype(function) modname(None) typename() name(is_cubic_monotonic) arglist(ppoly_coef, k) [fd] fullname(p3m_functions/is_cubic_monotonic) ftype(logical) [fd] name(('p3m_functions/is_cubic_monotonic', 'logical')) sig(logical function is_cubic_monotonic(ppoly_coef, k)) signode(function p3m_functions/is_cubic_monotonicppoly_coefk [logical]) [fd] run(.. f:subroutine:: subroutine monotonize_cubic(h, u0_l, u0_r, sigma_l, sigma_r, slope, u1_l, u1_r)) [fd] sig(subroutine monotonize_cubic(h, u0_l, u0_r, sigma_l, sigma_r, slope, u1_l, u1_r)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(monotonize_cubic) arglist(h, u0_l, u0_r, sigma_l, sigma_r, slope, u1_l, u1_r) [fd] fullname(p3m_functions/monotonize_cubic) ftype(None) [fd] name(('p3m_functions/monotonize_cubic', None)) sig(subroutine monotonize_cubic(h, u0_l, u0_r, sigma_l, sigma_r, slope, u1_l, u1_r)) signode(subroutine p3m_functions/monotonize_cubichu0_lu0_rsigma_lsigma_rslopeu1_lu1_r) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 67%] api/generated/modules/pcm_functions [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/pcm_function [app] emitting event: 'source-read'('api/generated/modules/pcm_functions', ['.. autodoxymodule:: pcm_functions\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/pcm_functions.rst:1: input: .. autodoxymodule:: pcm_functions :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~pcm_functions::pcm_reconstruction [debug] xpath(./compounddef/compoundname[text()="pcm_functions"]/..) match([('id', 'namespacepcm__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:pcm_functions module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'pcm_functions', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'pcm_functions' (exception was: ModuleNotFoundError("No module named 'pcm_functions'")) [debug] DoxygenMethodDocumenter format_signature called ((N, u, edge_values, ppoly_coef)) [debug] add_directive_header sig((N, u, edge_values, ppoly_coef)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine pcm_reconstruction) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pcm_reconstruction', , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~pcm_functions::pcm_reconstruction .. _DETApcm_functions: -------------------- Detailed Description -------------------- Piecewise constant reconstruction functions. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine pcm_reconstruction(N, u, edge_values, ppoly_coef) Reconstruction by constant polynomials within each cell. There is nothing to do but this routine is provided to ensure a homogeneous interface throughout the regridding toolbox. It is assumed that the dimension of 'u' is equal to the number of cells defining 'grid' and 'ppoly'. No consistency check is performed. :param n: [in] Number of cells :param u: [in] cell averages :param edge_values: [inout] Edge value of polynomial, with the same units as u. :param ppoly_coef: [inout] Coefficients of polynomial, with the same units as u. :calledfrom: :f:func:`mom_remapping::build_reconstructions_1d ` :calledfrom: :f:func:`mom_remapping::remapping_unit_tests ` [debug] DoxygenMethodDocumenter format_signature called ((N, u, edge_values, ppoly_coef)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pcm_functions::pcm_reconstruction', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pcm_functions::pcm_reconstruction', , {}, ['', [fd] run(.. f:subroutine:: subroutine pcm_reconstruction(N, u, edge_values, ppoly_coef)) [fd] sig(subroutine pcm_reconstruction(N, u, edge_values, ppoly_coef)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pcm_reconstruction) arglist(N, u, edge_values, ppoly_coef) [fd] fullname(pcm_functions/pcm_reconstruction) ftype(None) [fd] name(('pcm_functions/pcm_reconstruction', None)) sig(subroutine pcm_reconstruction(N, u, edge_values, ppoly_coef)) signode(subroutine pcm_functions/pcm_reconstructionNuedge_valuesppoly_coef) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 67%] api/generated/modules/phillips_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/phillips_ini [app] emitting event: 'source-read'('api/generated/modules/phillips_initialization', ['.. autodoxymodule:: phillips_initialization\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/phillips_initialization.rst:1: input: .. autodoxymodule:: phillips_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~phillips_initialization::phillips_initialize_thickness ~phillips_initialization::phillips_initialize_velocity ~phillips_initialization::phillips_initialize_sponges ~phillips_initialization::sech ~phillips_initialization::phillips_initialize_topography [debug] xpath(./compounddef/compoundname[text()="phillips_initialization"]/..) match([('id', 'namespacephillips__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:phillips_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'phillips_initialization', , {'members': , {'members': ]) [debug] ref([('id', 'MOM__surface__forcing_8F90'), ('kind', 'file'), ('language', 'Fortran')]) [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'phillips_initialization', , {'members': ), ('phillips_initialize_velocity', ), ('phillips_initialize_sponges', ), ('sech', ), ('phillips_initialize_topography', )]) [autodoc] module analyzer failed: error importing 'phillips_initialization' (exception was: ModuleNotFoundError("No module named 'phillips_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US, param_file, just_read_params)) [debug] add_directive_header sig((h, G, GV, US, param_file, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine phillips_initialize_thickness) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'phillips_initialize_thickness', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'phillips_initialize_thickness', , {'members': < [autodoc] module analyzer failed: error importing 'phillips_initialization' (exception was: ModuleNotFoundError("No module named 'phillips_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, G, GV, US, param_file, just_read_params)) [debug] add_directive_header sig((u, v, G, GV, US, param_file, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine phillips_initialize_velocity) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'phillips_initialize_velocity', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'phillips_initialize_topography', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'phillips_initialize_topography', , {'members': [autodoc] output: ======================================== phillips_initialization module reference ======================================== .. f:module:: phillips_initialization Initialization for the "Phillips" channel configuration. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~phillips_initialization::phillips_initialize_thickness ~phillips_initialization::phillips_initialize_velocity ~phillips_initialization::phillips_initialize_sponges ~phillips_initialization::sech ~phillips_initialization::phillips_initialize_topography .. _DETAphillips_initialization: -------------------- Detailed Description -------------------- By Robert Hallberg, April 1994 - June 2002 This subroutine initializes the fields for the simulations. The one argument passed to initialize, Time, is set to the current time of the simulation. The fields which are initialized here are: u - Zonal velocity [L T-1 ~> m s-1]. v - Meridional velocity [L T-1 ~> m s-1]. h - Layer thickness [H ~> m or kg m-2] (must be positive) D - Basin depth [Z ~> m] (positive downward) f - The Coriolis parameter [T-1 ~> s-1]. If ENABLE_THERMODYNAMICS is defined: T - Temperature [degC]. S - Salinity [ppt]. If SPONGE is defined: A series of subroutine calls are made to set up the damping rates and reference profiles for all variables that are damped in the sponge. Any user provided tracer code is also first linked through this subroutine. Forcing-related fields (taux, tauy, buoy, ustar, etc.) are set in ``MOM_surface_forcing.F90``. These variables are all set in the set of subroutines (in this file) Phillips_initialize_thickness, Phillips_initialize_velocity, Phillips_initialize_topography and Phillips_initialize_sponges that seet up fields that are specific to the Phillips instability test case. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine phillips_initialize_thickness(h, G, GV, US, param_file, just_read_params) Initialize the thickness field for the Phillips model test case. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [out] The thickness that is being initialized [H ~> m or kg m-2] :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. .. f:subroutine:: subroutine phillips_initialize_velocity(u, v, G, GV, US, param_file, just_read_params) Initialize the velocity fields for the Phillips model test case. :param g: [in] Grid structure :param gv: [in] Vertical grid structure :param u: [out] i-component of velocity [L T-1 ~> m s-1] :param v: [out] j-component of velocity [L T-1 ~> m s-1] :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure indicating the open file to parse for modelparameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`sech ` .. f:subroutine:: subroutine phillips_initialize_sponges(G, GV, US, tv, param_file, CSp, h) Sets up the the inverse restoration time (Idamp), and the values towards which the interface heights and an arbitrary number of tracers should be restored within each sponge for the Phillips model test case. :param g: [in] The ocean's grid structure. :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param tv: [in] A structure containing pointers to any available thermodynamic fields, potential temperature and salinity or mixed layer density. Absent fields have NULL ptrs. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param csp: A pointer that is set to point to the control structure for the sponge module. :param h: [in] Thickness field [H ~> m or kg m-2]. :callto: :f:func:`mom_sponge::initialize_sponge ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` .. f:function:: real function sech(x) sech calculates the hyperbolic secant. :param x: [in] Input value. :returns undefined: Result. :calledfrom: :f:func:`phillips_initialize_velocity ` .. f:subroutine:: subroutine phillips_initialize_topography(D, G, param_file, max_depth, US) Initialize topography. :param g: [in] The dynamic horizontal grid type :param d: [out] Ocean bottom depth in m or Z if US is present :param param_file: [in] Parameter file structure :param max_depth: [in] Maximum model depth in the units of D :param us: [in] A dimensional unit scaling type :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_topography ` [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US, param_file, just_read_params)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'phillips_initialization::phillips_initialize_thickness', , {}, ['', 'sec [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'phillips_initialization::sech', , {}, ['', 'sec [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'phillips_initialization::phillips_initialize_topography', subroutine phillips_initialization/phillips_initialize_thicknesshGGVUSparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine phillips_initialize_velocity(u, v, G, GV, US, param_file, just_read_params)) [fd] sig(subroutine phillips_initialize_velocity(u, v, G, GV, US, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(phillips_initialize_velocity) arglist(u, v, G, GV, US, param_file, just_read_params) [fd] fullname(phillips_initialization/phillips_initialize_velocity) ftype(None) [fd] name(('phillips_initialization/phillips_initialize_velocity', None)) sig(subroutine phillips_initialize_velocity(u, v, G, GV, US, param_file, just_read_params)) signode(subroutine phillips_initialization/phillips_initialize_velocityuvGGVUSparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine phillips_initialize_sponges(G, GV, US, tv, param_file, CSp, h)) [fd] sig(subroutine phillips_initialize_sponges(G, GV, US, tv, param_file, CSp, h)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(phillips_initialize_sponges) arglist(G, GV, US, tv, param_file, CSp, h) [fd] fullname(phillips_initialization/phillips_initialize_sponges) ftype(None) [fd] name(('phillips_initialization/phillips_initialize_sponges', None)) sig(subroutine phillips_initialize_sponges(G, GV, US, tv, param_file, CSp, h)) signode(subroutine phillips_initialization/phillips_initialize_spongesGGVUStvparam_fileCSph) [fd] run(.. f:function:: real function sech(x)) [fd] sig(real function sech(x)) [fd] ftype(real) objtype(function) modname(None) typename() name(sech) arglist(x) [fd] fullname(phillips_initialization/sech) ftype(real) [fd] name(('phillips_initialization/sech', 'real')) sig(real function sech(x)) signode(function phillips_initialization/sechx [real]) [fd] run(.. f:subroutine:: subroutine phillips_initialize_topography(D, G, param_file, max_depth, US)) [fd] sig(subroutine phillips_initialize_topography(D, G, param_file, max_depth, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(phillips_initialize_topography) arglist(D, G, param_file, max_depth, US) [fd] fullname(phillips_initialization/phillips_initialize_topography) ftype(None) [fd] name(('phillips_initialization/phillips_initialize_topography', None)) sig(subroutine phillips_initialize_topography(D, G, param_file, max_depth, US)) signode(subroutine phillips_initialization/phillips_initialize_topographyDGparam_filemax_depthUS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 67%] api/generated/modules/plm_functions [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/plm_function [app] emitting event: 'source-read'('api/generated/modules/plm_functions', ['.. autodoxymodule:: plm_functions\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/plm_functions.rst:1: input: .. autodoxymodule:: plm_functions :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~plm_functions::plm_slope_wa ~plm_functions::plm_slope_cw ~plm_functions::plm_monotonized_slope ~plm_functions::plm_extrapolate_slope ~plm_functions::plm_reconstruction ~plm_functions::plm_boundary_extrapolation [debug] xpath(./compounddef/compoundname[text()="plm_functions"]/..) match([('id', 'namespaceplm__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:plm_functions module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'plm_functions', , {'members': , {'members': , {'members': ), ('plm_slope_cw', ), ('plm_monotonized_slope', ), ('plm_extrapolate_slope', ), ('plm_reconstruction', ), ('plm_boundary_extrapolation', )]) [autodoc] module analyzer failed: error importing 'plm_functions' (exception was: ModuleNotFoundError("No module named 'plm_functions'")) [debug] DoxygenMethodDocumenter format_signature called ((h_l, h_c, h_r, h_neglect, u_l, u_c, u_r)) [debug] add_directive_header sig((h_l, h_c, h_r, h_neglect, u_l, u_c, u_r)) [debug] DoxygenMethodDocumenter directive(function) name(pure function plm_slope_wa) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'plm_slope_wa', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~plm_functions::plm_slope_wa ~plm_functions::plm_slope_cw ~plm_functions::plm_monotonized_slope ~plm_functions::plm_extrapolate_slope ~plm_functions::plm_reconstruction ~plm_functions::plm_boundary_extrapolation .. _DETAplm_functions: -------------------- Detailed Description -------------------- Date of creation: 2008.06.06 L. White This module contains routines that handle one-dimensionnal finite volume reconstruction using the piecewise linear method (PLM). --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: pure function plm_slope_wa(h_l, h_c, h_r, h_neglect, u_l, u_c, u_r) Returns a limited PLM slope following White and Adcroft, 2008. [units of u] Note that this is not the same as the Colella and Woodward method. :param h_l: [in] Thickness of left cell [units of grid thickness] :param h_c: [in] Thickness of center cell [units of grid thickness] :param h_r: [in] Thickness of right cell [units of grid thickness] :param h_neglect: [in] A negligible thickness [units of grid thickness] :param u_l: [in] Value of left cell [units of u] :param u_c: [in] Value of center cell [units of u] :param u_r: [in] Value of right cell [units of u] :calledfrom: :f:func:`mom_ale::ale_plm_edge_values ` :calledfrom: :f:func:`plm_reconstruction ` .. f:function:: pure function plm_slope_cw(h_l, h_c, h_r, h_neglect, u_l, u_c, u_r) Returns a limited PLM slope following Colella and Woodward 1984. :param h_l: [in] Thickness of left cell [units of grid thickness] :param h_c: [in] Thickness of center cell [units of grid thickness] :param h_r: [in] Thickness of right cell [units of grid thickness] :param h_neglect: [in] A negligible thickness [units of grid thickness] :param u_l: [in] Value of left cell [units of u] :param u_c: [in] Value of center cell [units of u] :param u_r: [in] Value of right cell [units of u] .. f:function:: pure function plm_monotonized_slope(u_l, u_c, u_r, s_l, s_c, s_r) Returns a limited PLM slope following Colella and Woodward 1984. :param u_l: [in] Value of left cell [units of u] :param u_c: [in] Value of center cell [units of u] :param u_r: [in] Value of right cell [units of u] :param s_l: [in] PLM slope of left cell [units of u] :param s_c: [in] PLM slope of center cell [units of u] :param s_r: [in] PLM slope of right cell [units of u] :calledfrom: :f:func:`mom_ale::ale_plm_edge_values ` :calledfrom: :f:func:`plm_reconstruction ` .. f:function:: pure function plm_extrapolate_slope(h_l, h_c, h_neglect, u_l, u_c) Returns a PLM slope using h2 extrapolation from a cell to the left. Use the negative to extrapolate from the a cell to the right. :param h_l: [in] Thickness of left cell [units of grid thickness] :param h_c: [in] Thickness of center cell [units of grid thickness] :param h_neglect: [in] A negligible thickness [units of grid thickness] :param u_l: [in] Value of left cell [units of u] :param u_c: [in] Value of center cell [units of u] :calledfrom: :f:func:`mom_ale::ale_plm_edge_values ` :calledfrom: :f:func:`plm_boundary_extrapolation ` .. f:subroutine:: subroutine plm_reconstruction(N, h, u, edge_values, ppoly_coef, h_neglect) Reconstruction by linear polynomials within each cell. It is assumed that the size of the array 'u' is equal to the number of cells defining 'grid' and 'ppoly'. No consistency check is performed here. :param n: [in] Number of cells :param h: [in] cell widths (size N) :param u: [in] cell averages (size N) :param edge_values: [inout] edge values of piecewise polynomials, with the same units as u. :param ppoly_coef: [inout] coefficients of piecewise polynomials, mainly with the same units as u. :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions in the same units as h :callto: :f:func:`hneglect_dflt ` :callto: :f:func:`plm_monotonized_slope ` :callto: :f:func:`plm_slope_wa ` :calledfrom: :f:func:`mom_remapping::build_reconstructions_1d ` :calledfrom: :f:func:`regrid_interp::regridding_set_ppolys ` :calledfrom: :f:func:`mom_remapping::remapping_unit_tests ` .. f:subroutine:: subroutine plm_boundary_extrapolation(N, h, u, edge_values, ppoly_coef, h_neglect) Reconstruction by linear polynomials within boundary cells. The left and right edge values in the left and right boundary cells, respectively, are estimated using a linear extrapolation within the cells. This extrapolation is EXACT when the underlying profile is linear. It is assumed that the size of the array 'u' is equal to the number of cells defining 'grid' and 'ppoly'. No consistency check is performed here. :param n: [in] Number of cells :param h: [in] cell widths (size N) :param u: [in] cell averages (size N) :param edge_values: [inout] edge values of piecewise polynomials, with the same units as u. :param ppoly_coef: [inout] coefficients of piecewise polynomials, mainly with the same units as u. :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions in the same units as h :callto: :f:func:`hneglect_dflt ` :callto: :f:func:`plm_extrapolate_slope ` :calledfrom: :f:func:`mom_remapping::build_reconstructions_1d ` :calledfrom: :f:func:`regrid_interp::regridding_set_ppolys ` [debug] DoxygenMethodDocumenter format_signature called ((h_l, h_c, h_r, h_neglect, u_l, u_c, u_r)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'plm_functions::plm_slope_wa', , {}, ['', 'Retur [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'plm_functions::plm_slope_wa', , {}, ['', 'Retur [debug] DoxygenMethodDocumenter format_signature called ((h_l, h_c, h_r, h_neglect, u_l, u_c, u_r)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'plm_functions::plm_slope_cw', , {}, ['', 'Retur [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'plm_functions::plm_slope_cw', , {}, ['', 'Retur [debug] DoxygenMethodDocumenter format_signature called ((u_l, u_c, u_r, s_l, s_c, s_r)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'plm_functions::plm_monotonized_slope', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'plm_functions::plm_monotonized_slope', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((h_l, h_c, h_neglect, u_l, u_c)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'plm_functions::plm_extrapolate_slope', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'plm_functions::plm_extrapolate_slope', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, ppoly_coef, h_neglect)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'plm_functions::plm_reconstruction', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'plm_functions::plm_reconstruction', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, ppoly_coef, h_neglect)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'plm_functions::plm_boundary_extrapolation', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'plm_functions::plm_boundary_extrapolation', , { [fd] run(.. f:function:: pure function plm_slope_wa(h_l, h_c, h_r, h_neglect, u_l, u_c, u_r)) [fd] sig(pure function plm_slope_wa(h_l, h_c, h_r, h_neglect, u_l, u_c, u_r)) [fd] ftype(pure) objtype(function) modname(None) typename() name(plm_slope_wa) arglist(h_l, h_c, h_r, h_neglect, u_l, u_c, u_r) [fd] fullname(plm_functions/plm_slope_wa) ftype(pure) [fd] name(('plm_functions/plm_slope_wa', 'pure')) sig(pure function plm_slope_wa(h_l, h_c, h_r, h_neglect, u_l, u_c, u_r)) signode(function plm_functions/plm_slope_wah_lh_ch_rh_neglectu_lu_cu_r [pure]) [fd] run(.. f:function:: pure function plm_slope_cw(h_l, h_c, h_r, h_neglect, u_l, u_c, u_r)) [fd] sig(pure function plm_slope_cw(h_l, h_c, h_r, h_neglect, u_l, u_c, u_r)) [fd] ftype(pure) objtype(function) modname(None) typename() name(plm_slope_cw) arglist(h_l, h_c, h_r, h_neglect, u_l, u_c, u_r) [fd] fullname(plm_functions/plm_slope_cw) ftype(pure) [fd] name(('plm_functions/plm_slope_cw', 'pure')) sig(pure function plm_slope_cw(h_l, h_c, h_r, h_neglect, u_l, u_c, u_r)) signode(function plm_functions/plm_slope_cwh_lh_ch_rh_neglectu_lu_cu_r [pure]) [fd] run(.. f:function:: pure function plm_monotonized_slope(u_l, u_c, u_r, s_l, s_c, s_r)) [fd] sig(pure function plm_monotonized_slope(u_l, u_c, u_r, s_l, s_c, s_r)) [fd] ftype(pure) objtype(function) modname(None) typename() name(plm_monotonized_slope) arglist(u_l, u_c, u_r, s_l, s_c, s_r) [fd] fullname(plm_functions/plm_monotonized_slope) ftype(pure) [fd] name(('plm_functions/plm_monotonized_slope', 'pure')) sig(pure function plm_monotonized_slope(u_l, u_c, u_r, s_l, s_c, s_r)) signode(function plm_functions/plm_monotonized_slopeu_lu_cu_rs_ls_cs_r [pure]) [fd] run(.. f:function:: pure function plm_extrapolate_slope(h_l, h_c, h_neglect, u_l, u_c)) [fd] sig(pure function plm_extrapolate_slope(h_l, h_c, h_neglect, u_l, u_c)) [fd] ftype(pure) objtype(function) modname(None) typename() name(plm_extrapolate_slope) arglist(h_l, h_c, h_neglect, u_l, u_c) [fd] fullname(plm_functions/plm_extrapolate_slope) ftype(pure) [fd] name(('plm_functions/plm_extrapolate_slope', 'pure')) sig(pure function plm_extrapolate_slope(h_l, h_c, h_neglect, u_l, u_c)) signode(function plm_functions/plm_extrapolate_slopeh_lh_ch_neglectu_lu_c [pure]) [fd] run(.. f:subroutine:: subroutine plm_reconstruction(N, h, u, edge_values, ppoly_coef, h_neglect)) [fd] sig(subroutine plm_reconstruction(N, h, u, edge_values, ppoly_coef, h_neglect)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(plm_reconstruction) arglist(N, h, u, edge_values, ppoly_coef, h_neglect) [fd] fullname(plm_functions/plm_reconstruction) ftype(None) [fd] name(('plm_functions/plm_reconstruction', None)) sig(subroutine plm_reconstruction(N, h, u, edge_values, ppoly_coef, h_neglect)) signode(subroutine plm_functions/plm_reconstructionNhuedge_valuesppoly_coefh_neglect) [fd] run(.. f:subroutine:: subroutine plm_boundary_extrapolation(N, h, u, edge_values, ppoly_coef, h_neglect)) [fd] sig(subroutine plm_boundary_extrapolation(N, h, u, edge_values, ppoly_coef, h_neglect)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(plm_boundary_extrapolation) arglist(N, h, u, edge_values, ppoly_coef, h_neglect) [fd] fullname(plm_functions/plm_boundary_extrapolation) ftype(None) [fd] name(('plm_functions/plm_boundary_extrapolation', None)) sig(subroutine plm_boundary_extrapolation(N, h, u, edge_values, ppoly_coef, h_neglect)) signode(subroutine plm_functions/plm_boundary_extrapolationNhuedge_valuesppoly_coefh_neglect) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 68%] api/generated/modules/polynomial_functions [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/polynomial_f [app] emitting event: 'source-read'('api/generated/modules/polynomial_functions', ['.. autodoxymodule:: polynomial_functions\n :membe [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/polynomial_functions.rst:1: input: .. autodoxymodule:: polynomial_functions :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~polynomial_functions::evaluation_polynomial ~polynomial_functions::first_derivative_polynomial ~polynomial_functions::integration_polynomial [debug] xpath(./compounddef/compoundname[text()="polynomial_functions"]/..) match([('id', 'namespacepolynomial__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:polynomial_functions module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'polynomial_functions', , {'members': , {'members': , {'members': ), ('first_derivative_polynomial', ), ('integration_polynomial', )]) [autodoc] module analyzer failed: error importing 'polynomial_functions' (exception was: ModuleNotFoundError("No module named 'polynomial_functions'")) [debug] DoxygenMethodDocumenter format_signature called ((coeff, ncoef, x)) [debug] add_directive_header sig((coeff, ncoef, x)) [debug] DoxygenMethodDocumenter directive(function) name(real function evaluation_polynomial) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'evaluation_polynomial', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~polynomial_functions::evaluation_polynomial ~polynomial_functions::first_derivative_polynomial ~polynomial_functions::integration_polynomial .. _DETApolynomial_functions: -------------------- Detailed Description -------------------- Date of creation: 2008.06.12 L. White This module contains routines that handle polynomials. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: real function evaluation_polynomial(coeff, ncoef, x) Pointwise evaluation of a polynomial at x. The polynomial is defined by the coefficients contained in the array of the same name, as follows: C(1) + C(2)x + C(3)x^2 + C(4)x^3 + ... where C refers to the array 'coeff'. The number of coefficients is given by ncoef and x is the coordinate where the polynomial is to be evaluated. :param coeff: [in] The coefficients of the polynomial :param ncoef: [in] The number of polynomial coefficients :param x: [in] The position at which to evaluate the polynomial :calledfrom: :f:func:`regrid_edge_values::edge_slopes_implicit_h3 ` :calledfrom: :f:func:`regrid_edge_values::edge_values_explicit_h4 ` :calledfrom: :f:func:`regrid_edge_values::edge_values_implicit_h4 ` :calledfrom: :f:func:`regrid_edge_values::edge_values_implicit_h6 ` :calledfrom: :f:func:`mom_neutral_diffusion::find_neutral_pos_full ` :calledfrom: :f:func:`mom_neutral_diffusion::find_neutral_pos_linear ` :calledfrom: :f:func:`mom_neutral_diffusion::neutral_diffusion_calc_coeffs ` :calledfrom: :f:func:`mom_neutral_diffusion::neutral_surface_t_eval ` .. f:function:: real function first_derivative_polynomial(coeff, ncoef, x) Calculates the first derivative of a polynomial evaluated at a point x. The polynomial is defined by the coefficients contained in the array of the same name, as follows: C(1) + C(2)x + C(3)x^2 + C(4)x^3 + ... where C refers to the array 'coeff'. The number of coefficients is given by ncoef and x is the coordinate where the polynomial's derivative is to be evaluated. :param coeff: [in] The coefficients of the polynomial :param ncoef: [in] The number of polynomial coefficients :param x: [in] The position at which to evaluate the derivative :calledfrom: :f:func:`mom_neutral_diffusion::find_neutral_pos_linear ` .. f:function:: real function integration_polynomial(xi0, xi1, Coeff, npoly) Exact integration of polynomial of degree npoly. The array of coefficients (Coeff) must be of size npoly+1. :param xi0: [in] The lower bound of the integral :param xi1: [in] The lower bound of the integral :param coeff: [in] The coefficients of the polynomial :param npoly: [in] The degree of the polynomial [debug] DoxygenMethodDocumenter format_signature called ((coeff, ncoef, x)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'polynomial_functions::evaluation_polynomial', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'polynomial_functions::evaluation_polynomial', , [debug] DoxygenMethodDocumenter format_signature called ((coeff, ncoef, x)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'polynomial_functions::first_derivative_polynomial', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'polynomial_functions::integration_polynomial', [fd] run(.. f:function:: real function evaluation_polynomial(coeff, ncoef, x)) [fd] sig(real function evaluation_polynomial(coeff, ncoef, x)) [fd] ftype(real) objtype(function) modname(None) typename() name(evaluation_polynomial) arglist(coeff, ncoef, x) [fd] fullname(polynomial_functions/evaluation_polynomial) ftype(real) [fd] name(('polynomial_functions/evaluation_polynomial', 'real')) sig(real function evaluation_polynomial(coeff, ncoef, x)) signode(function polynomial_functions/evaluation_polynomialcoeffncoefx [real]) [fd] run(.. f:function:: real function first_derivative_polynomial(coeff, ncoef, x)) [fd] sig(real function first_derivative_polynomial(coeff, ncoef, x)) [fd] ftype(real) objtype(function) modname(None) typename() name(first_derivative_polynomial) arglist(coeff, ncoef, x) [fd] fullname(polynomial_functions/first_derivative_polynomial) ftype(real) [fd] name(('polynomial_functions/first_derivative_polynomial', 'real')) sig(real function first_derivative_polynomial(coeff, ncoef, x)) signode(function polynomial_functions/first_derivative_polynomialcoeffncoefx [real]) [fd] run(.. f:function:: real function integration_polynomial(xi0, xi1, Coeff, npoly)) [fd] sig(real function integration_polynomial(xi0, xi1, Coeff, npoly)) [fd] ftype(real) objtype(function) modname(None) typename() name(integration_polynomial) arglist(xi0, xi1, Coeff, npoly) [fd] fullname(polynomial_functions/integration_polynomial) ftype(real) [fd] name(('polynomial_functions/integration_polynomial', 'real')) sig(real function integration_polynomial(xi0, xi1, Coeff, npoly)) signode(function polynomial_functions/integration_polynomialxi0xi1Coeffnpoly [real]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 68%] api/generated/modules/ppm_functions [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/ppm_function [app] emitting event: 'source-read'('api/generated/modules/ppm_functions', ['.. autodoxymodule:: ppm_functions\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/ppm_functions.rst:1: input: .. autodoxymodule:: ppm_functions :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~ppm_functions::ppm_reconstruction ~ppm_functions::ppm_limiter_standard ~ppm_functions::ppm_boundary_extrapolation [debug] xpath(./compounddef/compoundname[text()="ppm_functions"]/..) match([('id', 'namespaceppm__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:ppm_functions module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ppm_functions', , {'members': , {'members': , {'members': ), ('ppm_limiter_standard', ), ('ppm_boundary_extrapolation', )]) [autodoc] module analyzer failed: error importing 'ppm_functions' (exception was: ModuleNotFoundError("No module named 'ppm_functions'")) [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, ppoly_coef, h_neglect, answers_2018)) [debug] add_directive_header sig((N, h, u, edge_values, ppoly_coef, h_neglect, answers_2018)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine ppm_reconstruction) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ppm_reconstruction', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~ppm_functions::ppm_reconstruction ~ppm_functions::ppm_limiter_standard ~ppm_functions::ppm_boundary_extrapolation .. _DETAppm_functions: -------------------- Detailed Description -------------------- Provides functions used with the Piecewise-Parabolic-Method in the vertical ALE algorithm. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine ppm_reconstruction(N, h, u, edge_values, ppoly_coef, h_neglect, answers_2018) Builds quadratic polynomials coefficients from cell mean and edge values. :param n: [in] Number of cells :param h: [in] Cell widths [H] :param u: [in] Cell averages [A] :param edge_values: [inout] Edge values [A] :param ppoly_coef: [inout] Polynomial coefficients, mainly [A] :param h_neglect: [in] A negligibly small width [H] :param answers_2018: [in] If true use older, less acccurate expressions. :callto: :f:func:`ppm_limiter_standard ` :calledfrom: :f:func:`mom_remapping::build_reconstructions_1d ` :calledfrom: :f:func:`regrid_interp::regridding_set_ppolys ` :calledfrom: :f:func:`mom_remapping::remapping_unit_tests ` :calledfrom: :f:func:`mom_ale::ts_ppm_edge_values ` .. f:subroutine:: subroutine ppm_limiter_standard(N, h, u, edge_values, h_neglect, answers_2018) Adjusts edge values using the standard PPM limiter (Colella & Woodward, JCP 1984) after first checking that the edge values are bounded by neighbors cell averages and that the edge values are monotonic between cell averages. :param n: [in] Number of cells :param h: [in] cell widths (size N) [H] :param u: [in] cell average properties (size N) [A] :param edge_values: [inout] Potentially modified edge values [A] :param h_neglect: [in] A negligibly small width [H] :param answers_2018: [in] If true use older, less acccurate expressions. :callto: :f:func:`regrid_edge_values::bound_edge_values ` :callto: :f:func:`regrid_edge_values::check_discontinuous_edge_values ` :calledfrom: :f:func:`ppm_reconstruction ` .. f:subroutine:: subroutine ppm_boundary_extrapolation(N, h, u, edge_values, ppoly_coef, h_neglect) Reconstruction by parabolas within boundary cells. :param n: [in] Number of cells :param h: [in] cell widths (size N) [H] :param u: [in] cell averages (size N) [A] :param edge_values: [inout] edge values of piecewise polynomials [A] :param ppoly_coef: [inout] coefficients of piecewise polynomials, mainly [A] :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions [H] :callto: :f:func:`hneglect_dflt ` :calledfrom: :f:func:`mom_remapping::build_reconstructions_1d ` :calledfrom: :f:func:`regrid_interp::regridding_set_ppolys ` :calledfrom: :f:func:`mom_remapping::remapping_unit_tests ` :calledfrom: :f:func:`mom_ale::ts_ppm_edge_values ` [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, ppoly_coef, h_neglect, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ppm_functions::ppm_reconstruction', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ppm_functions::ppm_reconstruction', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, h_neglect, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ppm_functions::ppm_limiter_standard', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ppm_functions::ppm_limiter_standard', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, ppoly_coef, h_neglect)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ppm_functions::ppm_boundary_extrapolation', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ppm_functions::ppm_boundary_extrapolation', , { [fd] run(.. f:subroutine:: subroutine ppm_reconstruction(N, h, u, edge_values, ppoly_coef, h_neglect, answers_2018)) [fd] sig(subroutine ppm_reconstruction(N, h, u, edge_values, ppoly_coef, h_neglect, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ppm_reconstruction) arglist(N, h, u, edge_values, ppoly_coef, h_neglect, answers_2018) [fd] fullname(ppm_functions/ppm_reconstruction) ftype(None) [fd] name(('ppm_functions/ppm_reconstruction', None)) sig(subroutine ppm_reconstruction(N, h, u, edge_values, ppoly_coef, h_neglect, answers_2018)) signode(subroutine ppm_functions/ppm_reconstructionNhuedge_valuesppoly_coefh_neglectanswers_2018) [fd] run(.. f:subroutine:: subroutine ppm_limiter_standard(N, h, u, edge_values, h_neglect, answers_2018)) [fd] sig(subroutine ppm_limiter_standard(N, h, u, edge_values, h_neglect, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ppm_limiter_standard) arglist(N, h, u, edge_values, h_neglect, answers_2018) [fd] fullname(ppm_functions/ppm_limiter_standard) ftype(None) [fd] name(('ppm_functions/ppm_limiter_standard', None)) sig(subroutine ppm_limiter_standard(N, h, u, edge_values, h_neglect, answers_2018)) signode(subroutine ppm_functions/ppm_limiter_standardNhuedge_valuesh_neglectanswers_2018) [fd] run(.. f:subroutine:: subroutine ppm_boundary_extrapolation(N, h, u, edge_values, ppoly_coef, h_neglect)) [fd] sig(subroutine ppm_boundary_extrapolation(N, h, u, edge_values, ppoly_coef, h_neglect)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(ppm_boundary_extrapolation) arglist(N, h, u, edge_values, ppoly_coef, h_neglect) [fd] fullname(ppm_functions/ppm_boundary_extrapolation) ftype(None) [fd] name(('ppm_functions/ppm_boundary_extrapolation', None)) sig(subroutine ppm_boundary_extrapolation(N, h, u, edge_values, ppoly_coef, h_neglect)) signode(subroutine ppm_functions/ppm_boundary_extrapolationNhuedge_valuesppoly_coefh_neglect) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 69%] api/generated/modules/pqm_functions [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/pqm_function [app] emitting event: 'source-read'('api/generated/modules/pqm_functions', ['.. autodoxymodule:: pqm_functions\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/pqm_functions.rst:1: input: .. autodoxymodule:: pqm_functions :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~pqm_functions::pqm_reconstruction ~pqm_functions::pqm_limiter ~pqm_functions::pqm_boundary_extrapolation ~pqm_functions::pqm_boundary_extrapolation_v1 [debug] xpath(./compounddef/compoundname[text()="pqm_functions"]/..) match([('id', 'namespacepqm__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:pqm_functions module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'pqm_functions', , {'members': , {'members': , {'members': ), ('pqm_limiter', ), ('pqm_boundary_extrapolation', ), ('pqm_boundary_extrapolation_v1', )]) [autodoc] module analyzer failed: error importing 'pqm_functions' (exception was: ModuleNotFoundError("No module named 'pqm_functions'")) [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, edge_slopes, ppoly_coef, h_neglect, answers_2018)) [debug] add_directive_header sig((N, h, u, edge_values, edge_slopes, ppoly_coef, h_neglect, answers_2018)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine pqm_reconstruction) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pqm_reconstruction', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pqm_boundary_extrapolation_v1', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pqm_boundary_extrapolation_v1', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pqm_boundary_extrapolation_v1', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pqm_boundary_extrapolation_v1', , {'members': < [autodoc] output: ============================== pqm_functions module reference ============================== .. f:module:: pqm_functions Piecewise quartic reconstruction functions. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~pqm_functions::pqm_reconstruction ~pqm_functions::pqm_limiter ~pqm_functions::pqm_boundary_extrapolation ~pqm_functions::pqm_boundary_extrapolation_v1 .. _DETApqm_functions: -------------------- Detailed Description -------------------- Date of creation: 2008.06.06 L. White This module contains routines that handle one-dimensionnal finite volume reconstruction using the piecewise quartic method (PQM). --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine pqm_reconstruction(N, h, u, edge_values, edge_slopes, ppoly_coef, h_neglect, answers_2018) Reconstruction by quartic polynomials within each cell. It is assumed that the dimension of 'u' is equal to the number of cells defining 'grid' and 'ppoly'. No consistency check is performed. :param n: [in] Number of cells :param h: [in] cell widths (size N) [H] :param u: [in] cell averages (size N) [A] :param edge_values: [inout] Edge value of polynomial [A] :param edge_slopes: [inout] Edge slope of polynomial [A H-1] :param ppoly_coef: [inout] Coefficients of polynomial, mainly [A] :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions [H] :param answers_2018: [in] If true use older, less acccurate expressions. :callto: :f:func:`pqm_limiter ` :calledfrom: :f:func:`mom_remapping::build_reconstructions_1d ` :calledfrom: :f:func:`regrid_interp::regridding_set_ppolys ` .. f:subroutine:: subroutine pqm_limiter(N, h, u, edge_values, edge_slopes, h_neglect, answers_2018) Limit the piecewise quartic method reconstruction. Standard PQM limiter (White & Adcroft, JCP 2008). It is assumed that the dimension of 'u' is equal to the number of cells defining 'grid' and 'ppoly'. No consistency check is performed. :param n: [in] Number of cells :param h: [in] cell widths (size N) [H] :param u: [in] cell average properties (size N) [A] :param edge_values: [inout] Potentially modified edge values [A] :param edge_slopes: [inout] Potentially modified edge slopes [A H-1] :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions [H] :param answers_2018: [in] If true use older, less acccurate expressions. :callto: :f:func:`regrid_edge_values::bound_edge_values ` :callto: :f:func:`regrid_edge_values::check_discontinuous_edge_values ` :callto: :f:func:`hneglect_dflt ` :calledfrom: :f:func:`pqm_reconstruction ` .. f:subroutine:: subroutine pqm_boundary_extrapolation(N, h, u, edge_values, ppoly_coef) Reconstruction by parabolas within boundary cells. The following explanations apply to the left boundary cell. The same reasoning holds for the right boundary cell. A parabola needs to be built in the cell and requires three degrees of freedom, which are the right edge value and slope and the cell average. The right edge values and slopes are taken to be that of the neighboring cell (i.e., the left edge value and slope of the neighboring cell). The resulting parabola is not necessarily monotonic and the traditional PPM limiter is used to modify one of the edge values in order to yield a monotonic parabola. It is assumed that the size of the array 'u' is equal to the number of cells defining 'grid' and 'ppoly'. No consistency check is performed here. :param n: [in] Number of cells :param h: [in] cell widths (size N) [H] :param u: [in] cell averages (size N) [A] :param edge_values: [inout] Edge value of polynomial [A] :param ppoly_coef: [inout] Coefficients of polynomial, mainly [A] .. f:subroutine:: subroutine pqm_boundary_extrapolation_v1(N, h, u, edge_values, edge_slopes, ppoly_coef, h_neglect) Reconstruction by parabolas within boundary cells. The following explanations apply to the left boundary cell. The same reasoning holds for the right boundary cell. A parabola needs to be built in the cell and requires three degrees of freedom, which are the right edge value and slope and the cell average. The right edge values and slopes are taken to be that of the neighboring cell (i.e., the left edge value and slope of the neighboring cell). The resulting parabola is not necessarily monotonic and the traditional PPM limiter is used to modify one of the edge values in order to yield a monotonic parabola. It is assumed that the size of the array 'u' is equal to the number of cells defining 'grid' and 'ppoly'. No consistency check is performed here. :param n: [in] Number of cells :param h: [in] cell widths (size N) [H] :param u: [in] cell averages (size N) [A] :param edge_values: [inout] Edge value of polynomial [A] :param edge_slopes: [inout] Edge slope of polynomial [A H-1] :param ppoly_coef: [inout] Coefficients of polynomial, mainly [A] :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions [H] :callto: :f:func:`hneglect_dflt ` :calledfrom: :f:func:`mom_remapping::build_reconstructions_1d ` :calledfrom: :f:func:`regrid_interp::regridding_set_ppolys ` [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, edge_slopes, ppoly_coef, h_neglect, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pqm_functions::pqm_reconstruction', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pqm_functions::pqm_reconstruction', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, edge_slopes, h_neglect, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pqm_functions::pqm_limiter', , {}, ['', 'Limit [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pqm_functions::pqm_limiter', , {}, ['', 'Limit [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, ppoly_coef)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pqm_functions::pqm_boundary_extrapolation', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pqm_functions::pqm_boundary_extrapolation', , { [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_values, edge_slopes, ppoly_coef, h_neglect)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pqm_functions::pqm_boundary_extrapolation_v1', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pqm_functions::pqm_boundary_extrapolation_v1', [fd] run(.. f:subroutine:: subroutine pqm_reconstruction(N, h, u, edge_values, edge_slopes, ppoly_coef, h_neglect, answers_2018)) [fd] sig(subroutine pqm_reconstruction(N, h, u, edge_values, edge_slopes, ppoly_coef, h_neglect, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pqm_reconstruction) arglist(N, h, u, edge_values, edge_slopes, ppoly_coef, h_neglect, answers_2018) [fd] fullname(pqm_functions/pqm_reconstruction) ftype(None) [fd] name(('pqm_functions/pqm_reconstruction', None)) sig(subroutine pqm_reconstruction(N, h, u, edge_values, edge_slopes, ppoly_coef, h_neglect, answers_2018)) signode(subroutine pqm_functions/pqm_reconstructionNhuedge_valuesedge_slopesppoly_coefh_neglectanswers_2018) [fd] run(.. f:subroutine:: subroutine pqm_limiter(N, h, u, edge_values, edge_slopes, h_neglect, answers_2018)) [fd] sig(subroutine pqm_limiter(N, h, u, edge_values, edge_slopes, h_neglect, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pqm_limiter) arglist(N, h, u, edge_values, edge_slopes, h_neglect, answers_2018) [fd] fullname(pqm_functions/pqm_limiter) ftype(None) [fd] name(('pqm_functions/pqm_limiter', None)) sig(subroutine pqm_limiter(N, h, u, edge_values, edge_slopes, h_neglect, answers_2018)) signode(subroutine pqm_functions/pqm_limiterNhuedge_valuesedge_slopesh_neglectanswers_2018) [fd] run(.. f:subroutine:: subroutine pqm_boundary_extrapolation(N, h, u, edge_values, ppoly_coef)) [fd] sig(subroutine pqm_boundary_extrapolation(N, h, u, edge_values, ppoly_coef)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pqm_boundary_extrapolation) arglist(N, h, u, edge_values, ppoly_coef) [fd] fullname(pqm_functions/pqm_boundary_extrapolation) ftype(None) [fd] name(('pqm_functions/pqm_boundary_extrapolation', None)) sig(subroutine pqm_boundary_extrapolation(N, h, u, edge_values, ppoly_coef)) signode(subroutine pqm_functions/pqm_boundary_extrapolationNhuedge_valuesppoly_coef) [fd] run(.. f:subroutine:: subroutine pqm_boundary_extrapolation_v1(N, h, u, edge_values, edge_slopes, ppoly_coef, h_neglect)) [fd] sig(subroutine pqm_boundary_extrapolation_v1(N, h, u, edge_values, edge_slopes, ppoly_coef, h_neglect)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pqm_boundary_extrapolation_v1) arglist(N, h, u, edge_values, edge_slopes, ppoly_coef, h_neglect) [fd] fullname(pqm_functions/pqm_boundary_extrapolation_v1) ftype(None) [fd] name(('pqm_functions/pqm_boundary_extrapolation_v1', None)) sig(subroutine pqm_boundary_extrapolation_v1(N, h, u, edge_values, edge_slopes, ppoly_coef, h_neglect)) signode(subroutine pqm_functions/pqm_boundary_extrapolation_v1Nhuedge_valuesedge_slopesppoly_coefh_neglect) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 69%] api/generated/modules/pseudo_salt_tracer [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/pseudo_salt_ [app] emitting event: 'source-read'('api/generated/modules/pseudo_salt_tracer', ['.. autodoxymodule:: pseudo_salt_tracer\n :members:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/pseudo_salt_tracer.rst:1: input: .. autodoxymodule:: pseudo_salt_tracer :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~pseudo_salt_tracer::pseudo_salt_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~pseudo_salt_tracer::register_pseudo_salt_tracer ~pseudo_salt_tracer::initialize_pseudo_salt_tracer ~pseudo_salt_tracer::pseudo_salt_tracer_column_physics ~pseudo_salt_tracer::pseudo_salt_stock ~pseudo_salt_tracer::pseudo_salt_tracer_surface_state ~pseudo_salt_tracer::pseudo_salt_tracer_end [debug] xpath(./compounddef/compoundname[text()="pseudo_salt_tracer"]/..) match([('id', 'namespacepseudo__salt__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:pseudo_salt_tracer module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'pseudo_salt_tracer', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'pseudo_salt_tracer' (exception was: ModuleNotFoundError("No module named 'pseudo_salt_tracer'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'pseudo_salt_tracer::pseudo_salt_tracer_cs', , { [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'pseudo_salt_tracer::pseudo_salt_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'pseudo_salt_tracer::pseudo_salt_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'pseudo_salt_tracer::pseudo_salt_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'pseudo_salt_tracer::pseudo_salt_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'pseudo_salt_tracer::pseudo_salt_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'pseudo_salt_tracer::pseudo_salt_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'pseudo_salt_tracer::pseudo_salt_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'pseudo_salt_tracer::pseudo_salt_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'pseudo_salt_tracer::pseudo_salt_tracer_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxytype', 'pseudo_salt_tracer::pseudo_salt_tracer_cs', , { [debug] members([('register_pseudo_salt_tracer', ), ('initialize_pseudo_salt_tracer', ), ('pseudo_salt_tracer_column_physics', ), ('pseudo_salt_stock', ), ('pseudo_salt_tracer_surface_state', ), ('pseudo_salt_tracer_end', )]) [autodoc] module analyzer failed: error importing 'pseudo_salt_tracer' (exception was: ModuleNotFoundError("No module named 'pseudo_salt_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] add_directive_header sig((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function register_pseudo_salt_tracer) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_pseudo_salt_tracer', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_pseudo_salt_tracer', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'initialize_pseudo_salt_tracer', , {'members': < [autodoc] module analyzer failed: error importing 'pseudo_salt_tracer' (exception was: ModuleNotFoundError("No module named 'pseudo_salt_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, debug, evap_CFL_limit, minimum_forcing_depth)) [debug] add_directive_header sig((h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, debug, evap_CFL_limit, minimum_forcing_depth)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine pseudo_salt_tracer_column_physics) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pseudo_salt_tracer_column_physics', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pseudo_salt_tracer_column_physics', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pseudo_salt_tracer_column_physics', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pseudo_salt_tracer_column_physics', , {'members [autodoc] module analyzer failed: error importing 'pseudo_salt_tracer' (exception was: ModuleNotFoundError("No module named 'pseudo_salt_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((h, stocks, G, GV, CS, names, units, stock_index)) [debug] add_directive_header sig((h, stocks, G, GV, CS, names, units, stock_index)) [debug] DoxygenMethodDocumenter directive(function) name(integer function pseudo_salt_stock) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [debug] method=visit_simplesect [debug] simplesect kind(return) [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pseudo_salt_stock', , {'members': , {'members': , {'members': , {'members': , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pseudo_salt_tracer_surface_state', , {'members' [autodoc] module analyzer failed: error importing 'pseudo_salt_tracer' (exception was: ModuleNotFoundError("No module named 'pseudo_salt_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] add_directive_header sig((CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine pseudo_salt_tracer_end) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pseudo_salt_tracer_end', , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~pseudo_salt_tracer::pseudo_salt_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~pseudo_salt_tracer::register_pseudo_salt_tracer ~pseudo_salt_tracer::initialize_pseudo_salt_tracer ~pseudo_salt_tracer::pseudo_salt_tracer_column_physics ~pseudo_salt_tracer::pseudo_salt_stock ~pseudo_salt_tracer::pseudo_salt_tracer_surface_state ~pseudo_salt_tracer::pseudo_salt_tracer_end .. _DETApseudo_salt_tracer: -------------------- Detailed Description -------------------- By Andrew Shao, 2016 This file contains the routines necessary to model a passive tracer that uses the same boundary fluxes as salinity. At the beginning of the run, salt is set to the same as tvS. Any deviations between this salt-like tracer and tvS signifies a difference between how active and passive tracers are treated. ------------------ Type Documentation ------------------ .. f:type:: pseudo_salt_tracer_cs The control structure for the pseudo-salt tracer. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(tracer_registry_type) tr_reg [pointer]: A pointer to the MOM tracer registry. :typefield real(\:,\:,\:) ps [pointer]: The array of pseudo-salt tracer used in this subroutine [ppt}. :typefield real(\:,\:,\:) diff [pointer]: The difference between the pseudo-salt tracer and the real salt [ppt]. :typefield logical pseudo_salt_may_reinit: Hard coding since this should not matter. :typefield integer id_psd: A diagnostic ID. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(mom_restart_cs) restart_csp [pointer]: A pointer to the restart control structure. :typefield type(vardesc) tr_desc: A description and metadata for the pseudo-salt tracer. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function register_pseudo_salt_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS) Register the pseudo-salt tracer with MOM6. :param hi: [in] A horizontal index type structure :param gv: [in] The ocean's vertical grid structure :param param_file: [in] A structure to parse for run-time parameters :param cs: The control structure returned by a previous call to register_pseudo_salt_tracer. :param tr_reg: A pointer that is set to point to the control structure for the tracer advection and diffusion module :param restart_cs: A pointer to the restart control structure :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_io::query_vardesc ` :callto: :f:func:`mom_tracer_registry::register_tracer ` :callto: :f:func:`mom_io::var_desc ` .. f:subroutine:: subroutine initialize_pseudo_salt_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp, tv) Initialize the pseudo-salt tracer. :param restart: [in] .true. if the fields have already been read from a restart file. :param day: [in] Time of the start of the run. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param diag: [in] A structure that is used to regulate diagnostic output. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param cs: The control structure returned by a previous call to register_pseudo_salt_tracer. :param sponge_csp: Pointer to the control structure for the sponges. :param tv: [in] A structure pointing to various thermodynamic variables :callto: :f:func:`mom_io::query_vardesc ` .. f:subroutine:: subroutine pseudo_salt_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, debug, evap_CFL_limit, minimum_forcing_depth) Apply sources, sinks and diapycnal diffusion to the tracers in this package. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h_old: [in] Layer thickness before entrainment [H ~> m or kg m-2]. :param h_new: [in] Layer thickness after entrainment [H ~> m or kg m-2]. :param ea: [in] an array to which the amount of fluid entrained :param eb: [in] an array to which the amount of fluid entrained :param fluxes: [in] A structure containing pointers to thermodynamic and tracer forcing fields. Unused fields have NULL ptrs. :param dt: [in] The amount of time covered by this call [T ~> s] :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to register_pseudo_salt_tracer. :param tv: [in] A structure pointing to various thermodynamic variables :param debug: [in] If true calculate checksums :param evap_cfl_limit: [in] Limit on the fraction of the water that can be fluxed out of the top layer in a timestep [nondim] :param minimum_forcing_depth: [in] The smallest depth over which fluxes can be applied [H ~> m or kg m-2] :callto: :f:func:`mom_tracer_diabatic::applytracerboundaryfluxesinout ` :callto: :f:func:`mom_tracer_diabatic::tracer_vertdiff ` .. f:function:: integer function pseudo_salt_stock(h, stocks, G, GV, CS, names, units, stock_index) Calculates the mass-weighted integral of all tracer stocks, returning the number of stocks it has calculated. If the stock_index is present, only the stock corresponding to that coded index is returned. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param stocks: [out] the mass-weighted integrated amount of each tracer, in kg times concentration units [kg conc]. :param cs: The control structure returned by a previous call to register_pseudo_salt_tracer. :param names: [out] The names of the stocks calculated. :param units: [out] The units of the stocks calculated. :param stock_index: [in] The coded index of a specific stock being sought. :returns undefined: Return value: the number of stocks calculated here. :callto: :f:func:`mom_io::query_vardesc ` :calledfrom: :f:func:`mom_tracer_flow_control::call_tracer_stocks ` .. f:subroutine:: subroutine pseudo_salt_tracer_surface_state(sfc_state, h, G, CS) This subroutine extracts the surface fields from this tracer package that are to be shared with the atmosphere in coupled configurations. This particular tracer package does not report anything back to the coupler. :param g: [in] The ocean's grid structure. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param h: [in] Layer thickness [H ~> m or kg m-2]. :param cs: The control structure returned by a previous call to register_pseudo_salt_tracer. .. f:subroutine:: subroutine pseudo_salt_tracer_end(CS) Deallocate memory associated with this tracer package. :param cs: The control structure returned by a previous call to register_pseudo_salt_tracer. [debug] xpath(./compounddef/compoundname[text()="pseudo_salt_tracer::pseudo_salt_tracer_cs"]/..) match([('id', 'structpseudo__salt__tracer_1_1pseudo__salt__tracer__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'pseudo_salt_tracer::pseudo_salt_tracer_cs', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'pseudo_salt_tracer::pseudo_salt_tracer_cs', , [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'pseudo_salt_tracer::pseudo_salt_tracer_cs', , [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pseudo_salt_tracer::register_pseudo_salt_tracer', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pseudo_salt_tracer::pseudo_salt_stock', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, h, G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pseudo_salt_tracer::pseudo_salt_tracer_surface_state', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'pseudo_salt_tracer::pseudo_salt_tracer_end', , [fd] run(.. f:type:: pseudo_salt_tracer_cs) [fd] sig(pseudo_salt_tracer_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(pseudo_salt_tracer_cs) arglist(None) [fd] fullname(pseudo_salt_tracer/pseudo_salt_tracer_cs) ftype(None) [fd] name(('pseudo_salt_tracer/pseudo_salt_tracer_cs', None)) sig(pseudo_salt_tracer_cs) signode(type pseudo_salt_tracer/pseudo_salt_tracer_cs) [fd] run(.. f:function:: logical function register_pseudo_salt_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] sig(logical function register_pseudo_salt_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_pseudo_salt_tracer) arglist(HI, GV, param_file, CS, tr_Reg, restart_CS) [fd] fullname(pseudo_salt_tracer/register_pseudo_salt_tracer) ftype(logical) [fd] name(('pseudo_salt_tracer/register_pseudo_salt_tracer', 'logical')) sig(logical function register_pseudo_salt_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) signode(function pseudo_salt_tracer/register_pseudo_salt_tracerHIGVparam_fileCStr_Regrestart_CS [logical]) [fd] run(.. f:subroutine:: subroutine initialize_pseudo_salt_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp, tv)) [fd] sig(subroutine initialize_pseudo_salt_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp, tv)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_pseudo_salt_tracer) arglist(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp, tv) [fd] fullname(pseudo_salt_tracer/initialize_pseudo_salt_tracer) ftype(None) [fd] name(('pseudo_salt_tracer/initialize_pseudo_salt_tracer', None)) sig(subroutine initialize_pseudo_salt_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp, tv)) signode(subroutine pseudo_salt_tracer/initialize_pseudo_salt_tracerrestartdayGGVhdiagOBCCSsponge_CSptv) [fd] run(.. f:subroutine:: subroutine pseudo_salt_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, debug, evap_CFL_limit, minimum_forcing_depth)) [fd] sig(subroutine pseudo_salt_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, debug, evap_CFL_limit, minimum_forcing_depth)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pseudo_salt_tracer_column_physics) arglist(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, debug, evap_CFL_limit, minimum_forcing_depth) [fd] fullname(pseudo_salt_tracer/pseudo_salt_tracer_column_physics) ftype(None) [fd] name(('pseudo_salt_tracer/pseudo_salt_tracer_column_physics', None)) sig(subroutine pseudo_salt_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, tv, debug, evap_CFL_limit, minimum_forcing_depth)) signode(subroutine pseudo_salt_tracer/pseudo_salt_tracer_column_physicsh_oldh_neweaebfluxesdtGGVUSCStvdebugevap_CFL_limitminimum_forcing_depth) [fd] run(.. f:function:: integer function pseudo_salt_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] sig(integer function pseudo_salt_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] ftype(integer) objtype(function) modname(None) typename() name(pseudo_salt_stock) arglist(h, stocks, G, GV, CS, names, units, stock_index) [fd] fullname(pseudo_salt_tracer/pseudo_salt_stock) ftype(integer) [fd] name(('pseudo_salt_tracer/pseudo_salt_stock', 'integer')) sig(integer function pseudo_salt_stock(h, stocks, G, GV, CS, names, units, stock_index)) signode(function pseudo_salt_tracer/pseudo_salt_stockhstocksGGVCSnamesunitsstock_index [integer]) [fd] run(.. f:subroutine:: subroutine pseudo_salt_tracer_surface_state(sfc_state, h, G, CS)) [fd] sig(subroutine pseudo_salt_tracer_surface_state(sfc_state, h, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pseudo_salt_tracer_surface_state) arglist(sfc_state, h, G, CS) [fd] fullname(pseudo_salt_tracer/pseudo_salt_tracer_surface_state) ftype(None) [fd] name(('pseudo_salt_tracer/pseudo_salt_tracer_surface_state', None)) sig(subroutine pseudo_salt_tracer_surface_state(sfc_state, h, G, CS)) signode(subroutine pseudo_salt_tracer/pseudo_salt_tracer_surface_statesfc_statehGCS) [fd] run(.. f:subroutine:: subroutine pseudo_salt_tracer_end(CS)) [fd] sig(subroutine pseudo_salt_tracer_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(pseudo_salt_tracer_end) arglist(CS) [fd] fullname(pseudo_salt_tracer/pseudo_salt_tracer_end) ftype(None) [fd] name(('pseudo_salt_tracer/pseudo_salt_tracer_end', None)) sig(subroutine pseudo_salt_tracer_end(CS)) signode(subroutine pseudo_salt_tracer/pseudo_salt_tracer_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 69%] api/generated/modules/regional_dyes [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/regional_dye [app] emitting event: 'source-read'('api/generated/modules/regional_dyes', ['.. autodoxymodule:: regional_dyes\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/regional_dyes.rst:1: input: .. autodoxymodule:: regional_dyes :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~regional_dyes::dye_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~regional_dyes::register_dye_tracer ~regional_dyes::initialize_dye_tracer ~regional_dyes::dye_tracer_column_physics ~regional_dyes::dye_stock ~regional_dyes::dye_tracer_surface_state ~regional_dyes::regional_dyes_end [debug] xpath(./compounddef/compoundname[text()="regional_dyes"]/..) match([('id', 'namespaceregional__dyes'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:regional_dyes module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regional_dyes', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'regional_dyes' (exception was: ModuleNotFoundError("No module named 'regional_dyes'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'regional_dyes::dye_tracer_cs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('initialize_dye_tracer', ), ('dye_tracer_column_physics', ), ('dye_stock', ), ('dye_tracer_surface_state', ), ('regional_dyes_end', )]) [autodoc] module analyzer failed: error importing 'regional_dyes' (exception was: ModuleNotFoundError("No module named 'regional_dyes'")) [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, US, param_file, CS, tr_Reg, restart_CS)) [debug] add_directive_header sig((HI, GV, US, param_file, CS, tr_Reg, restart_CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function register_dye_tracer) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_dye_tracer', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~regional_dyes::dye_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~regional_dyes::register_dye_tracer ~regional_dyes::initialize_dye_tracer ~regional_dyes::dye_tracer_column_physics ~regional_dyes::dye_stock ~regional_dyes::dye_tracer_surface_state ~regional_dyes::regional_dyes_end .. _DETAregional_dyes: -------------------- Detailed Description -------------------- This file contains an example of the code that is needed to set up and use a set (in this case two) of dynamically passive tracers for diagnostic purposes. The tracers here are dye tracers which are set to 1 within the geographical region specified. The depth which a tracer is set is determined by calculating the depth from the seafloor upwards through the column. ------------------ Type Documentation ------------------ .. f:type:: dye_tracer_cs The control structure for the regional dyes tracer package. :typefield integer ntr: The number of tracers that are actually used. :typefield logical coupled_tracers: These tracers are not offered to the coupler. :typefield real(\:) dye_source_minlon [allocatable]: Minimum longitude of region dye will be injected. :typefield real(\:) dye_source_maxlon [allocatable]: Maximum longitude of region dye will be injected. :typefield real(\:) dye_source_minlat [allocatable]: Minimum latitude of region dye will be injected. :typefield real(\:) dye_source_maxlat [allocatable]: Maximum latitude of region dye will be injected. :typefield real(\:) dye_source_mindepth [allocatable]: Minimum depth of region dye will be injected [Z ~> m]. :typefield real(\:) dye_source_maxdepth [allocatable]: Maximum depth of region dye will be injected [Z ~> m]. :typefield type(tracer_registry_type) tr_reg [pointer]: A pointer to the tracer registry. :typefield real(\:,\:,\:,\:) tr [pointer]: The array of tracers used in this subroutine, in g m-3? :typefield integer(\:) ind_tr [allocatable]: Indices returned by aof_set_coupler_flux if it is used and the surface tracer concentrations are to be provided to the coupler. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(mom_restart_cs) restart_csp [pointer]: A pointer to the restart control structure. :typefield type(vardesc)(\:) tr_desc [allocatable]: Descriptions and metadata for the tracers. :typefield logical tracers_may_reinit: If true the tracers may be initialized if not found in a restart file. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function register_dye_tracer(HI, GV, US, param_file, CS, tr_Reg, restart_CS) This subroutine is used to register tracer fields and subroutines to be used with MOM. :param hi: [in] A horizontal index type structure. :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :param cs: A pointer that is set to point to the control structure for this module :param tr_reg: A pointer that is set to point to the control structure for the tracer advection and diffusion module. :param restart_cs: A pointer to the restart control structure. :callto: :f:func:`atmos_ocean_fluxes_mod::aof_set_coupler_flux ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_io::query_vardesc ` :callto: :f:func:`mom_tracer_registry::register_tracer ` :callto: :f:func:`mom_io::var_desc ` .. f:subroutine:: subroutine initialize_dye_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp) This subroutine initializes the CSntr tracer fields in tr(:,:,:,:) and it sets up the tracer output. :param restart: [in] .true. if the fields have already been read from a restart file. :param day: [in] Time of the start of the run. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param diag: [in] Structure used to regulate diagnostic output. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param cs: The control structure returned by a previous call to register_dye_tracer. :param sponge_csp: A pointer to the control structure for the sponges, if they are in use. .. f:subroutine:: subroutine dye_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth) This subroutine applies diapycnal diffusion and any other column tracer physics or chemistry to the tracers from this file. This is a simple example of a set of advected passive tracers. The arguments to this subroutine are redundant in that h_new(k) = h_old(k) + ea(k) - eb(k-1) + eb(k) - ea(k+1) :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h_old: [in] Layer thickness before entrainment [H ~> m or kg m-2]. :param h_new: [in] Layer thickness after entrainment [H ~> m or kg m-2]. :param ea: [in] an array to which the amount of fluid entrained :param eb: [in] an array to which the amount of fluid entrained :param fluxes: [in] A structure containing pointers to thermodynamic and tracer forcing fields. Unused fields have NULL ptrs. :param dt: [in] The amount of time covered by this call [T ~> s] :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to register_dye_tracer. :param evap_cfl_limit: [in] Limit on the fraction of the water that can be fluxed out of the top layer in a timestep [nondim] :param minimum_forcing_depth: [in] The smallest depth over which fluxes can be applied [H ~> m or kg m-2] :callto: :f:func:`mom_tracer_diabatic::applytracerboundaryfluxesinout ` :callto: :f:func:`mom_tracer_diabatic::tracer_vertdiff ` .. f:function:: integer function dye_stock(h, stocks, G, GV, CS, names, units, stock_index) This function calculates the mass-weighted integral of all tracer stocks, returning the number of stocks it has calculated. If the stock_index is present, only the stock corresponding to that coded index is returned. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param stocks: [out] the mass-weighted integrated amount of each tracer, in kg times concentration units [kg conc]. :param cs: The control structure returned by a previous call to register_dye_tracer. :param names: [out] the names of the stocks calculated. :param units: [out] the units of the stocks calculated. :param stock_index: [in] the coded index of a specific stock being sought. :returns undefined: Return value: the number of stocks calculated here. :callto: :f:func:`mom_io::query_vardesc ` :calledfrom: :f:func:`mom_tracer_flow_control::call_tracer_stocks ` .. f:subroutine:: subroutine dye_tracer_surface_state(sfc_state, h, G, CS) This subroutine extracts the surface fields from this tracer package that are to be shared with the atmosphere in coupled configurations. This particular tracer package does not report anything back to the coupler. :param g: [in] The ocean's grid structure. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param h: [in] Layer thickness [H ~> m or kg m-2]. :param cs: The control structure returned by a previous call to register_dye_tracer. .. f:subroutine:: subroutine regional_dyes_end(CS) Clean up any allocated memory after the run. :param cs: The control structure returned by a previous call to register_dye_tracer. [debug] xpath(./compounddef/compoundname[text()="regional_dyes::dye_tracer_cs"]/..) match([('id', 'structregional__dyes_1_1dye__tracer__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regional_dyes::dye_tracer_cs', , {}, ['', 'Th [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regional_dyes::dye_tracer_cs', , {}, ['`More. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regional_dyes::dye_tracer_cs', , {}, ['', 'Th [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, US, param_file, CS, tr_Reg, restart_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regional_dyes::register_dye_tracer', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regional_dyes::register_dye_tracer', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((restart, day, G, GV, h, diag, OBC, CS, sponge_CSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regional_dyes::initialize_dye_tracer', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regional_dyes::initialize_dye_tracer', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regional_dyes::dye_tracer_column_physics', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regional_dyes::dye_tracer_column_physics', , {} [debug] DoxygenMethodDocumenter format_signature called ((h, stocks, G, GV, CS, names, units, stock_index)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regional_dyes::dye_stock', , {}, ['', 'This fun [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regional_dyes::dye_stock', , {}, ['', 'This fun [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, h, G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regional_dyes::dye_tracer_surface_state', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regional_dyes::dye_tracer_surface_state', , {}, [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regional_dyes::regional_dyes_end', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regional_dyes::regional_dyes_end', , {}, ['', ' [fd] run(.. f:type:: dye_tracer_cs) [fd] sig(dye_tracer_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(dye_tracer_cs) arglist(None) [fd] fullname(regional_dyes/dye_tracer_cs) ftype(None) [fd] name(('regional_dyes/dye_tracer_cs', None)) sig(dye_tracer_cs) signode(type regional_dyes/dye_tracer_cs) [fd] run(.. f:function:: logical function register_dye_tracer(HI, GV, US, param_file, CS, tr_Reg, restart_CS)) [fd] sig(logical function register_dye_tracer(HI, GV, US, param_file, CS, tr_Reg, restart_CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_dye_tracer) arglist(HI, GV, US, param_file, CS, tr_Reg, restart_CS) [fd] fullname(regional_dyes/register_dye_tracer) ftype(logical) [fd] name(('regional_dyes/register_dye_tracer', 'logical')) sig(logical function register_dye_tracer(HI, GV, US, param_file, CS, tr_Reg, restart_CS)) signode(function regional_dyes/register_dye_tracerHIGVUSparam_fileCStr_Regrestart_CS [logical]) [fd] run(.. f:subroutine:: subroutine initialize_dye_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp)) [fd] sig(subroutine initialize_dye_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_dye_tracer) arglist(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp) [fd] fullname(regional_dyes/initialize_dye_tracer) ftype(None) [fd] name(('regional_dyes/initialize_dye_tracer', None)) sig(subroutine initialize_dye_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp)) signode(subroutine regional_dyes/initialize_dye_tracerrestartdayGGVhdiagOBCCSsponge_CSp) [fd] run(.. f:subroutine:: subroutine dye_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [fd] sig(subroutine dye_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dye_tracer_column_physics) arglist(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth) [fd] fullname(regional_dyes/dye_tracer_column_physics) ftype(None) [fd] name(('regional_dyes/dye_tracer_column_physics', None)) sig(subroutine dye_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) signode(subroutine regional_dyes/dye_tracer_column_physicsh_oldh_neweaebfluxesdtGGVUSCSevap_CFL_limitminimum_forcing_depth) [fd] run(.. f:function:: integer function dye_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] sig(integer function dye_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] ftype(integer) objtype(function) modname(None) typename() name(dye_stock) arglist(h, stocks, G, GV, CS, names, units, stock_index) [fd] fullname(regional_dyes/dye_stock) ftype(integer) [fd] name(('regional_dyes/dye_stock', 'integer')) sig(integer function dye_stock(h, stocks, G, GV, CS, names, units, stock_index)) signode(function regional_dyes/dye_stockhstocksGGVCSnamesunitsstock_index [integer]) [fd] run(.. f:subroutine:: subroutine dye_tracer_surface_state(sfc_state, h, G, CS)) [fd] sig(subroutine dye_tracer_surface_state(sfc_state, h, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(dye_tracer_surface_state) arglist(sfc_state, h, G, CS) [fd] fullname(regional_dyes/dye_tracer_surface_state) ftype(None) [fd] name(('regional_dyes/dye_tracer_surface_state', None)) sig(subroutine dye_tracer_surface_state(sfc_state, h, G, CS)) signode(subroutine regional_dyes/dye_tracer_surface_statesfc_statehGCS) [fd] run(.. f:subroutine:: subroutine regional_dyes_end(CS)) [fd] sig(subroutine regional_dyes_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(regional_dyes_end) arglist(CS) [fd] fullname(regional_dyes/regional_dyes_end) ftype(None) [fd] name(('regional_dyes/regional_dyes_end', None)) sig(subroutine regional_dyes_end(CS)) signode(subroutine regional_dyes/regional_dyes_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 70%] api/generated/modules/regrid_consts [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/regrid_const [app] emitting event: 'source-read'('api/generated/modules/regrid_consts', ['.. autodoxymodule:: regrid_consts\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/regrid_consts.rst:1: input: .. autodoxymodule:: regrid_consts :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~regrid_consts::coordinatemode ~regrid_consts::coordinateunitsi ~regrid_consts::coordinateunitss ~regrid_consts::state_dependent_char ~regrid_consts::state_dependent_int [debug] xpath(./compounddef/compoundname[text()="regrid_consts"]/..) match([('id', 'namespaceregrid__consts'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:regrid_consts module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regrid_consts', , {'members': , {'members': , {'members': ), ('coordinateunitsi', ), ('coordinateunitss', ), ('state_dependent_char', ), ('state_dependent_int', )]) [autodoc] module analyzer failed: error importing 'regrid_consts' (exception was: ModuleNotFoundError("No module named 'regrid_consts'")) [debug] DoxygenMethodDocumenter format_signature called ((string)) [debug] add_directive_header sig((string)) [debug] DoxygenMethodDocumenter directive(function) name(integer function coordinatemode) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_simplesect [debug] simplesect kind(return) [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'coordinatemode', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~regrid_consts::coordinatemode ~regrid_consts::coordinateunitsi ~regrid_consts::coordinateunitss ~regrid_consts::state_dependent_char ~regrid_consts::state_dependent_int .. _DETAregrid_consts: -------------------- Detailed Description -------------------- Contains constants for interpreting input parameters that control regridding. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: integer function coordinatemode(string) Parse a string parameter specifying the coordinate mode and return the appropriate enumerated integer. :returns undefined: Enumerated integer indicating coordinate mode :param string: [in] String to indicate coordinate mode :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regridding_adaptive ` :callto: :f:func:`regridding_adaptive_string ` :callto: :f:func:`regridding_arbitrary ` :callto: :f:func:`regridding_arbitrary_string ` :callto: :f:func:`regridding_hycom1 ` :callto: :f:func:`regridding_hycom1_string ` :callto: :f:func:`regridding_layer ` :callto: :f:func:`regridding_layer_string ` :callto: :f:func:`regridding_rho ` :callto: :f:func:`regridding_rho_string ` :callto: :f:func:`regridding_sigma ` :callto: :f:func:`regridding_sigma_shelf_zstar ` :callto: :f:func:`regridding_sigma_shelf_zstar_string ` :callto: :f:func:`regridding_sigma_string ` :callto: :f:func:`regridding_slight ` :callto: :f:func:`regridding_slight_string ` :callto: :f:func:`regridding_zstar ` :callto: :f:func:`regridding_zstar_string ` :callto: :f:func:`regridding_zstar_string_old ` :callto: :f:func:`mom_string_functions::uppercase ` :calledfrom: :f:func:`coordinateunitss ` :calledfrom: :f:func:`mom_diag_remap::diag_remap_calc_hmask ` :calledfrom: :f:func:`mom_diag_remap::diag_remap_configure_axes ` :calledfrom: :f:func:`mom_diag_remap::diag_remap_init ` :calledfrom: :f:func:`mom_diag_remap::diag_remap_update ` :calledfrom: :f:func:`state_dependent_char ` .. f:function:: character(len=16) function coordinateunitsi(coordMode) Returns a string with the coordinate units associated with the enumerated integer,. :returns undefined: Units of coordinate :param coordmode: [in] Coordinate mode :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regridding_adaptive ` :callto: :f:func:`regridding_hycom1 ` :callto: :f:func:`regridding_layer ` :callto: :f:func:`regridding_rho ` :callto: :f:func:`regridding_sigma ` :callto: :f:func:`regridding_sigma_shelf_zstar ` :callto: :f:func:`regridding_slight ` :callto: :f:func:`regridding_zstar ` :calledfrom: :f:func:`coordinateunitss ` .. f:function:: character(len=16) function coordinateunitss(string) Returns a string with the coordinate units associated with the string defining the coordinate mode. :returns undefined: Units of coordinate :param string: [in] Coordinate mode :callto: :f:func:`coordinatemode ` :callto: :f:func:`coordinateunitsi ` .. f:function:: logical function state_dependent_char(string) Returns true if the coordinate is dependent on the state density, returns false otherwise. :param string: [in] String to indicate coordinate mode :callto: :f:func:`coordinatemode ` :callto: :f:func:`state_dependent_int ` .. f:function:: logical function state_dependent_int(mode) Returns true if the coordinate is dependent on the state density, returns false otherwise. :param mode: [in] Coordinate mode :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regridding_adaptive ` :callto: :f:func:`regridding_hycom1 ` :callto: :f:func:`regridding_layer ` :callto: :f:func:`regridding_rho ` :callto: :f:func:`regridding_sigma ` :callto: :f:func:`regridding_sigma_shelf_zstar ` :callto: :f:func:`regridding_slight ` :callto: :f:func:`regridding_zstar ` :calledfrom: :f:func:`state_dependent_char ` [debug] DoxygenMethodDocumenter format_signature called ((string)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_consts::coordinatemode', , {}, ['', 'Par [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_consts::coordinatemode', , {}, ['', 'Par [debug] DoxygenMethodDocumenter format_signature called ((coordMode)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_consts::coordinateunitsi', , {}, ['', 'R [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_consts::coordinateunitsi', , {}, ['', 'R [debug] DoxygenMethodDocumenter format_signature called ((string)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_consts::coordinateunitss', , {}, ['', 'R [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_consts::coordinateunitss', , {}, ['', 'R [debug] DoxygenMethodDocumenter format_signature called ((string)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_consts::state_dependent_char', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_consts::state_dependent_char', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((mode)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_consts::state_dependent_int', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_consts::state_dependent_int', , {}, ['', [fd] run(.. f:function:: integer function coordinatemode(string)) [fd] sig(integer function coordinatemode(string)) [fd] ftype(integer) objtype(function) modname(None) typename() name(coordinatemode) arglist(string) [fd] fullname(regrid_consts/coordinatemode) ftype(integer) [fd] name(('regrid_consts/coordinatemode', 'integer')) sig(integer function coordinatemode(string)) signode(function regrid_consts/coordinatemodestring [integer]) [fd] run(.. f:function:: character(len=16) function coordinateunitsi(coordMode)) [fd] sig(character(len=16) function coordinateunitsi(coordMode)) [fd] ftype(character(len=16)) objtype(function) modname(None) typename() name(coordinateunitsi) arglist(coordMode) [fd] fullname(regrid_consts/coordinateunitsi) ftype(character(len=16)) [fd] name(('regrid_consts/coordinateunitsi', 'character(len=16)')) sig(character(len=16) function coordinateunitsi(coordMode)) signode(function regrid_consts/coordinateunitsicoordMode [character(len=16)]) [fd] run(.. f:function:: character(len=16) function coordinateunitss(string)) [fd] sig(character(len=16) function coordinateunitss(string)) [fd] ftype(character(len=16)) objtype(function) modname(None) typename() name(coordinateunitss) arglist(string) [fd] fullname(regrid_consts/coordinateunitss) ftype(character(len=16)) [fd] name(('regrid_consts/coordinateunitss', 'character(len=16)')) sig(character(len=16) function coordinateunitss(string)) signode(function regrid_consts/coordinateunitssstring [character(len=16)]) [fd] run(.. f:function:: logical function state_dependent_char(string)) [fd] sig(logical function state_dependent_char(string)) [fd] ftype(logical) objtype(function) modname(None) typename() name(state_dependent_char) arglist(string) [fd] fullname(regrid_consts/state_dependent_char) ftype(logical) [fd] name(('regrid_consts/state_dependent_char', 'logical')) sig(logical function state_dependent_char(string)) signode(function regrid_consts/state_dependent_charstring [logical]) [fd] run(.. f:function:: logical function state_dependent_int(mode)) [fd] sig(logical function state_dependent_int(mode)) [fd] ftype(logical) objtype(function) modname(None) typename() name(state_dependent_int) arglist(mode) [fd] fullname(regrid_consts/state_dependent_int) ftype(logical) [fd] name(('regrid_consts/state_dependent_int', 'logical')) sig(logical function state_dependent_int(mode)) signode(function regrid_consts/state_dependent_intmode [logical]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 70%] api/generated/modules/regrid_edge_values [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/regrid_edge_ [app] emitting event: 'source-read'('api/generated/modules/regrid_edge_values', ['.. autodoxymodule:: regrid_edge_values\n :members:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/regrid_edge_values.rst:1: input: .. autodoxymodule:: regrid_edge_values :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~regrid_edge_values::bound_edge_values ~regrid_edge_values::average_discontinuous_edge_values ~regrid_edge_values::check_discontinuous_edge_values ~regrid_edge_values::edge_values_explicit_h2 ~regrid_edge_values::edge_values_explicit_h4 ~regrid_edge_values::edge_values_implicit_h4 ~regrid_edge_values::end_value_h4 ~regrid_edge_values::edge_slopes_implicit_h3 ~regrid_edge_values::edge_slopes_implicit_h5 ~regrid_edge_values::edge_values_implicit_h6 ~regrid_edge_values::solve_diag_dominant_tridiag ~regrid_edge_values::linear_solver ~regrid_edge_values::test_line [debug] xpath(./compounddef/compoundname[text()="regrid_edge_values"]/..) match([('id', 'namespaceregrid__edge__values'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:regrid_edge_values module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regrid_edge_values', , {'members': , {'members': , {'members': ), ('average_discontinuous_edge_values', ), ('check_discontinuous_edge_values', ), ('edge_values_explicit_h2', ), ('edge_values_explicit_h4', ), ('edge_values_implicit_h4', ), ('end_value_h4', ), ('edge_slopes_implicit_h3', ), ('edge_slopes_implicit_h5', ), ('edge_values_implicit_h6', ), ('solve_diag_dominant_tridiag', ), ('linear_solver', ), ('test_line', )]) [autodoc] module analyzer failed: error importing 'regrid_edge_values' (exception was: ModuleNotFoundError("No module named 'regrid_edge_values'")) [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_val, h_neglect, answers_2018)) [debug] add_directive_header sig((N, h, u, edge_val, h_neglect, answers_2018)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine bound_edge_values) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'bound_edge_values', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'average_discontinuous_edge_values', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'average_discontinuous_edge_values', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'average_discontinuous_edge_values', , {'members [autodoc] module analyzer failed: error importing 'regrid_edge_values' (exception was: ModuleNotFoundError("No module named 'regrid_edge_values'")) [debug] DoxygenMethodDocumenter format_signature called ((N, u, edge_val)) [debug] add_directive_header sig((N, u, edge_val)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine check_discontinuous_edge_values) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'check_discontinuous_edge_values', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'check_discontinuous_edge_values', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'check_discontinuous_edge_values', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'check_discontinuous_edge_values', , {'members': [autodoc] module analyzer failed: error importing 'regrid_edge_values' (exception was: ModuleNotFoundError("No module named 'regrid_edge_values'")) [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_val)) [debug] add_directive_header sig((N, h, u, edge_val)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine edge_values_explicit_h2) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'edge_values_explicit_h2', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~regrid_edge_values::bound_edge_values ~regrid_edge_values::average_discontinuous_edge_values ~regrid_edge_values::check_discontinuous_edge_values ~regrid_edge_values::edge_values_explicit_h2 ~regrid_edge_values::edge_values_explicit_h4 ~regrid_edge_values::edge_values_implicit_h4 ~regrid_edge_values::end_value_h4 ~regrid_edge_values::edge_slopes_implicit_h3 ~regrid_edge_values::edge_slopes_implicit_h5 ~regrid_edge_values::edge_values_implicit_h6 ~regrid_edge_values::solve_diag_dominant_tridiag ~regrid_edge_values::linear_solver ~regrid_edge_values::test_line .. _DETAregrid_edge_values: -------------------- Detailed Description -------------------- Edge value estimation for high-order resconstruction. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine bound_edge_values(N, h, u, edge_val, h_neglect, answers_2018) Bound edge values by neighboring cell averages. In this routine, we loop on all cells to bound their left and right edge values by the cell averages. That is, the left edge value must lie between the left cell average and the central cell average. A similar reasoning applies to the right edge values. Both boundary edge values are set equal to the boundary cell averages. Any extrapolation scheme is applied after this routine has been called. Therefore, boundary cells are treated as if they were local extrama. :param n: [in] Number of cells :param h: [in] cell widths [H] :param u: [in] cell average properties in arbitrary units [A] :param edge_val: [inout] Potentially modified edge values [A]; the second index is for the two edges of each cell. :param h_neglect: [in] A negligibly small width [H] :param answers_2018: [in] If true use older, less acccurate expressions. :callto: :f:func:`hneglect_dflt ` :calledfrom: :f:func:`p1m_functions::p1m_interpolation ` :calledfrom: :f:func:`p3m_functions::p3m_limiter ` :calledfrom: :f:func:`ppm_functions::ppm_limiter_standard ` :calledfrom: :f:func:`pqm_functions::pqm_limiter ` .. f:subroutine:: subroutine average_discontinuous_edge_values(N, edge_val) Replace discontinuous collocated edge values with their average. For each interior edge, check whether the edge values are discontinuous. If so, compute the average and replace the edge values by the average. :param n: [in] Number of cells :param edge_val: [inout] Edge values that may be modified [A]; the second index is for the two edges of each cell. :calledfrom: :f:func:`p1m_functions::p1m_interpolation ` :calledfrom: :f:func:`p3m_functions::p3m_limiter ` .. f:subroutine:: subroutine check_discontinuous_edge_values(N, u, edge_val) Check discontinuous edge values and replace them with their average if not monotonic. For each interior edge, check whether the edge values are discontinuous. If so and if they are not monotonic, replace each edge value by their average. :param n: [in] Number of cells :param u: [in] cell averages in arbitrary units [A] :param edge_val: [inout] Cell edge values [A]; the second index is for the two edges of each cell. :calledfrom: :f:func:`ppm_functions::ppm_limiter_standard ` :calledfrom: :f:func:`pqm_functions::pqm_limiter ` .. f:subroutine:: subroutine edge_values_explicit_h2(N, h, u, edge_val) Compute h2 edge values (explicit second order accurate) in the same units as u. :param n: [in] Number of cells :param h: [in] cell widths [H] :param u: [in] cell average properties in arbitrary units [A] :param edge_val: [inout] Returned edge values [A]; the second index is for the two edges of each cell. .. f:subroutine:: subroutine edge_values_explicit_h4(N, h, u, edge_val, h_neglect, answers_2018) Compute h4 edge values (explicit fourth order accurate) in the same units as u. Compute edge values based on fourth-order explicit estimates. These estimates are based on a cubic interpolant spanning four cells and evaluated at the location of the middle edge. An interpolant spanning cells i-2, i-1, i and i+1 is evaluated at edge i-1/2. The estimate for each edge is unique. :: i-2 i-1 i i+1 ..o---o---o---o---o.. i-1/2 The first two edge values are estimated by evaluating the first available cubic interpolant, i.e., the interpolant spanning cells 1, 2, 3 and 4. Similarly, the last two edge values are estimated by evaluating the last available interpolant. For this fourth-order scheme, at least four cells must exist. :param n: [in] Number of cells :param h: [in] cell widths [H] :param u: [in] cell average properties in arbitrary units [A] :param edge_val: [inout] Returned edge values [A]; the second index is for the two edges of each cell. :param h_neglect: [in] A negligibly small width [H] :param answers_2018: [in] If true use older, less acccurate expressions. :callto: :f:func:`end_value_h4 ` :callto: :f:func:`polynomial_functions::evaluation_polynomial ` :callto: :f:func:`hminfrac ` :callto: :f:func:`hneglect_dflt ` :callto: :f:func:`hneglect_edge_dflt ` :callto: :f:func:`regrid_solvers::solve_linear_system ` .. f:subroutine:: subroutine edge_values_implicit_h4(N, h, u, edge_val, h_neglect, answers_2018) Compute ih4 edge values (implicit fourth order accurate) in the same units as u. Compute edge values based on fourth-order implicit estimates. Fourth-order implicit estimates of edge values are based on a two-cell stencil. A tridiagonal system is set up and is based on expressing the edge values in terms of neighboring cell averages. The generic relationship is .. math:: \alpha u_{i-1/2} + u_{i+1/2} + \beta u_{i+3/2} = a \bar{u}_i + b \bar{u}_{i+1} and the stencil looks like this :: i i+1 ..o---o---o.. i-1/2 i+1/2 i+3/2 In this routine, the coefficients :math:`\alpha`, :math:`\beta`, :math:`a` and :math:`b` are computed, the tridiagonal system is built, boundary conditions are prescribed and the system is solved to yield edge-value estimates. There are N+1 unknowns and we are able to write N-1 equations. The boundary conditions close the system. :param n: [in] Number of cells :param h: [in] cell widths [H] :param u: [in] cell average properties in arbitrary units [A] :param edge_val: [inout] Returned edge values [A]; the second index is for the two edges of each cell. :param h_neglect: [in] A negligibly small width [H] :param answers_2018: [in] If true use older, less acccurate expressions. :callto: :f:func:`end_value_h4 ` :callto: :f:func:`polynomial_functions::evaluation_polynomial ` :callto: :f:func:`hminfrac ` :callto: :f:func:`hneglect_dflt ` :callto: :f:func:`hneglect_edge_dflt ` :callto: :f:func:`solve_diag_dominant_tridiag ` :callto: :f:func:`regrid_solvers::solve_linear_system ` :callto: :f:func:`regrid_solvers::solve_tridiagonal_system ` :calledfrom: :f:func:`mom_ale::ts_ppm_edge_values ` .. f:subroutine:: subroutine end_value_h4(dz, u, Csys) Determine a one-sided 4th order polynomial fit of u to the data points for the purposes of specifying edge values, as described in the appendix of White and Adcroft JCP 2008. :param dz: [in] The thicknesses of 4 layers, starting at the edge [H]. The values of dz must be positive. :param u: [in] The average properties of 4 layers, starting at the edge [A] :param csys: [out] The four coefficients of a 4th order polynomial fit of u as a function of z [A H-(n-1)] :calledfrom: :f:func:`edge_slopes_implicit_h3 ` :calledfrom: :f:func:`edge_values_explicit_h4 ` :calledfrom: :f:func:`edge_values_implicit_h4 ` .. f:subroutine:: subroutine edge_slopes_implicit_h3(N, h, u, edge_slopes, h_neglect, answers_2018) Compute ih3 edge slopes (implicit third order accurate) in the same units as h. Compute edge slopes based on third-order implicit estimates. Note that the estimates are fourth-order accurate on uniform grids Third-order implicit estimates of edge slopes are based on a two-cell stencil. A tridiagonal system is set up and is based on expressing the edge slopes in terms of neighboring cell averages. The generic relationship is .. math:: \alpha u'_{i-1/2} + u'_{i+1/2} + \beta u'_{i+3/2} = a \bar{u}_i + b \bar{u}_{i+1} and the stencil looks like this :: i i+1 ..o---o---o.. i-1/2 i+1/2 i+3/2 In this routine, the coefficients :math:`\alpha`, :math:`\beta`, a and b are computed, the tridiagonal system is built, boundary conditions are prescribed and the system is solved to yield edge-slope estimates. There are N+1 unknowns and we are able to write N-1 equations. The boundary conditions close the system. :param n: [in] Number of cells :param h: [in] cell widths [H] :param u: [in] cell average properties in arbitrary units [A] :param edge_slopes: [inout] Returned edge slopes [A H-1]; the second index is for the two edges of each cell. :param h_neglect: [in] A negligibly small width [H] :param answers_2018: [in] If true use older, less acccurate expressions. :callto: :f:func:`end_value_h4 ` :callto: :f:func:`polynomial_functions::evaluation_polynomial ` :callto: :f:func:`hneglect_dflt ` :callto: :f:func:`solve_diag_dominant_tridiag ` :callto: :f:func:`regrid_solvers::solve_linear_system ` :callto: :f:func:`regrid_solvers::solve_tridiagonal_system ` :calledfrom: :f:func:`mom_remapping::build_reconstructions_1d ` :calledfrom: :f:func:`regrid_interp::regridding_set_ppolys ` .. f:subroutine:: subroutine edge_slopes_implicit_h5(N, h, u, edge_slopes, h_neglect, answers_2018) Compute ih5 edge slopes (implicit fifth order accurate) :param n: [in] Number of cells :param h: [in] cell widths [H] :param u: [in] cell average properties in arbitrary units [A] :param edge_slopes: [inout] Returned edge slopes [A H-1]; the second index is for the two edges of each cell. :param h_neglect: [in] A negligibly small width [H] :param answers_2018: [in] If true use older, less acccurate expressions. :callto: :f:func:`hneglect_dflt ` :callto: :f:func:`linear_solver ` :callto: :f:func:`regrid_solvers::solve_tridiagonal_system ` :calledfrom: :f:func:`mom_remapping::build_reconstructions_1d ` :calledfrom: :f:func:`regrid_interp::regridding_set_ppolys ` .. f:subroutine:: subroutine edge_values_implicit_h6(N, h, u, edge_val, h_neglect, answers_2018) Compute ih6 edge values (implicit sixth order accurate) in the same units as u. Sixth-order implicit estimates of edge values are based on a four-cell, three-edge stencil. A tridiagonal system is set up and is based on expressing the edge values in terms of neighboring cell averages. The generic relationship is .. math:: \alpha u_{i-1/2} + u_{i+1/2} + \beta u_{i+3/2} = a \bar{u}_{i-1} + b \bar{u}_i + c \bar{u}_{i+1} + d \bar{u}_{i+2} and the stencil looks like this :: i-1 i i+1 i+2 ..o---o---o---o---o.. i-1/2 i+1/2 i+3/2 In this routine, the coefficients :math:`\alpha`, :math:`\beta`, a, b, c and d are computed, the tridiagonal system is built, boundary conditions are prescribed and the system is solved to yield edge-value estimates. This scheme is described in detail by White and Adcroft, 2009, J. Comp. Phys, `https://doi.org/10.1016/j.jcp.2008.04.026 `_ Note that the centered stencil only applies to edges 3 to N-1 (edges are numbered 1 to n+1), which yields N-3 equations for N+1 unknowns. Two other equations are written by using a right-biased stencil for edge 2 and a left-biased stencil for edge N. The prescription of boundary conditions (using sixth-order polynomials) closes the system. CAUTION: For each edge, in order to determine the coefficients of the implicit expression, a 6x6 linear system is solved. This may become computationally expensive if regridding is carried out often. Figuring out closed-form expressions for these coefficients on nonuniform meshes turned out to be intractable. :param n: [in] Number of cells :param h: [in] cell widths [H] :param u: [in] cell average properties (size N) in arbitrary units [A] :param edge_val: [inout] Returned edge values [A]; the second index is for the two edges of each cell. :param h_neglect: [in] A negligibly small width [H] :param answers_2018: [in] If true use older, less acccurate expressions. :callto: :f:func:`polynomial_functions::evaluation_polynomial ` :callto: :f:func:`hminfrac ` :callto: :f:func:`hneglect_edge_dflt ` :callto: :f:func:`linear_solver ` :callto: :f:func:`regrid_solvers::solve_tridiagonal_system ` .. f:subroutine:: subroutine solve_diag_dominant_tridiag(Al, Ac, Au, R, X, N) Solve the tridiagonal system AX = R. This routine uses a variant of Thomas's algorithm to solve the tridiagonal system AX = R, in a form that is guaranteed to avoid dividing by a zero pivot. The matrix A is made up of lower (Al) and upper diagonals (Au) and a central diagonal Ad = Ac+Al+Au, where Al, Au, and Ac are all positive (or negative) definite. However when Ac is smaller than roundoff compared with (Al+Au), the answers are prone to inaccuracy. :param n: [in] The size of the system :param ac: [in] Matrix center diagonal offset from Al + Au :param al: [in] Matrix lower diagonal :param au: [in] Matrix upper diagonal :param r: [in] system right-hand side :param x: [out] solution vector :calledfrom: :f:func:`edge_slopes_implicit_h3 ` :calledfrom: :f:func:`edge_values_implicit_h4 ` .. f:subroutine:: subroutine linear_solver(N, A, R, X) Solve the linear system AX = R by Gaussian elimination. This routine uses Gauss's algorithm to transform the system's original matrix into an upper triangular matrix. Back substitution then yields the answer. The matrix A must be square, with the first index varing along the row. :param n: [in] The size of the system :param a: [inout] The matrix being inverted [nondim] :param r: [inout] system right-hand side [A] :param x: [inout] solution vector [A] :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`edge_slopes_implicit_h5 ` :calledfrom: :f:func:`edge_values_implicit_h6 ` .. f:subroutine:: subroutine test_line(msg, N, A, C, R, mag, tol) Test that A*C = R to within a tolerance, issuing a fatal error with an explanatory message if they do not. :param mag: [in] The magnitude of leading order terms in this line :param n: [in] The number of points in the system :param a: [in] One of the two vectors being multiplied :param c: [in] One of the two vectors being multiplied :param r: [in] The expected solution of the equation :param msg: [in] An identifying message for this test :param tol: [in] The fractional tolerance for the two solutions :callto: :f:func:`mom_error_handler::mom_error ` [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_val, h_neglect, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::bound_edge_values', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::bound_edge_values', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((N, edge_val)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::average_discontinuous_edge_values', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::edge_values_explicit_h2', , [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_val, h_neglect, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::edge_values_explicit_h4', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::edge_values_explicit_h4', , [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_val, h_neglect, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::edge_values_implicit_h4', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::edge_values_implicit_h4', , [debug] DoxygenMethodDocumenter format_signature called ((dz, u, Csys)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::end_value_h4', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::end_value_h4', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_slopes, h_neglect, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::edge_slopes_implicit_h3', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::edge_slopes_implicit_h3', , [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_slopes, h_neglect, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::edge_slopes_implicit_h5', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::edge_slopes_implicit_h5', , [debug] DoxygenMethodDocumenter format_signature called ((N, h, u, edge_val, h_neglect, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::edge_values_implicit_h6', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::edge_values_implicit_h6', , [debug] DoxygenMethodDocumenter format_signature called ((Al, Ac, Au, R, X, N)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::solve_diag_dominant_tridiag', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::linear_solver', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((msg, N, A, C, R, mag, tol)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::test_line', , {}, ['', 'Tes [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_edge_values::test_line', , {}, ['', 'Tes [fd] run(.. f:subroutine:: subroutine bound_edge_values(N, h, u, edge_val, h_neglect, answers_2018)) [fd] sig(subroutine bound_edge_values(N, h, u, edge_val, h_neglect, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(bound_edge_values) arglist(N, h, u, edge_val, h_neglect, answers_2018) [fd] fullname(regrid_edge_values/bound_edge_values) ftype(None) [fd] name(('regrid_edge_values/bound_edge_values', None)) sig(subroutine bound_edge_values(N, h, u, edge_val, h_neglect, answers_2018)) signode(subroutine regrid_edge_values/bound_edge_valuesNhuedge_valh_neglectanswers_2018) [fd] run(.. f:subroutine:: subroutine average_discontinuous_edge_values(N, edge_val)) [fd] sig(subroutine average_discontinuous_edge_values(N, edge_val)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(average_discontinuous_edge_values) arglist(N, edge_val) [fd] fullname(regrid_edge_values/average_discontinuous_edge_values) ftype(None) [fd] name(('regrid_edge_values/average_discontinuous_edge_values', None)) sig(subroutine average_discontinuous_edge_values(N, edge_val)) signode(subroutine regrid_edge_values/average_discontinuous_edge_valuesNedge_val) [fd] run(.. f:subroutine:: subroutine check_discontinuous_edge_values(N, u, edge_val)) [fd] sig(subroutine check_discontinuous_edge_values(N, u, edge_val)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(check_discontinuous_edge_values) arglist(N, u, edge_val) [fd] fullname(regrid_edge_values/check_discontinuous_edge_values) ftype(None) [fd] name(('regrid_edge_values/check_discontinuous_edge_values', None)) sig(subroutine check_discontinuous_edge_values(N, u, edge_val)) signode(subroutine regrid_edge_values/check_discontinuous_edge_valuesNuedge_val) [fd] run(.. f:subroutine:: subroutine edge_values_explicit_h2(N, h, u, edge_val)) [fd] sig(subroutine edge_values_explicit_h2(N, h, u, edge_val)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(edge_values_explicit_h2) arglist(N, h, u, edge_val) [fd] fullname(regrid_edge_values/edge_values_explicit_h2) ftype(None) [fd] name(('regrid_edge_values/edge_values_explicit_h2', None)) sig(subroutine edge_values_explicit_h2(N, h, u, edge_val)) signode(subroutine regrid_edge_values/edge_values_explicit_h2Nhuedge_val) [fd] run(.. f:subroutine:: subroutine edge_values_explicit_h4(N, h, u, edge_val, h_neglect, answers_2018)) [fd] sig(subroutine edge_values_explicit_h4(N, h, u, edge_val, h_neglect, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(edge_values_explicit_h4) arglist(N, h, u, edge_val, h_neglect, answers_2018) [fd] fullname(regrid_edge_values/edge_values_explicit_h4) ftype(None) [fd] name(('regrid_edge_values/edge_values_explicit_h4', None)) sig(subroutine edge_values_explicit_h4(N, h, u, edge_val, h_neglect, answers_2018)) signode(subroutine regrid_edge_values/edge_values_explicit_h4Nhuedge_valh_neglectanswers_2018) [fd] run(.. f:subroutine:: subroutine edge_values_implicit_h4(N, h, u, edge_val, h_neglect, answers_2018)) [fd] sig(subroutine edge_values_implicit_h4(N, h, u, edge_val, h_neglect, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(edge_values_implicit_h4) arglist(N, h, u, edge_val, h_neglect, answers_2018) [fd] fullname(regrid_edge_values/edge_values_implicit_h4) ftype(None) [fd] name(('regrid_edge_values/edge_values_implicit_h4', None)) sig(subroutine edge_values_implicit_h4(N, h, u, edge_val, h_neglect, answers_2018)) signode(subroutine regrid_edge_values/edge_values_implicit_h4Nhuedge_valh_neglectanswers_2018) [fd] run(.. f:subroutine:: subroutine end_value_h4(dz, u, Csys)) [fd] sig(subroutine end_value_h4(dz, u, Csys)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(end_value_h4) arglist(dz, u, Csys) [fd] fullname(regrid_edge_values/end_value_h4) ftype(None) [fd] name(('regrid_edge_values/end_value_h4', None)) sig(subroutine end_value_h4(dz, u, Csys)) signode(subroutine regrid_edge_values/end_value_h4dzuCsys) [fd] run(.. f:subroutine:: subroutine edge_slopes_implicit_h3(N, h, u, edge_slopes, h_neglect, answers_2018)) [fd] sig(subroutine edge_slopes_implicit_h3(N, h, u, edge_slopes, h_neglect, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(edge_slopes_implicit_h3) arglist(N, h, u, edge_slopes, h_neglect, answers_2018) [fd] fullname(regrid_edge_values/edge_slopes_implicit_h3) ftype(None) [fd] name(('regrid_edge_values/edge_slopes_implicit_h3', None)) sig(subroutine edge_slopes_implicit_h3(N, h, u, edge_slopes, h_neglect, answers_2018)) signode(subroutine regrid_edge_values/edge_slopes_implicit_h3Nhuedge_slopesh_neglectanswers_2018) [fd] run(.. f:subroutine:: subroutine edge_slopes_implicit_h5(N, h, u, edge_slopes, h_neglect, answers_2018)) [fd] sig(subroutine edge_slopes_implicit_h5(N, h, u, edge_slopes, h_neglect, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(edge_slopes_implicit_h5) arglist(N, h, u, edge_slopes, h_neglect, answers_2018) [fd] fullname(regrid_edge_values/edge_slopes_implicit_h5) ftype(None) [fd] name(('regrid_edge_values/edge_slopes_implicit_h5', None)) sig(subroutine edge_slopes_implicit_h5(N, h, u, edge_slopes, h_neglect, answers_2018)) signode(subroutine regrid_edge_values/edge_slopes_implicit_h5Nhuedge_slopesh_neglectanswers_2018) [fd] run(.. f:subroutine:: subroutine edge_values_implicit_h6(N, h, u, edge_val, h_neglect, answers_2018)) [fd] sig(subroutine edge_values_implicit_h6(N, h, u, edge_val, h_neglect, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(edge_values_implicit_h6) arglist(N, h, u, edge_val, h_neglect, answers_2018) [fd] fullname(regrid_edge_values/edge_values_implicit_h6) ftype(None) [fd] name(('regrid_edge_values/edge_values_implicit_h6', None)) sig(subroutine edge_values_implicit_h6(N, h, u, edge_val, h_neglect, answers_2018)) signode(subroutine regrid_edge_values/edge_values_implicit_h6Nhuedge_valh_neglectanswers_2018) [fd] run(.. f:subroutine:: subroutine solve_diag_dominant_tridiag(Al, Ac, Au, R, X, N)) [fd] sig(subroutine solve_diag_dominant_tridiag(Al, Ac, Au, R, X, N)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(solve_diag_dominant_tridiag) arglist(Al, Ac, Au, R, X, N) [fd] fullname(regrid_edge_values/solve_diag_dominant_tridiag) ftype(None) [fd] name(('regrid_edge_values/solve_diag_dominant_tridiag', None)) sig(subroutine solve_diag_dominant_tridiag(Al, Ac, Au, R, X, N)) signode(subroutine regrid_edge_values/solve_diag_dominant_tridiagAlAcAuRXN) [fd] run(.. f:subroutine:: subroutine linear_solver(N, A, R, X)) [fd] sig(subroutine linear_solver(N, A, R, X)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(linear_solver) arglist(N, A, R, X) [fd] fullname(regrid_edge_values/linear_solver) ftype(None) [fd] name(('regrid_edge_values/linear_solver', None)) sig(subroutine linear_solver(N, A, R, X)) signode(subroutine regrid_edge_values/linear_solverNARX) [fd] run(.. f:subroutine:: subroutine test_line(msg, N, A, C, R, mag, tol)) [fd] sig(subroutine test_line(msg, N, A, C, R, mag, tol)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(test_line) arglist(msg, N, A, C, R, mag, tol) [fd] fullname(regrid_edge_values/test_line) ftype(None) [fd] name(('regrid_edge_values/test_line', None)) sig(subroutine test_line(msg, N, A, C, R, mag, tol)) signode(subroutine regrid_edge_values/test_linemsgNACRmagtol) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 70%] api/generated/modules/regrid_interp [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/regrid_inter [app] emitting event: 'source-read'('api/generated/modules/regrid_interp', ['.. autodoxymodule:: regrid_interp\n :members:\n :metho [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/regrid_interp.rst:1: input: .. autodoxymodule:: regrid_interp :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~regrid_interp::interp_cs_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~regrid_interp::regridding_set_ppolys ~regrid_interp::interpolate_grid ~regrid_interp::build_and_interpolate_grid ~regrid_interp::get_polynomial_coordinate ~regrid_interp::interpolation_scheme ~regrid_interp::set_interp_scheme ~regrid_interp::set_interp_extrap [debug] xpath(./compounddef/compoundname[text()="regrid_interp"]/..) match([('id', 'namespaceregrid__interp'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:regrid_interp module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regrid_interp', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'regrid_interp' (exception was: ModuleNotFoundError("No module named 'regrid_interp'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'regrid_interp::interp_cs_type', , {'members': < [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespaceregrid__interp) kindref(compound) ref([]) [debug] ref([('id', 'namespaceregrid__interp'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxytype', 'regrid_interp::interp_cs_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'regrid_interp::interp_cs_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'regrid_interp::interp_cs_type', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxytype', 'regrid_interp::interp_cs_type', , {'members': < [debug] members([('regridding_set_ppolys', ), ('interpolate_grid', ), ('build_and_interpolate_grid', ), ('get_polynomial_coordinate', ), ('interpolation_scheme', ), ('set_interp_scheme', ), ('set_interp_extrap', )]) [autodoc] module analyzer failed: error importing 'regrid_interp' (exception was: ModuleNotFoundError("No module named 'regrid_interp'")) [debug] DoxygenMethodDocumenter format_signature called ((CS, densities, n0, h0, ppoly0_E, ppoly0_S, ppoly0_coefs, degree, h_neglect, h_neglect_edge)) [debug] add_directive_header sig((CS, densities, n0, h0, ppoly0_E, ppoly0_S, ppoly0_coefs, degree, h_neglect, h_neglect_edge)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine regridding_set_ppolys) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regridding_set_ppolys', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~regrid_interp::interp_cs_type --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~regrid_interp::regridding_set_ppolys ~regrid_interp::interpolate_grid ~regrid_interp::build_and_interpolate_grid ~regrid_interp::get_polynomial_coordinate ~regrid_interp::interpolation_scheme ~regrid_interp::set_interp_scheme ~regrid_interp::set_interp_extrap .. _DETAregrid_interp: -------------------- Detailed Description -------------------- Vertical interpolation for regridding. ------------------ Type Documentation ------------------ .. f:type:: interp_cs_type Control structure for :f:func:`regrid_interp` module. module. :typefield integer interpolation_scheme: The following parameter is only relevant when used with the target interface densities regridding scheme. It indicates which interpolation to use to determine the grid. :typefield logical boundary_extrapolation: Indicate whether high-order boundary extrapolation should be used within boundary cells. :typefield logical answers_2018: If true use older, less acccurate expressions. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine regridding_set_ppolys(CS, densities, n0, h0, ppoly0_E, ppoly0_S, ppoly0_coefs, degree, h_neglect, h_neglect_edge) Builds an interpolated profile for the densities within each grid cell. It may happen that, given a high-order interpolator, the number of available layers is insufficient (e.g., there are two available layers for a third-order PPM ih4 scheme). In these cases, we resort to the simplest continuous linear scheme (P1M h2). :param cs: [in] Interpolation control structure :param n0: [in] Number of cells on source grid :param densities: [in] Actual cell densities [A] :param h0: [in] cell widths on source grid [H] :param ppoly0_e: [inout] Edge value of polynomial [A] :param ppoly0_s: [inout] Edge slope of polynomial [A H-1] :param ppoly0_coefs: [inout] Coefficients of polynomial [A] :param degree: [inout] The degree of the polynomials :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions [H] in the same units as h0. :param h_neglect_edge: [in] A negligibly small width for the purpose of edge value calculations [H] in the same units as h0. :callto: :f:func:`degree_1 ` :callto: :f:func:`degree_2 ` :callto: :f:func:`degree_3 ` :callto: :f:func:`degree_4 ` :callto: :f:func:`regrid_edge_values::edge_slopes_implicit_h3 ` :callto: :f:func:`regrid_edge_values::edge_slopes_implicit_h5 ` :callto: :f:func:`interpolation_p1m_h2 ` :callto: :f:func:`interpolation_p1m_h4 ` :callto: :f:func:`interpolation_p1m_ih4 ` :callto: :f:func:`interpolation_p3m_ih4ih3 ` :callto: :f:func:`interpolation_p3m_ih6ih5 ` :callto: :f:func:`interpolation_plm ` :callto: :f:func:`interpolation_ppm_h4 ` :callto: :f:func:`interpolation_ppm_ih4 ` :callto: :f:func:`interpolation_pqm_ih4ih3 ` :callto: :f:func:`interpolation_pqm_ih6ih5 ` :callto: :f:func:`p1m_functions::p1m_boundary_extrapolation ` :callto: :f:func:`p1m_functions::p1m_interpolation ` :callto: :f:func:`p3m_functions::p3m_boundary_extrapolation ` :callto: :f:func:`p3m_functions::p3m_interpolation ` :callto: :f:func:`plm_functions::plm_boundary_extrapolation ` :callto: :f:func:`plm_functions::plm_reconstruction ` :callto: :f:func:`ppm_functions::ppm_boundary_extrapolation ` :callto: :f:func:`ppm_functions::ppm_reconstruction ` :callto: :f:func:`pqm_functions::pqm_boundary_extrapolation_v1 ` :callto: :f:func:`pqm_functions::pqm_reconstruction ` :calledfrom: :f:func:`build_and_interpolate_grid ` .. f:subroutine:: subroutine interpolate_grid(n0, h0, x0, ppoly0_E, ppoly0_coefs, target_values, degree, n1, h1, x1, answers_2018) Given target values (e.g., density), build new grid based on polynomial. Given the grid 'grid0' and the piecewise polynomial interpolant 'ppoly0' (possibly discontinuous), the coordinates of the new grid 'grid1' are determined by finding the corresponding target interface densities. :param n0: [in] Number of points on source grid :param n1: [in] Number of points on target grid :param h0: [in] Thicknesses of source grid cells [H] :param x0: [in] Source interface positions [H] :param ppoly0_e: [in] Edge values of interpolating polynomials [A] :param ppoly0_coefs: [in] Coefficients of interpolating polynomials [A] :param target_values: [in] Target values of interfaces [A] :param degree: [in] Degree of interpolating polynomials :param h1: [inout] Thicknesses of target grid cells [H] :param x1: [inout] Target interface positions [H] :param answers_2018: [in] If true use older, less acccurate expressions. :callto: :f:func:`get_polynomial_coordinate ` :calledfrom: :f:func:`build_and_interpolate_grid ` .. f:subroutine:: subroutine build_and_interpolate_grid(CS, densities, n0, h0, x0, target_values, n1, h1, x1, h_neglect, h_neglect_edge) Build a grid by interpolating for target values. :param cs: [in] A control structure for :f:func:`regrid_interp` :param n0: [in] The number of points on the input grid :param n1: [in] The number of points on the output grid :param densities: [in] Input cell densities [R ~> kg m-3] :param target_values: [in] Target values of interfaces [R ~> kg m-3] :param h0: [in] Initial cell widths [H] :param x0: [in] Source interface positions [H] :param h1: [inout] Output cell widths [H] :param x1: [inout] Target interface positions [H] :param h_neglect: [in] A negligibly small width for the purpose of cell reconstructions [H] in the same units as h0. :param h_neglect_edge: [in] A negligibly small width for the purpose of edge value calculations [H] in the same units as h0. :callto: :f:func:`interpolate_grid ` :callto: :f:func:`regridding_set_ppolys ` :calledfrom: :f:func:`coord_hycom::build_hycom1_column ` :calledfrom: :f:func:`coord_rho::build_rho_column ` :calledfrom: :f:func:`coord_rho::build_rho_column_iteratively ` .. f:function:: real function get_polynomial_coordinate(N, h, x_g, edge_values, ppoly_coefs, target_value, degree, answers_2018) Given a target value, find corresponding coordinate for given polynomial. Here, 'ppoly' is assumed to be a piecewise discontinuous polynomial of degree 'degree' throughout the domain defined by 'grid'. A target value is given and we need to determine the corresponding grid coordinate to define the new grid. If the target value is out of range, the grid coordinate is simply set to be equal to one of the boundary coordinates, which results in vanished layers near the boundaries. IT IS ASSUMED THAT THE PIECEWISE POLYNOMIAL IS MONOTONICALLY INCREASING. IF THIS IS NOT THE CASE, THE NEW GRID MAY BE ILL-DEFINED. It is assumed that the number of cells defining 'grid' and 'ppoly' are the same. :param n: [in] Number of grid cells :param h: [in] Grid cell thicknesses [H] :param x_g: [in] Grid interface locations [H] :param edge_values: [in] Edge values of interpolating polynomials [A] :param ppoly_coefs: [in] Coefficients of interpolating polynomials [A] :param target_value: [in] Target value to find position for [A] :param degree: [in] Degree of the interpolating polynomials :param answers_2018: [in] If true use older, less acccurate expressions. :returns undefined: The position of x_g at which target_value is found [H] :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`nr_iterations ` :callto: :f:func:`nr_offset ` :callto: :f:func:`nr_tolerance ` :calledfrom: :f:func:`interpolate_grid ` .. f:function:: integer function interpolation_scheme(interp_scheme) Numeric value of interpolation_scheme corresponding to scheme name. :param interp_scheme: [in] Name of the interpolation scheme Valid values include "P1M_H2", "P1M_H4", "P1M_IH2", "PLM", "PPM_H4", "PPM_IH4", "P3M_IH4IH3", "P3M_IH6IH5", "PQM_IH4IH3", and "PQM_IH6IH5" :callto: :f:func:`interpolation_p1m_h2 ` :callto: :f:func:`interpolation_p1m_h4 ` :callto: :f:func:`interpolation_p1m_ih4 ` :callto: :f:func:`interpolation_p3m_ih4ih3 ` :callto: :f:func:`interpolation_p3m_ih6ih5 ` :callto: :f:func:`interpolation_plm ` :callto: :f:func:`interpolation_ppm_h4 ` :callto: :f:func:`interpolation_ppm_ih4 ` :callto: :f:func:`interpolation_pqm_ih4ih3 ` :callto: :f:func:`interpolation_pqm_ih6ih5 ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_string_functions::uppercase ` :calledfrom: :f:func:`set_interp_scheme ` .. f:subroutine:: subroutine set_interp_scheme(CS, interp_scheme) Store the interpolation_scheme value in the interp_CS based on the input string. :param cs: [inout] A control structure for :f:func:`regrid_interp` :param interp_scheme: [in] Name of the interpolation scheme Valid values include "P1M_H2", "P1M_H4", "P1M_IH2", "PLM", "PPM_H4", "PPM_IH4", "P3M_IH4IH3", "P3M_IH6IH5", "PQM_IH4IH3", and "PQM_IH6IH5" :callto: :f:func:`interpolation_scheme ` :calledfrom: :f:func:`mom_regridding::set_regrid_params ` .. f:subroutine:: subroutine set_interp_extrap(CS, extrap) Store the boundary_extrapolation value in the interp_CS. :param cs: [inout] A control structure for :f:func:`regrid_interp` :param extrap: [in] Indicate whether high-order boundary extrapolation should be used in boundary cells :calledfrom: :f:func:`mom_regridding::set_regrid_params ` [debug] xpath(./compounddef/compoundname[text()="regrid_interp::interp_cs_type"]/..) match([('id', 'structregrid__interp_1_1interp__cs__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespaceregrid__interp) kindref(compound) ref([]) [debug] ref([('id', 'namespaceregrid__interp'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regrid_interp::interp_cs_type', , {}, ['', 'C [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regrid_interp::interp_cs_type', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regrid_interp::interp_cs_type', , {}, ['', 'C [debug] DoxygenMethodDocumenter format_signature called ((CS, densities, n0, h0, ppoly0_E, ppoly0_S, ppoly0_coefs, degree, h_neglect, h_neglect_edge)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_interp::regridding_set_ppolys', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_interp::regridding_set_ppolys', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((n0, h0, x0, ppoly0_E, ppoly0_coefs, target_values, degree, n1, h1, x1, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_interp::interpolate_grid', , {}, ['', 'G [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_interp::interpolate_grid', , {}, ['', 'G [debug] DoxygenMethodDocumenter format_signature called ((CS, densities, n0, h0, x0, target_values, n1, h1, x1, h_neglect, h_neglect_edge)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_interp::build_and_interpolate_grid', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_interp::build_and_interpolate_grid', , { [debug] DoxygenMethodDocumenter format_signature called ((N, h, x_g, edge_values, ppoly_coefs, target_value, degree, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_interp::get_polynomial_coordinate', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_interp::get_polynomial_coordinate', , {} [debug] DoxygenMethodDocumenter format_signature called ((interp_scheme)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_interp::interpolation_scheme', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_interp::interpolation_scheme', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((CS, interp_scheme)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_interp::set_interp_scheme', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_interp::set_interp_scheme', , {}, ['', ' [debug] DoxygenMethodDocumenter format_signature called ((CS, extrap)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_interp::set_interp_extrap', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_interp::set_interp_extrap', , {}, ['', ' [fd] run(.. f:type:: interp_cs_type) [fd] sig(interp_cs_type) [fd] ftype(None) objtype(None) modname(None) typename() name(interp_cs_type) arglist(None) [fd] fullname(regrid_interp/interp_cs_type) ftype(None) [fd] name(('regrid_interp/interp_cs_type', None)) sig(interp_cs_type) signode(type regrid_interp/interp_cs_type) [fd] run(.. f:subroutine:: subroutine regridding_set_ppolys(CS, densities, n0, h0, ppoly0_E, ppoly0_S, ppoly0_coefs, degree, h_neglect, h_neglect_edge)) [fd] sig(subroutine regridding_set_ppolys(CS, densities, n0, h0, ppoly0_E, ppoly0_S, ppoly0_coefs, degree, h_neglect, h_neglect_edge)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(regridding_set_ppolys) arglist(CS, densities, n0, h0, ppoly0_E, ppoly0_S, ppoly0_coefs, degree, h_neglect, h_neglect_edge) [fd] fullname(regrid_interp/regridding_set_ppolys) ftype(None) [fd] name(('regrid_interp/regridding_set_ppolys', None)) sig(subroutine regridding_set_ppolys(CS, densities, n0, h0, ppoly0_E, ppoly0_S, ppoly0_coefs, degree, h_neglect, h_neglect_edge)) signode(subroutine regrid_interp/regridding_set_ppolysCSdensitiesn0h0ppoly0_Eppoly0_Sppoly0_coefsdegreeh_neglecth_neglect_edge) [fd] run(.. f:subroutine:: subroutine interpolate_grid(n0, h0, x0, ppoly0_E, ppoly0_coefs, target_values, degree, n1, h1, x1, answers_2018)) [fd] sig(subroutine interpolate_grid(n0, h0, x0, ppoly0_E, ppoly0_coefs, target_values, degree, n1, h1, x1, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(interpolate_grid) arglist(n0, h0, x0, ppoly0_E, ppoly0_coefs, target_values, degree, n1, h1, x1, answers_2018) [fd] fullname(regrid_interp/interpolate_grid) ftype(None) [fd] name(('regrid_interp/interpolate_grid', None)) sig(subroutine interpolate_grid(n0, h0, x0, ppoly0_E, ppoly0_coefs, target_values, degree, n1, h1, x1, answers_2018)) signode(subroutine regrid_interp/interpolate_gridn0h0x0ppoly0_Eppoly0_coefstarget_valuesdegreen1h1x1answers_2018) [fd] run(.. f:subroutine:: subroutine build_and_interpolate_grid(CS, densities, n0, h0, x0, target_values, n1, h1, x1, h_neglect, h_neglect_edge)) [fd] sig(subroutine build_and_interpolate_grid(CS, densities, n0, h0, x0, target_values, n1, h1, x1, h_neglect, h_neglect_edge)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(build_and_interpolate_grid) arglist(CS, densities, n0, h0, x0, target_values, n1, h1, x1, h_neglect, h_neglect_edge) [fd] fullname(regrid_interp/build_and_interpolate_grid) ftype(None) [fd] name(('regrid_interp/build_and_interpolate_grid', None)) sig(subroutine build_and_interpolate_grid(CS, densities, n0, h0, x0, target_values, n1, h1, x1, h_neglect, h_neglect_edge)) signode(subroutine regrid_interp/build_and_interpolate_gridCSdensitiesn0h0x0target_valuesn1h1x1h_neglecth_neglect_edge) [fd] run(.. f:function:: real function get_polynomial_coordinate(N, h, x_g, edge_values, ppoly_coefs, target_value, degree, answers_2018)) [fd] sig(real function get_polynomial_coordinate(N, h, x_g, edge_values, ppoly_coefs, target_value, degree, answers_2018)) [fd] ftype(real) objtype(function) modname(None) typename() name(get_polynomial_coordinate) arglist(N, h, x_g, edge_values, ppoly_coefs, target_value, degree, answers_2018) [fd] fullname(regrid_interp/get_polynomial_coordinate) ftype(real) [fd] name(('regrid_interp/get_polynomial_coordinate', 'real')) sig(real function get_polynomial_coordinate(N, h, x_g, edge_values, ppoly_coefs, target_value, degree, answers_2018)) signode(function regrid_interp/get_polynomial_coordinateNhx_gedge_valuesppoly_coefstarget_valuedegreeanswers_2018 [real]) [fd] run(.. f:function:: integer function interpolation_scheme(interp_scheme)) [fd] sig(integer function interpolation_scheme(interp_scheme)) [fd] ftype(integer) objtype(function) modname(None) typename() name(interpolation_scheme) arglist(interp_scheme) [fd] fullname(regrid_interp/interpolation_scheme) ftype(integer) [fd] name(('regrid_interp/interpolation_scheme', 'integer')) sig(integer function interpolation_scheme(interp_scheme)) signode(function regrid_interp/interpolation_schemeinterp_scheme [integer]) [fd] run(.. f:subroutine:: subroutine set_interp_scheme(CS, interp_scheme)) [fd] sig(subroutine set_interp_scheme(CS, interp_scheme)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_interp_scheme) arglist(CS, interp_scheme) [fd] fullname(regrid_interp/set_interp_scheme) ftype(None) [fd] name(('regrid_interp/set_interp_scheme', None)) sig(subroutine set_interp_scheme(CS, interp_scheme)) signode(subroutine regrid_interp/set_interp_schemeCSinterp_scheme) [fd] run(.. f:subroutine:: subroutine set_interp_extrap(CS, extrap)) [fd] sig(subroutine set_interp_extrap(CS, extrap)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(set_interp_extrap) arglist(CS, extrap) [fd] fullname(regrid_interp/set_interp_extrap) ftype(None) [fd] name(('regrid_interp/set_interp_extrap', None)) sig(subroutine set_interp_extrap(CS, extrap)) signode(subroutine regrid_interp/set_interp_extrapCSextrap) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 71%] api/generated/modules/regrid_solvers [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/regrid_solve [app] emitting event: 'source-read'('api/generated/modules/regrid_solvers', ['.. autodoxymodule:: regrid_solvers\n :members:\n :met [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/regrid_solvers.rst:1: input: .. autodoxymodule:: regrid_solvers :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~regrid_solvers::solve_linear_system ~regrid_solvers::linear_solver ~regrid_solvers::solve_tridiagonal_system ~regrid_solvers::solve_diag_dominant_tridiag [debug] xpath(./compounddef/compoundname[text()="regrid_solvers"]/..) match([('id', 'namespaceregrid__solvers'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:regrid_solvers module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regrid_solvers', , {'members': , {'members': , {'members': ), ('linear_solver', ), ('solve_tridiagonal_system', ), ('solve_diag_dominant_tridiag', )]) [autodoc] module analyzer failed: error importing 'regrid_solvers' (exception was: ModuleNotFoundError("No module named 'regrid_solvers'")) [debug] DoxygenMethodDocumenter format_signature called ((A, R, X, N, answers_2018)) [debug] add_directive_header sig((A, R, X, N, answers_2018)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine solve_linear_system) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'solve_linear_system', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~regrid_solvers::solve_linear_system ~regrid_solvers::linear_solver ~regrid_solvers::solve_tridiagonal_system ~regrid_solvers::solve_diag_dominant_tridiag .. _DETAregrid_solvers: -------------------- Detailed Description -------------------- Date of creation: 2008.06.12 L. White This module contains solvers of linear systems. These routines have now been updated for greater efficiency, especially in special cases. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine solve_linear_system(A, R, X, N, answers_2018) Solve the linear system AX = R by Gaussian elimination. This routine uses Gauss's algorithm to transform the system's original matrix into an upper triangular matrix. Back substitution yields the answer. The matrix A must be square, with the first index varing down the column. :param n: [in] The size of the system :param a: [inout] The matrix being inverted [nondim] :param r: [inout] system right-hand side [A] :param x: [inout] solution vector [A] :param answers_2018: [in] If true or absent use older, less efficient expressions. :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`regrid_edge_values::edge_slopes_implicit_h3 ` :calledfrom: :f:func:`regrid_edge_values::edge_values_explicit_h4 ` :calledfrom: :f:func:`regrid_edge_values::edge_values_implicit_h4 ` .. f:subroutine:: subroutine linear_solver(N, A, R, X) Solve the linear system AX = R by Gaussian elimination. This routine uses Gauss's algorithm to transform the system's original matrix into an upper triangular matrix. Back substitution then yields the answer. The matrix A must be square, with the first index varing along the row. :param n: [in] The size of the system :param a: [inout] The matrix being inverted [nondim] :param r: [inout] system right-hand side [A] :param x: [inout] solution vector [A] :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine solve_tridiagonal_system(Al, Ad, Au, R, X, N, answers_2018) Solve the tridiagonal system AX = R. This routine uses Thomas's algorithm to solve the tridiagonal system AX = R. (A is made up of lower, middle and upper diagonals) :param n: [in] The size of the system :param ad: [in] Matrix center diagonal :param al: [in] Matrix lower diagonal :param au: [in] Matrix upper diagonal :param r: [in] system right-hand side :param x: [out] solution vector :param answers_2018: [in] If true use older, less acccurate expressions. :calledfrom: :f:func:`regrid_edge_values::edge_slopes_implicit_h3 ` :calledfrom: :f:func:`regrid_edge_values::edge_slopes_implicit_h5 ` :calledfrom: :f:func:`regrid_edge_values::edge_values_implicit_h4 ` :calledfrom: :f:func:`regrid_edge_values::edge_values_implicit_h6 ` .. f:subroutine:: subroutine solve_diag_dominant_tridiag(Al, Ac, Au, R, X, N) Solve the tridiagonal system AX = R. This routine uses a variant of Thomas's algorithm to solve the tridiagonal system AX = R, in a form that is guaranteed to avoid dividing by a zero pivot. The matrix A is made up of lower (Al) and upper diagonals (Au) and a central diagonal Ad = Ac+Al+Au, where Al, Au, and Ac are all positive (or negative) definite. However when Ac is smaller than roundoff compared with (Al+Au), the answers are prone to inaccuracy. :param n: [in] The size of the system :param ac: [in] Matrix center diagonal offset from Al + Au :param al: [in] Matrix lower diagonal :param au: [in] Matrix upper diagonal :param r: [in] system right-hand side :param x: [out] solution vector [debug] DoxygenMethodDocumenter format_signature called ((A, R, X, N, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_solvers::solve_linear_system', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_solvers::solve_linear_system', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((N, A, R, X)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_solvers::linear_solver', , {}, ['', 'Sol [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_solvers::linear_solver', , {}, ['', 'Sol [debug] DoxygenMethodDocumenter format_signature called ((Al, Ad, Au, R, X, N, answers_2018)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_solvers::solve_tridiagonal_system', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_solvers::solve_tridiagonal_system', , {} [debug] DoxygenMethodDocumenter format_signature called ((Al, Ac, Au, R, X, N)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_solvers::solve_diag_dominant_tridiag', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'regrid_solvers::solve_diag_dominant_tridiag', , [fd] run(.. f:subroutine:: subroutine solve_linear_system(A, R, X, N, answers_2018)) [fd] sig(subroutine solve_linear_system(A, R, X, N, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(solve_linear_system) arglist(A, R, X, N, answers_2018) [fd] fullname(regrid_solvers/solve_linear_system) ftype(None) [fd] name(('regrid_solvers/solve_linear_system', None)) sig(subroutine solve_linear_system(A, R, X, N, answers_2018)) signode(subroutine regrid_solvers/solve_linear_systemARXNanswers_2018) [fd] run(.. f:subroutine:: subroutine linear_solver(N, A, R, X)) [fd] sig(subroutine linear_solver(N, A, R, X)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(linear_solver) arglist(N, A, R, X) [fd] fullname(regrid_solvers/linear_solver) ftype(None) [fd] name(('regrid_solvers/linear_solver', None)) sig(subroutine linear_solver(N, A, R, X)) signode(subroutine regrid_solvers/linear_solverNARX) [fd] run(.. f:subroutine:: subroutine solve_tridiagonal_system(Al, Ad, Au, R, X, N, answers_2018)) [fd] sig(subroutine solve_tridiagonal_system(Al, Ad, Au, R, X, N, answers_2018)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(solve_tridiagonal_system) arglist(Al, Ad, Au, R, X, N, answers_2018) [fd] fullname(regrid_solvers/solve_tridiagonal_system) ftype(None) [fd] name(('regrid_solvers/solve_tridiagonal_system', None)) sig(subroutine solve_tridiagonal_system(Al, Ad, Au, R, X, N, answers_2018)) signode(subroutine regrid_solvers/solve_tridiagonal_systemAlAdAuRXNanswers_2018) [fd] run(.. f:subroutine:: subroutine solve_diag_dominant_tridiag(Al, Ac, Au, R, X, N)) [fd] sig(subroutine solve_diag_dominant_tridiag(Al, Ac, Au, R, X, N)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(solve_diag_dominant_tridiag) arglist(Al, Ac, Au, R, X, N) [fd] fullname(regrid_solvers/solve_diag_dominant_tridiag) ftype(None) [fd] name(('regrid_solvers/solve_diag_dominant_tridiag', None)) sig(subroutine solve_diag_dominant_tridiag(Al, Ac, Au, R, X, N)) signode(subroutine regrid_solvers/solve_diag_dominant_tridiagAlAcAuRXN) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 71%] api/generated/modules/rgc_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/rgc_initiali [app] emitting event: 'source-read'('api/generated/modules/rgc_initialization', ['.. autodoxymodule:: rgc_initialization\n :members:\ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/rgc_initialization.rst:1: input: .. autodoxymodule:: rgc_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~rgc_initialization::rgc_initialize_sponges [debug] xpath(./compounddef/compoundname[text()="rgc_initialization"]/..) match([('id', 'namespacergc__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:rgc_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'rgc_initialization', , {'members': , {'members': , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'rgc_initialization' (exception was: ModuleNotFoundError("No module named 'rgc_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, tv, u, v, PF, use_ALE, CSp, ACSp)) [debug] add_directive_header sig((G, GV, US, tv, u, v, PF, use_ALE, CSp, ACSp)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine rgc_initialize_sponges) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rgc_initialize_sponges', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~rgc_initialization::rgc_initialize_sponges .. _DETArgc_initialization: -------------------- Detailed Description -------------------- --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine rgc_initialize_sponges(G, GV, US, tv, u, v, PF, use_ALE, CSp, ACSp) Sets up the the inverse restoration time, and the values towards which the interface heights, velocities and tracers should be restored within the sponges for the RGC test case. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param tv: [in] A structure containing pointers to any available thermodynamic fields, potential temperature and salinity or mixed layer density. Absent fields have NULL ptrs. :param u: [in] Array with the u velocity [L T-1 ~> m s-1] :param v: [in] Array with the v velocity [L T-1 ~> m s-1] :param pf: [in] A structure indicating the open file to parse for model parameter values. :param use_ale: [in] If true, indicates model is in ALE mode :param csp: Layer-mode sponge structure :param acsp: ALE-mode sponge structure :callto: :f:func:`mom_eos::eos_domain ` :callto: :f:func:`mod ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_sponge::set_up_sponge_ml_density ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` [debug] DoxygenMethodDocumenter format_signature called ((G, GV, US, tv, u, v, PF, use_ALE, CSp, ACSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rgc_initialization::rgc_initialize_sponges', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rgc_initialization::rgc_initialize_sponges', , [fd] run(.. f:subroutine:: subroutine rgc_initialize_sponges(G, GV, US, tv, u, v, PF, use_ALE, CSp, ACSp)) [fd] sig(subroutine rgc_initialize_sponges(G, GV, US, tv, u, v, PF, use_ALE, CSp, ACSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rgc_initialize_sponges) arglist(G, GV, US, tv, u, v, PF, use_ALE, CSp, ACSp) [fd] fullname(rgc_initialization/rgc_initialize_sponges) ftype(None) [fd] name(('rgc_initialization/rgc_initialize_sponges', None)) sig(subroutine rgc_initialize_sponges(G, GV, US, tv, u, v, PF, use_ALE, CSp, ACSp)) signode(subroutine rgc_initialization/rgc_initialize_spongesGGVUStvuvPFuse_ALECSpACSp) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 72%] api/generated/modules/rgc_tracer [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/rgc_tracer') [app] emitting event: 'source-read'('api/generated/modules/rgc_tracer', ['.. autodoxymodule:: rgc_tracer\n :members:\n :methods:\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/rgc_tracer.rst:1: input: .. autodoxymodule:: rgc_tracer :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~rgc_tracer::rgc_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~rgc_tracer::register_rgc_tracer ~rgc_tracer::initialize_rgc_tracer ~rgc_tracer::rgc_tracer_column_physics ~rgc_tracer::rgc_tracer_end [debug] xpath(./compounddef/compoundname[text()="rgc_tracer"]/..) match([('id', 'namespacergc__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:rgc_tracer module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'rgc_tracer', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'rgc_tracer' (exception was: ModuleNotFoundError("No module named 'rgc_tracer'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'rgc_tracer::rgc_tracer_cs', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': ), ('initialize_rgc_tracer', ), ('rgc_tracer_column_physics', ), ('rgc_tracer_end', )]) [autodoc] module analyzer failed: error importing 'rgc_tracer' (exception was: ModuleNotFoundError("No module named 'rgc_tracer'")) [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] add_directive_header sig((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function register_rgc_tracer) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_rgc_tracer', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~rgc_tracer::rgc_tracer_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~rgc_tracer::register_rgc_tracer ~rgc_tracer::initialize_rgc_tracer ~rgc_tracer::rgc_tracer_column_physics ~rgc_tracer::rgc_tracer_end .. _DETArgc_tracer: -------------------- Detailed Description -------------------- This module contains the routines used to set up a dynamically passive tracer. Set up and use passive tracers requires the following: (1) register_RGC_tracer (2) apply diffusion, physics/chemistry and advect the tracer. ------------------ Type Documentation ------------------ .. f:type:: rgc_tracer_cs tracer control structure :typefield logical coupled_tracers: These tracers are not offered to the coupler. :typefield character (len=200) tracer_ic_file: The full path to the IC file, or " " to initialize internally. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(tracer_registry_type) tr_reg [pointer]: A pointer to the tracer registry. :typefield real(\:,\:,\:,\:) tr [pointer]: The array of tracers used in this package. :typefield real(\:,\:,\:,\:) tr_aux [pointer]: The masked tracer concentration. :typefield real( ntr ) land_val: The value of tr used where land is masked out. :typefield real lenlat: the latitudinal or y-direction length of the domain. :typefield real lenlon: the longitudinal or x-direction length of the domain. :typefield real csl: The length of the continental shelf (x dir, km) :typefield real lensponge: the length of the sponge layer. :typefield logical mask_tracers: If true, tracers are masked out in massless layers. :typefield logical use_sponge: If true, sponges may be applied somewhere in the domain. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(vardesc)( ntr ) tr_desc: Descriptions and metadata for the tracers. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function register_rgc_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS) This subroutine is used to register tracer fields. :param hi: [in] A horizontal index type structure. :param gv: [in] The ocean's vertical grid structure. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param cs: A pointer that is set to point to the control structure for this module (in/out). :param tr_reg: A pointer to the tracer registry. :param restart_cs: A pointer to the restart control structure. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ntr ` :callto: :f:func:`mom_tracer_registry::register_tracer ` :callto: :f:func:`mom_io::var_desc ` .. f:subroutine:: subroutine initialize_rgc_tracer(restart, day, G, GV, h, diag, OBC, CS, layer_CSp, sponge_CSp) Initializes the NTR tracer fields in tr(:,:,:,:) and it sets up the tracer output. :param g: [in] Grid structure. :param gv: [in] The ocean's vertical grid structure. :param restart: [in] .true. if the fields have already been read from a restart file. :param day: [in] Time of the start of the run. :param h: [in] Layer thickness, in m or kg m-2. :param diag: [in] Structure used to regulate diagnostic output. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. This is not being used for now. :param cs: The control structure returned by a previous call to RGC_register_tracer. :param layer_csp: A pointer to the control structure :param sponge_csp: A pointer to the control structure for the sponges, if they are in use. Otherwise this may be unassociated. :callto: :f:func:`mom_ale_sponge::get_ale_sponge_nz_data ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ntr ` :callto: :f:func:`mom_io::query_vardesc ` :callto: :f:func:`mom_sponge::set_up_sponge_field ` .. f:subroutine:: subroutine rgc_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth) This subroutine applies diapycnal diffusion and any other column tracer physics or chemistry to the tracers from this file. This is a simple example of a set of advected passive tracers. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h_old: [in] Layer thickness before entrainment [H ~> m or kg m-2]. :param h_new: [in] Layer thickness after entrainment [H ~> m or kg m-2]. :param ea: [in] an array to which the amount of fluid entrained :param eb: [in] an array to which the amount of fluid entrained :param fluxes: [in] A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs. :param dt: [in] The amount of time covered by this call [T ~> s]. :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call. :param evap_cfl_limit: [in] Limit on the fraction of the water that can be fluxed out of the top layer in a timestep [nondim]. :param minimum_forcing_depth: [in] The smallest depth over which fluxes can be applied [H ~> m or kg m-2]. :callto: :f:func:`mom_tracer_diabatic::applytracerboundaryfluxesinout ` :callto: :f:func:`ntr ` :callto: :f:func:`mom_tracer_diabatic::tracer_vertdiff ` .. f:subroutine:: subroutine rgc_tracer_end(CS) :param cs: The control structure returned by a previous call to RGC_register_tracer. [debug] xpath(./compounddef/compoundname[text()="rgc_tracer::rgc_tracer_cs"]/..) match([('id', 'structrgc__tracer_1_1rgc__tracer__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'rgc_tracer::rgc_tracer_cs', , {}, ['', 'trace [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'rgc_tracer::rgc_tracer_cs', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'rgc_tracer::rgc_tracer_cs', , {}, ['', 'trace [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rgc_tracer::register_rgc_tracer', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rgc_tracer::register_rgc_tracer', , {}, ['', 'T [debug] DoxygenMethodDocumenter format_signature called ((restart, day, G, GV, h, diag, OBC, CS, layer_CSp, sponge_CSp)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rgc_tracer::initialize_rgc_tracer', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rgc_tracer::initialize_rgc_tracer', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rgc_tracer::rgc_tracer_column_physics', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rgc_tracer::rgc_tracer_column_physics', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rgc_tracer::rgc_tracer_end', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rgc_tracer::rgc_tracer_end', , {}, ['']) [fd] run(.. f:type:: rgc_tracer_cs) [fd] sig(rgc_tracer_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(rgc_tracer_cs) arglist(None) [fd] fullname(rgc_tracer/rgc_tracer_cs) ftype(None) [fd] name(('rgc_tracer/rgc_tracer_cs', None)) sig(rgc_tracer_cs) signode(type rgc_tracer/rgc_tracer_cs) [fd] run(.. f:function:: logical function register_rgc_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] sig(logical function register_rgc_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_rgc_tracer) arglist(HI, GV, param_file, CS, tr_Reg, restart_CS) [fd] fullname(rgc_tracer/register_rgc_tracer) ftype(logical) [fd] name(('rgc_tracer/register_rgc_tracer', 'logical')) sig(logical function register_rgc_tracer(HI, GV, param_file, CS, tr_Reg, restart_CS)) signode(function rgc_tracer/register_rgc_tracerHIGVparam_fileCStr_Regrestart_CS [logical]) [fd] run(.. f:subroutine:: subroutine initialize_rgc_tracer(restart, day, G, GV, h, diag, OBC, CS, layer_CSp, sponge_CSp)) [fd] sig(subroutine initialize_rgc_tracer(restart, day, G, GV, h, diag, OBC, CS, layer_CSp, sponge_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(initialize_rgc_tracer) arglist(restart, day, G, GV, h, diag, OBC, CS, layer_CSp, sponge_CSp) [fd] fullname(rgc_tracer/initialize_rgc_tracer) ftype(None) [fd] name(('rgc_tracer/initialize_rgc_tracer', None)) sig(subroutine initialize_rgc_tracer(restart, day, G, GV, h, diag, OBC, CS, layer_CSp, sponge_CSp)) signode(subroutine rgc_tracer/initialize_rgc_tracerrestartdayGGVhdiagOBCCSlayer_CSpsponge_CSp) [fd] run(.. f:subroutine:: subroutine rgc_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [fd] sig(subroutine rgc_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rgc_tracer_column_physics) arglist(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth) [fd] fullname(rgc_tracer/rgc_tracer_column_physics) ftype(None) [fd] name(('rgc_tracer/rgc_tracer_column_physics', None)) sig(subroutine rgc_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)) signode(subroutine rgc_tracer/rgc_tracer_column_physicsh_oldh_neweaebfluxesdtGGVUSCSevap_CFL_limitminimum_forcing_depth) [fd] run(.. f:subroutine:: subroutine rgc_tracer_end(CS)) [fd] sig(subroutine rgc_tracer_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rgc_tracer_end) arglist(CS) [fd] fullname(rgc_tracer/rgc_tracer_end) ftype(None) [fd] name(('rgc_tracer/rgc_tracer_end', None)) sig(subroutine rgc_tracer_end(CS)) signode(subroutine rgc_tracer/rgc_tracer_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 72%] api/generated/modules/rossby_front_2d_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/rossby_front [app] emitting event: 'source-read'('api/generated/modules/rossby_front_2d_initialization', ['.. autodoxymodule:: rossby_front_2d_initi [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/rossby_front_2d_initialization.rst:1: input: .. autodoxymodule:: rossby_front_2d_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~rossby_front_2d_initialization::rossby_front_initialize_thickness ~rossby_front_2d_initialization::rossby_front_initialize_temperature_salinity ~rossby_front_2d_initialization::rossby_front_initialize_velocity ~rossby_front_2d_initialization::ypseudo ~rossby_front_2d_initialization::hml ~rossby_front_2d_initialization::dtdy [debug] xpath(./compounddef/compoundname[text()="rossby_front_2d_initialization"]/..) match([('id', 'namespacerossby__front__2d__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:rossby_front_2d_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'rossby_front_2d_initialization', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'rossby_front_2d_initialization', , {'members' [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_sect1 [debug] visit_sect id(namespacerossby__front__2d__initialization_1section_Rossby_front_2d) title(Description of the 2d Rossby front initial conditions) [debug] method=visit_title [debug] method=visit_para [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_para [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [debug] method=visit_formula [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'rossby_front_2d_initialization', , {'members' [debug] members([('rossby_front_initialize_thickness', ), ('rossby_front_initialize_temperature_salinity', ), ('rossby_front_initialize_velocity', ), ('ypseudo', ), ('hml', ), ('dtdy', )]) [autodoc] module analyzer failed: error importing 'rossby_front_2d_initialization' (exception was: ModuleNotFoundError("No module named 'rossby_front_2d_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US, param_file, just_read_params)) [debug] add_directive_header sig((h, G, GV, US, param_file, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine rossby_front_initialize_thickness) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_thickness', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_thickness', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_thickness', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_thickness', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_thickness', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_thickness', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_thickness', , {'members [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_thickness', , {'members [autodoc] module analyzer failed: error importing 'rossby_front_2d_initialization' (exception was: ModuleNotFoundError("No module named 'rossby_front_2d_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [debug] add_directive_header sig((T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine rossby_front_initialize_temperature_salinity) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_temperature_salinity', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_temperature_salinity', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_temperature_salinity', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_temperature_salinity', [autodoc] module analyzer failed: error importing 'rossby_front_2d_initialization' (exception was: ModuleNotFoundError("No module named 'rossby_front_2d_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((u, v, h, G, GV, US, param_file, just_read_params)) [debug] add_directive_header sig((u, v, h, G, GV, US, param_file, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine rossby_front_initialize_velocity) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_velocity', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_velocity', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_velocity', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_velocity', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_velocity', , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_initialize_velocity', , {'members' [autodoc] module analyzer failed: error importing 'rossby_front_2d_initialization' (exception was: ModuleNotFoundError("No module named 'rossby_front_2d_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((G, lat)) [debug] add_directive_header sig((G, lat)) [debug] DoxygenMethodDocumenter directive(function) name(real function ypseudo) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'ypseudo', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~rossby_front_2d_initialization::rossby_front_initialize_thickness ~rossby_front_2d_initialization::rossby_front_initialize_temperature_salinity ~rossby_front_2d_initialization::rossby_front_initialize_velocity ~rossby_front_2d_initialization::ypseudo ~rossby_front_2d_initialization::hml ~rossby_front_2d_initialization::dtdy .. _DETArossby_front_2d_initialization: -------------------- Detailed Description -------------------- .. _namespacerossby__front__2d__initialization_1section_Rossby_front_2d: Description of the 2d Rossby front initial conditions ===================================================== Consistent with a linear equation of state, the system has a constant stratification below the mixed layer, stratified in temperature only. Isotherms are flat below the mixed layer and vertical within. Salinity is constant. The mixed layer has a half sine form so that there are no mixed layer or temperature gradients at the side walls. Below the mixed layer the potential temperature, :math:`\theta(z)`, is given by .. math:: \theta(z) = \theta_0 - \Delta \theta \left( z + h_{ML} \right) where :math:`\theta_0` and :math:`\Delta \theta` are external model parameters. The depth of the mixed layer, :math:`H_{ML}` is .. math:: h_{ML}(y) = h_{min} + \left( h_{max} - h_{min} \right) \cos{\pi y/L} . The temperature in mixed layer is given by the reference temperature at :math:`z=h_{ML}` so that .. math:: \begin{eqnarray} \theta(y,z) = \theta_0 - \Delta \theta \left( z + h_{ML} \right) & \forall & z < h_{ML}(y) T.B.D. \end{eqnarray} --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine rossby_front_initialize_thickness(h, G, GV, US, param_file, just_read_params) Initialization of thicknesses in 2D Rossby front test. :param g: [in] Grid structure :param gv: [in] Vertical grid structure :param us: [in] A dimensional unit scaling type :param h: [out] The thickness that is being initialized [H ~> m or kg m-2] :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`hml ` :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`regrid_consts::regridding_rho ` :callto: :f:func:`regrid_consts::regridding_sigma ` .. f:subroutine:: subroutine rossby_front_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params) Initialization of temperature and salinity in the Rossby front test. :param g: [in] Grid structure :param gv: [in] The ocean's vertical grid structure. :param t: [out] Potential temperature [degC] :param s: [out] Salinity [ppt] :param h: [in] Thickness [H ~> m or kg m-2] :param param_file: [in] Parameter file handle :param eqn_of_state: Equation of state structure :param just_read_params: [in] If present and true, this call will only read parameters without changing T & S. :callto: :f:func:`hml ` :callto: :f:func:`mdl ` .. f:subroutine:: subroutine rossby_front_initialize_velocity(u, v, h, G, GV, US, param_file, just_read_params) Initialization of u and v in the Rossby front test. :param g: [in] Grid structure :param gv: [in] Vertical grid structure :param u: [out] i-component of velocity [L T-1 ~> m s-1] :param v: [out] j-component of velocity [L T-1 ~> m s-1] :param h: [in] Thickness [H ~> m or kg m-2] :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without setting u & v. :callto: :f:func:`dtdy ` :callto: :f:func:`hml ` :callto: :f:func:`mdl ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` .. f:function:: real function ypseudo(G, lat) Pseudo coordinate across domain used by Hml() and dTdy() returns a coordinate from -PI/2 .. PI/2 squashed towards the center of the domain. :param g: [in] Grid structure :param lat: [in] Latitude :callto: :f:func:`frontfractionalwidth ` :calledfrom: :f:func:`dtdy ` :calledfrom: :f:func:`hml ` .. f:function:: real function hml(G, lat) Analytic prescription of mixed layer depth in 2d Rossby front test, in the same units as Gmax_depth. :param g: [in] Grid structure :param lat: [in] Latitude :callto: :f:func:`hmlmax ` :callto: :f:func:`hmlmin ` :callto: :f:func:`ypseudo ` :calledfrom: :f:func:`rossby_front_initialize_temperature_salinity ` :calledfrom: :f:func:`rossby_front_initialize_thickness ` :calledfrom: :f:func:`rossby_front_initialize_velocity ` .. f:function:: real function dtdy(G, dT, lat) Analytic prescription of mixed layer temperature gradient in 2d Rossby front test. :param g: [in] Grid structure :param dt: [in] Top to bottom temperature difference :param lat: [in] Latitude :callto: :f:func:`frontfractionalwidth ` :callto: :f:func:`hmlmax ` :callto: :f:func:`hmlmin ` :callto: :f:func:`ypseudo ` :calledfrom: :f:func:`rossby_front_initialize_velocity ` [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US, param_file, just_read_params)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_2d_initialization::rossby_front_initialize_thickness', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_2d_initialization::ypseudo', , {}, [debug] DoxygenMethodDocumenter format_signature called ((G, lat)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_2d_initialization::hml', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_2d_initialization::hml', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((G, dT, lat)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_2d_initialization::dtdy', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'rossby_front_2d_initialization::dtdy', , {}, [' [fd] run(.. f:subroutine:: subroutine rossby_front_initialize_thickness(h, G, GV, US, param_file, just_read_params)) [fd] sig(subroutine rossby_front_initialize_thickness(h, G, GV, US, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rossby_front_initialize_thickness) arglist(h, G, GV, US, param_file, just_read_params) [fd] fullname(rossby_front_2d_initialization/rossby_front_initialize_thickness) ftype(None) [fd] name(('rossby_front_2d_initialization/rossby_front_initialize_thickness', None)) sig(subroutine rossby_front_initialize_thickness(h, G, GV, US, param_file, just_read_params)) signode(subroutine rossby_front_2d_initialization/rossby_front_initialize_thicknesshGGVUSparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine rossby_front_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [fd] sig(subroutine rossby_front_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rossby_front_initialize_temperature_salinity) arglist(T, S, h, G, GV, param_file, eqn_of_state, just_read_params) [fd] fullname(rossby_front_2d_initialization/rossby_front_initialize_temperature_salinity) ftype(None) [fd] name(('rossby_front_2d_initialization/rossby_front_initialize_temperature_salinity', None)) sig(subroutine rossby_front_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) signode(subroutine rossby_front_2d_initialization/rossby_front_initialize_temperature_salinityTShGGVparam_fileeqn_of_statejust_read_params) [fd] run(.. f:subroutine:: subroutine rossby_front_initialize_velocity(u, v, h, G, GV, US, param_file, just_read_params)) [fd] sig(subroutine rossby_front_initialize_velocity(u, v, h, G, GV, US, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(rossby_front_initialize_velocity) arglist(u, v, h, G, GV, US, param_file, just_read_params) [fd] fullname(rossby_front_2d_initialization/rossby_front_initialize_velocity) ftype(None) [fd] name(('rossby_front_2d_initialization/rossby_front_initialize_velocity', None)) sig(subroutine rossby_front_initialize_velocity(u, v, h, G, GV, US, param_file, just_read_params)) signode(subroutine rossby_front_2d_initialization/rossby_front_initialize_velocityuvhGGVUSparam_filejust_read_params) [fd] run(.. f:function:: real function ypseudo(G, lat)) [fd] sig(real function ypseudo(G, lat)) [fd] ftype(real) objtype(function) modname(None) typename() name(ypseudo) arglist(G, lat) [fd] fullname(rossby_front_2d_initialization/ypseudo) ftype(real) [fd] name(('rossby_front_2d_initialization/ypseudo', 'real')) sig(real function ypseudo(G, lat)) signode(function rossby_front_2d_initialization/ypseudoGlat [real]) [fd] run(.. f:function:: real function hml(G, lat)) [fd] sig(real function hml(G, lat)) [fd] ftype(real) objtype(function) modname(None) typename() name(hml) arglist(G, lat) [fd] fullname(rossby_front_2d_initialization/hml) ftype(real) [fd] name(('rossby_front_2d_initialization/hml', 'real')) sig(real function hml(G, lat)) signode(function rossby_front_2d_initialization/hmlGlat [real]) [fd] run(.. f:function:: real function dtdy(G, dT, lat)) [fd] sig(real function dtdy(G, dT, lat)) [fd] ftype(real) objtype(function) modname(None) typename() name(dtdy) arglist(G, dT, lat) [fd] fullname(rossby_front_2d_initialization/dtdy) ftype(real) [fd] name(('rossby_front_2d_initialization/dtdy', 'real')) sig(real function dtdy(G, dT, lat)) signode(function rossby_front_2d_initialization/dtdyGdTlat [real]) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(,) reading sources... [ 72%] api/generated/modules/scm_cvmix_tests [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/scm_cvmix_te [app] emitting event: 'source-read'('api/generated/modules/scm_cvmix_tests', ['.. autodoxymodule:: scm_cvmix_tests\n :members:\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/scm_cvmix_tests.rst:1: input: .. autodoxymodule:: scm_cvmix_tests :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~scm_cvmix_tests::scm_cvmix_tests_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~scm_cvmix_tests::scm_cvmix_tests_ts_init ~scm_cvmix_tests::scm_cvmix_tests_surface_forcing_init ~scm_cvmix_tests::scm_cvmix_tests_wind_forcing ~scm_cvmix_tests::scm_cvmix_tests_buoyancy_forcing [debug] xpath(./compounddef/compoundname[text()="scm_cvmix_tests"]/..) match([('id', 'namespacescm__cvmix__tests'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:scm_cvmix_tests module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'scm_cvmix_tests', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'scm_cvmix_tests' (exception was: ModuleNotFoundError("No module named 'scm_cvmix_tests'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'scm_cvmix_tests::scm_cvmix_tests_cs', , {'membe [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'scm_cvmix_tests::scm_cvmix_tests_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'scm_cvmix_tests::scm_cvmix_tests_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'scm_cvmix_tests::scm_cvmix_tests_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'scm_cvmix_tests::scm_cvmix_tests_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'scm_cvmix_tests::scm_cvmix_tests_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'scm_cvmix_tests::scm_cvmix_tests_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'scm_cvmix_tests::scm_cvmix_tests_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'scm_cvmix_tests::scm_cvmix_tests_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'scm_cvmix_tests::scm_cvmix_tests_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'scm_cvmix_tests::scm_cvmix_tests_cs', , {'membe [app] emitting event: 'autodoc-process-docstring'('doxytype', 'scm_cvmix_tests::scm_cvmix_tests_cs', , {'membe [debug] members([('scm_cvmix_tests_ts_init', ), ('scm_cvmix_tests_surface_forcing_init', ), ('scm_cvmix_tests_wind_forcing', ), ('scm_cvmix_tests_buoyancy_forcing', )]) [autodoc] module analyzer failed: error importing 'scm_cvmix_tests' (exception was: ModuleNotFoundError("No module named 'scm_cvmix_tests'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, h, G, GV, US, param_file, just_read_params)) [debug] add_directive_header sig((T, S, h, G, GV, US, param_file, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine scm_cvmix_tests_ts_init) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'scm_cvmix_tests_ts_init', , {'members': , {'members': , {'members': , {'members': , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'scm_cvmix_tests_surface_forcing_init', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'scm_cvmix_tests_surface_forcing_init', , {'memb [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'scm_cvmix_tests_surface_forcing_init', , {'memb [autodoc] module analyzer failed: error importing 'scm_cvmix_tests' (exception was: ModuleNotFoundError("No module named 'scm_cvmix_tests'")) [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, forces, day, G, US, CS)) [debug] add_directive_header sig((sfc_state, forces, day, G, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine scm_cvmix_tests_wind_forcing) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'scm_cvmix_tests_wind_forcing', , {'members': , {'members': , {'members': , {'members' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'scm_cvmix_tests_buoyancy_forcing', , {'members' [autodoc] output: ================================ scm_cvmix_tests module reference ================================ .. f:module:: scm_cvmix_tests Initial conditions and forcing for the single column model (SCM) CVMix test set. `More... `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~scm_cvmix_tests::scm_cvmix_tests_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~scm_cvmix_tests::scm_cvmix_tests_ts_init ~scm_cvmix_tests::scm_cvmix_tests_surface_forcing_init ~scm_cvmix_tests::scm_cvmix_tests_wind_forcing ~scm_cvmix_tests::scm_cvmix_tests_buoyancy_forcing .. _DETAscm_cvmix_tests: -------------------- Detailed Description -------------------- Initial conditions and forcing for the single column model (SCM) CVMix test set. ------------------ Type Documentation ------------------ .. f:type:: scm_cvmix_tests_cs Container for surface forcing parameters. :typefield logical usewindstress [private]: True to use wind stress. :typefield logical useheatflux [private]: True to use heat flux. :typefield logical useevaporation [private]: True to use evaporation. :typefield logical usediurnalsw [private]: True to use diurnal sw radiation. :typefield real tau_x [private]: (Constant) Wind stress, X [Pa] :typefield real tau_y [private]: (Constant) Wind stress, Y [Pa] :typefield real surf_hf [private]: (Constant) Heat flux [degC Z T-1 ~> m degC s-1] :typefield real surf_evap [private]: (Constant) Evaporation rate [Z T-1 ~> m s-1] :typefield real max_sw [private]: maximum of diurnal sw radiation [degC Z T-1 ~> degC m s-1] :typefield real rho0 [private]: reference density [R ~> kg m-3] --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine scm_cvmix_tests_ts_init(T, S, h, G, GV, US, param_file, just_read_params) Initializes temperature and salinity for the SCM CVMix test example. :param g: [in] Grid structure :param gv: [in] Vertical grid structure :param t: [out] Potential temperature [degC] :param s: [out] Salinity [psu] :param h: [in] Layer thickness [H ~> m or kg m-2] :param us: [in] A dimensional unit scaling type :param param_file: [in] Input parameter structure :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mdl ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` .. f:subroutine:: subroutine scm_cvmix_tests_surface_forcing_init(Time, G, param_file, CS) Initializes surface forcing for the CVMix test case suite. :param time: [in] Model time :param g: [in] Grid structure :param param_file: [in] Input parameter structure :param cs: Parameter container :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine scm_cvmix_tests_wind_forcing(sfc_state, forces, day, G, US, CS) :param sfc_state: [in] Surface state structure :param forces: [inout] A structure with the driving mechanical forces :param day: [in] Time in days :param g: [inout] Grid structure :param us: [in] A dimensional unit scaling type :param cs: Container for SCM parameters :callto: :f:func:`mom_domains::to_all ` .. f:subroutine:: subroutine scm_cvmix_tests_buoyancy_forcing(sfc_state, fluxes, day, G, US, CS) :param sfc_state: [in] Surface state structure :param fluxes: [inout] Surface fluxes structure :param day: [in] Current model time :param g: [inout] Grid structure :param us: [in] A dimensional unit scaling type :param cs: Container for SCM parameters [debug] xpath(./compounddef/compoundname[text()="scm_cvmix_tests::scm_cvmix_tests_cs"]/..) match([('id', 'structscm__cvmix__tests_1_1scm__cvmix__tests__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'private')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'scm_cvmix_tests::scm_cvmix_tests_cs', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'scm_cvmix_tests::scm_cvmix_tests_cs', , {}, [ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'scm_cvmix_tests::scm_cvmix_tests_cs', , {}, [ [debug] DoxygenMethodDocumenter format_signature called ((T, S, h, G, GV, US, param_file, just_read_params)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'scm_cvmix_tests::scm_cvmix_tests_ts_init', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'scm_cvmix_tests::scm_cvmix_tests_ts_init', , {} [debug] DoxygenMethodDocumenter format_signature called ((Time, G, param_file, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'scm_cvmix_tests::scm_cvmix_tests_surface_forcing_init', type scm_cvmix_tests/scm_cvmix_tests_cs) [fd] run(.. f:subroutine:: subroutine scm_cvmix_tests_ts_init(T, S, h, G, GV, US, param_file, just_read_params)) [fd] sig(subroutine scm_cvmix_tests_ts_init(T, S, h, G, GV, US, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(scm_cvmix_tests_ts_init) arglist(T, S, h, G, GV, US, param_file, just_read_params) [fd] fullname(scm_cvmix_tests/scm_cvmix_tests_ts_init) ftype(None) [fd] name(('scm_cvmix_tests/scm_cvmix_tests_ts_init', None)) sig(subroutine scm_cvmix_tests_ts_init(T, S, h, G, GV, US, param_file, just_read_params)) signode(subroutine scm_cvmix_tests/scm_cvmix_tests_ts_initTShGGVUSparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine scm_cvmix_tests_surface_forcing_init(Time, G, param_file, CS)) [fd] sig(subroutine scm_cvmix_tests_surface_forcing_init(Time, G, param_file, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(scm_cvmix_tests_surface_forcing_init) arglist(Time, G, param_file, CS) [fd] fullname(scm_cvmix_tests/scm_cvmix_tests_surface_forcing_init) ftype(None) [fd] name(('scm_cvmix_tests/scm_cvmix_tests_surface_forcing_init', None)) sig(subroutine scm_cvmix_tests_surface_forcing_init(Time, G, param_file, CS)) signode(subroutine scm_cvmix_tests/scm_cvmix_tests_surface_forcing_initTimeGparam_fileCS) [fd] run(.. f:subroutine:: subroutine scm_cvmix_tests_wind_forcing(sfc_state, forces, day, G, US, CS)) [fd] sig(subroutine scm_cvmix_tests_wind_forcing(sfc_state, forces, day, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(scm_cvmix_tests_wind_forcing) arglist(sfc_state, forces, day, G, US, CS) [fd] fullname(scm_cvmix_tests/scm_cvmix_tests_wind_forcing) ftype(None) [fd] name(('scm_cvmix_tests/scm_cvmix_tests_wind_forcing', None)) sig(subroutine scm_cvmix_tests_wind_forcing(sfc_state, forces, day, G, US, CS)) signode(subroutine scm_cvmix_tests/scm_cvmix_tests_wind_forcingsfc_stateforcesdayGUSCS) [fd] run(.. f:subroutine:: subroutine scm_cvmix_tests_buoyancy_forcing(sfc_state, fluxes, day, G, US, CS)) [fd] sig(subroutine scm_cvmix_tests_buoyancy_forcing(sfc_state, fluxes, day, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(scm_cvmix_tests_buoyancy_forcing) arglist(sfc_state, fluxes, day, G, US, CS) [fd] fullname(scm_cvmix_tests/scm_cvmix_tests_buoyancy_forcing) ftype(None) [fd] name(('scm_cvmix_tests/scm_cvmix_tests_buoyancy_forcing', None)) sig(subroutine scm_cvmix_tests_buoyancy_forcing(sfc_state, fluxes, day, G, US, CS)) signode(subroutine scm_cvmix_tests/scm_cvmix_tests_buoyancy_forcingsfc_statefluxesdayGUSCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 73%] api/generated/modules/seamount_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/seamount_ini [app] emitting event: 'source-read'('api/generated/modules/seamount_initialization', ['.. autodoxymodule:: seamount_initialization\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/seamount_initialization.rst:1: input: .. autodoxymodule:: seamount_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~seamount_initialization::seamount_initialize_topography ~seamount_initialization::seamount_initialize_thickness ~seamount_initialization::seamount_initialize_temperature_salinity [debug] xpath(./compounddef/compoundname[text()="seamount_initialization"]/..) match([('id', 'namespaceseamount__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:seamount_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'seamount_initialization', , {'members': , {'members': , {'members': ), ('seamount_initialize_thickness', ), ('seamount_initialize_temperature_salinity', )]) [autodoc] module analyzer failed: error importing 'seamount_initialization' (exception was: ModuleNotFoundError("No module named 'seamount_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth)) [debug] add_directive_header sig((D, G, param_file, max_depth)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine seamount_initialize_topography) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialize_topography', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialize_topography', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialize_topography', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialize_topography', , {'members': [autodoc] module analyzer failed: error importing 'seamount_initialization' (exception was: ModuleNotFoundError("No module named 'seamount_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US, param_file, just_read_params)) [debug] add_directive_header sig((h, G, GV, US, param_file, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine seamount_initialize_thickness) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialize_thickness', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialize_thickness', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialize_thickness', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialize_thickness', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialize_thickness', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialize_thickness', , {'members': < [autodoc] module analyzer failed: error importing 'seamount_initialization' (exception was: ModuleNotFoundError("No module named 'seamount_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [debug] add_directive_header sig((T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine seamount_initialize_temperature_salinity) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialize_temperature_salinity', , {' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialize_temperature_salinity', , {' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialize_temperature_salinity', , {' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialize_temperature_salinity', , {' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialize_temperature_salinity', , {' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialize_temperature_salinity', , {' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialize_temperature_salinity', , {' [autodoc] output: ======================================== seamount_initialization module reference ======================================== .. f:module:: seamount_initialization Configures the model for the idealized seamount test case. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~seamount_initialization::seamount_initialize_topography ~seamount_initialization::seamount_initialize_thickness ~seamount_initialization::seamount_initialize_temperature_salinity .. _DETAseamount_initialization: -------------------- Detailed Description -------------------- Configures the model for the idealized seamount test case. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine seamount_initialize_topography(D, G, param_file, max_depth) Initialization of topography. :param g: [in] The dynamic horizontal grid type :param d: [out] Ocean bottom depth in the units of depth_max :param param_file: [in] Parameter file structure :param max_depth: [in] Maximum ocean depth in arbitrary units :callto: :f:func:`mdl ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_topography ` .. f:subroutine:: subroutine seamount_initialize_thickness(h, G, GV, US, param_file, just_read_params) Initialization of thicknesses. This subroutine initializes the layer thicknesses to be uniform. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [out] The thickness that is being initialized [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_mesg ` :callto: :f:func:`regrid_consts::regridding_rho ` :callto: :f:func:`regrid_consts::regridding_sigma ` .. f:subroutine:: subroutine seamount_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params) Initial values for temperature and salinity. :param g: [in] Ocean grid structure :param gv: [in] Vertical grid structure :param t: [out] Potential temperature [degC] :param s: [out] Salinity [ppt] :param h: [in] Layer thickness [H ~> m or kg m-2] :param param_file: [in] Parameter file structure :param eqn_of_state: Equation of state structure :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`regrid_consts::regridding_rho ` :callto: :f:func:`regrid_consts::regridding_sigma ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'seamount_initialization::seamount_initialize_topography', subroutine seamount_initialization/seamount_initialize_topographyDGparam_filemax_depth) [fd] run(.. f:subroutine:: subroutine seamount_initialize_thickness(h, G, GV, US, param_file, just_read_params)) [fd] sig(subroutine seamount_initialize_thickness(h, G, GV, US, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(seamount_initialize_thickness) arglist(h, G, GV, US, param_file, just_read_params) [fd] fullname(seamount_initialization/seamount_initialize_thickness) ftype(None) [fd] name(('seamount_initialization/seamount_initialize_thickness', None)) sig(subroutine seamount_initialize_thickness(h, G, GV, US, param_file, just_read_params)) signode(subroutine seamount_initialization/seamount_initialize_thicknesshGGVUSparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine seamount_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [fd] sig(subroutine seamount_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(seamount_initialize_temperature_salinity) arglist(T, S, h, G, GV, param_file, eqn_of_state, just_read_params) [fd] fullname(seamount_initialization/seamount_initialize_temperature_salinity) ftype(None) [fd] name(('seamount_initialization/seamount_initialize_temperature_salinity', None)) sig(subroutine seamount_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) signode(subroutine seamount_initialization/seamount_initialize_temperature_salinityTShGGVparam_fileeqn_of_statejust_read_params) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 73%] api/generated/modules/shelfwave_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/shelfwave_in [app] emitting event: 'source-read'('api/generated/modules/shelfwave_initialization', ['.. autodoxymodule:: shelfwave_initialization\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/shelfwave_initialization.rst:1: input: .. autodoxymodule:: shelfwave_initialization :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~shelfwave_initialization::shelfwave_obc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~shelfwave_initialization::register_shelfwave_obc ~shelfwave_initialization::shelfwave_obc_end ~shelfwave_initialization::shelfwave_initialize_topography ~shelfwave_initialization::shelfwave_set_obc_data [debug] xpath(./compounddef/compoundname[text()="shelfwave_initialization"]/..) match([('id', 'namespaceshelfwave__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:shelfwave_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'shelfwave_initialization', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'shelfwave_initialization' (exception was: ModuleNotFoundError("No module named 'shelfwave_initialization'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'shelfwave_initialization::shelfwave_obc_cs', , [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'shelfwave_initialization::shelfwave_obc_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'shelfwave_initialization::shelfwave_obc_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'shelfwave_initialization::shelfwave_obc_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'shelfwave_initialization::shelfwave_obc_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'shelfwave_initialization::shelfwave_obc_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'shelfwave_initialization::shelfwave_obc_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'shelfwave_initialization::shelfwave_obc_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'shelfwave_initialization::shelfwave_obc_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'shelfwave_initialization::shelfwave_obc_cs', , [debug] members([('register_shelfwave_obc', ), ('shelfwave_obc_end', ), ('shelfwave_initialize_topography', ), ('shelfwave_set_obc_data', )]) [autodoc] module analyzer failed: error importing 'shelfwave_initialization' (exception was: ModuleNotFoundError("No module named 'shelfwave_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((param_file, CS, OBC_Reg)) [debug] add_directive_header sig((param_file, CS, OBC_Reg)) [debug] DoxygenMethodDocumenter directive(function) name(logical function register_shelfwave_obc) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_shelfwave_obc', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'shelfwave_initialize_topography', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'shelfwave_initialize_topography', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'shelfwave_initialize_topography', , {'members': [autodoc] module analyzer failed: error importing 'shelfwave_initialization' (exception was: ModuleNotFoundError("No module named 'shelfwave_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((OBC, CS, G, h, Time)) [debug] add_directive_header sig((OBC, CS, G, h, Time)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine shelfwave_set_obc_data) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'shelfwave_set_obc_data', , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~shelfwave_initialization::shelfwave_obc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~shelfwave_initialization::register_shelfwave_obc ~shelfwave_initialization::shelfwave_obc_end ~shelfwave_initialization::shelfwave_initialize_topography ~shelfwave_initialization::shelfwave_set_obc_data .. _DETAshelfwave_initialization: -------------------- Detailed Description -------------------- Configures the model for the idealized shelfwave test case. ------------------ Type Documentation ------------------ .. f:type:: shelfwave_obc_cs Control structure for shelfwave open boundaries. :typefield real lx: Long-shore length scale of bathymetry. :typefield real ly: Cross-shore length scale. :typefield real f0: Coriolis parameter. :typefield real jj: Cross-shore wave mode. :typefield real kk: Parameter. :typefield real ll: Longshore wavenumber. :typefield real alpha: 1/Ly. :typefield real omega: Frequency. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function register_shelfwave_obc(param_file, CS, OBC_Reg) Add shelfwave to OBC registry. :param param_file: [in] parameter file. :param cs: shelfwave control structure. :param obc_reg: OBC registry. :callto: :f:func:`mdl ` :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine shelfwave_obc_end(CS) Clean up the shelfwave OBC from registry. :param cs: shelfwave control structure. .. f:subroutine:: subroutine shelfwave_initialize_topography(D, G, param_file, max_depth, US) Initialization of topography. :param g: [in] The dynamic horizontal grid type :param d: [out] Ocean bottom depth in m or Z if US is present :param param_file: [in] Parameter file structure :param max_depth: [in] Maximum model depth in the units of D :param us: [in] A dimensional unit scaling type :callto: :f:func:`mdl ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_topography ` .. f:subroutine:: subroutine shelfwave_set_obc_data(OBC, CS, G, h, Time) This subroutine sets the properties of flow at open boundary conditions. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param cs: tidal bay control structure. :param g: [in] The ocean's grid structure. :param h: [in] layer thickness. :param time: [in] model time. [debug] xpath(./compounddef/compoundname[text()="shelfwave_initialization::shelfwave_obc_cs"]/..) match([('id', 'structshelfwave__initialization_1_1shelfwave__obc__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'shelfwave_initialization::shelfwave_obc_cs', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'shelfwave_initialization::shelfwave_obc_cs', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'shelfwave_initialization::shelfwave_obc_cs', [debug] DoxygenMethodDocumenter format_signature called ((param_file, CS, OBC_Reg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'shelfwave_initialization::register_shelfwave_obc', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'shelfwave_initialization::shelfwave_obc_end', , [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'shelfwave_initialization::shelfwave_initialize_topography', type shelfwave_initialization/shelfwave_obc_cs) [fd] run(.. f:function:: logical function register_shelfwave_obc(param_file, CS, OBC_Reg)) [fd] sig(logical function register_shelfwave_obc(param_file, CS, OBC_Reg)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_shelfwave_obc) arglist(param_file, CS, OBC_Reg) [fd] fullname(shelfwave_initialization/register_shelfwave_obc) ftype(logical) [fd] name(('shelfwave_initialization/register_shelfwave_obc', 'logical')) sig(logical function register_shelfwave_obc(param_file, CS, OBC_Reg)) signode(function shelfwave_initialization/register_shelfwave_obcparam_fileCSOBC_Reg [logical]) [fd] run(.. f:subroutine:: subroutine shelfwave_obc_end(CS)) [fd] sig(subroutine shelfwave_obc_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(shelfwave_obc_end) arglist(CS) [fd] fullname(shelfwave_initialization/shelfwave_obc_end) ftype(None) [fd] name(('shelfwave_initialization/shelfwave_obc_end', None)) sig(subroutine shelfwave_obc_end(CS)) signode(subroutine shelfwave_initialization/shelfwave_obc_endCS) [fd] run(.. f:subroutine:: subroutine shelfwave_initialize_topography(D, G, param_file, max_depth, US)) [fd] sig(subroutine shelfwave_initialize_topography(D, G, param_file, max_depth, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(shelfwave_initialize_topography) arglist(D, G, param_file, max_depth, US) [fd] fullname(shelfwave_initialization/shelfwave_initialize_topography) ftype(None) [fd] name(('shelfwave_initialization/shelfwave_initialize_topography', None)) sig(subroutine shelfwave_initialize_topography(D, G, param_file, max_depth, US)) signode(subroutine shelfwave_initialization/shelfwave_initialize_topographyDGparam_filemax_depthUS) [fd] run(.. f:subroutine:: subroutine shelfwave_set_obc_data(OBC, CS, G, h, Time)) [fd] sig(subroutine shelfwave_set_obc_data(OBC, CS, G, h, Time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(shelfwave_set_obc_data) arglist(OBC, CS, G, h, Time) [fd] fullname(shelfwave_initialization/shelfwave_set_obc_data) ftype(None) [fd] name(('shelfwave_initialization/shelfwave_set_obc_data', None)) sig(subroutine shelfwave_set_obc_data(OBC, CS, G, h, Time)) signode(subroutine shelfwave_initialization/shelfwave_set_obc_dataOBCCSGhTime) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 73%] api/generated/modules/sloshing_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/sloshing_ini [app] emitting event: 'source-read'('api/generated/modules/sloshing_initialization', ['.. autodoxymodule:: sloshing_initialization\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/sloshing_initialization.rst:1: input: .. autodoxymodule:: sloshing_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~sloshing_initialization::sloshing_initialize_topography ~sloshing_initialization::sloshing_initialize_thickness ~sloshing_initialization::sloshing_initialize_temperature_salinity [debug] xpath(./compounddef/compoundname[text()="sloshing_initialization"]/..) match([('id', 'namespacesloshing__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:sloshing_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'sloshing_initialization', , {'members': , {'members': , {'members': ), ('sloshing_initialize_thickness', ), ('sloshing_initialize_temperature_salinity', )]) [autodoc] module analyzer failed: error importing 'sloshing_initialization' (exception was: ModuleNotFoundError("No module named 'sloshing_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth)) [debug] add_directive_header sig((D, G, param_file, max_depth)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine sloshing_initialize_topography) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'sloshing_initialize_topography', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'sloshing_initialize_topography', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'sloshing_initialize_topography', , {'members': [autodoc] module analyzer failed: error importing 'sloshing_initialization' (exception was: ModuleNotFoundError("No module named 'sloshing_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US, param_file, just_read_params)) [debug] add_directive_header sig((h, G, GV, US, param_file, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine sloshing_initialize_thickness) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'sloshing_initialize_thickness', , {'members': < [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'sloshing_initialize_thickness', , {'members': < [autodoc] module analyzer failed: error importing 'sloshing_initialization' (exception was: ModuleNotFoundError("No module named 'sloshing_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [debug] add_directive_header sig((T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine sloshing_initialize_temperature_salinity) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'sloshing_initialize_temperature_salinity', , {' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'sloshing_initialize_temperature_salinity', , {' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'sloshing_initialize_temperature_salinity', , {' [autodoc] output: ======================================== sloshing_initialization module reference ======================================== .. f:module:: sloshing_initialization Initialization for the "sloshing" internal waves configuration. `More... `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~sloshing_initialization::sloshing_initialize_topography ~sloshing_initialization::sloshing_initialize_thickness ~sloshing_initialization::sloshing_initialize_temperature_salinity .. _DETAsloshing_initialization: -------------------- Detailed Description -------------------- The module configures the model for the non-rotating sloshing test case. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine sloshing_initialize_topography(D, G, param_file, max_depth) Initialization of topography. :param g: [in] The dynamic horizontal grid type :param d: [out] Ocean bottom depth in the units of depth_max :param param_file: [in] Parameter file structure :param max_depth: [in] Maximum ocean depth in arbitrary units :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_topography ` .. f:subroutine:: subroutine sloshing_initialize_thickness(h, G, GV, US, param_file, just_read_params) Initialization of thicknesses This routine is called when THICKNESS_CONFIG is set to 'sloshing'. This routine initializes layer positions to set off a sloshing motion in the zonal direction in a rectangular basin. All layers have initially the same thickness but all interfaces (except bottom and sea surface) are displaced according to a half-period cosine, with maximum value on the left and minimum value on the right. This sets off a regular sloshing motion. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [out] The thickness that is being initialized [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. .. f:subroutine:: subroutine sloshing_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params) Initialization of temperature and salinity. This subroutine initializes linear profiles for T and S according to reference surface layer salinity and temperature and a specified range. Note that the linear distribution is set up with respect to the layer number, not the physical position). :param g: [in] Ocean grid structure. :param gv: [in] The ocean's vertical grid structure. :param t: [out] Potential temperature [degC]. :param s: [out] Salinity [ppt]. :param h: [in] Layer thickness [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param eqn_of_state: Equation of state structure. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'sloshing_initialization::sloshing_initialize_topography', subroutine sloshing_initialization/sloshing_initialize_topographyDGparam_filemax_depth) [fd] run(.. f:subroutine:: subroutine sloshing_initialize_thickness(h, G, GV, US, param_file, just_read_params)) [fd] sig(subroutine sloshing_initialize_thickness(h, G, GV, US, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(sloshing_initialize_thickness) arglist(h, G, GV, US, param_file, just_read_params) [fd] fullname(sloshing_initialization/sloshing_initialize_thickness) ftype(None) [fd] name(('sloshing_initialization/sloshing_initialize_thickness', None)) sig(subroutine sloshing_initialize_thickness(h, G, GV, US, param_file, just_read_params)) signode(subroutine sloshing_initialization/sloshing_initialize_thicknesshGGVUSparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine sloshing_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [fd] sig(subroutine sloshing_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(sloshing_initialize_temperature_salinity) arglist(T, S, h, G, GV, param_file, eqn_of_state, just_read_params) [fd] fullname(sloshing_initialization/sloshing_initialize_temperature_salinity) ftype(None) [fd] name(('sloshing_initialization/sloshing_initialize_temperature_salinity', None)) sig(subroutine sloshing_initialize_temperature_salinity(T, S, h, G, GV, param_file, eqn_of_state, just_read_params)) signode(subroutine sloshing_initialization/sloshing_initialize_temperature_salinityTShGGVparam_fileeqn_of_statejust_read_params) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 74%] api/generated/modules/soliton_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/soliton_init [app] emitting event: 'source-read'('api/generated/modules/soliton_initialization', ['.. autodoxymodule:: soliton_initialization\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/soliton_initialization.rst:1: input: .. autodoxymodule:: soliton_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~soliton_initialization::soliton_initialize_thickness ~soliton_initialization::soliton_initialize_velocity [debug] xpath(./compounddef/compoundname[text()="soliton_initialization"]/..) match([('id', 'namespacesoliton__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:soliton_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'soliton_initialization', , {'members': , {'members': , {'members': ), ('soliton_initialize_velocity', )]) [autodoc] module analyzer failed: error importing 'soliton_initialization' (exception was: ModuleNotFoundError("No module named 'soliton_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US)) [debug] add_directive_header sig((h, G, GV, US)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine soliton_initialize_thickness) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'soliton_initialize_thickness', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~soliton_initialization::soliton_initialize_thickness ~soliton_initialization::soliton_initialize_velocity .. _DETAsoliton_initialization: -------------------- Detailed Description -------------------- .. _namespacesoliton__initialization_1section_soliton: Description of the equatorial Rossby soliton initial ==================================================== conditions --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine soliton_initialize_thickness(h, G, GV, US) Initialization of thicknesses in Equatorial Rossby soliton test. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param us: [in] A dimensional unit scaling type :param h: [out] The thickness that is being initialized [H ~> m or kg m-2]. :callto: :f:func:`mom_error_handler::mom_mesg ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` .. f:subroutine:: subroutine soliton_initialize_velocity(u, v, h, G, US) Initialization of u and v in the equatorial Rossby soliton test. :param g: [in] Grid structure :param u: [out] i-component of velocity [L T-1 ~> m s-1] :param v: [out] j-component of velocity [L T-1 ~> m s-1] :param h: [in] Thickness [H ~> m or kg m-2] :param us: [in] A dimensional unit scaling type [debug] DoxygenMethodDocumenter format_signature called ((h, G, GV, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'soliton_initialization::soliton_initialize_thickness', subroutine soliton_initialization/soliton_initialize_thicknesshGGVUS) [fd] run(.. f:subroutine:: subroutine soliton_initialize_velocity(u, v, h, G, US)) [fd] sig(subroutine soliton_initialize_velocity(u, v, h, G, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(soliton_initialize_velocity) arglist(u, v, h, G, US) [fd] fullname(soliton_initialization/soliton_initialize_velocity) ftype(None) [fd] name(('soliton_initialization/soliton_initialize_velocity', None)) sig(subroutine soliton_initialize_velocity(u, v, h, G, US)) signode(subroutine soliton_initialization/soliton_initialize_velocityuvhGUS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 74%] api/generated/modules/supercritical_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/supercritica [app] emitting event: 'source-read'('api/generated/modules/supercritical_initialization', ['.. autodoxymodule:: supercritical_initializ [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/supercritical_initialization.rst:1: input: .. autodoxymodule:: supercritical_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~supercritical_initialization::supercritical_set_obc_data [debug] xpath(./compounddef/compoundname[text()="supercritical_initialization"]/..) match([('id', 'namespacesupercritical__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:supercritical_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'supercritical_initialization', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'supercritical_initialization', , {'members': [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ulink [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'supercritical_initialization', , {'members': [debug] members([('supercritical_set_obc_data', )]) [autodoc] module analyzer failed: error importing 'supercritical_initialization' (exception was: ModuleNotFoundError("No module named 'supercritical_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((OBC, G, param_file)) [debug] add_directive_header sig((OBC, G, param_file)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine supercritical_set_obc_data) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'supercritical_set_obc_data', , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~supercritical_initialization::supercritical_set_obc_data .. _DETAsupercritical_initialization: -------------------- Detailed Description -------------------- The module configures the model for the "supercritical" experiment. `https://marine.rutgers.edu/po/index.php?model=test-problems&title=supercritical `_ --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine supercritical_set_obc_data(OBC, G, param_file) This subroutine sets the properties of flow at open boundary conditions. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param g: [in] The ocean's grid structure. :param param_file: [in] Parameter file structure :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` [debug] DoxygenMethodDocumenter format_signature called ((OBC, G, param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'supercritical_initialization::supercritical_set_obc_data', subroutine supercritical_initialization/supercritical_set_obc_dataOBCGparam_file) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 75%] api/generated/modules/tidal_bay_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/tidal_bay_in [app] emitting event: 'source-read'('api/generated/modules/tidal_bay_initialization', ['.. autodoxymodule:: tidal_bay_initialization\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/tidal_bay_initialization.rst:1: input: .. autodoxymodule:: tidal_bay_initialization :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~tidal_bay_initialization::tidal_bay_obc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~tidal_bay_initialization::register_tidal_bay_obc ~tidal_bay_initialization::tidal_bay_obc_end ~tidal_bay_initialization::tidal_bay_set_obc_data [debug] xpath(./compounddef/compoundname[text()="tidal_bay_initialization"]/..) match([('id', 'namespacetidal__bay__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:tidal_bay_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'tidal_bay_initialization', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'tidal_bay_initialization' (exception was: ModuleNotFoundError("No module named 'tidal_bay_initialization'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'tidal_bay_initialization::tidal_bay_obc_cs', , [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'tidal_bay_initialization::tidal_bay_obc_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'tidal_bay_initialization::tidal_bay_obc_cs', , [debug] members([('register_tidal_bay_obc', ), ('tidal_bay_obc_end', ), ('tidal_bay_set_obc_data', )]) [autodoc] module analyzer failed: error importing 'tidal_bay_initialization' (exception was: ModuleNotFoundError("No module named 'tidal_bay_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((param_file, CS, OBC_Reg)) [debug] add_directive_header sig((param_file, CS, OBC_Reg)) [debug] DoxygenMethodDocumenter directive(function) name(logical function register_tidal_bay_obc) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'register_tidal_bay_obc', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~tidal_bay_initialization::tidal_bay_obc_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~tidal_bay_initialization::register_tidal_bay_obc ~tidal_bay_initialization::tidal_bay_obc_end ~tidal_bay_initialization::tidal_bay_set_obc_data .. _DETAtidal_bay_initialization: -------------------- Detailed Description -------------------- Configures the model for the "tidal_bay" experiment. tidal_bay = Tidally resonant bay from Zygmunt Kowalik's class on tides. ------------------ Type Documentation ------------------ .. f:type:: tidal_bay_obc_cs Control structure for tidal bay open boundaries. :typefield real tide_flow: Maximum tidal flux. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function register_tidal_bay_obc(param_file, CS, OBC_Reg) Add tidal bay to OBC registry. :param param_file: [in] parameter file. :param cs: tidal bay control structure. :param obc_reg: OBC registry. :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine tidal_bay_obc_end(CS) Clean up the tidal bay OBC from registry. :param cs: tidal bay control structure. :calledfrom: :f:func:`mom_boundary_update::obc_register_end ` .. f:subroutine:: subroutine tidal_bay_set_obc_data(OBC, CS, G, h, Time) This subroutine sets the properties of flow at open boundary conditions. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param cs: tidal bay control structure. :param g: [in] The ocean's grid structure. :param h: [in] layer thickness. :param time: [in] model time. [debug] xpath(./compounddef/compoundname[text()="tidal_bay_initialization::tidal_bay_obc_cs"]/..) match([('id', 'structtidal__bay__initialization_1_1tidal__bay__obc__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'tidal_bay_initialization::tidal_bay_obc_cs', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'tidal_bay_initialization::tidal_bay_obc_cs', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'tidal_bay_initialization::tidal_bay_obc_cs', [debug] DoxygenMethodDocumenter format_signature called ((param_file, CS, OBC_Reg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'tidal_bay_initialization::register_tidal_bay_obc', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'tidal_bay_initialization::tidal_bay_obc_end', , [debug] DoxygenMethodDocumenter format_signature called ((OBC, CS, G, h, Time)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'tidal_bay_initialization::tidal_bay_set_obc_data', type tidal_bay_initialization/tidal_bay_obc_cs) [fd] run(.. f:function:: logical function register_tidal_bay_obc(param_file, CS, OBC_Reg)) [fd] sig(logical function register_tidal_bay_obc(param_file, CS, OBC_Reg)) [fd] ftype(logical) objtype(function) modname(None) typename() name(register_tidal_bay_obc) arglist(param_file, CS, OBC_Reg) [fd] fullname(tidal_bay_initialization/register_tidal_bay_obc) ftype(logical) [fd] name(('tidal_bay_initialization/register_tidal_bay_obc', 'logical')) sig(logical function register_tidal_bay_obc(param_file, CS, OBC_Reg)) signode(function tidal_bay_initialization/register_tidal_bay_obcparam_fileCSOBC_Reg [logical]) [fd] run(.. f:subroutine:: subroutine tidal_bay_obc_end(CS)) [fd] sig(subroutine tidal_bay_obc_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tidal_bay_obc_end) arglist(CS) [fd] fullname(tidal_bay_initialization/tidal_bay_obc_end) ftype(None) [fd] name(('tidal_bay_initialization/tidal_bay_obc_end', None)) sig(subroutine tidal_bay_obc_end(CS)) signode(subroutine tidal_bay_initialization/tidal_bay_obc_endCS) [fd] run(.. f:subroutine:: subroutine tidal_bay_set_obc_data(OBC, CS, G, h, Time)) [fd] sig(subroutine tidal_bay_set_obc_data(OBC, CS, G, h, Time)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tidal_bay_set_obc_data) arglist(OBC, CS, G, h, Time) [fd] fullname(tidal_bay_initialization/tidal_bay_set_obc_data) ftype(None) [fd] name(('tidal_bay_initialization/tidal_bay_set_obc_data', None)) sig(subroutine tidal_bay_set_obc_data(OBC, CS, G, h, Time)) signode(subroutine tidal_bay_initialization/tidal_bay_set_obc_dataOBCCSGhTime) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 75%] api/generated/modules/tidal_forcing [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/tidal_forcin [app] emitting event: 'source-read'('api/generated/modules/tidal_forcing', ['.. autodoxymodule:: tidal_forcing\n :members:\n\n\n']) [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/tidal_forcing.rst:1: input: .. autodoxymodule:: tidal_forcing :members: [debug] xpath(./compounddef/compoundname[text()="tidal_forcing"]/..) match([('id', 'namespacetidal__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:tidal_forcing module reference [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'tidal_forcing', , {'members': , {'members': , {'members': , {'members': `More... `_ .. _DETAtidal_forcing: -------------------- Detailed Description -------------------- Code by Robert Hallberg, August 2005, based on C-code by Harper Simmons, February, 2003, in turn based on code by Brian Arbic. The main subroutine in this file calculates the total tidal contribution to the geopotential, including self-attraction and loading terms and the astronomical contributions. All options are selected with entries in a file that is parsed at run-time. Overall tides are enabled with the run-time parameter 'TIDES=True'. Tidal constituents must be individually enabled with lines like 'TIDE_M2=True'. This file has default values of amplitude, frequency, Love number, and phase at time 0 for the Earth's M2, S2, N2, K2, K1, O1, P1, Q1, MF, and MM tidal constituents, but the frequency, amplitude and phase ant time 0 for each constituent can be changed at run time by setting variables like TIDE_M2_FREQ, TIDE_M2_AMP and TIDE_M2_PHASE_T0 (for M2). In addition, the approach to calculating self-attraction and loading is set at run time. The default is to use the scalar approximation, with a coefficient TIDE_SAL_SCALAR_VALUE that must be set in the run-time file (for global runs, 0.094 is typical). Alternately, TIDAL_SAL_FROM_FILE can be set to read the SAL from a file containing the results of a previous simulation. To iterate the SAL to convergence, USE_PREVIOUS_TIDES may be useful (for details, see Arbic et al., 2004, DSR II). With TIDAL_SAL_FROM_FILE or USE_PREVIOUS_TIDES,a list of input files must be provided to describe each constituent's properties from a previous solution. [app] emitting event: 'doctree-read'(>,) reading sources... [ 75%] api/generated/modules/user_change_diffusivity [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/user_change_ [app] emitting event: 'source-read'('api/generated/modules/user_change_diffusivity', ['.. autodoxymodule:: user_change_diffusivity\n [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/user_change_diffusivity.rst:1: input: .. autodoxymodule:: user_change_diffusivity :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~user_change_diffusivity::user_change_diff_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~user_change_diffusivity::user_change_diff ~user_change_diffusivity::range_ok ~user_change_diffusivity::val_weights ~user_change_diffusivity::user_change_diff_init ~user_change_diffusivity::user_change_diff_end [debug] xpath(./compounddef/compoundname[text()="user_change_diffusivity"]/..) match([('id', 'namespaceuser__change__diffusivity'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:user_change_diffusivity module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_change_diffusivity', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'user_change_diffusivity' (exception was: ModuleNotFoundError("No module named 'user_change_diffusivity'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'user_change_diffusivity::user_change_diff_cs', [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespaceuser__change__diffusivity) kindref(compound) ref([]) [debug] ref([('id', 'namespaceuser__change__diffusivity'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_change_diffusivity::user_change_diff_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_change_diffusivity::user_change_diff_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_change_diffusivity::user_change_diff_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_change_diffusivity::user_change_diff_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_change_diffusivity::user_change_diff_cs', [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_change_diffusivity::user_change_diff_cs', [debug] members([('user_change_diff', ), ('range_ok', ), ('val_weights', ), ('user_change_diff_init', ), ('user_change_diff_end', )]) [autodoc] module analyzer failed: error importing 'user_change_diffusivity' (exception was: ModuleNotFoundError("No module named 'user_change_diffusivity'")) [debug] DoxygenMethodDocumenter format_signature called ((h, tv, G, GV, US, CS, Kd_lay, Kd_int, T_f, S_f, Kd_int_add)) [debug] add_directive_header sig((h, tv, G, GV, US, CS, Kd_lay, Kd_int, T_f, S_f, Kd_int_add)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine user_change_diff) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_change_diff', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~user_change_diffusivity::user_change_diff_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~user_change_diffusivity::user_change_diff ~user_change_diffusivity::range_ok ~user_change_diffusivity::val_weights ~user_change_diffusivity::user_change_diff_init ~user_change_diffusivity::user_change_diff_end .. _DETAuser_change_diffusivity: -------------------- Detailed Description -------------------- Increments the diapycnal diffusivity in a specified band of latitudes and densities. ------------------ Type Documentation ------------------ .. f:type:: user_change_diff_cs Control structure for :f:func:`user_change_diffusivity`. . :typefield real kd_add: The scale of a diffusivity that is added everywhere without any filtering or scaling [Z2 T-1 ~> m2 s-1]. :typefield real(4) lat_range: 4 values that define the latitude range over which a diffusivity scaled by Kd_add is added [degLat]. :typefield real(4) rho_range: 4 values that define the coordinate potential density range over which a diffusivity scaled by Kd_add is added [R ~> kg m-3]. :typefield logical use_abs_lat: If true, use the absolute value of latitude when setting lat_range. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine user_change_diff(h, tv, G, GV, US, CS, Kd_lay, Kd_int, T_f, S_f, Kd_int_add) This subroutine provides an interface for a user to use to modify the main code to alter the diffusivities as needed. The specific example implemented here augments the diffusivity for a specified range of latitude and coordinate potential density. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thickness [H ~> m or kg m-2]. :param tv: [in] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. :param us: [in] A dimensional unit scaling type :param cs: This module's control structure. :param kd_lay: [inout] The diapycnal diffusivity of each layer [Z2 T-1 ~> m2 s-1]. :param kd_int: [inout] The diapycnal diffusivity at each interface [Z2 T-1 ~> m2 s-1]. :param t_f: [in] Temperature with massless layers filled in vertically [degC]. :param s_f: [in] Salinity with massless layers filled in vertically [ppt]. :param kd_int_add: The diapycnal diffusivity that is being added at each interface [Z2 T-1 ~> m2 s-1]. :callto: :f:func:`mom_eos::eos_domain ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`range_ok ` :callto: :f:func:`val_weights ` .. f:function:: logical function range_ok(range) This subroutine checks whether the 4 values of range are in ascending order. :param range: [in] Four values to check. :returns undefined: Return value. :calledfrom: :f:func:`user_change_diff ` :calledfrom: :f:func:`user_change_diff_init ` .. f:function:: real function val_weights(val, range) This subroutine returns a value that goes smoothly from 0 to 1, stays at 1, and then goes smoothly back to 0 at the four values of range. The transitions are cubic, and have zero first derivatives where the curves hit 0 and 1. The values in range must be in ascending order, as can be checked by calling range_OK. :param val: [in] Value for which we need an answer [arbitrary units]. :param range: [in] Range over which the answer is non-zero [arbitrary units]. :returns undefined: Return value [nondim]. :calledfrom: :f:func:`user_change_diff ` .. f:subroutine:: subroutine user_change_diff_init(Time, G, GV, US, param_file, diag, CS) Set up the module control structure. :param time: [in] The current model time. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param diag: [inout] A structure that is used to regulate diagnostic output. :param cs: A pointer that is set to point to the control structure for this module. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`range_ok ` .. f:subroutine:: subroutine user_change_diff_end(CS) Clean up the module control structure. :param cs: A pointer that is set to point to the control structure for this module. :calledfrom: :f:func:`mom_set_diffusivity::set_diffusivity_end ` [debug] xpath(./compounddef/compoundname[text()="user_change_diffusivity::user_change_diff_cs"]/..) match([('id', 'structuser__change__diffusivity_1_1user__change__diff__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespaceuser__change__diffusivity) kindref(compound) ref([]) [debug] ref([('id', 'namespaceuser__change__diffusivity'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_change_diffusivity::user_change_diff_cs', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_change_diffusivity::user_change_diff', , { [debug] DoxygenMethodDocumenter format_signature called ((range)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_change_diffusivity::range_ok', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_change_diffusivity::range_ok', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((val, range)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_change_diffusivity::val_weights', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_change_diffusivity::val_weights', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((Time, G, GV, US, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_change_diffusivity::user_change_diff_init', type user_change_diffusivity/user_change_diff_cs) [fd] run(.. f:subroutine:: subroutine user_change_diff(h, tv, G, GV, US, CS, Kd_lay, Kd_int, T_f, S_f, Kd_int_add)) [fd] sig(subroutine user_change_diff(h, tv, G, GV, US, CS, Kd_lay, Kd_int, T_f, S_f, Kd_int_add)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_change_diff) arglist(h, tv, G, GV, US, CS, Kd_lay, Kd_int, T_f, S_f, Kd_int_add) [fd] fullname(user_change_diffusivity/user_change_diff) ftype(None) [fd] name(('user_change_diffusivity/user_change_diff', None)) sig(subroutine user_change_diff(h, tv, G, GV, US, CS, Kd_lay, Kd_int, T_f, S_f, Kd_int_add)) signode(subroutine user_change_diffusivity/user_change_diffhtvGGVUSCSKd_layKd_intT_fS_fKd_int_add) [fd] run(.. f:function:: logical function range_ok(range)) [fd] sig(logical function range_ok(range)) [fd] ftype(logical) objtype(function) modname(None) typename() name(range_ok) arglist(range) [fd] fullname(user_change_diffusivity/range_ok) ftype(logical) [fd] name(('user_change_diffusivity/range_ok', 'logical')) sig(logical function range_ok(range)) signode(function user_change_diffusivity/range_okrange [logical]) [fd] run(.. f:function:: real function val_weights(val, range)) [fd] sig(real function val_weights(val, range)) [fd] ftype(real) objtype(function) modname(None) typename() name(val_weights) arglist(val, range) [fd] fullname(user_change_diffusivity/val_weights) ftype(real) [fd] name(('user_change_diffusivity/val_weights', 'real')) sig(real function val_weights(val, range)) signode(function user_change_diffusivity/val_weightsvalrange [real]) [fd] run(.. f:subroutine:: subroutine user_change_diff_init(Time, G, GV, US, param_file, diag, CS)) [fd] sig(subroutine user_change_diff_init(Time, G, GV, US, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_change_diff_init) arglist(Time, G, GV, US, param_file, diag, CS) [fd] fullname(user_change_diffusivity/user_change_diff_init) ftype(None) [fd] name(('user_change_diffusivity/user_change_diff_init', None)) sig(subroutine user_change_diff_init(Time, G, GV, US, param_file, diag, CS)) signode(subroutine user_change_diffusivity/user_change_diff_initTimeGGVUSparam_filediagCS) [fd] run(.. f:subroutine:: subroutine user_change_diff_end(CS)) [fd] sig(subroutine user_change_diff_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_change_diff_end) arglist(CS) [fd] fullname(user_change_diffusivity/user_change_diff_end) ftype(None) [fd] name(('user_change_diffusivity/user_change_diff_end', None)) sig(subroutine user_change_diff_end(CS)) signode(subroutine user_change_diffusivity/user_change_diff_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 76%] api/generated/modules/user_initialization [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/user_initial [app] emitting event: 'source-read'('api/generated/modules/user_initialization', ['.. autodoxymodule:: user_initialization\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/user_initialization.rst:1: input: .. autodoxymodule:: user_initialization :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~user_initialization::user_set_coord ~user_initialization::user_initialize_topography ~user_initialization::user_initialize_thickness ~user_initialization::user_initialize_velocity ~user_initialization::user_init_temperature_salinity ~user_initialization::user_initialize_sponges ~user_initialization::user_set_obc_data ~user_initialization::user_set_rotation ~user_initialization::write_user_log [debug] xpath(./compounddef/compoundname[text()="user_initialization"]/..) match([('id', 'namespaceuser__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:user_initialization module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_initialization', , {'members': , {'members': , {'members': ), ('user_initialize_topography', ), ('user_initialize_thickness', ), ('user_initialize_velocity', ), ('user_init_temperature_salinity', ), ('user_initialize_sponges', ), ('user_set_obc_data', ), ('user_set_rotation', ), ('write_user_log', )]) [autodoc] module analyzer failed: error importing 'user_initialization' (exception was: ModuleNotFoundError("No module named 'user_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((Rlay, g_prime, GV, US, param_file, eqn_of_state)) [debug] add_directive_header sig((Rlay, g_prime, GV, US, param_file, eqn_of_state)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine user_set_coord) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_set_coord', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_init_temperature_salinity', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_init_temperature_salinity', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_init_temperature_salinity', , {'members': [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_init_temperature_salinity', , {'members': [autodoc] module analyzer failed: error importing 'user_initialization' (exception was: ModuleNotFoundError("No module named 'user_initialization'")) [debug] DoxygenMethodDocumenter format_signature called ((G, GV, use_temp, tv, param_file, CSp, h)) [debug] add_directive_header sig((G, GV, use_temp, tv, param_file, CSp, h)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine user_initialize_sponges) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_initialize_sponges', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~user_initialization::user_set_coord ~user_initialization::user_initialize_topography ~user_initialization::user_initialize_thickness ~user_initialization::user_initialize_velocity ~user_initialization::user_init_temperature_salinity ~user_initialization::user_initialize_sponges ~user_initialization::user_set_obc_data ~user_initialization::user_set_rotation ~user_initialization::write_user_log .. _DETAuser_initialization: -------------------- Detailed Description -------------------- This subroutine initializes the fields for the simulations. The one argument passed to initialize, Time, is set to the current time of the simulation. The fields which might be initialized here are: * u - Zonal velocity [Z T-1 ~> m s-1]. * v - Meridional velocity [Z T-1 ~> m s-1]. * h - Layer thickness [H ~> m or kg m-2]. (Must be positive.) * GbathyT - Basin depth [Z ~> m]. (Must be positive.) * GCoriolisBu - The Coriolis parameter [T-1 ~> s-1]. * GVg_prime - The reduced gravity at each interface [L2 Z-1 T-2 ~> m s-2]. * GVRlay - Layer potential density (coordinate variable) [R ~> kg m-3]. If ENABLE_THERMODYNAMICS is defined: * T - Temperature [degC]. * S - Salinity [psu]. If BULKMIXEDLAYER is defined: * Rml - Mixed layer and buffer layer potential densities [R ~> kg m-3]. If SPONGE is defined: * A series of subroutine calls are made to set up the damping rates and reference profiles for all variables that are damped in the sponge. Any user provided tracer code is also first linked through this subroutine. These variables are all set in the set of subroutines (in this file) USER_initialize_bottom_depth, USER_initialize_thickness, USER_initialize_velocity, USER_initialize_temperature_salinity, USER_initialize_mixed_layer_density, USER_initialize_sponges, USER_set_coord, and USER_set_ref_profile. The names of these subroutines should be self-explanatory. They start with "USER_" to indicate that they will likely have to be modified for each simulation to set the initial conditions and boundary conditions. Most of these take two arguments: an integer argument specifying whether the fields are to be calculated internally or read from a NetCDF file; and a string giving the path to that file. If the field is initialized internally, the path is ignored. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine user_set_coord(Rlay, g_prime, GV, US, param_file, eqn_of_state) Set vertical coordinates. :param gv: [in] The ocean's vertical grid structure :param rlay: [out] Layer potential density [R ~> kg m-3]. :param g_prime: [out] The reduced gravity at each interface [L2 Z-1 T-2 ~> m s-2]. :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param eqn_of_state: Equation of state structure :callto: :f:func:`first_call ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`write_user_log ` :calledfrom: :f:func:`mom_coord_initialization::mom_initialize_coord ` .. f:subroutine:: subroutine user_initialize_topography(D, G, param_file, max_depth, US) Initialize topography. :param g: [in] The dynamic horizontal grid type :param d: [out] Ocean bottom depth in m or Z if US is present :param param_file: [in] Parameter file structure :param max_depth: [in] Maximum model depth in the units of D :param us: [in] A dimensional unit scaling type :callto: :f:func:`first_call ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`write_user_log ` :calledfrom: :f:func:`mom_fixed_initialization::mom_initialize_topography ` .. f:subroutine:: subroutine user_initialize_thickness(h, G, GV, param_file, just_read_params) initialize thicknesses. :param g: [in] The ocean's grid structure. :param gv: [in] The ocean's vertical grid structure. :param h: [out] The thicknesses being initialized [H ~> m or kg m-2]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`first_call ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`write_user_log ` .. f:subroutine:: subroutine user_initialize_velocity(u, v, G, US, param_file, just_read_params) initialize velocities. :param g: [in] Ocean grid structure. :param u: [out] i-component of velocity [L T-1 ~> m s-1] :param v: [out] j-component of velocity [L T-1 ~> m s-1] :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param just_read_params: [in] If present and true, this call will only read parameters without changing h. :callto: :f:func:`first_call ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`write_user_log ` .. f:subroutine:: subroutine user_init_temperature_salinity(T, S, G, param_file, eqn_of_state, just_read_params) This function puts the initial layer temperatures and salinities into T(:,:,:) and S(:,:,:). :param g: [in] Ocean grid structure. :param t: [out] Potential temperature [degC]. :param s: [out] Salinity [ppt]. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param eqn_of_state: Equation of state structure :param just_read_params: [in] If present and true, this call will only read parameters without changing T & S. :callto: :f:func:`first_call ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`write_user_log ` .. f:subroutine:: subroutine user_initialize_sponges(G, GV, use_temp, tv, param_file, CSp, h) Set up the sponges. :param g: [in] Ocean grid structure. :param gv: [in] The ocean's vertical grid structure. :param use_temp: [in] If true, temperature and salinity are state variables. :param tv: [in] A structure containing pointers to any available thermodynamic fields, potential temperature and salinity or mixed layer density. Absent fields have NULL ptrs. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param csp: A pointer to the sponge control structure. :param h: [in] Layer thicknesses [H ~> m or kg m-2]. :callto: :f:func:`first_call ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`write_user_log ` :calledfrom: :f:func:`mom_state_initialization::mom_initialize_state ` .. f:subroutine:: subroutine user_set_obc_data(OBC, tv, G, param_file, tr_Reg) This subroutine sets the properties of flow at open boundary conditions. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param tv: [in] A structure containing pointers to any available thermodynamic fields, including potential temperature and salinity or mixed layer density. Absent fields have NULL ptrs. :param g: [in] The ocean's grid structure. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param tr_reg: Tracer registry. :callto: :f:func:`first_call ` :callto: :f:func:`write_user_log ` .. f:subroutine:: subroutine user_set_rotation(G, param_file) :param g: [inout] The ocean's grid structure :param param_file: [in] A structure to parse for run-time parameters :callto: :f:func:`first_call ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`write_user_log ` .. f:subroutine:: subroutine write_user_log(param_file) Write output about the parameter values being used. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :callto: :f:func:`first_call ` :calledfrom: :f:func:`user_init_temperature_salinity ` :calledfrom: :f:func:`user_initialize_sponges ` :calledfrom: :f:func:`user_initialize_thickness ` :calledfrom: :f:func:`user_initialize_topography ` :calledfrom: :f:func:`user_initialize_velocity ` :calledfrom: :f:func:`user_set_coord ` :calledfrom: :f:func:`user_set_obc_data ` :calledfrom: :f:func:`user_set_rotation ` [debug] DoxygenMethodDocumenter format_signature called ((Rlay, g_prime, GV, US, param_file, eqn_of_state)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_initialization::user_set_coord', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_initialization::user_set_coord', , {}, ['' [debug] DoxygenMethodDocumenter format_signature called ((D, G, param_file, max_depth, US)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_initialization::user_initialize_topography', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_initialization::user_initialize_sponges', [debug] DoxygenMethodDocumenter format_signature called ((OBC, tv, G, param_file, tr_Reg)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_initialization::user_set_obc_data', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_initialization::user_set_obc_data', , {}, [debug] DoxygenMethodDocumenter format_signature called ((G, param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_initialization::user_set_rotation', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_initialization::user_set_rotation', , {}, [debug] DoxygenMethodDocumenter format_signature called ((param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_initialization::write_user_log', , {}, ['' [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_initialization::write_user_log', , {}, ['' [fd] run(.. f:subroutine:: subroutine user_set_coord(Rlay, g_prime, GV, US, param_file, eqn_of_state)) [fd] sig(subroutine user_set_coord(Rlay, g_prime, GV, US, param_file, eqn_of_state)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_set_coord) arglist(Rlay, g_prime, GV, US, param_file, eqn_of_state) [fd] fullname(user_initialization/user_set_coord) ftype(None) [fd] name(('user_initialization/user_set_coord', None)) sig(subroutine user_set_coord(Rlay, g_prime, GV, US, param_file, eqn_of_state)) signode(subroutine user_initialization/user_set_coordRlayg_primeGVUSparam_fileeqn_of_state) [fd] run(.. f:subroutine:: subroutine user_initialize_topography(D, G, param_file, max_depth, US)) [fd] sig(subroutine user_initialize_topography(D, G, param_file, max_depth, US)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_initialize_topography) arglist(D, G, param_file, max_depth, US) [fd] fullname(user_initialization/user_initialize_topography) ftype(None) [fd] name(('user_initialization/user_initialize_topography', None)) sig(subroutine user_initialize_topography(D, G, param_file, max_depth, US)) signode(subroutine user_initialization/user_initialize_topographyDGparam_filemax_depthUS) [fd] run(.. f:subroutine:: subroutine user_initialize_thickness(h, G, GV, param_file, just_read_params)) [fd] sig(subroutine user_initialize_thickness(h, G, GV, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_initialize_thickness) arglist(h, G, GV, param_file, just_read_params) [fd] fullname(user_initialization/user_initialize_thickness) ftype(None) [fd] name(('user_initialization/user_initialize_thickness', None)) sig(subroutine user_initialize_thickness(h, G, GV, param_file, just_read_params)) signode(subroutine user_initialization/user_initialize_thicknesshGGVparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine user_initialize_velocity(u, v, G, US, param_file, just_read_params)) [fd] sig(subroutine user_initialize_velocity(u, v, G, US, param_file, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_initialize_velocity) arglist(u, v, G, US, param_file, just_read_params) [fd] fullname(user_initialization/user_initialize_velocity) ftype(None) [fd] name(('user_initialization/user_initialize_velocity', None)) sig(subroutine user_initialize_velocity(u, v, G, US, param_file, just_read_params)) signode(subroutine user_initialization/user_initialize_velocityuvGUSparam_filejust_read_params) [fd] run(.. f:subroutine:: subroutine user_init_temperature_salinity(T, S, G, param_file, eqn_of_state, just_read_params)) [fd] sig(subroutine user_init_temperature_salinity(T, S, G, param_file, eqn_of_state, just_read_params)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_init_temperature_salinity) arglist(T, S, G, param_file, eqn_of_state, just_read_params) [fd] fullname(user_initialization/user_init_temperature_salinity) ftype(None) [fd] name(('user_initialization/user_init_temperature_salinity', None)) sig(subroutine user_init_temperature_salinity(T, S, G, param_file, eqn_of_state, just_read_params)) signode(subroutine user_initialization/user_init_temperature_salinityTSGparam_fileeqn_of_statejust_read_params) [fd] run(.. f:subroutine:: subroutine user_initialize_sponges(G, GV, use_temp, tv, param_file, CSp, h)) [fd] sig(subroutine user_initialize_sponges(G, GV, use_temp, tv, param_file, CSp, h)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_initialize_sponges) arglist(G, GV, use_temp, tv, param_file, CSp, h) [fd] fullname(user_initialization/user_initialize_sponges) ftype(None) [fd] name(('user_initialization/user_initialize_sponges', None)) sig(subroutine user_initialize_sponges(G, GV, use_temp, tv, param_file, CSp, h)) signode(subroutine user_initialization/user_initialize_spongesGGVuse_temptvparam_fileCSph) [fd] run(.. f:subroutine:: subroutine user_set_obc_data(OBC, tv, G, param_file, tr_Reg)) [fd] sig(subroutine user_set_obc_data(OBC, tv, G, param_file, tr_Reg)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_set_obc_data) arglist(OBC, tv, G, param_file, tr_Reg) [fd] fullname(user_initialization/user_set_obc_data) ftype(None) [fd] name(('user_initialization/user_set_obc_data', None)) sig(subroutine user_set_obc_data(OBC, tv, G, param_file, tr_Reg)) signode(subroutine user_initialization/user_set_obc_dataOBCtvGparam_filetr_Reg) [fd] run(.. f:subroutine:: subroutine user_set_rotation(G, param_file)) [fd] sig(subroutine user_set_rotation(G, param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_set_rotation) arglist(G, param_file) [fd] fullname(user_initialization/user_set_rotation) ftype(None) [fd] name(('user_initialization/user_set_rotation', None)) sig(subroutine user_set_rotation(G, param_file)) signode(subroutine user_initialization/user_set_rotationGparam_file) [fd] run(.. f:subroutine:: subroutine write_user_log(param_file)) [fd] sig(subroutine write_user_log(param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(write_user_log) arglist(param_file) [fd] fullname(user_initialization/write_user_log) ftype(None) [fd] name(('user_initialization/write_user_log', None)) sig(subroutine write_user_log(param_file)) signode(subroutine user_initialization/write_user_logparam_file) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 76%] api/generated/modules/user_revise_forcing [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/user_revise_ [app] emitting event: 'source-read'('api/generated/modules/user_revise_forcing', ['.. autodoxymodule:: user_revise_forcing\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/user_revise_forcing.rst:1: input: .. autodoxymodule:: user_revise_forcing :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~user_revise_forcing::user_revise_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~user_revise_forcing::user_alter_forcing ~user_revise_forcing::user_revise_forcing_init [debug] xpath(./compounddef/compoundname[text()="user_revise_forcing"]/..) match([('id', 'namespaceuser__revise__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:user_revise_forcing module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_revise_forcing', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'user_revise_forcing' (exception was: ModuleNotFoundError("No module named 'user_revise_forcing'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'user_revise_forcing::user_revise_forcing_cs', , [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespaceuser__revise__forcing) kindref(compound) ref([]) [debug] ref([('id', 'namespaceuser__revise__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_revise_forcing::user_revise_forcing_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_revise_forcing::user_revise_forcing_cs', , [debug] members([('user_alter_forcing', ), ('user_revise_forcing_init', )]) [autodoc] module analyzer failed: error importing 'user_revise_forcing' (exception was: ModuleNotFoundError("No module named 'user_revise_forcing'")) [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, fluxes, day, G, CS)) [debug] add_directive_header sig((sfc_state, fluxes, day, G, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine user_alter_forcing) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_alter_forcing', , {'members': , {'members': ]) [debug] ref([('id', 'namespaceuser__revise__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_revise_forcing_init', , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~user_revise_forcing::user_revise_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~user_revise_forcing::user_alter_forcing ~user_revise_forcing::user_revise_forcing_init .. _DETAuser_revise_forcing: -------------------- Detailed Description -------------------- Provides a template for users to code updating the forcing fluxes. ------------------ Type Documentation ------------------ .. f:type:: user_revise_forcing_cs Control structure for :f:func:`user_revise_forcing`. . :typefield real cdrag: The quadratic bottom drag coefficient. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine user_alter_forcing(sfc_state, fluxes, day, G, CS) This subroutine sets the surface wind stresses. :param sfc_state: [in] A structure containing fields that describe the surface state of the ocean. :param fluxes: [inout] A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs. :param day: [in] Time of the fluxes. :param g: [in] The ocean's grid structure. :param cs: A pointer to the control structure returned by a previous call to surface_forcing_init. .. f:subroutine:: subroutine user_revise_forcing_init(param_file, CS) Initialize the :f:func:`user_revise_forcing` control structure. control structure. :param param_file: [in] A structure indicating the open file to parse for model parameter values. :param cs: A pointer to the control structure returned by a previous call to surface_forcing_init. :callto: :f:func:`mdl ` [debug] xpath(./compounddef/compoundname[text()="user_revise_forcing::user_revise_forcing_cs"]/..) match([('id', 'structuser__revise__forcing_1_1user__revise__forcing__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespaceuser__revise__forcing) kindref(compound) ref([]) [debug] ref([('id', 'namespaceuser__revise__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_revise_forcing::user_revise_forcing_cs', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_revise_forcing::user_alter_forcing', , {}, [debug] DoxygenMethodDocumenter format_signature called ((param_file, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespaceuser__revise__forcing) kindref(compound) ref([]) [debug] ref([('id', 'namespaceuser__revise__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_revise_forcing::user_revise_forcing_init', type user_revise_forcing/user_revise_forcing_cs) [fd] run(.. f:subroutine:: subroutine user_alter_forcing(sfc_state, fluxes, day, G, CS)) [fd] sig(subroutine user_alter_forcing(sfc_state, fluxes, day, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_alter_forcing) arglist(sfc_state, fluxes, day, G, CS) [fd] fullname(user_revise_forcing/user_alter_forcing) ftype(None) [fd] name(('user_revise_forcing/user_alter_forcing', None)) sig(subroutine user_alter_forcing(sfc_state, fluxes, day, G, CS)) signode(subroutine user_revise_forcing/user_alter_forcingsfc_statefluxesdayGCS) [fd] run(.. f:subroutine:: subroutine user_revise_forcing_init(param_file, CS)) [fd] sig(subroutine user_revise_forcing_init(param_file, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_revise_forcing_init) arglist(param_file, CS) [fd] fullname(user_revise_forcing/user_revise_forcing_init) ftype(None) [fd] name(('user_revise_forcing/user_revise_forcing_init', None)) sig(subroutine user_revise_forcing_init(param_file, CS)) signode(subroutine user_revise_forcing/user_revise_forcing_initparam_fileCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [app] emitting event: 'doctree-read'(>,) reading sources... [ 76%] api/generated/modules/user_shelf_init [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/user_shelf_i [app] emitting event: 'source-read'('api/generated/modules/user_shelf_init', ['.. autodoxymodule:: user_shelf_init\n :members:\n :m [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/user_shelf_init.rst:1: input: .. autodoxymodule:: user_shelf_init :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~user_shelf_init::user_ice_shelf_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~user_shelf_init::user_initialize_shelf_mass ~user_shelf_init::user_init_ice_thickness ~user_shelf_init::user_update_shelf_mass ~user_shelf_init::write_user_log [debug] xpath(./compounddef/compoundname[text()="user_shelf_init"]/..) match([('id', 'namespaceuser__shelf__init'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:user_shelf_init module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_shelf_init', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'user_shelf_init' (exception was: ModuleNotFoundError("No module named 'user_shelf_init'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'user_shelf_init::user_ice_shelf_cs', , {'member [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_shelf_init::user_ice_shelf_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_shelf_init::user_ice_shelf_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_shelf_init::user_ice_shelf_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_shelf_init::user_ice_shelf_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_shelf_init::user_ice_shelf_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_shelf_init::user_ice_shelf_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_shelf_init::user_ice_shelf_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_shelf_init::user_ice_shelf_cs', , {'member [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_shelf_init::user_ice_shelf_cs', , {'member [debug] members([('user_initialize_shelf_mass', ), ('user_init_ice_thickness', ), ('user_update_shelf_mass', ), ('write_user_log', )]) [autodoc] module analyzer failed: error importing 'user_shelf_init' (exception was: ModuleNotFoundError("No module named 'user_shelf_init'")) [debug] DoxygenMethodDocumenter format_signature called ((mass_shelf, area_shelf_h, h_shelf, hmask, G, US, CS, param_file, new_sim)) [debug] add_directive_header sig((mass_shelf, area_shelf_h, h_shelf, hmask, G, US, CS, param_file, new_sim)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine user_initialize_shelf_mass) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_initialize_shelf_mass', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~user_shelf_init::user_ice_shelf_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~user_shelf_init::user_initialize_shelf_mass ~user_shelf_init::user_init_ice_thickness ~user_shelf_init::user_update_shelf_mass ~user_shelf_init::write_user_log .. _DETAuser_shelf_init: -------------------- Detailed Description -------------------- This module specifies the initial values and evolving properties of the MOM6 ice shelf, using user-provided code. ------------------ Type Documentation ------------------ .. f:type:: user_ice_shelf_cs The control structure for the user_ice_shelf module. :typefield real rho_ocean: The ocean's typical density [R ~> kg m-3]. :typefield real max_draft: The maximum ocean draft of the ice shelf [Z ~> m]. :typefield real min_draft: The minimum ocean draft of the ice shelf [Z ~> m]. :typefield real flat_shelf_width: The range over which the shelf is min_draft thick [km]. :typefield real shelf_slope_scale: The range over which the shelf slopes [km]. :typefield real pos_shelf_edge_0: The x-position of the shelf edge at time 0 [km]. :typefield real shelf_speed: The ice shelf speed of translation [km day-1]. :typefield logical first_call: If true, this module has not been called before. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine user_initialize_shelf_mass(mass_shelf, area_shelf_h, h_shelf, hmask, G, US, CS, param_file, new_sim) This subroutine sets up the initial mass and area covered by the ice shelf, based on user-provided code. :param g: [in] The ocean's grid structure :param mass_shelf: [out] The ice shelf mass per unit area averaged :param h_shelf: [out] The ice shelf thickness [Z ~> m]. :param area_shelf_h: [out] The area per cell covered by the ice shelf [L2 ~> m2]. :param hmask: [out] A mask indicating which tracer points are :param us: [in] A structure containing unit conversion factors :param cs: A pointer to the user ice shelf control structure :param param_file: [in] A structure to parse for run-time parameters :param new_sim: [in] If true, this is a new run; otherwise it is being started from a restart file. :callto: :f:func:`user_update_shelf_mass ` :callto: :f:func:`write_user_log ` :calledfrom: :f:func:`user_init_ice_thickness ` .. f:subroutine:: subroutine user_init_ice_thickness(h_shelf, area_shelf_h, hmask, G, US, param_file) This subroutine updates the ice shelf thickness, as specified by user-provided code. :param g: [in] The ocean's grid structure :param h_shelf: [out] The ice shelf thickness [m]. :param area_shelf_h: [out] The area per cell covered by the ice shelf [L2 ~> m2]. :param hmask: [out] A mask indicating which tracer points are :param us: [in] A structure containing unit conversion factors :param param_file: [in] A structure to parse for run-time parameters :callto: :f:func:`user_initialize_shelf_mass ` :calledfrom: :f:func:`mom_ice_shelf_initialize::initialize_ice_thickness ` .. f:subroutine:: subroutine user_update_shelf_mass(mass_shelf, area_shelf_h, h_shelf, hmask, G, CS, Time, new_sim) This subroutine updates the ice shelf mass, as specified by user-provided code. :param g: [in] The ocean's grid structure :param mass_shelf: [inout] The ice shelf mass per unit area averaged :param area_shelf_h: [inout] The area per cell covered by the ice shelf [L2 ~> m2]. :param h_shelf: [inout] The ice shelf thickness [Z ~> m]. :param hmask: [inout] A mask indicating which tracer points are :param cs: A pointer to the user ice shelf control structure :param time: [in] The current model time :param new_sim: [in] If true, this the start of a new run. :calledfrom: :f:func:`user_initialize_shelf_mass ` .. f:subroutine:: subroutine write_user_log(param_file) This subroutine writes out the user ice shelf code version number to the model log. :param param_file: [in] A structure to parse for run-time parameters :calledfrom: :f:func:`user_initialize_shelf_mass ` [debug] xpath(./compounddef/compoundname[text()="user_shelf_init::user_ice_shelf_cs"]/..) match([('id', 'structuser__shelf__init_1_1user__ice__shelf__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_shelf_init::user_ice_shelf_cs', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_shelf_init::user_ice_shelf_cs', , {}, [' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_shelf_init::user_ice_shelf_cs', , {}, [' [debug] DoxygenMethodDocumenter format_signature called ((mass_shelf, area_shelf_h, h_shelf, hmask, G, US, CS, param_file, new_sim)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_shelf_init::user_initialize_shelf_mass', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_shelf_init::user_initialize_shelf_mass', , [debug] DoxygenMethodDocumenter format_signature called ((h_shelf, area_shelf_h, hmask, G, US, param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_shelf_init::user_init_ice_thickness', , {} [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_shelf_init::user_init_ice_thickness', , {} [debug] DoxygenMethodDocumenter format_signature called ((mass_shelf, area_shelf_h, h_shelf, hmask, G, CS, Time, new_sim)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_shelf_init::user_update_shelf_mass', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_shelf_init::user_update_shelf_mass', , {}, [debug] DoxygenMethodDocumenter format_signature called ((param_file)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_shelf_init::write_user_log', , {}, ['', 'T [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_shelf_init::write_user_log', , {}, ['', 'T [fd] run(.. f:type:: user_ice_shelf_cs) [fd] sig(user_ice_shelf_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(user_ice_shelf_cs) arglist(None) [fd] fullname(user_shelf_init/user_ice_shelf_cs) ftype(None) [fd] name(('user_shelf_init/user_ice_shelf_cs', None)) sig(user_ice_shelf_cs) signode(type user_shelf_init/user_ice_shelf_cs) [fd] run(.. f:subroutine:: subroutine user_initialize_shelf_mass(mass_shelf, area_shelf_h, h_shelf, hmask, G, US, CS, param_file, new_sim)) [fd] sig(subroutine user_initialize_shelf_mass(mass_shelf, area_shelf_h, h_shelf, hmask, G, US, CS, param_file, new_sim)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_initialize_shelf_mass) arglist(mass_shelf, area_shelf_h, h_shelf, hmask, G, US, CS, param_file, new_sim) [fd] fullname(user_shelf_init/user_initialize_shelf_mass) ftype(None) [fd] name(('user_shelf_init/user_initialize_shelf_mass', None)) sig(subroutine user_initialize_shelf_mass(mass_shelf, area_shelf_h, h_shelf, hmask, G, US, CS, param_file, new_sim)) signode(subroutine user_shelf_init/user_initialize_shelf_massmass_shelfarea_shelf_hh_shelfhmaskGUSCSparam_filenew_sim) [fd] run(.. f:subroutine:: subroutine user_init_ice_thickness(h_shelf, area_shelf_h, hmask, G, US, param_file)) [fd] sig(subroutine user_init_ice_thickness(h_shelf, area_shelf_h, hmask, G, US, param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_init_ice_thickness) arglist(h_shelf, area_shelf_h, hmask, G, US, param_file) [fd] fullname(user_shelf_init/user_init_ice_thickness) ftype(None) [fd] name(('user_shelf_init/user_init_ice_thickness', None)) sig(subroutine user_init_ice_thickness(h_shelf, area_shelf_h, hmask, G, US, param_file)) signode(subroutine user_shelf_init/user_init_ice_thicknessh_shelfarea_shelf_hhmaskGUSparam_file) [fd] run(.. f:subroutine:: subroutine user_update_shelf_mass(mass_shelf, area_shelf_h, h_shelf, hmask, G, CS, Time, new_sim)) [fd] sig(subroutine user_update_shelf_mass(mass_shelf, area_shelf_h, h_shelf, hmask, G, CS, Time, new_sim)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_update_shelf_mass) arglist(mass_shelf, area_shelf_h, h_shelf, hmask, G, CS, Time, new_sim) [fd] fullname(user_shelf_init/user_update_shelf_mass) ftype(None) [fd] name(('user_shelf_init/user_update_shelf_mass', None)) sig(subroutine user_update_shelf_mass(mass_shelf, area_shelf_h, h_shelf, hmask, G, CS, Time, new_sim)) signode(subroutine user_shelf_init/user_update_shelf_massmass_shelfarea_shelf_hh_shelfhmaskGCSTimenew_sim) [fd] run(.. f:subroutine:: subroutine write_user_log(param_file)) [fd] sig(subroutine write_user_log(param_file)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(write_user_log) arglist(param_file) [fd] fullname(user_shelf_init/write_user_log) ftype(None) [fd] name(('user_shelf_init/write_user_log', None)) sig(subroutine write_user_log(param_file)) signode(subroutine user_shelf_init/write_user_logparam_file) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 77%] api/generated/modules/user_surface_forcing [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/user_surface [app] emitting event: 'source-read'('api/generated/modules/user_surface_forcing', ['.. autodoxymodule:: user_surface_forcing\n :membe [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/user_surface_forcing.rst:1: input: .. autodoxymodule:: user_surface_forcing :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~user_surface_forcing::user_surface_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~user_surface_forcing::user_wind_forcing ~user_surface_forcing::user_buoyancy_forcing ~user_surface_forcing::user_surface_forcing_init [debug] xpath(./compounddef/compoundname[text()="user_surface_forcing"]/..) match([('id', 'namespaceuser__surface__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:user_surface_forcing module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_surface_forcing', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'user_surface_forcing' (exception was: ModuleNotFoundError("No module named 'user_surface_forcing'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'user_surface_forcing::user_surface_forcing_cs', ), ('user_buoyancy_forcing', ), ('user_surface_forcing_init', )]) [autodoc] module analyzer failed: error importing 'user_surface_forcing' (exception was: ModuleNotFoundError("No module named 'user_surface_forcing'")) [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, forces, day, G, US, CS)) [debug] add_directive_header sig((sfc_state, forces, day, G, US, CS)) [debug] DoxygenMethodDocumenter directive(subroutine) name(subroutine user_wind_forcing) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_wind_forcing', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~user_surface_forcing::user_surface_forcing_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~user_surface_forcing::user_wind_forcing ~user_surface_forcing::user_buoyancy_forcing ~user_surface_forcing::user_surface_forcing_init .. _DETAuser_surface_forcing: -------------------- Detailed Description -------------------- Template for user to code up surface forcing. ------------------ Type Documentation ------------------ .. f:type:: user_surface_forcing_cs This control structure should be used to store any run-time variables associated with the user-specified forcing. :typefield logical use_temperature: If true, temperature and salinity are used as state variables. :typefield logical restorebuoy: If true, use restoring surface buoyancy forcing. :typefield real rho0: The density used in the Boussinesq approximation [R ~> kg m-3]. :typefield real g_earth: The gravitational acceleration [L2 Z-1 s-2 ~> m s-2]. :typefield real flux_const: The restoring rate at the surface [Z T-1 ~> m s-1]. :typefield real gust_const: A constant unresolved background gustiness that contributes to ustar [R L Z T-1 ~> Pa]. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:subroutine:: subroutine user_wind_forcing(sfc_state, forces, day, G, US, CS) This subroutine sets the surface wind stresses, forcestaux and forcestauy, in [R Z L T-2 ~> Pa]. These are the stresses in the direction of the model grid (i.e. the same direction as the u- and v- velocities). :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param forces: [inout] A structure with the driving mechanical forces :param day: [in] The time of the fluxes :param g: [inout] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: A pointer to the control structure returned by a previous call to user_surface_forcing_init :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine user_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS) This subroutine specifies the current surface fluxes of buoyancy or temperature and fresh water. It may also be modified to add surface fluxes of user provided tracers. :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param fluxes: [inout] A structure containing thermodynamic forcing fields :param day: [in] The time of the fluxes :param dt: [in] The amount of time over which the fluxes apply [s] :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param cs: A pointer to the control structure returned by a previous call to user_surface_forcing_init :callto: :f:func:`mom_error_handler::mom_error ` .. f:subroutine:: subroutine user_surface_forcing_init(Time, G, US, param_file, diag, CS) This subroutine initializes the USER_surface_forcing module. :param time: [in] The current model time :param g: [in] The ocean's grid structure :param us: [in] A dimensional unit scaling type :param param_file: [in] A structure to parse for run-time parameters :param diag: [in] A structure that is used to regulate diagnostic output. :param cs: A pointer that is set to point to the control structure for this module :callto: :f:func:`mom_error_handler::mom_error ` :calledfrom: :f:func:`mom_surface_forcing::surface_forcing_init ` [debug] xpath(./compounddef/compoundname[text()="user_surface_forcing::user_surface_forcing_cs"]/..) match([('id', 'structuser__surface__forcing_1_1user__surface__forcing__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_surface_forcing::user_surface_forcing_cs', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_surface_forcing::user_wind_forcing', , {}, [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, fluxes, day, dt, G, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_surface_forcing::user_buoyancy_forcing', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_surface_forcing::user_buoyancy_forcing', , [debug] DoxygenMethodDocumenter format_signature called ((Time, G, US, param_file, diag, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_surface_forcing::user_surface_forcing_init', type user_surface_forcing/user_surface_forcing_cs) [fd] run(.. f:subroutine:: subroutine user_wind_forcing(sfc_state, forces, day, G, US, CS)) [fd] sig(subroutine user_wind_forcing(sfc_state, forces, day, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_wind_forcing) arglist(sfc_state, forces, day, G, US, CS) [fd] fullname(user_surface_forcing/user_wind_forcing) ftype(None) [fd] name(('user_surface_forcing/user_wind_forcing', None)) sig(subroutine user_wind_forcing(sfc_state, forces, day, G, US, CS)) signode(subroutine user_surface_forcing/user_wind_forcingsfc_stateforcesdayGUSCS) [fd] run(.. f:subroutine:: subroutine user_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS)) [fd] sig(subroutine user_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_buoyancy_forcing) arglist(sfc_state, fluxes, day, dt, G, US, CS) [fd] fullname(user_surface_forcing/user_buoyancy_forcing) ftype(None) [fd] name(('user_surface_forcing/user_buoyancy_forcing', None)) sig(subroutine user_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS)) signode(subroutine user_surface_forcing/user_buoyancy_forcingsfc_statefluxesdaydtGUSCS) [fd] run(.. f:subroutine:: subroutine user_surface_forcing_init(Time, G, US, param_file, diag, CS)) [fd] sig(subroutine user_surface_forcing_init(Time, G, US, param_file, diag, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_surface_forcing_init) arglist(Time, G, US, param_file, diag, CS) [fd] fullname(user_surface_forcing/user_surface_forcing_init) ftype(None) [fd] name(('user_surface_forcing/user_surface_forcing_init', None)) sig(subroutine user_surface_forcing_init(Time, G, US, param_file, diag, CS)) signode(subroutine user_surface_forcing/user_surface_forcing_initTimeGUSparam_filediagCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 77%] api/generated/modules/user_tracer_example [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/user_tracer_ [app] emitting event: 'source-read'('api/generated/modules/user_tracer_example', ['.. autodoxymodule:: user_tracer_example\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/user_tracer_example.rst:1: input: .. autodoxymodule:: user_tracer_example :members: :methods: :types: ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~user_tracer_example::user_tracer_example_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~user_tracer_example::user_register_tracer_example ~user_tracer_example::user_initialize_tracer ~user_tracer_example::tracer_column_physics ~user_tracer_example::user_tracer_stock ~user_tracer_example::user_tracer_surface_state ~user_tracer_example::user_tracer_example_end [debug] xpath(./compounddef/compoundname[text()="user_tracer_example"]/..) match([('id', 'namespaceuser__tracer__example'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:user_tracer_example module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_tracer_example', , {'members': , {'members': , {'members': )]) [autodoc] module analyzer failed: error importing 'user_tracer_example' (exception was: ModuleNotFoundError("No module named 'user_tracer_example'")) [app] emitting event: 'autodoc-process-signature'('doxytype', 'user_tracer_example::user_tracer_example_cs', , [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_tracer_example::user_tracer_example_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_tracer_example::user_tracer_example_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_tracer_example::user_tracer_example_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_tracer_example::user_tracer_example_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_tracer_example::user_tracer_example_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_tracer_example::user_tracer_example_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_tracer_example::user_tracer_example_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_tracer_example::user_tracer_example_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_tracer_example::user_tracer_example_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_tracer_example::user_tracer_example_cs', , [app] emitting event: 'autodoc-process-docstring'('doxytype', 'user_tracer_example::user_tracer_example_cs', , [debug] members([('user_register_tracer_example', ), ('user_initialize_tracer', ), ('tracer_column_physics', ), ('user_tracer_stock', ), ('user_tracer_surface_state', ), ('user_tracer_example_end', )]) [autodoc] module analyzer failed: error importing 'user_tracer_example' (exception was: ModuleNotFoundError("No module named 'user_tracer_example'")) [debug] DoxygenMethodDocumenter format_signature called ((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] add_directive_header sig((HI, GV, param_file, CS, tr_Reg, restart_CS)) [debug] DoxygenMethodDocumenter directive(function) name(logical function user_register_tracer_example) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_register_tracer_example', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ ---------- Data Types ---------- .. autodoxysummary:: :kind: type ~user_tracer_example::user_tracer_example_cs --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~user_tracer_example::user_register_tracer_example ~user_tracer_example::user_initialize_tracer ~user_tracer_example::tracer_column_physics ~user_tracer_example::user_tracer_stock ~user_tracer_example::user_tracer_surface_state ~user_tracer_example::user_tracer_example_end .. _DETAuser_tracer_example: -------------------- Detailed Description -------------------- Original by Robert Hallberg, 2002 This file contains an example of the code that is needed to set up and use a set (in this case one) of dynamically passive tracers. A single subroutine is called from within each file to register each of the tracers for reinitialization and advection and to register the subroutine that initializes the tracers and set up their output and the subroutine that does any tracer physics or chemistry along with diapycnal mixing (included here because some tracers may float or swim vertically or dye diapycnal processes). ------------------ Type Documentation ------------------ .. f:type:: user_tracer_example_cs The control structure for the USER_tracer_example module. :typefield logical coupled_tracers: These tracers are not offered to the coupler. :typefield character (len=200) tracer_ic_file: The full path to the IC file, or " " to initialize internally. :typefield type(time_type) time [pointer]: A pointer to the ocean model's clock. :typefield type(tracer_registry_type) tr_reg [pointer]: A pointer to the tracer registry. :typefield real(\:,\:,\:,\:) tr [pointer]: The array of tracers used in this subroutine, in g m-3? :typefield real( ntr ) land_val: The value of tr that is used where land is masked out. :typefield logical use_sponge: If true, sponges may be applied somewhere in the domain. :typefield integer( ntr ) ind_tr: Indices returned by aof_set_coupler_flux if it is used and the surface tracer concentrations are to be provided to the coupler. :typefield type(diag_ctrl) diag [pointer]: A structure that is used to regulate the timing of diagnostic output. :typefield type(vardesc)( ntr ) tr_desc: Descriptions of each of the tracers. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: logical function user_register_tracer_example(HI, GV, param_file, CS, tr_Reg, restart_CS) This subroutine is used to register tracer fields and subroutines to be used with MOM. :param hi: [in] A horizontal index type structure :param gv: [in] The ocean's vertical grid structure :param param_file: [in] A structure to parse for run-time parameters :param cs: A pointer that is set to point to the control structure for this module :param tr_reg: A pointer that is set to point to the control structure for the tracer advection and diffusion module :param restart_cs: A pointer to the restart control structure :callto: :f:func:`atmos_ocean_fluxes_mod::aof_set_coupler_flux ` :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ntr ` :callto: :f:func:`mom_tracer_registry::register_tracer ` :callto: :f:func:`mom_io::var_desc ` .. f:subroutine:: subroutine user_initialize_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp) This subroutine initializes the NTR tracer fields in tr(:,:,:,:) and it sets up the tracer output. :param restart: [in] .true. if the fields have already been read from a restart file. :param day: [in] Time of the start of the run. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param diag: [in] A structure that is used to regulate diagnostic output. :param obc: This open boundary condition type specifies whether, where, and what open boundary conditions are used. :param cs: The control structure returned by a previous call to USER_register_tracer_example. :param sponge_csp: A pointer to the control structure for the sponges, if they are in use. :callto: :f:func:`mom_error_handler::mom_error ` :callto: :f:func:`ntr ` :callto: :f:func:`mom_io::query_vardesc ` :callto: :f:func:`mom_sponge::set_up_sponge_field ` .. f:subroutine:: subroutine tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS) This subroutine applies diapycnal diffusion and any other column tracer physics or chemistry to the tracers from this file. This is a simple example of a set of advected passive tracers. The arguments to this subroutine are redundant in that h_new(k) = h_old(k) + ea(k) - eb(k-1) + eb(k) - ea(k+1) :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h_old: [in] Layer thickness before entrainment [H ~> m or kg m-2]. :param h_new: [in] Layer thickness after entrainment [H ~> m or kg m-2]. :param ea: [in] an array to which the amount of fluid entrained :param eb: [in] an array to which the amount of fluid entrained :param fluxes: [in] A structure containing pointers to thermodynamic and tracer forcing fields. Unused fields have NULL ptrs. :param dt: [in] The amount of time covered by this call [T ~> s] :param us: [in] A dimensional unit scaling type :param cs: The control structure returned by a previous call to USER_register_tracer_example. :callto: :f:func:`ntr ` .. f:function:: integer function user_tracer_stock(h, stocks, G, GV, CS, names, units, stock_index) This function calculates the mass-weighted integral of all tracer stocks, returning the number of stocks it has calculated. If the stock_index is present, only the stock corresponding to that coded index is returned. :param g: [in] The ocean's grid structure :param gv: [in] The ocean's vertical grid structure :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param stocks: [out] the mass-weighted integrated amount of each tracer, in kg times concentration units [kg conc]. :param cs: The control structure returned by a previous call to register_USER_tracer. :param names: [out] The names of the stocks calculated. :param units: [out] The units of the stocks calculated. :param stock_index: [in] The coded index of a specific stock being sought. :returns undefined: Return value: the number of stocks calculated here. :callto: :f:func:`ntr ` :callto: :f:func:`mom_io::query_vardesc ` .. f:subroutine:: subroutine user_tracer_surface_state(sfc_state, h, G, CS) This subroutine extracts the surface fields from this tracer package that are to be shared with the atmosphere in coupled configurations. :param g: [in] The ocean's grid structure :param sfc_state: [inout] A structure containing fields that describe the surface state of the ocean. :param h: [in] Layer thicknesses [H ~> m or kg m-2] :param cs: The control structure returned by a previous call to register_USER_tracer. :callto: :f:func:`ntr ` .. f:subroutine:: subroutine user_tracer_example_end(CS) Clean up allocated memory at the end. :param cs: The control structure returned by a previous call to register_USER_tracer. [debug] xpath(./compounddef/compoundname[text()="user_tracer_example::user_tracer_example_cs"]/..) match([('id', 'structuser__tracer__example_1_1user__tracer__example__cs'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_tracer_example::user_tracer_example_cs', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_tracer_example::user_initialize_tracer', , [debug] DoxygenMethodDocumenter format_signature called ((h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_tracer_example::tracer_column_physics', , [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_tracer_example::tracer_column_physics', , [debug] DoxygenMethodDocumenter format_signature called ((h, stocks, G, GV, CS, names, units, stock_index)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_tracer_example::user_tracer_stock', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_tracer_example::user_tracer_stock', , {}, [debug] DoxygenMethodDocumenter format_signature called ((sfc_state, h, G, CS)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_tracer_example::user_tracer_surface_state', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'user_tracer_example::user_tracer_example_end', [fd] run(.. f:type:: user_tracer_example_cs) [fd] sig(user_tracer_example_cs) [fd] ftype(None) objtype(None) modname(None) typename() name(user_tracer_example_cs) arglist(None) [fd] fullname(user_tracer_example/user_tracer_example_cs) ftype(None) [fd] name(('user_tracer_example/user_tracer_example_cs', None)) sig(user_tracer_example_cs) signode(type user_tracer_example/user_tracer_example_cs) [fd] run(.. f:function:: logical function user_register_tracer_example(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] sig(logical function user_register_tracer_example(HI, GV, param_file, CS, tr_Reg, restart_CS)) [fd] ftype(logical) objtype(function) modname(None) typename() name(user_register_tracer_example) arglist(HI, GV, param_file, CS, tr_Reg, restart_CS) [fd] fullname(user_tracer_example/user_register_tracer_example) ftype(logical) [fd] name(('user_tracer_example/user_register_tracer_example', 'logical')) sig(logical function user_register_tracer_example(HI, GV, param_file, CS, tr_Reg, restart_CS)) signode(function user_tracer_example/user_register_tracer_exampleHIGVparam_fileCStr_Regrestart_CS [logical]) [fd] run(.. f:subroutine:: subroutine user_initialize_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp)) [fd] sig(subroutine user_initialize_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_initialize_tracer) arglist(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp) [fd] fullname(user_tracer_example/user_initialize_tracer) ftype(None) [fd] name(('user_tracer_example/user_initialize_tracer', None)) sig(subroutine user_initialize_tracer(restart, day, G, GV, h, diag, OBC, CS, sponge_CSp)) signode(subroutine user_tracer_example/user_initialize_tracerrestartdayGGVhdiagOBCCSsponge_CSp) [fd] run(.. f:subroutine:: subroutine tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS)) [fd] sig(subroutine tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(tracer_column_physics) arglist(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS) [fd] fullname(user_tracer_example/tracer_column_physics) ftype(None) [fd] name(('user_tracer_example/tracer_column_physics', None)) sig(subroutine tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS)) signode(subroutine user_tracer_example/tracer_column_physicsh_oldh_neweaebfluxesdtGGVUSCS) [fd] run(.. f:function:: integer function user_tracer_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] sig(integer function user_tracer_stock(h, stocks, G, GV, CS, names, units, stock_index)) [fd] ftype(integer) objtype(function) modname(None) typename() name(user_tracer_stock) arglist(h, stocks, G, GV, CS, names, units, stock_index) [fd] fullname(user_tracer_example/user_tracer_stock) ftype(integer) [fd] name(('user_tracer_example/user_tracer_stock', 'integer')) sig(integer function user_tracer_stock(h, stocks, G, GV, CS, names, units, stock_index)) signode(function user_tracer_example/user_tracer_stockhstocksGGVCSnamesunitsstock_index [integer]) [fd] run(.. f:subroutine:: subroutine user_tracer_surface_state(sfc_state, h, G, CS)) [fd] sig(subroutine user_tracer_surface_state(sfc_state, h, G, CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_tracer_surface_state) arglist(sfc_state, h, G, CS) [fd] fullname(user_tracer_example/user_tracer_surface_state) ftype(None) [fd] name(('user_tracer_example/user_tracer_surface_state', None)) sig(subroutine user_tracer_surface_state(sfc_state, h, G, CS)) signode(subroutine user_tracer_example/user_tracer_surface_statesfc_statehGCS) [fd] run(.. f:subroutine:: subroutine user_tracer_example_end(CS)) [fd] sig(subroutine user_tracer_example_end(CS)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(user_tracer_example_end) arglist(CS) [fd] fullname(user_tracer_example/user_tracer_example_end) ftype(None) [fd] name(('user_tracer_example/user_tracer_example_end', None)) sig(subroutine user_tracer_example_end(CS)) signode(subroutine user_tracer_example/user_tracer_example_endCS) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Type fields [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Call to [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 77%] api/generated/modules/write_ocean_obs_mod [app] emitting event: 'env-purge-doc'(, 'api/generated/modules/write_ocean_ [app] emitting event: 'source-read'('api/generated/modules/write_ocean_obs_mod', ['.. autodoxymodule:: write_ocean_obs_mod\n :members [autodoc] /home/cermak/src/MOM6.devrob/docs/api/generated/modules/write_ocean_obs_mod.rst:1: input: .. autodoxymodule:: write_ocean_obs_mod :members: :methods: --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~write_ocean_obs_mod::open_profile_file ~write_ocean_obs_mod::write_profile ~write_ocean_obs_mod::close_profile_file ~write_ocean_obs_mod::write_ocean_obs_init [debug] xpath(./compounddef/compoundname[text()="write_ocean_obs_mod"]/..) match([('id', 'namespacewrite__ocean__obs__mod'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] add_title:write_ocean_obs_mod module reference [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'write_ocean_obs_mod', , {'members': , {'members': , {'members': ), ('write_profile', ), ('close_profile_file', ), ('write_ocean_obs_init', )]) [autodoc] module analyzer failed: error importing 'write_ocean_obs_mod' (exception was: ModuleNotFoundError("No module named 'write_ocean_obs_mod'")) [debug] DoxygenMethodDocumenter format_signature called ((name, nvar, grid_lon, grid_lat, thread, fset)) [debug] add_directive_header sig((name, nvar, grid_lon, grid_lat, thread, fset)) [debug] DoxygenMethodDocumenter directive(function) name(integer function open_profile_file) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_parameterlist [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'open_profile_file', , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': , {'members': `_ --------------------- Functions/Subroutines --------------------- .. autodoxysummary:: :kind: func ~write_ocean_obs_mod::open_profile_file ~write_ocean_obs_mod::write_profile ~write_ocean_obs_mod::close_profile_file ~write_ocean_obs_mod::write_ocean_obs_init .. _DETAwrite_ocean_obs_mod: -------------------- Detailed Description -------------------- Dummy interfaces for writing ODA data. --------------------------------- Function/Subroutine Documentation --------------------------------- .. f:function:: integer function open_profile_file(name, nvar, grid_lon, grid_lat, thread, fset) Open a profile file. :param name: [in] File name :param nvar: [in] Number of variables :param grid_lon: [in] Longitude [degreeE] :param grid_lat: [in] Latitude [degreeN] :param thread: [in] Thread number :param fset: [in] File set .. f:subroutine:: subroutine write_profile(unit, profile) Write a profile. :param unit: [in] File unit :param profile: [in] Profile to write :calledfrom: :f:func:`mom_oda_driver_mod::save_obs_diff ` .. f:subroutine:: subroutine close_profile_file(unit) Close a profile file. :param unit: [in] File unit :calledfrom: :f:func:`mom_oda_driver_mod::save_obs_diff ` .. f:subroutine:: subroutine write_ocean_obs_init() Initialize write_ocean_obs module. [debug] DoxygenMethodDocumenter format_signature called ((name, nvar, grid_lon, grid_lat, thread, fset)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'write_ocean_obs_mod::open_profile_file', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'write_ocean_obs_mod::open_profile_file', , {}, [debug] DoxygenMethodDocumenter format_signature called ((unit, profile)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'write_ocean_obs_mod::write_profile', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'write_ocean_obs_mod::write_profile', , {}, ['', [debug] DoxygenMethodDocumenter format_signature called ((unit)) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'write_ocean_obs_mod::close_profile_file', , {}, [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'write_ocean_obs_mod::close_profile_file', , {}, [debug] DoxygenMethodDocumenter format_signature called (()) [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'write_ocean_obs_mod::write_ocean_obs_init', , { [app] emitting event: 'autodoc-process-docstring'('doxymethod', 'write_ocean_obs_mod::write_ocean_obs_init', , { [fd] run(.. f:function:: integer function open_profile_file(name, nvar, grid_lon, grid_lat, thread, fset)) [fd] sig(integer function open_profile_file(name, nvar, grid_lon, grid_lat, thread, fset)) [fd] ftype(integer) objtype(function) modname(None) typename() name(open_profile_file) arglist(name, nvar, grid_lon, grid_lat, thread, fset) [fd] fullname(write_ocean_obs_mod/open_profile_file) ftype(integer) [fd] name(('write_ocean_obs_mod/open_profile_file', 'integer')) sig(integer function open_profile_file(name, nvar, grid_lon, grid_lat, thread, fset)) signode(function write_ocean_obs_mod/open_profile_filenamenvargrid_longrid_latthreadfset [integer]) [fd] run(.. f:subroutine:: subroutine write_profile(unit, profile)) [fd] sig(subroutine write_profile(unit, profile)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(write_profile) arglist(unit, profile) [fd] fullname(write_ocean_obs_mod/write_profile) ftype(None) [fd] name(('write_ocean_obs_mod/write_profile', None)) sig(subroutine write_profile(unit, profile)) signode(subroutine write_ocean_obs_mod/write_profileunitprofile) [fd] run(.. f:subroutine:: subroutine close_profile_file(unit)) [fd] sig(subroutine close_profile_file(unit)) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(close_profile_file) arglist(unit) [fd] fullname(write_ocean_obs_mod/close_profile_file) ftype(None) [fd] name(('write_ocean_obs_mod/close_profile_file', None)) sig(subroutine close_profile_file(unit)) signode(subroutine write_ocean_obs_mod/close_profile_fileunit) [fd] run(.. f:subroutine:: subroutine write_ocean_obs_init()) [fd] sig(subroutine write_ocean_obs_init()) [fd] ftype(None) objtype(subroutine) modname(None) typename() name(write_ocean_obs_init) arglist() [fd] fullname(write_ocean_obs_mod/write_ocean_obs_init) ftype(None) [fd] name(('write_ocean_obs_mod/write_ocean_obs_init', None)) sig(subroutine write_ocean_obs_init()) signode(subroutine write_ocean_obs_mod/write_ocean_obs_init) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Called from [app] emitting event: 'doctree-read'(>,) reading sources... [ 78%] api/generated/pages/ALE [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/ALE') [app] emitting event: 'source-read'('api/generated/pages/ALE', ['.. _ALE:\n\n===\nALE\n===\n\n\n.. _ALE_1section_ALE:\n\nBasics of the [app] emitting event: 'doctree-read'(
>,) /home/cermak/src/MOM6.devrob/docs/api/generated/pages/ALE.rst:5: (INFO/1) Duplicate implicit target name: “ale”. [filtered system message] reading sources... [ 78%] api/generated/pages/ALE_Timestep [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/ALE_Timestep') [app] emitting event: 'source-read'('api/generated/pages/ALE_Timestep', [".. _ALE_Timestep:\n\n============\nALE Timestep\n============ [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [app] emitting event: 'doctree-read'(
>,) reading sources... [ 79%] api/generated/pages/Baroclinic_Momentum_Equations [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Baroclinic_Mom [app] emitting event: 'source-read'('api/generated/pages/Baroclinic_Momentum_Equations', ['.. _Baroclinic_Momentum_Equations:\n\n====== [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [app] emitting event: 'doctree-read'(
>,) /home/cermak/src/MOM6.devrob/docs/api/generated/pages/Baroclinic_Momentum_Equations.rst:11: (INFO/1) Duplicate implicit target name: “baroclinic momentum equations”. [filtered system message] reading sources... [ 79%] api/generated/pages/Barotropic_Baroclinic_Coupling [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Barotropic_Bar [app] emitting event: 'source-read'('api/generated/pages/Barotropic_Baroclinic_Coupling', [".. _Barotropic_Baroclinic_Coupling:\n\n==== [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [app] emitting event: 'doctree-read'(
,) reading sources... [ 79%] api/generated/pages/Barotropic_Momentum_Equations [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Barotropic_Mom [app] emitting event: 'source-read'('api/generated/pages/Barotropic_Momentum_Equations', ['.. _Barotropic_Momentum_Equations:\n\n====== [app] emitting event: 'doctree-read'(
,) reading sources... [ 80%] api/generated/pages/CVMix_KPP [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/CVMix_KPP') [app] emitting event: 'source-read'('api/generated/pages/CVMix_KPP', ['.. _CVMix_KPP:\n\n==============================\nThe K-Profile [app] emitting event: 'doctree-read'(
,) reading sources... [ 80%] api/generated/pages/Diagnostics [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Diagnostics') [app] emitting event: 'source-read'('api/generated/pages/Diagnostics', ['.. _Diagnostics:\n\n===========\nDiagnostics\n===========\n\n\ [app] emitting event: 'doctree-read'(
>,) /home/cermak/src/MOM6.devrob/docs/api/generated/pages/Diagnostics.rst:5: (INFO/1) Duplicate implicit target name: “diagnostics”. [filtered system message] /home/cermak/src/MOM6.devrob/docs/api/generated/pages/Diagnostics.rst:161: (INFO/1) Possible title underline, too short for the title. Treating it as ordinary text because it’s so short. [filtered system message] /home/cermak/src/MOM6.devrob/docs/api/generated/pages/Diagnostics.rst:171: (INFO/1) Possible title underline, too short for the title. Treating it as ordinary text because it’s so short. [filtered system message] /home/cermak/src/MOM6.devrob/docs/api/generated/pages/Diagnostics.rst:218: (INFO/1) Possible title underline, too short for the title. Treating it as ordinary text because it’s so short. [filtered system message] /home/cermak/src/MOM6.devrob/docs/api/generated/pages/Diagnostics.rst:231: (INFO/1) Possible title underline, too short for the title. Treating it as ordinary text because it’s so short. [filtered system message] reading sources... [ 80%] api/generated/pages/Discrete_Coriolis [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Discrete_Corio [app] emitting event: 'source-read'('api/generated/pages/Discrete_Coriolis', [".. _Discrete_Coriolis:\n\n======================\nDiscre [app] emitting event: 'doctree-read'(
,) reading sources... [ 81%] api/generated/pages/Discrete_Grids [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Discrete_Grids [app] emitting event: 'source-read'('api/generated/pages/Discrete_Grids', ['.. _Discrete_Grids:\n\n==================================== [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [app] emitting event: 'doctree-read'(
,) reading sources... [ 81%] api/generated/pages/Discrete_OBC [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Discrete_OBC') [app] emitting event: 'source-read'('api/generated/pages/Discrete_OBC', ['.. _Discrete_OBC:\n\n=================================\nDiscr [app] emitting event: 'doctree-read'(
,) reading sources... [ 82%] api/generated/pages/Discrete_PG [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Discrete_PG') [app] emitting event: 'source-read'('api/generated/pages/Discrete_PG', [".. _Discrete_PG:\n\n===============================\nDiscrete [i18n] PATCH: 'docutils.nodes.image' to have source, line: [app] emitting event: 'doctree-read'(
,) reading sources... [ 82%] api/generated/pages/Discrete_Tracer [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Discrete_Trace [app] emitting event: 'source-read'('api/generated/pages/Discrete_Tracer', ['.. _Discrete_Tracer:\n\n================================== [app] emitting event: 'doctree-read'(
,) reading sources... [ 82%] api/generated/pages/Domain_Decomposition [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Domain_Decompo [app] emitting event: 'source-read'('api/generated/pages/Domain_Decomposition', [".. _Domain_Decomposition:\n\n====================\nDo [app] emitting event: 'doctree-read'(
>,) /home/cermak/src/MOM6.devrob/docs/api/generated/pages/Domain_Decomposition.rst:11: (INFO/1) Duplicate implicit target name: “domain decomposition”. [filtered system message] reading sources... [ 83%] api/generated/pages/Energetic_Consistency [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Energetic_Cons [app] emitting event: 'source-read'('api/generated/pages/Energetic_Consistency', ['.. _Energetic_Consistency:\n\n=====================\ [app] emitting event: 'doctree-read'(
,) reading sources... [ 83%] api/generated/pages/Equation_of_State [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Equation_of_St [app] emitting event: 'source-read'('api/generated/pages/Equation_of_State', ['.. _Equation_of_State:\n\n=================\nEquation of [app] emitting event: 'doctree-read'(
,) reading sources... [ 83%] api/generated/pages/Finite_Difference_Operators [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Finite_Differe [app] emitting event: 'source-read'('api/generated/pages/Finite_Difference_Operators', ['.. _Finite_Difference_Operators:\n\n========== [app] emitting event: 'doctree-read'(
,) reading sources... [ 84%] api/generated/pages/General_Coordinate [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/General_Coordi [app] emitting event: 'source-read'('api/generated/pages/General_Coordinate', [".. _General_Coordinate:\n\n============================ [app] emitting event: 'doctree-read'(
,) reading sources... [ 84%] api/generated/pages/Global_Grids [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Global_Grids') [app] emitting event: 'source-read'('api/generated/pages/Global_Grids', ['.. _Global_Grids:\n\n=======================\nGlobal Orthogon [app] emitting event: 'doctree-read'(
,) reading sources... [ 85%] api/generated/pages/Governing_Equations [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Governing_Equa [app] emitting event: 'source-read'('api/generated/pages/Governing_Equations', ['.. _Governing_Equations:\n\n===================\nGover [app] emitting event: 'doctree-read'(
,) reading sources... [ 85%] api/generated/pages/Horizontal_Diffusion [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Horizontal_Dif [app] emitting event: 'source-read'('api/generated/pages/Horizontal_Diffusion', [".. _Horizontal_Diffusion:\n\n====================\nHo [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [app] emitting event: 'doctree-read'(
,) reading sources... [ 85%] api/generated/pages/Horizontal_Indexing [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Horizontal_Ind [app] emitting event: 'source-read'('api/generated/pages/Horizontal_Indexing', ['.. _Horizontal_Indexing:\n\n========================== [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [app] emitting event: 'doctree-read'(
,) reading sources... [ 86%] api/generated/pages/Notation [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Notation') [app] emitting event: 'source-read'('api/generated/pages/Notation', ['.. _Notation:\n\n======================\nNotation for equations\n [app] emitting event: 'doctree-read'(
>,) reading sources... [ 86%] api/generated/pages/PPM [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/PPM') [app] emitting event: 'source-read'('api/generated/pages/PPM', [".. _PPM:\n\n====================\nPPM Advection Scheme\n============== [i18n] PATCH: 'docutils.nodes.image' to have source, line: [app] emitting event: 'doctree-read'(
>,) reading sources... [ 86%] api/generated/pages/Parallel_IO [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Parallel_IO') [app] emitting event: 'source-read'('api/generated/pages/Parallel_IO', ['.. _Parallel_IO:\n\n============\nParallel I/O\n============\n [app] emitting event: 'doctree-read'(
>,) reading sources... [ 87%] api/generated/pages/Passive_Tracers [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Passive_Tracer [app] emitting event: 'source-read'('api/generated/pages/Passive_Tracers', ['.. _Passive_Tracers:\n\n================================== [app] emitting event: 'doctree-read'(
,) reading sources... [ 87%] api/generated/pages/Regional_Grids [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Regional_Grids [app] emitting event: 'source-read'('api/generated/pages/Regional_Grids', ['.. _Regional_Grids:\n\n=========================\nRegional [app] emitting event: 'doctree-read'(
,) reading sources... [ 88%] api/generated/pages/Runtime_Parameter_System [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Runtime_Parame [app] emitting event: 'source-read'('api/generated/pages/Runtime_Parameter_System', ['.. _Runtime_Parameter_System:\n\n================ [app] emitting event: 'doctree-read'(
,) /home/cermak/src/MOM6.devrob/docs/api/generated/pages/Runtime_Parameter_System.rst:50: (INFO/1) Possible title underline, too short for the title. Treating it as ordinary text because it’s so short. [filtered system message] /home/cermak/src/MOM6.devrob/docs/api/generated/pages/Runtime_Parameter_System.rst:61: (INFO/1) Possible title underline, too short for the title. Treating it as ordinary text because it’s so short. [filtered system message] /home/cermak/src/MOM6.devrob/docs/api/generated/pages/Runtime_Parameter_System.rst:80: (INFO/1) Possible title underline, too short for the title. Treating it as ordinary text because it’s so short. [filtered system message] reading sources... [ 88%] api/generated/pages/Sea_Ice [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Sea_Ice') [app] emitting event: 'source-read'('api/generated/pages/Sea_Ice', ['.. _Sea_Ice:\n\n======================\nSea Ice Considerations\n== [app] emitting event: 'doctree-read'(
>,) reading sources... [ 88%] api/generated/pages/Solar_Radiation [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Solar_Radiatio [app] emitting event: 'source-read'('api/generated/pages/Solar_Radiation', ['.. _Solar_Radiation:\n\n===============\nSolar Radiation\n [app] emitting event: 'doctree-read'(
>,) reading sources... [ 89%] api/generated/pages/Specifics [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Specifics') [app] emitting event: 'source-read'('api/generated/pages/Specifics', ['.. _Specifics:\n\n=========\nSpecifics\n=========\n\n\n.. _Speci [app] emitting event: 'doctree-read'(
>,) /home/cermak/src/MOM6.devrob/docs/api/generated/pages/Specifics.rst:5: (INFO/1) Duplicate implicit target name: “specifics”. [filtered system message] reading sources... [ 89%] api/generated/pages/Testing [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Testing') [app] emitting event: 'source-read'('api/generated/pages/Testing', ['.. _Testing:\n\n=======\nTesting\n=======\n\n\nMOM6 Validation and [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [app] emitting event: 'doctree-read'(
>,) /home/cermak/src/MOM6.devrob/docs/api/generated/pages/Testing.rst:5: (INFO/1) Duplicate implicit target name: “testing”. [filtered system message] /home/cermak/src/MOM6.devrob/docs/api/generated/pages/Testing.rst:115: (INFO/1) Possible title underline, too short for the title. Treating it as ordinary text because it’s so short. [filtered system message] /home/cermak/src/MOM6.devrob/docs/api/generated/pages/Testing.rst:120: (INFO/1) Possible title underline, too short for the title. Treating it as ordinary text because it’s so short. [filtered system message] /home/cermak/src/MOM6.devrob/docs/api/generated/pages/Testing.rst:125: (INFO/1) Possible title underline, too short for the title. Treating it as ordinary text because it’s so short. [filtered system message] reading sources... [ 89%] api/generated/pages/Timestep_Overview [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Timestep_Overv [app] emitting event: 'source-read'('api/generated/pages/Timestep_Overview', ['.. _Timestep_Overview:\n\n=====================\nTimeste [i18n] PATCH: 'docutils.nodes.image' to have source, line: [app] emitting event: 'doctree-read'(
,) reading sources... [ 90%] api/generated/pages/Tracer_Advection [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Tracer_Advecti [app] emitting event: 'source-read'('api/generated/pages/Tracer_Advection', [".. _Tracer_Advection:\n\n================\nTracer Advecti [app] emitting event: 'doctree-read'(
>,) reading sources... [ 90%] api/generated/pages/Tracer_Fluxes [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Tracer_Fluxes' [app] emitting event: 'source-read'('api/generated/pages/Tracer_Fluxes', ['.. _Tracer_Fluxes:\n\n=============\nTracer Fluxes\n======== [app] emitting event: 'doctree-read'(
>,) /home/cermak/src/MOM6.devrob/docs/api/generated/pages/Tracer_Fluxes.rst:11: (INFO/1) Duplicate implicit target name: “tracer fluxes”. [filtered system message] reading sources... [ 91%] api/generated/pages/Tracer_Timestep [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Tracer_Timeste [app] emitting event: 'source-read'('api/generated/pages/Tracer_Timestep', ['.. _Tracer_Timestep:\n\n===============\nTracer Timestep\n [app] emitting event: 'doctree-read'(
>,) reading sources... [ 91%] api/generated/pages/Tracer_Transport_Equations [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Tracer_Transpo [app] emitting event: 'source-read'('api/generated/pages/Tracer_Transport_Equations', ['.. _Tracer_Transport_Equations:\n\n============ [i18n] PATCH: 'docutils.nodes.image' to have source, line: [app] emitting event: 'doctree-read'(
,) reading sources... [ 91%] api/generated/pages/Vertical_Diffusion [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Vertical_Diffu [app] emitting event: 'source-read'('api/generated/pages/Vertical_Diffusion', ['.. _Vertical_Diffusion:\n\n==================\nVertical [app] emitting event: 'doctree-read'(
,) reading sources... [ 92%] api/generated/pages/Vertical_Grids [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/Vertical_Grids [app] emitting event: 'source-read'('api/generated/pages/Vertical_Grids', ['.. _Vertical_Grids:\n\n==============\nVertical Grids\n==== [app] emitting event: 'doctree-read'(
>,) reading sources... [ 92%] api/generated/pages/citelist [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/citelist') [app] emitting event: 'source-read'('api/generated/pages/citelist', [".. _citelist:\n\n============\nBibliography\n============\n\n\n.. [app] emitting event: 'doctree-read'(
>,) reading sources... [ 92%] api/generated/pages/todo [app] emitting event: 'env-purge-doc'(, 'api/generated/pages/todo') [app] emitting event: 'source-read'('api/generated/pages/todo', ['.. _todo:\n\n=========\nTodo List\n=========\n\n:f:func:`bfb_initiali [app] emitting event: 'doctree-read'(
>,) reading sources... [ 93%] api/modules [app] emitting event: 'env-purge-doc'(, 'api/modules') [app] emitting event: 'source-read'('api/modules', ['.. _Modules:\n\n=======\nModules\n=======\n\n.. autodoxysummary::\n :toctree: ge [debug] xpath(./compounddef/compoundname[text()="adjustment_initialization"]/..) match([('id', 'namespaceadjustment__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'adjustment_initialization', , {}, ['', 'Confi [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'adjustment_initialization', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'adjustment_initialization', , {}, ['', 'Confi [debug] xpath(./compounddef/compoundname[text()="advection_test_tracer"]/..) match([('id', 'namespaceadvection__test__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'advection_test_tracer', , {}, ['', 'This trac [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'advection_test_tracer', , {}, ['`More... , {}, ['', 'This trac [debug] xpath(./compounddef/compoundname[text()="atmos_ocean_fluxes_mod"]/..) match([('id', 'namespaceatmos__ocean__fluxes__mod'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespaceatmos__ocean__fluxes__mod) kindref(compound) ref([]) [debug] ref([('id', 'namespaceatmos__ocean__fluxes__mod'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'atmos_ocean_fluxes_mod', , {}, ['', 'A dummy [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'atmos_ocean_fluxes_mod', , {}, ['`More... , {}, ['', 'A dummy [debug] xpath(./compounddef/compoundname[text()="baroclinic_zone_initialization"]/..) match([('id', 'namespacebaroclinic__zone__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'baroclinic_zone_initialization', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'baroclinic_zone_initialization', , {}, ['`Mor [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'baroclinic_zone_initialization', , {}, ['', ' [debug] xpath(./compounddef/compoundname[text()="basin_builder"]/..) match([('id', 'namespacebasin__builder'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'basin_builder', , {}, ['', 'An idealized topo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'basin_builder', , {}, ['`More... , {}, ['', 'An idealized topo [debug] xpath(./compounddef/compoundname[text()="benchmark_initialization"]/..) match([('id', 'namespacebenchmark__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'benchmark_initialization', , {}, ['', 'Initia [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'benchmark_initialization', , {}, ['`More... < [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'benchmark_initialization', , {}, ['', 'Initia [debug] xpath(./compounddef/compoundname[text()="bfb_initialization"]/..) match([('id', 'namespacebfb__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'bfb_initialization', , {}, ['', 'Initializati [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'bfb_initialization', , {}, ['`More... , {}, ['', 'Initializati [debug] xpath(./compounddef/compoundname[text()="bfb_surface_forcing"]/..) match([('id', 'namespacebfb__surface__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'bfb_surface_forcing', , {}, ['', 'Surface for [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'bfb_surface_forcing', , {}, ['`More... , {}, ['', 'Surface for [debug] xpath(./compounddef/compoundname[text()="boundary_impulse_tracer"]/..) match([('id', 'namespaceboundary__impulse__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'boundary_impulse_tracer', , {}, ['', "Impleme [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'boundary_impulse_tracer', , {}, ['`More... , {}, ['', "Impleme [debug] xpath(./compounddef/compoundname[text()="circle_obcs_initialization"]/..) match([('id', 'namespacecircle__obcs__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'circle_obcs_initialization', , {}, ['', 'Conf [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'circle_obcs_initialization', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'circle_obcs_initialization', , {}, ['', 'Conf [debug] xpath(./compounddef/compoundname[text()="coord_adapt"]/..) match([('id', 'namespacecoord__adapt'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_adapt', , {}, ['', 'Regrid columns for [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_adapt', , {}, ['`More... , {}, ['', 'Regrid columns for [debug] xpath(./compounddef/compoundname[text()="coord_hycom"]/..) match([('id', 'namespacecoord__hycom'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_hycom', , {}, ['', 'Regrid columns for [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_hycom', , {}, ['`More... , {}, ['', 'Regrid columns for [debug] xpath(./compounddef/compoundname[text()="coord_rho"]/..) match([('id', 'namespacecoord__rho'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_rho', , {}, ['', 'Regrid columns for th [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_rho', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_rho', , {}, ['', 'Regrid columns for th [debug] xpath(./compounddef/compoundname[text()="coord_sigma"]/..) match([('id', 'namespacecoord__sigma'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_sigma', , {}, ['', 'Regrid columns for [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_sigma', , {}, ['`More... , {}, ['', 'Regrid columns for [debug] xpath(./compounddef/compoundname[text()="coord_slight"]/..) match([('id', 'namespacecoord__slight'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_slight', , {}, ['', 'Regrid columns for [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_slight', , {}, ['`More... , {}, ['', 'Regrid columns for [debug] xpath(./compounddef/compoundname[text()="coord_zlike"]/..) match([('id', 'namespacecoord__zlike'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_zlike', , {}, ['', 'Regrid columns for [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'coord_zlike', , {}, ['`More... , {}, ['', 'Regrid columns for [debug] xpath(./compounddef/compoundname[text()="dense_water_initialization"]/..) match([('id', 'namespacedense__water__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dense_water_initialization', , {}, ['', 'Init [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dense_water_initialization', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dense_water_initialization', , {}, ['', 'Init [debug] xpath(./compounddef/compoundname[text()="dome2d_initialization"]/..) match([('id', 'namespacedome2d__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dome2d_initialization', , {}, ['', 'Initializ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dome2d_initialization', , {}, ['`More... , {}, ['', 'Initializ [debug] xpath(./compounddef/compoundname[text()="dome_initialization"]/..) match([('id', 'namespacedome__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dome_initialization', , {}, ['', 'Configures [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dome_initialization', , {}, ['`More... , {}, ['', 'Configures [debug] xpath(./compounddef/compoundname[text()="dome_tracer"]/..) match([('id', 'namespacedome__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dome_tracer', , {}, ['', 'A tracer package th [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dome_tracer', , {}, ['`More... , {}, ['', 'A tracer package th [debug] xpath(./compounddef/compoundname[text()="dumbbell_initialization"]/..) match([('id', 'namespacedumbbell__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dumbbell_initialization', , {}, ['', 'Configu [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dumbbell_initialization', , {}, ['`More... , {}, ['', 'Configu [debug] xpath(./compounddef/compoundname[text()="dumbbell_surface_forcing"]/..) match([('id', 'namespacedumbbell__surface__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dumbbell_surface_forcing', , {}, ['', 'Surfac [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dumbbell_surface_forcing', , {}, ['`More... < [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dumbbell_surface_forcing', , {}, ['', 'Surfac [debug] xpath(./compounddef/compoundname[text()="dyed_channel_initialization"]/..) match([('id', 'namespacedyed__channel__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dyed_channel_initialization', , {}, ['', 'Ini [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dyed_channel_initialization', , {}, ['`More.. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dyed_channel_initialization', , {}, ['', 'Ini [debug] xpath(./compounddef/compoundname[text()="dyed_obc_tracer"]/..) match([('id', 'namespacedyed__obc__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dyed_obc_tracer', , {}, ['', 'This tracer pac [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dyed_obc_tracer', , {}, ['`More... , {}, ['', 'This tracer pac [debug] xpath(./compounddef/compoundname[text()="dyed_obcs_initialization"]/..) match([('id', 'namespacedyed__obcs__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dyed_obcs_initialization', , {}, ['', 'Dyed o [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dyed_obcs_initialization', , {}, ['`More... < [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'dyed_obcs_initialization', , {}, ['', 'Dyed o [debug] xpath(./compounddef/compoundname[text()="external_gwave_initialization"]/..) match([('id', 'namespaceexternal__gwave__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'external_gwave_initialization', , {}, ['', 'I [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'external_gwave_initialization', , {}, ['`More [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'external_gwave_initialization', , {}, ['', 'I [debug] xpath(./compounddef/compoundname[text()="fms_coupler_util"]/..) match([('id', 'namespacefms__coupler__util'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'fms_coupler_util', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'fms_coupler_util', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'fms_coupler_util', , {}, ['`More... , {}, ['', ' [debug] xpath(./compounddef/compoundname[text()="g_tracer_utils"]/..) match([('id', 'namespaceg__tracer__utils'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespaceg__tracer__utils) kindref(compound) ref([]) [debug] ref([('id', 'namespaceg__tracer__utils'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'g_tracer_utils', , {}, [':f:func:`g_tracer_ut [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'g_tracer_utils', , {}, ['`More... , {}, [':f:func:`g_tracer_ut [debug] xpath(./compounddef/compoundname[text()="generic_tracer"]/..) match([('id', 'namespacegeneric__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'generic_tracer', , {}, ['', 'A non-functionin [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'generic_tracer', , {}, ['`More... , {}, ['', 'A non-functionin [debug] xpath(./compounddef/compoundname[text()="ideal_age_example"]/..) match([('id', 'namespaceideal__age__example'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ideal_age_example', , {}, ['', 'A tracer pack [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ideal_age_example', , {}, ['`More... , {}, ['', 'A tracer pack [debug] xpath(./compounddef/compoundname[text()="idealized_hurricane"]/..) match([('id', 'namespaceidealized__hurricane'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'idealized_hurricane', , {}, ['', 'Forcing for [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'idealized_hurricane', , {}, ['`More... , {}, ['', 'Forcing for [debug] xpath(./compounddef/compoundname[text()="isomip_initialization"]/..) match([('id', 'namespaceisomip__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'isomip_initialization', , {}, ['', 'Configure [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'isomip_initialization', , {}, ['`More... , {}, ['', 'Configure [debug] xpath(./compounddef/compoundname[text()="isomip_tracer"]/..) match([('id', 'namespaceisomip__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'isomip_tracer', , {}, ['', 'Routines used to [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'isomip_tracer', , {}, ['`More... , {}, ['', 'Routines used to [debug] xpath(./compounddef/compoundname[text()="kdtree"]/..) match([('id', 'namespacekdtree'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'kdtree', , {}, ['', 'A null version of K-d tr [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'kdtree', , {}, ['`More... `_', ' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'kdtree', , {}, ['', 'A null version of K-d tr [debug] xpath(./compounddef/compoundname[text()="kelvin_initialization"]/..) match([('id', 'namespacekelvin__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'kelvin_initialization', , {}, ['', 'Configure [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'kelvin_initialization', , {}, ['`More... , {}, ['', 'Configure [debug] xpath(./compounddef/compoundname[text()="lock_exchange_initialization"]/..) match([('id', 'namespacelock__exchange__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'lock_exchange_initialization', , {}, ['', 'In [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'lock_exchange_initialization', , {}, ['`More. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'lock_exchange_initialization', , {}, ['', 'In [debug] xpath(./compounddef/compoundname[text()="meso_surface_forcing"]/..) match([('id', 'namespacemeso__surface__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'meso_surface_forcing', , {}, ['', 'Sets forci [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'meso_surface_forcing', , {}, ['`More... , {}, ['', 'Sets forci [debug] xpath(./compounddef/compoundname[text()="mom"]/..) match([('id', 'namespacemom'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom', , {}, ['', 'The central module of the M [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom', , {}, ['`More... `_', '']) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom', , {}, ['', 'The central module of the M [debug] xpath(./compounddef/compoundname[text()="mom_ale"]/..) match([('id', 'namespacemom__ale'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ale', , {}, ['', 'This module contains th [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ale', , {}, ['`More... `_', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ale', , {}, ['', 'This module contains th [debug] xpath(./compounddef/compoundname[text()="mom_ale_sponge"]/..) match([('id', 'namespacemom__ale__sponge'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ale_sponge', , {}, ['', 'This module cont [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ale_sponge', , {}, ['`More... , {}, ['', 'This module cont [debug] xpath(./compounddef/compoundname[text()="mom_array_transform"]/..) match([('id', 'namespacemom__array__transform'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_array_transform', , {}, ['', "Module for [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_array_transform', , {}, ['`More... , {}, ['', "Module for [debug] xpath(./compounddef/compoundname[text()="mom_barotropic"]/..) match([('id', 'namespacemom__barotropic'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic', , {}, ['', 'Baropotric solve [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_barotropic', , {}, ['`More... , {}, ['', 'Baropotric solve [debug] xpath(./compounddef/compoundname[text()="mom_bkgnd_mixing"]/..) match([('id', 'namespacemom__bkgnd__mixing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_bkgnd_mixing', , {}, ['', 'Interface to b [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_bkgnd_mixing', , {}, ['`More... , {}, ['', 'Interface to b [debug] xpath(./compounddef/compoundname[text()="mom_boundary_update"]/..) match([('id', 'namespacemom__boundary__update'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_boundary_update', , {}, ['', 'Controls wh [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_boundary_update', , {}, ['`More... , {}, ['', 'Controls wh [debug] xpath(./compounddef/compoundname[text()="mom_bulk_mixed_layer"]/..) match([('id', 'namespacemom__bulk__mixed__layer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_bulk_mixed_layer', , {}, ['', 'Build mixe [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_bulk_mixed_layer', , {}, ['`More... , {}, ['', 'Build mixe [debug] xpath(./compounddef/compoundname[text()="mom_checksum_packages"]/..) match([('id', 'namespacemom__checksum__packages'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_checksum_packages', , {}, ['', 'Provides [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_checksum_packages', , {}, ['`More... , {}, ['', 'Provides [debug] xpath(./compounddef/compoundname[text()="mom_checksums"]/..) match([('id', 'namespacemom__checksums'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_checksums', , {}, ['', 'Routines to calcu [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_checksums', , {}, ['`More... , {}, ['', 'Routines to calcu [debug] xpath(./compounddef/compoundname[text()="mom_coms"]/..) match([('id', 'namespacemom__coms'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_coms', , {}, ['', 'Interfaces to non-doma [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_coms', , {}, ['`More... `_ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_coms', , {}, ['', 'Interfaces to non-doma [debug] xpath(./compounddef/compoundname[text()="mom_constants"]/..) match([('id', 'namespacemom__constants'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_constants', , {}, ['', 'Provides a few ph [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_constants', , {}, ['`More... , {}, ['', 'Provides a few ph [debug] xpath(./compounddef/compoundname[text()="mom_continuity"]/..) match([('id', 'namespacemom__continuity'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_continuity', , {}, ['', 'Solve the layer [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_continuity', , {}, ['`More... , {}, ['', 'Solve the layer [debug] xpath(./compounddef/compoundname[text()="mom_continuity_ppm"]/..) match([('id', 'namespacemom__continuity__ppm'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_continuity_ppm', , {}, ['', 'Solve the la [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_continuity_ppm', , {}, ['`More... , {}, ['', 'Solve the la [debug] xpath(./compounddef/compoundname[text()="mom_controlled_forcing"]/..) match([('id', 'namespacemom__controlled__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_controlled_forcing', , {}, ['', 'Use cont [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_controlled_forcing', , {}, ['`More... , {}, ['', 'Use cont [debug] xpath(./compounddef/compoundname[text()="mom_coord_initialization"]/..) match([('id', 'namespacemom__coord__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_coord_initialization', , {}, ['', 'Initia [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_coord_initialization', , {}, ['`More... < [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_coord_initialization', , {}, ['', 'Initia [debug] xpath(./compounddef/compoundname[text()="mom_coriolisadv"]/..) match([('id', 'namespacemom__coriolisadv'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_coriolisadv', , {}, ['', 'Accelerations d [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_coriolisadv', , {}, ['`More... , {}, ['', 'Accelerations d [debug] xpath(./compounddef/compoundname[text()="mom_cpu_clock"]/..) match([('id', 'namespacemom__cpu__clock'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cpu_clock', , {}, ['', 'Wraps the MPP cpu [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cpu_clock', , {}, ['`More... , {}, ['', 'Wraps the MPP cpu [debug] xpath(./compounddef/compoundname[text()="mom_cvmix_conv"]/..) match([('id', 'namespacemom__cvmix__conv'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_conv', , {}, ['', 'Interface to CVM [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_conv', , {}, ['`More... , {}, ['', 'Interface to CVM [debug] xpath(./compounddef/compoundname[text()="mom_cvmix_ddiff"]/..) match([('id', 'namespacemom__cvmix__ddiff'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_ddiff', , {}, ['', 'Interface to CV [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_ddiff', , {}, ['`More... , {}, ['', 'Interface to CV [debug] xpath(./compounddef/compoundname[text()="mom_cvmix_kpp"]/..) match([('id', 'namespacemom__cvmix__kpp'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_kpp', , {}, ['', 'Provides the K-Pr [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_kpp', , {}, ['`More... , {}, ['', 'Provides the K-Pr [debug] xpath(./compounddef/compoundname[text()="mom_cvmix_shear"]/..) match([('id', 'namespacemom__cvmix__shear'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_shear', , {}, ['', 'Interface to CV [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_cvmix_shear', , {}, ['`More... , {}, ['', 'Interface to CV [debug] xpath(./compounddef/compoundname[text()="mom_debugging"]/..) match([('id', 'namespacemom__debugging'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_debugging', , {}, ['', 'Provides checksum [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_debugging', , {}, ['`More... , {}, ['', 'Provides checksum [debug] xpath(./compounddef/compoundname[text()="mom_density_integrals"]/..) match([('id', 'namespacemom__density__integrals'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_density_integrals', , {}, ['', 'Provides [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_density_integrals', , {}, ['`More... , {}, ['', 'Provides [debug] xpath(./compounddef/compoundname[text()="mom_diabatic_aux"]/..) match([('id', 'namespacemom__diabatic__aux'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diabatic_aux', , {}, ['', 'Provides funct [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diabatic_aux', , {}, ['`More... , {}, ['', 'Provides funct [debug] xpath(./compounddef/compoundname[text()="mom_diabatic_driver"]/..) match([('id', 'namespacemom__diabatic__driver'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diabatic_driver', , {}, ['', 'This routin [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diabatic_driver', , {}, ['`More... , {}, ['', 'This routin [debug] xpath(./compounddef/compoundname[text()="mom_diag_manager_wrapper"]/..) match([('id', 'namespacemom__diag__manager__wrapper'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_manager_wrapper', , {}, ['', 'A simp [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_manager_wrapper', , {}, ['`More... < [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_manager_wrapper', , {}, ['', 'A simp [debug] xpath(./compounddef/compoundname[text()="mom_diag_mediator"]/..) match([('id', 'namespacemom__diag__mediator'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator', , {}, ['', 'The subroutin [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_mediator', , {}, ['`More... , {}, ['', 'The subroutin [debug] xpath(./compounddef/compoundname[text()="mom_diag_remap"]/..) match([('id', 'namespacemom__diag__remap'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_remap', , {}, ['', 'provides runtime [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_remap', , {}, ['`More... , {}, ['', 'provides runtime [debug] xpath(./compounddef/compoundname[text()="mom_diag_vkernels"]/..) match([('id', 'namespacemom__diag__vkernels'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_vkernels', , {}, ['', 'Provides kern [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diag_vkernels', , {}, ['`More... , {}, ['', 'Provides kern [debug] xpath(./compounddef/compoundname[text()="mom_diagnostics"]/..) match([('id', 'namespacemom__diagnostics'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diagnostics', , {}, ['', 'Calculates any [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diagnostics', , {}, ['`More... , {}, ['', 'Calculates any [debug] xpath(./compounddef/compoundname[text()="mom_diapyc_energy_req"]/..) match([('id', 'namespacemom__diapyc__energy__req'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diapyc_energy_req', , {}, ['', 'Calculate [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_diapyc_energy_req', , {}, ['`More... , {}, ['', 'Calculate [debug] xpath(./compounddef/compoundname[text()="mom_document"]/..) match([('id', 'namespacemom__document'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_document', , {}, ['', 'The subroutines he [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_document', , {}, ['`More... , {}, ['', 'The subroutines he [debug] xpath(./compounddef/compoundname[text()="mom_domains"]/..) match([('id', 'namespacemom__domains'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_domains', , {}, ['', 'Describes the decom [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_domains', , {}, ['`More... , {}, ['', 'Describes the decom [debug] xpath(./compounddef/compoundname[text()="mom_dyn_horgrid"]/..) match([('id', 'namespacemom__dyn__horgrid'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dyn_horgrid', , {}, ['', 'Contains a shar [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dyn_horgrid', , {}, ['`More... , {}, ['', 'Contains a shar [debug] xpath(./compounddef/compoundname[text()="mom_dynamics_split_rk2"]/..) match([('id', 'namespacemom__dynamics__split__rk2'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dynamics_split_rk2', , {}, ['', 'Time ste [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dynamics_split_rk2', , {}, ['`More... , {}, ['', 'Time ste [debug] xpath(./compounddef/compoundname[text()="mom_dynamics_unsplit"]/..) match([('id', 'namespacemom__dynamics__unsplit'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dynamics_unsplit', , {}, ['', 'Time steps [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dynamics_unsplit', , {}, ['`More... , {}, ['', 'Time steps [debug] xpath(./compounddef/compoundname[text()="mom_dynamics_unsplit_rk2"]/..) match([('id', 'namespacemom__dynamics__unsplit__rk2'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dynamics_unsplit_rk2', , {}, ['', 'Time s [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dynamics_unsplit_rk2', , {}, ['`More... < [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_dynamics_unsplit_rk2', , {}, ['', 'Time s [debug] xpath(./compounddef/compoundname[text()="MOM_energetic_PBL"]/..) match([('id', 'namespaceMOM__energetic__PBL'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'MOM_energetic_PBL', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'MOM_energetic_PBL', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'MOM_energetic_PBL', , {}, ['`More... , {}, ['', ', {}, ['', 'Energetically [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_energetic_pbl', , {}, ['`More... , {}, ['', 'Energetically [debug] xpath(./compounddef/compoundname[text()="mom_entrain_diffusive"]/..) match([('id', 'namespacemom__entrain__diffusive'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_entrain_diffusive', , {}, ['', 'Diapycnal [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_entrain_diffusive', , {}, ['`More... , {}, ['', 'Diapycnal [debug] xpath(./compounddef/compoundname[text()="mom_eos"]/..) match([('id', 'namespacemom__eos'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos', , {}, ['', 'Provides subroutines fo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos', , {}, ['`More... `_', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos', , {}, ['', 'Provides subroutines fo [debug] xpath(./compounddef/compoundname[text()="mom_eos_linear"]/..) match([('id', 'namespacemom__eos__linear'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos_linear', , {}, ['', 'A simple linear [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos_linear', , {}, ['`More... , {}, ['', 'A simple linear [debug] xpath(./compounddef/compoundname[text()="mom_eos_nemo"]/..) match([('id', 'namespacemom__eos__nemo'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos_nemo', , {}, ['', 'The equation of st [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos_nemo', , {}, ['`More... , {}, ['', 'The equation of st [debug] xpath(./compounddef/compoundname[text()="mom_eos_teos10"]/..) match([('id', 'namespacemom__eos__teos10'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos_teos10', , {}, ['', 'The equation of [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos_teos10', , {}, ['`More... , {}, ['', 'The equation of [debug] xpath(./compounddef/compoundname[text()="mom_eos_unesco"]/..) match([('id', 'namespacemom__eos__unesco'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos_unesco', , {}, ['', 'The equation of [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos_unesco', , {}, ['`More... , {}, ['', 'The equation of [debug] xpath(./compounddef/compoundname[text()="mom_eos_wright"]/..) match([('id', 'namespacemom__eos__wright'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos_wright', , {}, ['', 'The equation of [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_eos_wright', , {}, ['`More... , {}, ['', 'The equation of [debug] xpath(./compounddef/compoundname[text()="mom_error_handler"]/..) match([('id', 'namespacemom__error__handler'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_error_handler', , {}, ['', 'Routines for [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_error_handler', , {}, ['`More... , {}, ['', 'Routines for [debug] xpath(./compounddef/compoundname[text()="mom_file_parser"]/..) match([('id', 'namespacemom__file__parser'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_file_parser', , {}, ['', 'The MOM6 facili [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_file_parser', , {}, ['`More... , {}, ['', 'The MOM6 facili [debug] xpath(./compounddef/compoundname[text()="mom_fixed_initialization"]/..) match([('id', 'namespacemom__fixed__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_fixed_initialization', , {}, ['', 'Initia [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_fixed_initialization', , {}, ['`More... < [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_fixed_initialization', , {}, ['', 'Initia [debug] xpath(./compounddef/compoundname[text()="mom_forcing_type"]/..) match([('id', 'namespacemom__forcing__type'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_forcing_type', , {}, ['', 'This module im [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_forcing_type', , {}, ['`More... , {}, ['', 'This module im [debug] xpath(./compounddef/compoundname[text()="mom_full_convection"]/..) match([('id', 'namespacemom__full__convection'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_full_convection', , {}, ['', 'Does full c [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_full_convection', , {}, ['`More... , {}, ['', 'Does full c [debug] xpath(./compounddef/compoundname[text()="mom_generic_tracer"]/..) match([('id', 'namespacemom__generic__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_generic_tracer', , {}, ['', 'Drives the g [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_generic_tracer', , {}, ['`More... , {}, ['', 'Drives the g [debug] xpath(./compounddef/compoundname[text()="mom_geothermal"]/..) match([('id', 'namespacemom__geothermal'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_geothermal', , {}, ['', 'Implemented geot [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_geothermal', , {}, ['`More... , {}, ['', 'Implemented geot [debug] xpath(./compounddef/compoundname[text()="mom_get_input"]/..) match([('id', 'namespacemom__get__input'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_get_input', , {}, ['', 'Reads the only Fo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_get_input', , {}, ['`More... , {}, ['', 'Reads the only Fo [debug] xpath(./compounddef/compoundname[text()="mom_grid"]/..) match([('id', 'namespacemom__grid'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_grid', , {}, ['', 'Provides the ocean gri [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_grid', , {}, ['`More... `_ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_grid', , {}, ['', 'Provides the ocean gri [debug] xpath(./compounddef/compoundname[text()="mom_grid_initialize"]/..) match([('id', 'namespacemom__grid__initialize'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_grid_initialize', , {}, ['', 'Initializes [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_grid_initialize', , {}, ['`More... , {}, ['', 'Initializes [debug] xpath(./compounddef/compoundname[text()="mom_hor_index"]/..) match([('id', 'namespacemom__hor__index'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__hor__index_1_1hor__index__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__hor__index_1_1hor__index__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_hor_index', , {}, ['', 'Defines the horiz [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_hor_index', , {}, ['`More... , {}, ['', 'Defines the horiz [debug] xpath(./compounddef/compoundname[text()="mom_hor_visc"]/..) match([('id', 'namespacemom__hor__visc'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_hor_visc', , {}, ['', 'Calculates horizon [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_hor_visc', , {}, ['`More... , {}, ['', 'Calculates horizon [debug] xpath(./compounddef/compoundname[text()="mom_horizontal_regridding"]/..) match([('id', 'namespacemom__horizontal__regridding'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_horizontal_regridding', , {}, ['', 'Horiz [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_horizontal_regridding', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_horizontal_regridding', , {}, ['', 'Horiz [debug] xpath(./compounddef/compoundname[text()="mom_ice_shelf"]/..) match([('id', 'namespacemom__ice__shelf'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf', , {}, ['', 'Implements the th [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf', , {}, ['`More... , {}, ['', 'Implements the th [debug] xpath(./compounddef/compoundname[text()="mom_ice_shelf_dynamics"]/..) match([('id', 'namespacemom__ice__shelf__dynamics'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_dynamics', , {}, ['', 'Implemen [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_dynamics', , {}, ['`More... , {}, ['', 'Implemen [debug] xpath(./compounddef/compoundname[text()="mom_ice_shelf_initialize"]/..) match([('id', 'namespacemom__ice__shelf__initialize'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_initialize', , {}, ['', 'Initia [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_initialize', , {}, ['`More... < [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_initialize', , {}, ['', 'Initia [debug] xpath(./compounddef/compoundname[text()="mom_ice_shelf_state"]/..) match([('id', 'namespacemom__ice__shelf__state'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_state', , {}, ['', 'Implements [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ice_shelf_state', , {}, ['`More... , {}, ['', 'Implements [debug] xpath(./compounddef/compoundname[text()="mom_int_tide_input"]/..) match([('id', 'namespacemom__int__tide__input'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_int_tide_input', , {}, ['', 'Calculates e [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_int_tide_input', , {}, ['`More... , {}, ['', 'Calculates e [debug] xpath(./compounddef/compoundname[text()="mom_interface_heights"]/..) match([('id', 'namespacemom__interface__heights'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_interface_heights', , {}, ['', 'Functions [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_interface_heights', , {}, ['`More... , {}, ['', 'Functions [debug] xpath(./compounddef/compoundname[text()="mom_internal_tides"]/..) match([('id', 'namespacemom__internal__tides'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_internal_tides', , {}, ['', 'Subroutines [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_internal_tides', , {}, ['`More... , {}, ['', 'Subroutines [debug] xpath(./compounddef/compoundname[text()="mom_intrinsic_functions"]/..) match([('id', 'namespacemom__intrinsic__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_intrinsic_functions', , {}, ['', 'A modul [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_intrinsic_functions', , {}, ['`More... , {}, ['', 'A modul [debug] xpath(./compounddef/compoundname[text()="mom_io"]/..) match([('id', 'namespacemom__io'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_io', , {}, ['', 'This module contains I/O [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_io', , {}, ['`More... `_', ' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_io', , {}, ['', 'This module contains I/O [debug] xpath(./compounddef/compoundname[text()="mom_isopycnal_slopes"]/..) match([('id', 'namespacemom__isopycnal__slopes'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_isopycnal_slopes', , {}, ['', 'Calculatio [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_isopycnal_slopes', , {}, ['`More... , {}, ['', 'Calculatio [debug] xpath(./compounddef/compoundname[text()="mom_kappa_shear"]/..) match([('id', 'namespacemom__kappa__shear'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_kappa_shear', , {}, ['', 'Shear-dependent [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_kappa_shear', , {}, ['`More... , {}, ['', 'Shear-dependent [debug] xpath(./compounddef/compoundname[text()="mom_lateral_boundary_diffusion"]/..) match([('id', 'namespacemom__lateral__boundary__diffusion'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_lateral_boundary_diffusion', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_lateral_boundary_diffusion', , {}, ['`Mor [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_lateral_boundary_diffusion', , {}, ['', ' [debug] xpath(./compounddef/compoundname[text()="mom_lateral_mixing_coeffs"]/..) match([('id', 'namespacemom__lateral__mixing__coeffs'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_lateral_mixing_coeffs', , {}, ['', 'Varia [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_lateral_mixing_coeffs', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_lateral_mixing_coeffs', , {}, ['', 'Varia [debug] xpath(./compounddef/compoundname[text()="mom_marine_ice"]/..) match([('id', 'namespacemom__marine__ice'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_marine_ice', , {}, ['', 'Routines incorpo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_marine_ice', , {}, ['`More... , {}, ['', 'Routines incorpo [debug] xpath(./compounddef/compoundname[text()="mom_meke"]/..) match([('id', 'namespacemom__meke'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_meke', , {}, ['', 'Implements the Mesosca [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_meke', , {}, ['`More... `_ [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_meke', , {}, ['', 'Implements the Mesosca [debug] xpath(./compounddef/compoundname[text()="mom_meke_types"]/..) match([('id', 'namespacemom__meke__types'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_meke_types', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_meke_types', , {}, ['', ''] [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_meke_types', , {}, ['`More... , {}, ['', '', [debug] xpath(./compounddef/compoundname[text()="mom_mixed_layer_restrat"]/..) match([('id', 'namespacemom__mixed__layer__restrat'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_mixed_layer_restrat', , {}, ['', 'Paramet [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_mixed_layer_restrat', , {}, ['`More... , {}, ['', 'Paramet [debug] xpath(./compounddef/compoundname[text()="mom_neutral_diffusion"]/..) match([('id', 'namespacemom__neutral__diffusion'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_neutral_diffusion', , {}, ['', 'A column- [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_neutral_diffusion', , {}, ['`More... , {}, ['', 'A column- [debug] xpath(./compounddef/compoundname[text()="mom_obsolete_diagnostics"]/..) match([('id', 'namespacemom__obsolete__diagnostics'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_obsolete_diagnostics', , {}, ['', 'Provid [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_obsolete_diagnostics', , {}, ['`More... < [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_obsolete_diagnostics', , {}, ['', 'Provid [debug] xpath(./compounddef/compoundname[text()="mom_obsolete_params"]/..) match([('id', 'namespacemom__obsolete__params'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_obsolete_params', , {}, ['', 'Methods for [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_obsolete_params', , {}, ['`More... , {}, ['', 'Methods for [debug] xpath(./compounddef/compoundname[text()="mom_ocmip2_cfc"]/..) match([('id', 'namespacemom__ocmip2__cfc'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ocmip2_cfc', , {}, ['', 'Simulates CFCs u [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_ocmip2_cfc', , {}, ['`More... , {}, ['', 'Simulates CFCs u [debug] xpath(./compounddef/compoundname[text()="MOM_oda_driver_mod"]/..) match([('id', 'namespaceMOM__oda__driver__mod'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'MOM_oda_driver_mod', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'MOM_oda_driver_mod', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'MOM_oda_driver_mod', , {}, ['`More... , {}, ['', ', {}, ['', 'Interfaces f [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_oda_driver_mod', , {}, ['`More... , {}, ['', 'Interfaces f [debug] xpath(./compounddef/compoundname[text()="mom_offline_aux"]/..) match([('id', 'namespacemom__offline__aux'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_offline_aux', , {}, ['', 'Contains routin [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_offline_aux', , {}, ['`More... , {}, ['', 'Contains routin [debug] xpath(./compounddef/compoundname[text()="mom_offline_main"]/..) match([('id', 'namespacemom__offline__main'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_offline_main', , {}, ['', 'The routines h [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_offline_main', , {}, ['`More... , {}, ['', 'The routines h [debug] xpath(./compounddef/compoundname[text()="mom_opacity"]/..) match([('id', 'namespacemom__opacity'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_opacity', , {}, ['', 'Routines used to ca [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_opacity', , {}, ['`More... , {}, ['', 'Routines used to ca [debug] xpath(./compounddef/compoundname[text()="mom_open_boundary"]/..) match([('id', 'namespacemom__open__boundary'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary', , {}, ['', 'Controls wher [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_open_boundary', , {}, ['`More... , {}, ['', 'Controls wher [debug] xpath(./compounddef/compoundname[text()="mom_pointaccel"]/..) match([('id', 'namespacemom__pointaccel'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pointaccel', , {}, ['', 'Debug accelerati [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pointaccel', , {}, ['`More... , {}, ['', 'Debug accelerati [debug] xpath(./compounddef/compoundname[text()="mom_pressureforce"]/..) match([('id', 'namespacemom__pressureforce'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pressureforce', , {}, ['', 'A thin wrappe [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pressureforce', , {}, ['`More... , {}, ['', 'A thin wrappe [debug] xpath(./compounddef/compoundname[text()="mom_pressureforce_fv"]/..) match([('id', 'namespacemom__pressureforce__fv'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pressureforce_fv', , {}, ['', 'Finite vol [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pressureforce_fv', , {}, ['`More... , {}, ['', 'Finite vol [debug] xpath(./compounddef/compoundname[text()="mom_pressureforce_mont"]/..) match([('id', 'namespacemom__pressureforce__mont'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pressureforce_mont', , {}, ['', 'Provides [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_pressureforce_mont', , {}, ['`More... , {}, ['', 'Provides [debug] xpath(./compounddef/compoundname[text()="mom_random"]/..) match([('id', 'namespacemom__random'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_random', , {}, ['', 'Provides gridded ran [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_random', , {}, ['`More... , {}, ['', 'Provides gridded ran [debug] xpath(./compounddef/compoundname[text()="mom_regridding"]/..) match([('id', 'namespacemom__regridding'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_regridding', , {}, ['', 'Generates vertic [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_regridding', , {}, ['`More... , {}, ['', 'Generates vertic [debug] xpath(./compounddef/compoundname[text()="mom_regularize_layers"]/..) match([('id', 'namespacemom__regularize__layers'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_regularize_layers', , {}, ['', 'Provides [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_regularize_layers', , {}, ['`More... , {}, ['', 'Provides [debug] xpath(./compounddef/compoundname[text()="mom_remapping"]/..) match([('id', 'namespacemom__remapping'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_remapping', , {}, ['', 'Provides column-w [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_remapping', , {}, ['`More... , {}, ['', 'Provides column-w [debug] xpath(./compounddef/compoundname[text()="mom_restart"]/..) match([('id', 'namespacemom__restart'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart', , {}, ['', 'The MOM6 facility f [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_restart', , {}, ['`More... , {}, ['', 'The MOM6 facility f [debug] xpath(./compounddef/compoundname[text()="mom_safe_alloc"]/..) match([('id', 'namespacemom__safe__alloc'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_safe_alloc', , {}, ['', 'Convenience func [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_safe_alloc', , {}, ['`More... , {}, ['', 'Convenience func [debug] xpath(./compounddef/compoundname[text()="mom_set_diffusivity"]/..) match([('id', 'namespacemom__set__diffusivity'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_set_diffusivity', , {}, ['', 'Calculate v [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_set_diffusivity', , {}, ['`More... , {}, ['', 'Calculate v [debug] xpath(./compounddef/compoundname[text()="mom_set_visc"]/..) match([('id', 'namespacemom__set__visc'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_set_visc', , {}, ['', 'Calculates various [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_set_visc', , {}, ['`More... , {}, ['', 'Calculates various [debug] xpath(./compounddef/compoundname[text()="mom_shared_initialization"]/..) match([('id', 'namespacemom__shared__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_shared_initialization', , {}, ['', 'Code [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_shared_initialization', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_shared_initialization', , {}, ['', 'Code [debug] xpath(./compounddef/compoundname[text()="mom_spatial_means"]/..) match([('id', 'namespacemom__spatial__means'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_spatial_means', , {}, ['', 'Functions and [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_spatial_means', , {}, ['`More... , {}, ['', 'Functions and [debug] xpath(./compounddef/compoundname[text()="mom_sponge"]/..) match([('id', 'namespacemom__sponge'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sponge', , {}, ['', 'Implements sponge re [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sponge', , {}, ['`More... , {}, ['', 'Implements sponge re [debug] xpath(./compounddef/compoundname[text()="mom_state_initialization"]/..) match([('id', 'namespacemom__state__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_state_initialization', , {}, ['', 'Initia [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_state_initialization', , {}, ['`More... < [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_state_initialization', , {}, ['', 'Initia [debug] xpath(./compounddef/compoundname[text()="mom_string_functions"]/..) match([('id', 'namespacemom__string__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_string_functions', , {}, ['', 'Handy func [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_string_functions', , {}, ['`More... , {}, ['', 'Handy func [debug] xpath(./compounddef/compoundname[text()="mom_sum_output"]/..) match([('id', 'namespacemom__sum__output'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sum_output', , {}, ['', 'Reports integrat [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_sum_output', , {}, ['`More... , {}, ['', 'Reports integrat [debug] xpath(./compounddef/compoundname[text()="mom_surface_forcing"]/..) match([('id', 'namespacemom__surface__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_surface_forcing', , {}, ['', 'Functions t [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_surface_forcing', , {}, ['`More... , {}, ['', 'Functions t [debug] xpath(./compounddef/compoundname[text()="mom_surface_forcing_gfdl"]/..) match([('id', 'namespacemom__surface__forcing__gfdl'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_surface_forcing_gfdl', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_surface_forcing_gfdl', , {}, [', {}, ['`More... < [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_surface_forcing_gfdl', , {}, ['', ', {}, ['', 'Freezing point expr [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tfreeze', , {}, ['`More... , {}, ['', 'Freezing point expr [debug] xpath(./compounddef/compoundname[text()="mom_thickness_diffuse"]/..) match([('id', 'namespacemom__thickness__diffuse'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_thickness_diffuse', , {}, ['', 'Thickness [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_thickness_diffuse', , {}, ['`More... , {}, ['', 'Thickness [debug] xpath(./compounddef/compoundname[text()="mom_tidal_forcing"]/..) match([('id', 'namespacemom__tidal__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_forcing', , {}, ['', 'Tidal contrib [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_forcing', , {}, ['`More... , {}, ['', 'Tidal contrib [debug] xpath(./compounddef/compoundname[text()="mom_tidal_mixing"]/..) match([('id', 'namespacemom__tidal__mixing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_mixing', , {}, ['', 'Interface to v [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tidal_mixing', , {}, ['`More... , {}, ['', 'Interface to v [debug] xpath(./compounddef/compoundname[text()="mom_time_manager"]/..) match([('id', 'namespacemom__time__manager'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_time_manager', , {}, ['', 'Wraps the FMS [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_time_manager', , {}, ['`More... , {}, ['', 'Wraps the FMS [debug] xpath(./compounddef/compoundname[text()="mom_tracer_advect"]/..) match([('id', 'namespacemom__tracer__advect'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_advect', , {}, ['', 'This module c [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_advect', , {}, ['`More... , {}, ['', 'This module c [debug] xpath(./compounddef/compoundname[text()="mom_tracer_diabatic"]/..) match([('id', 'namespacemom__tracer__diabatic'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(namespaceMOM__tracer__flow__control) kindref(compound) ref([]) [debug] ref([('id', 'namespaceMOM__tracer__flow__control'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] kind(namespace) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_diabatic', , {}, ['', 'This module [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_diabatic', , {}, ['`More... , {}, ['', 'This module [debug] xpath(./compounddef/compoundname[text()="MOM_tracer_flow_control"]/..) match([('id', 'namespaceMOM__tracer__flow__control'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'MOM_tracer_flow_control', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'MOM_tracer_flow_control', , {}, [', {}, ['`More... , {}, ['', ', {}, ['', 'Orchest [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_flow_control', , {}, ['`More... , {}, ['', 'Orchest [debug] xpath(./compounddef/compoundname[text()="mom_tracer_hor_diff"]/..) match([('id', 'namespacemom__tracer__hor__diff'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_hor_diff', , {}, ['', 'Main routin [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_hor_diff', , {}, ['`More... , {}, ['', 'Main routin [debug] xpath(./compounddef/compoundname[text()="mom_tracer_initialization_from_z"]/..) match([('id', 'namespacemom__tracer__initialization__from__z'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_initialization_from_z', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_initialization_from_z', , {}, ['`M [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_initialization_from_z', , {}, ['', [debug] xpath(./compounddef/compoundname[text()="mom_tracer_registry"]/..) match([('id', 'namespacemom__tracer__registry'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [debug] method=visit_ref [debug] refid(structmom__tracer__registry_1_1tracer__registry__type) kindref(compound) ref([]) [debug] ref([('id', 'structmom__tracer__registry_1_1tracer__registry__type'), ('kind', 'type'), ('language', 'Fortran'), ('prot', 'public')]) [debug] kind(type) real_name() node_name(None) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_registry', , {}, ['', 'This module [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_registry', , {}, ['`More... , {}, ['', 'This module [debug] xpath(./compounddef/compoundname[text()="mom_tracer_z_init"]/..) match([('id', 'namespacemom__tracer__z__init'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_z_init', , {}, ['', 'Used to initi [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_tracer_z_init', , {}, ['`More... , {}, ['', 'Used to initi [debug] xpath(./compounddef/compoundname[text()="mom_transcribe_grid"]/..) match([('id', 'namespacemom__transcribe__grid'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_transcribe_grid', , {}, ['', 'Module with [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_transcribe_grid', , {}, ['`More... , {}, ['', 'Module with [debug] xpath(./compounddef/compoundname[text()="mom_transform_fms"]/..) match([('id', 'namespacemom__transform__fms'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_transform_fms', , {}, ['', 'Support funct [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_transform_fms', , {}, ['`More... , {}, ['', 'Support funct [debug] xpath(./compounddef/compoundname[text()="mom_unit_scaling"]/..) match([('id', 'namespacemom__unit__scaling'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_unit_scaling', , {}, ['', 'Provides a tra [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_unit_scaling', , {}, ['`More... , {}, ['', 'Provides a tra [debug] xpath(./compounddef/compoundname[text()="mom_unit_tests"]/..) match([('id', 'namespacemom__unit__tests'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_unit_tests', , {}, ['', 'Invokes unit tes [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_unit_tests', , {}, ['`More... , {}, ['', 'Invokes unit tes [debug] xpath(./compounddef/compoundname[text()="mom_variables"]/..) match([('id', 'namespacemom__variables'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables', , {}, ['', 'Provides transpar [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_variables', , {}, ['`More... , {}, ['', 'Provides transpar [debug] xpath(./compounddef/compoundname[text()="mom_vert_friction"]/..) match([('id', 'namespacemom__vert__friction'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_vert_friction', , {}, ['', 'Implements ve [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_vert_friction', , {}, ['`More... , {}, ['', 'Implements ve [debug] xpath(./compounddef/compoundname[text()="mom_verticalgrid"]/..) match([('id', 'namespacemom__verticalgrid'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_verticalgrid', , {}, ['', 'Provides a tra [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_verticalgrid', , {}, ['`More... , {}, ['', 'Provides a tra [debug] xpath(./compounddef/compoundname[text()="mom_wave_interface"]/..) match([('id', 'namespacemom__wave__interface'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_interface', , {}, ['', 'Interface fo [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_interface', , {}, ['`More... , {}, ['', 'Interface fo [debug] xpath(./compounddef/compoundname[text()="mom_wave_speed"]/..) match([('id', 'namespacemom__wave__speed'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_speed', , {}, ['', 'Routines for cal [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_speed', , {}, ['`More... , {}, ['', 'Routines for cal [debug] xpath(./compounddef/compoundname[text()="mom_wave_structure"]/..) match([('id', 'namespacemom__wave__structure'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_structure', , {}, ['', 'Vertical str [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_wave_structure', , {}, ['`More... , {}, ['', 'Vertical str [debug] xpath(./compounddef/compoundname[text()="mom_write_cputime"]/..) match([('id', 'namespacemom__write__cputime'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_write_cputime', , {}, ['', 'A module to m [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'mom_write_cputime', , {}, ['`More... , {}, ['', 'A module to m [debug] xpath(./compounddef/compoundname[text()="NETCDF"]/..) match([('id', 'namespaceNETCDF'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'NETCDF', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'NETCDF', , {}, ['', '']) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'NETCDF', , {}, ['`More... `_', ' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'NETCDF', , {}, ['', '', '', '`M [debug] xpath(./compounddef/compoundname[text()="netcdf"]/..) match([('id', 'namespacenetcdf'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'netcdf', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'netcdf', , {}, ['', '']) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'netcdf', , {}, ['`More... `_', ' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'netcdf', , {}, ['', '', '', '`M [debug] xpath(./compounddef/compoundname[text()="neverworld_initialization"]/..) match([('id', 'namespaceneverworld__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'neverworld_initialization', , {}, ['', 'Initi [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'neverworld_initialization', , {}, ['`More... [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'neverworld_initialization', , {}, ['', 'Initi [debug] xpath(./compounddef/compoundname[text()="ocean_da_core_mod"]/..) match([('id', 'namespaceocean__da__core__mod'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_core_mod', , {}, ['', 'A set of dumm [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_core_mod', , {}, ['`More... , {}, ['', 'A set of dumm [debug] xpath(./compounddef/compoundname[text()="ocean_da_types_mod"]/..) match([('id', 'namespaceocean__da__types__mod'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_types_mod', , {}, ['', 'Dummy aata s [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_da_types_mod', , {}, ['`More... , {}, ['', 'Dummy aata s [debug] xpath(./compounddef/compoundname[text()="ocean_model_mod"]/..) match([('id', 'namespaceocean__model__mod'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_model_mod', , {}, ['', 'Top-level modul [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ocean_model_mod', , {}, ['`More... , {}, ['', 'Top-level modul [debug] xpath(./compounddef/compoundname[text()="oil_tracer"]/..) match([('id', 'namespaceoil__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'oil_tracer', , {}, ['', 'A tracer package to [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'oil_tracer', , {}, ['`More... , {}, ['', 'A tracer package to [debug] xpath(./compounddef/compoundname[text()="p1m_functions"]/..) match([('id', 'namespacep1m__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'p1m_functions', , {}, ['', 'Linear interpolat [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'p1m_functions', , {}, ['`More... , {}, ['', 'Linear interpolat [debug] xpath(./compounddef/compoundname[text()="p3m_functions"]/..) match([('id', 'namespacep3m__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'p3m_functions', , {}, ['', 'Cubic interpolati [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'p3m_functions', , {}, ['`More... , {}, ['', 'Cubic interpolati [debug] xpath(./compounddef/compoundname[text()="PCM_functions"]/..) match([('id', 'namespacePCM__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'PCM_functions', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'PCM_functions', , {}, ['', '']) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'PCM_functions', , {}, ['`More... , {}, ['', '', [debug] xpath(./compounddef/compoundname[text()="pcm_functions"]/..) match([('id', 'namespacepcm__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'pcm_functions', , {}, ['', 'Piecewise constan [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'pcm_functions', , {}, ['`More... , {}, ['', 'Piecewise constan [debug] xpath(./compounddef/compoundname[text()="phillips_initialization"]/..) match([('id', 'namespacephillips__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'phillips_initialization', , {}, ['', 'Initial [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'phillips_initialization', , {}, ['`More... , {}, ['', 'Initial [debug] xpath(./compounddef/compoundname[text()="plm_functions"]/..) match([('id', 'namespaceplm__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'plm_functions', , {}, ['', 'Piecewise linear [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'plm_functions', , {}, ['`More... , {}, ['', 'Piecewise linear [debug] xpath(./compounddef/compoundname[text()="polynomial_functions"]/..) match([('id', 'namespacepolynomial__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'polynomial_functions', , {}, ['', 'Polynomial [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'polynomial_functions', , {}, ['`More... , {}, ['', 'Polynomial [debug] xpath(./compounddef/compoundname[text()="ppm_functions"]/..) match([('id', 'namespaceppm__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ppm_functions', , {}, ['', 'Provides function [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'ppm_functions', , {}, ['`More... , {}, ['', 'Provides function [debug] xpath(./compounddef/compoundname[text()="pqm_functions"]/..) match([('id', 'namespacepqm__functions'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'pqm_functions', , {}, ['', 'Piecewise quartic [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'pqm_functions', , {}, ['`More... , {}, ['', 'Piecewise quartic [debug] xpath(./compounddef/compoundname[text()="pseudo_salt_tracer"]/..) match([('id', 'namespacepseudo__salt__tracer'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'pseudo_salt_tracer', , {}, ['', 'A tracer pac [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'pseudo_salt_tracer', , {}, ['`More... , {}, ['', 'A tracer pac [debug] xpath(./compounddef/compoundname[text()="regional_dyes"]/..) match([('id', 'namespaceregional__dyes'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regional_dyes', , {}, ['', 'A tracer package [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regional_dyes', , {}, ['`More... , {}, ['', 'A tracer package [debug] xpath(./compounddef/compoundname[text()="regrid_consts"]/..) match([('id', 'namespaceregrid__consts'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regrid_consts', , {}, ['', 'Contains constant [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regrid_consts', , {}, ['`More... , {}, ['', 'Contains constant [debug] xpath(./compounddef/compoundname[text()="regrid_edge_values"]/..) match([('id', 'namespaceregrid__edge__values'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regrid_edge_values', , {}, ['', 'Edge value e [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regrid_edge_values', , {}, ['`More... , {}, ['', 'Edge value e [debug] xpath(./compounddef/compoundname[text()="regrid_interp"]/..) match([('id', 'namespaceregrid__interp'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regrid_interp', , {}, ['', 'Vertical interpol [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regrid_interp', , {}, ['`More... , {}, ['', 'Vertical interpol [debug] xpath(./compounddef/compoundname[text()="regrid_solvers"]/..) match([('id', 'namespaceregrid__solvers'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regrid_solvers', , {}, ['', 'Solvers of linea [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'regrid_solvers', , {}, ['`More... , {}, ['', 'Solvers of linea [debug] xpath(./compounddef/compoundname[text()="rgc_initialization"]/..) match([('id', 'namespacergc__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'rgc_initialization', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'rgc_initialization', , {}, ['', [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'rgc_initialization', , {}, ['`More... , {}, ['', ', {}, ['', 'This module contains [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'rgc_tracer', , {}, ['`More... , {}, ['', 'This module contains [debug] xpath(./compounddef/compoundname[text()="rossby_front_2d_initialization"]/..) match([('id', 'namespacerossby__front__2d__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'rossby_front_2d_initialization', , {}, ['', ' [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'rossby_front_2d_initialization', , {}, ['`Mor [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'rossby_front_2d_initialization', , {}, ['', ' [debug] xpath(./compounddef/compoundname[text()="scm_cvmix_tests"]/..) match([('id', 'namespacescm__cvmix__tests'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'scm_cvmix_tests', , {}, ['', 'Initial conditi [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'scm_cvmix_tests', , {}, ['`More... , {}, ['', 'Initial conditi [debug] xpath(./compounddef/compoundname[text()="seamount_initialization"]/..) match([('id', 'namespaceseamount__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'seamount_initialization', , {}, ['', 'Configu [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'seamount_initialization', , {}, ['`More... , {}, ['', 'Configu [debug] xpath(./compounddef/compoundname[text()="shelfwave_initialization"]/..) match([('id', 'namespaceshelfwave__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'shelfwave_initialization', , {}, ['', 'Config [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'shelfwave_initialization', , {}, ['`More... < [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'shelfwave_initialization', , {}, ['', 'Config [debug] xpath(./compounddef/compoundname[text()="sloshing_initialization"]/..) match([('id', 'namespacesloshing__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'sloshing_initialization', , {}, ['', 'Initial [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'sloshing_initialization', , {}, ['`More... , {}, ['', 'Initial [debug] xpath(./compounddef/compoundname[text()="soliton_initialization"]/..) match([('id', 'namespacesoliton__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'soliton_initialization', , {}, ['', 'Initial [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'soliton_initialization', , {}, ['`More... , {}, ['', 'Initial [debug] xpath(./compounddef/compoundname[text()="supercritical_initialization"]/..) match([('id', 'namespacesupercritical__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'supercritical_initialization', , {}, ['', 'Th [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'supercritical_initialization', , {}, ['`More. [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'supercritical_initialization', , {}, ['', 'Th [debug] xpath(./compounddef/compoundname[text()="tidal_bay_initialization"]/..) match([('id', 'namespacetidal__bay__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'tidal_bay_initialization', , {}, ['', 'Config [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'tidal_bay_initialization', , {}, ['`More... < [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'tidal_bay_initialization', , {}, ['', 'Config [debug] xpath(./compounddef/compoundname[text()="tidal_forcing"]/..) match([('id', 'namespacetidal__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'tidal_forcing', , {}, ['']) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'tidal_forcing', , {}, ['', '']) [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'tidal_forcing', , {}, ['`More... , {}, ['', '', [debug] xpath(./compounddef/compoundname[text()="user_change_diffusivity"]/..) match([('id', 'namespaceuser__change__diffusivity'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_change_diffusivity', , {}, ['', 'Increme [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_change_diffusivity', , {}, ['`More... , {}, ['', 'Increme [debug] xpath(./compounddef/compoundname[text()="user_initialization"]/..) match([('id', 'namespaceuser__initialization'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_initialization', , {}, ['', 'A template [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_initialization', , {}, ['`More... , {}, ['', 'A template [debug] xpath(./compounddef/compoundname[text()="user_revise_forcing"]/..) match([('id', 'namespaceuser__revise__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_revise_forcing', , {}, ['', 'Provides a [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_revise_forcing', , {}, ['`More... , {}, ['', 'Provides a [debug] xpath(./compounddef/compoundname[text()="user_shelf_init"]/..) match([('id', 'namespaceuser__shelf__init'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_shelf_init', , {}, ['', 'This module spe [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_shelf_init', , {}, ['`More... , {}, ['', 'This module spe [debug] xpath(./compounddef/compoundname[text()="user_surface_forcing"]/..) match([('id', 'namespaceuser__surface__forcing'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_surface_forcing', , {}, ['', 'Template f [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_surface_forcing', , {}, ['`More... , {}, ['', 'Template f [debug] xpath(./compounddef/compoundname[text()="user_tracer_example"]/..) match([('id', 'namespaceuser__tracer__example'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_tracer_example', , {}, ['', 'A sample tr [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'user_tracer_example', , {}, ['`More... , {}, ['', 'A sample tr [debug] xpath(./compounddef/compoundname[text()="write_ocean_obs_mod"]/..) match([('id', 'namespacewrite__ocean__obs__mod'), ('kind', 'namespace'), ('language', 'Fortran')]) [debug] DoxygenModuleDocumenter format_signature called [debug] verbosity = 3 [debug] Setting build mode: latex [debug] method=visit_para [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'write_ocean_obs_mod', , {}, ['', 'Dummy inter [app] emitting event: 'autodoc-process-docstring'('doxymodule', 'write_ocean_obs_mod', , {}, ['`More... , {}, ['', 'Dummy inter [app] emitting event: 'doctree-read'(
>,) /home/cermak/src/MOM6.devrob/docs/api/modules.rst:5: (INFO/1) Duplicate implicit target name: “modules”. [filtered system message] reading sources... [ 93%] api/pages [app] emitting event: 'env-purge-doc'(, 'api/pages') [app] emitting event: 'source-read'('api/pages', ['.. _Pages:\n\n=====\nPages\n=====\n\n.. autodoxysummary::\n :toctree: generated/pa [app] emitting event: 'doctree-read'(
>,) /home/cermak/src/MOM6.devrob/docs/api/pages.rst:5: (INFO/1) Duplicate implicit target name: “pages”. [filtered system message] reading sources... [ 94%] apiref [app] emitting event: 'env-purge-doc'(, 'apiref') [app] emitting event: 'source-read'('apiref', ['.. _API_Reference:\n\nAPI Reference\n=============\n\nThis API reference is a partial i [app] emitting event: 'doctree-read'(
>,) reading sources... [ 94%] code_organization [app] emitting event: 'env-purge-doc'(, 'code_organization') [app] emitting event: 'source-read'('code_organization', ['Organization of the code\n========================\n\nThe MOM6 source code i [i18n] PATCH: 'docutils.nodes.term' to have rawsource: src/ [i18n] PATCH: 'docutils.nodes.term' to have rawsource: config_src/ [i18n] PATCH: 'docutils.nodes.term' to have rawsource: pkg/ [i18n] PATCH: 'docutils.nodes.term' to have rawsource: docs/ [i18n] PATCH: 'docutils.nodes.term' to have rawsource: .testing/ [i18n] PATCH: 'docutils.nodes.term' to have rawsource: dynamic/, dynamic_symm... [i18n] PATCH: 'docutils.nodes.term' to have rawsource: external/ [i18n] PATCH: 'docutils.nodes.term' to have rawsource: solo_driver/ [i18n] PATCH: 'docutils.nodes.term' to have rawsource: coupled_driver/ [i18n] PATCH: 'docutils.nodes.term' to have rawsource: core/ [i18n] PATCH: 'docutils.nodes.term' to have rawsource: ALE/ [i18n] PATCH: 'docutils.nodes.term' to have rawsource: diagnostics/ [i18n] PATCH: 'docutils.nodes.term' to have rawsource: equation_of_state/ [i18n] PATCH: 'docutils.nodes.term' to have rawsource: framework/ [i18n] PATCH: 'docutils.nodes.term' to have rawsource: initialization/ [i18n] PATCH: 'docutils.nodes.term' to have rawsource: parameterizations/lateral [i18n] PATCH: 'docutils.nodes.term' to have rawsource: parameterizations/vertical [i18n] PATCH: 'docutils.nodes.term' to have rawsource: tracer/ [i18n] PATCH: 'docutils.nodes.term' to have rawsource: user/ [app] emitting event: 'doctree-read'(>,) reading sources... [ 94%] discrete_space [app] emitting event: 'env-purge-doc'(, 'discrete_space') [app] emitting event: 'source-read'('discrete_space', ['Spatial Discretization\n======================\n\nThe model equations are the l [app] emitting event: 'doctree-read'(>,) reading sources... [ 95%] discrete_time [app] emitting event: 'env-purge-doc'(, 'discrete_time') [app] emitting event: 'source-read'('discrete_time', ['Time Discretization\n===================\n\n.. toctree::\n :maxdepth: 2\n\n [app] emitting event: 'doctree-read'(>,) reading sources... [ 95%] equations [app] emitting event: 'env-purge-doc'(, 'equations') [app] emitting event: 'source-read'('equations', ['Equations\n=========\n\nThe model equations are the layer-integrated vector-invarian [app] emitting event: 'doctree-read'(>,) reading sources... [ 95%] forcing [app] emitting event: 'env-purge-doc'(, 'forcing') [app] emitting event: 'source-read'('forcing', ['Forcing\n=======\n\n.. toctree::\n :maxdepth: 2\n\n api/generated/pages/Solar_Ra [app] emitting event: 'doctree-read'(>,) reading sources... [ 96%] grids [app] emitting event: 'env-purge-doc'(, 'grids') [app] emitting event: 'source-read'('grids', ['Grids\n=====\n\nWe love grids.\n\n.. toctree::\n :maxdepth: 2\n\n api/generated/pa [app] emitting event: 'doctree-read'(>,) reading sources... [ 96%] index [app] emitting event: 'env-purge-doc'(, 'index') [app] emitting event: 'source-read'('index', [".. MOM6 documentation master file, created by\n sphinx-quickstart on Sun Jan 22 11:40: [app] emitting event: 'doctree-read'(
,) reading sources... [ 97%] other_physics [app] emitting event: 'env-purge-doc'(, 'other_physics') [app] emitting event: 'source-read'('other_physics', ['Other Physics\n=============\n\n.. toctree::\n :maxdepth: 2\n\n api/genera [app] emitting event: 'doctree-read'(>,) reading sources... [ 97%] parallel [app] emitting event: 'env-purge-doc'(, 'parallel') [app] emitting event: 'source-read'('parallel', ['Parallel Implementation\n=======================\n\n.. toctree::\n :maxdepth: 2\n\ [app] emitting event: 'doctree-read'(>,) reading sources... [ 97%] parameterizations [app] emitting event: 'env-purge-doc'(, 'parameterizations') [app] emitting event: 'source-read'('parameterizations', ['Parameterizations\n=================\n\nSub-grid scale parameterizations are [app] emitting event: 'doctree-read'(>,) reading sources... [ 98%] parameterizations_lateral [app] emitting event: 'env-purge-doc'(, 'parameterizations_lateral') [app] emitting event: 'source-read'('parameterizations_lateral', ['Lateral Parameterizations\n=========================\n\nThe followin [app] emitting event: 'doctree-read'(>,) reading sources... [ 98%] parameterizations_vertical [app] emitting event: 'env-purge-doc'(, 'parameterizations_vertical') [app] emitting event: 'source-read'('parameterizations_vertical', ['Vertical Parameterizations\n==========================\n\nThe follo [i18n] PATCH: 'docutils.nodes.term' to have rawsource: K-profile parameterization (KPP) [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Energetic Planetary Boundary Layer (ePBL) [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Bulk mixed layer (BML) [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Kappa-shear [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Internal-tide driven mixing [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Opacity [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Short-wave absorption [app] emitting event: 'doctree-read'(>,) reading sources... [ 98%] testing [app] emitting event: 'env-purge-doc'(, 'testing') [app] emitting event: 'source-read'('testing', ['Testing of MOM6\n=================\n\n.. toctree::\n :maxdepth: 1\n\n api/genera [app] emitting event: 'doctree-read'(>,) reading sources... [ 99%] tracers [app] emitting event: 'env-purge-doc'(, 'tracers') [app] emitting event: 'source-read'('tracers', ['Tracers in MOM6\n=================\n\n.. toctree::\n :maxdepth: 1\n\n api/genera [app] emitting event: 'doctree-read'(>,) reading sources... [ 99%] working_with_MOM6 [app] emitting event: 'env-purge-doc'(, 'working_with_MOM6') [app] emitting event: 'source-read'('working_with_MOM6', ['Working with MOM6\n=================\n\n.. toctree::\n :maxdepth: 1\n\n [app] emitting event: 'doctree-read'(>,) reading sources... [100%] zzbibliography [app] emitting event: 'env-purge-doc'(, 'zzbibliography') [app] emitting event: 'source-read'('zzbibliography', ['Bibliography\n============\n\n.. bibliography:: ocean.bib references.bib zotero checking for /home/cermak/src/MOM6.devrob/docs/ocean.bib in bibtex cache... not found parsing bibtex file /home/cermak/src/MOM6.devrob/docs/ocean.bib... parsed 7 entries checking for /home/cermak/src/MOM6.devrob/docs/references.bib in bibtex cache... not found parsing bibtex file /home/cermak/src/MOM6.devrob/docs/references.bib... parsed 11 entries checking for /home/cermak/src/MOM6.devrob/docs/zotero.bib in bibtex cache... not found parsing bibtex file /home/cermak/src/MOM6.devrob/docs/zotero.bib... parsed 169 entries [app] emitting event: 'doctree-read'(>,) [app] emitting event: 'env-updated'(,) WARNING [autosummary] failed to import 'md__home_cermak_src_MOM6.devrob_config_src_external_GFDL_ocean_BGC_README': no module named md__home_cermak_src_MOM6.devrob_config_src_external_GFDL_ocean_BGC_README WARNING [autosummary] failed to import 'md__home_cermak_src_MOM6.devrob_config_src_external_ODA_hooks_README': no module named md__home_cermak_src_MOM6.devrob_config_src_external_ODA_hooks_README WARNING [autosummary] failed to import 'md__home_cermak_src_MOM6.devrob_config_src_external_README': no module named md__home_cermak_src_MOM6.devrob_config_src_external_README /home/cermak/venv/esmg/lib/python3.8/site-packages/Sphinx-3.3.0.dev20201102-py3.8.egg/sphinx/ext/autodoc/__init__.py:302: RemovedInSphinx40Warning: Autosummary.genopt is deprecated self.options = directive.genopt /home/cermak/venv/esmg/lib/python3.8/site-packages/Sphinx-3.3.0.dev20201102-py3.8.egg/sphinx/ext/autodoc/__init__.py:335: RemovedInSphinx40Warning: Autosummary.result is deprecated self.directive.result.append('', source, *lineno) /home/cermak/venv/esmg/lib/python3.8/site-packages/Sphinx-3.3.0.dev20201102-py3.8.egg/sphinx/ext/autodoc/__init__.py:333: RemovedInSphinx40Warning: Autosummary.result is deprecated self.directive.result.append(self.indent + line, source, *lineno) docstring of mom::mom_diag_ids:1: WARNING: Unknown target name: "step_mom_dyn". docstring of mom::mom_diag_ids:1: WARNING: Unknown target name: "step_mom_dyn". docstring of step_mom:2: WARNING: Unknown target name: "step_mom_dyn". docstring of mom_bkgnd_mixing::bkgnd_mixing_cs:4: WARNING: Inline substitution_reference start-string without end-string. docstring of int_specific_vol_dp:2: WARNING: Undefined substitution referenced: "eps". docstring of downsample_field_3d:8: WARNING: Unexpected section title. The down sample algorithm ========================= docstring of clone_md_to_md:1: WARNING: Unknown target name: "symmetric_memory". docstring of clone_md_to_d2d:1: WARNING: Unknown target name: "symmetric_memory". docstring of get_domain_extent:1: WARNING: Unknown target name: "symmetric_memory". :1: WARNING: Undefined substitution referenced: "x". docstring of adcroft_reciprocal:2: WARNING: Undefined substitution referenced: "x". docstring of mom_dynamics_split_rk2:4: WARNING: Unknown target name: "mom_dynamics". docstring of mom_energetic_pbl:1: WARNING: duplicate label detamom_energetic_pbl, other instance in /home/cermak/src/MOM6.devrob/docs/api/generated/modules/MOM_energetic_PBL.rst docstring of analytic_int_specific_vol_dp:2: WARNING: Undefined substitution referenced: "eps". docstring of int_spec_vol_dp_wright:2: WARNING: Undefined substitution referenced: "eps". docstring of mom_file_parser:1: WARNING: Inline emphasis start-string without end-string. docstring of mom_file_parser:1: WARNING: Inline emphasis start-string without end-string. docstring of mom_file_parser:1: WARNING: Inline emphasis start-string without end-string. docstring of openmultilinecomment:2: WARNING: Inline emphasis start-string without end-string. docstring of closemultilinecomment:2: WARNING: Inline emphasis start-string without end-string. docstring of lastnoncommentindex:2: WARNING: Inline emphasis start-string without end-string. :1: WARNING: Undefined substitution referenced: "x". docstring of adcroft_reciprocal:2: WARNING: Undefined substitution referenced: "x". :1: WARNING: Undefined substitution referenced: "x". docstring of adcroft_reciprocal:2: WARNING: Undefined substitution referenced: "x". docstring of mom_ice_shelf_dynamics::loop_bounds_type:1: WARNING: Undefined substitution referenced: "u - u_last". docstring of mom_ice_shelf_dynamics::loop_bounds_type:1: WARNING: Undefined substitution referenced: "u". docstring of mom_kappa_shear::kappa_shear_cs:12: WARNING: Inline substitution_reference start-string without end-string. docstring of plm_diff:12: WARNING: Field list ends without a blank line; unexpected unindent. docstring of mom_oda_driver_mod:1: WARNING: duplicate label detamom_oda_driver_mod, other instance in /home/cermak/src/MOM6.devrob/docs/api/generated/modules/MOM_oda_driver_mod.rst docstring of set_viscous_bbl:10: WARNING: Unexpected section title. Viscous Bottom Boundary Layer ============================= docstring of set_viscous_bbl:54: WARNING: Unexpected section title. References ---------- docstring of set_viscous_bbl:56: WARNING: Unknown target name: "doi:10.1175/1520-0485(1999)029<1221:atbblc>2.0.co;2 2.0.co;2>". docstring of mom_tracer_flow_control:1: WARNING: duplicate label detamom_tracer_flow_control, other instance in /home/cermak/src/MOM6.devrob/docs/api/generated/modules/MOM_tracer_flow_control.rst docstring of wave_structure:17: WARNING: Undefined substitution referenced: "e". docstring of netcdf:1: WARNING: duplicate label detanetcdf, other instance in /home/cermak/src/MOM6.devrob/docs/api/generated/modules/NETCDF.rst docstring of pcm_functions:1: WARNING: duplicate label detapcm_functions, other instance in /home/cermak/src/MOM6.devrob/docs/api/generated/modules/PCM_functions.rst docstring of user_initialization:30: WARNING: Unknown target name: "user". /home/cermak/src/MOM6.devrob/docs/api/generated/pages/todo.rst:111: WARNING: Unknown target name: "c1". /home/cermak/src/MOM6.devrob/docs/api/generated/pages/todo.rst:111: WARNING: Unknown target name: "c2". /home/cermak/src/MOM6.devrob/docs/api/generated/pages/todo.rst:111: WARNING: Unknown target name: "c3". looking for now-outdated files... [app] emitting event: 'env-get-updated'(,) none found pickling environment... done checking consistency... /home/cermak/src/MOM6.devrob/docs/api/pages.rst: WARNING: document isn't included in any toctree [app] emitting event: 'env-check-consistency'(,) done processing MOM6.tex... index about equations api/generated/pages/Notation api/generated/pages/Governing_Equations api/generated/pages/General_Coordinate api/generated/pages/Specifics api/generated/pages/ALE discrete_space api/generated/pages/Discrete_Grids api/generated/pages/Finite_Difference_Operators api/generated/pages/PPM api/generated/pages/Discrete_Coriolis api/generated/pages/Discrete_PG api/generated/pages/Energetic_Consistency api/generated/pages/Discrete_OBC discrete_time api/generated/pages/Timestep_Overview api/generated/pages/Barotropic_Momentum_Equations api/generated/pages/Baroclinic_Momentum_Equations api/generated/pages/Barotropic_Baroclinic_Coupling api/generated/pages/Tracer_Timestep api/generated/pages/ALE_Timestep tracers api/generated/pages/Tracer_Advection api/generated/pages/Tracer_Transport_Equations api/generated/pages/Horizontal_Diffusion api/generated/pages/Vertical_Diffusion api/generated/pages/Passive_Tracers grids api/generated/pages/Global_Grids api/generated/pages/Regional_Grids api/generated/pages/Vertical_Grids parameterizations parameterizations_vertical parameterizations_lateral other_physics api/generated/pages/Equation_of_State api/generated/pages/Sea_Ice working_with_MOM6 code_organization api/generated/pages/Runtime_Parameter_System api/generated/pages/Diagnostics api/generated/pages/Horizontal_Indexing forcing api/generated/pages/Solar_Radiation api/generated/pages/Tracer_Fluxes parallel api/generated/pages/Domain_Decomposition api/generated/pages/Parallel_IO testing api/generated/pages/Testing apiref api/modules api/generated/modules/adjustment_initialization api/generated/modules/advection_test_tracer api/generated/modules/atmos_ocean_fluxes_mod api/generated/modules/baroclinic_zone_initialization api/generated/modules/basin_builder api/generated/modules/benchmark_initialization api/generated/modules/bfb_initialization api/generated/modules/bfb_surface_forcing api/generated/modules/boundary_impulse_tracer api/generated/modules/circle_obcs_initialization api/generated/modules/coord_adapt api/generated/modules/coord_hycom api/generated/modules/coord_rho api/generated/modules/coord_sigma api/generated/modules/coord_slight api/generated/modules/coord_zlike api/generated/modules/dense_water_initialization api/generated/modules/dome2d_initialization api/generated/modules/dome_initialization api/generated/modules/dome_tracer api/generated/modules/dumbbell_initialization api/generated/modules/dumbbell_surface_forcing api/generated/modules/dyed_channel_initialization api/generated/modules/dyed_obc_tracer api/generated/modules/dyed_obcs_initialization api/generated/modules/external_gwave_initialization api/generated/modules/fms_coupler_util api/generated/modules/g_tracer_utils api/generated/modules/generic_tracer api/generated/modules/ideal_age_example api/generated/modules/idealized_hurricane api/generated/modules/isomip_initialization api/generated/modules/isomip_tracer api/generated/modules/kdtree api/generated/modules/kelvin_initialization api/generated/modules/lock_exchange_initialization api/generated/modules/meso_surface_forcing api/generated/modules/mom api/generated/modules/mom_ale api/generated/modules/mom_ale_sponge api/generated/modules/mom_array_transform api/generated/modules/mom_barotropic api/generated/modules/mom_bkgnd_mixing api/generated/modules/mom_boundary_update api/generated/modules/mom_bulk_mixed_layer api/generated/modules/mom_checksum_packages api/generated/modules/mom_checksums api/generated/modules/mom_coms api/generated/modules/mom_constants api/generated/modules/mom_continuity api/generated/modules/mom_continuity_ppm api/generated/modules/mom_controlled_forcing api/generated/modules/mom_coord_initialization api/generated/modules/mom_coriolisadv api/generated/modules/mom_cpu_clock api/generated/modules/mom_cvmix_conv api/generated/modules/mom_cvmix_ddiff api/generated/modules/mom_cvmix_kpp api/generated/modules/mom_cvmix_shear api/generated/modules/mom_debugging api/generated/modules/mom_density_integrals api/generated/modules/mom_diabatic_aux api/generated/modules/mom_diabatic_driver api/generated/modules/mom_diag_manager_wrapper api/generated/modules/mom_diag_mediator api/generated/modules/mom_diag_remap api/generated/modules/mom_diag_vkernels api/generated/modules/mom_diagnostics api/generated/modules/mom_diapyc_energy_req api/generated/modules/mom_document api/generated/modules/mom_domains api/generated/modules/mom_dyn_horgrid api/generated/modules/mom_dynamics_split_rk2 api/generated/modules/mom_dynamics_unsplit api/generated/modules/mom_dynamics_unsplit_rk2 api/generated/modules/MOM_energetic_PBL api/generated/modules/mom_energetic_pbl api/generated/modules/mom_entrain_diffusive api/generated/modules/mom_eos api/generated/modules/mom_eos_linear api/generated/modules/mom_eos_nemo api/generated/modules/mom_eos_teos10 api/generated/modules/mom_eos_unesco api/generated/modules/mom_eos_wright api/generated/modules/mom_error_handler api/generated/modules/mom_file_parser api/generated/modules/mom_fixed_initialization api/generated/modules/mom_forcing_type api/generated/modules/mom_full_convection api/generated/modules/mom_generic_tracer api/generated/modules/mom_geothermal api/generated/modules/mom_get_input api/generated/modules/mom_grid api/generated/modules/mom_grid_initialize api/generated/modules/mom_hor_index api/generated/modules/mom_hor_visc api/generated/modules/mom_horizontal_regridding api/generated/modules/mom_ice_shelf api/generated/modules/mom_ice_shelf_dynamics api/generated/modules/mom_ice_shelf_initialize api/generated/modules/mom_ice_shelf_state api/generated/modules/mom_int_tide_input api/generated/modules/mom_interface_heights api/generated/modules/mom_internal_tides api/generated/modules/mom_intrinsic_functions api/generated/modules/mom_io api/generated/modules/mom_isopycnal_slopes api/generated/modules/mom_kappa_shear api/generated/modules/mom_lateral_boundary_diffusion api/generated/modules/mom_lateral_mixing_coeffs api/generated/modules/mom_marine_ice api/generated/modules/mom_meke api/generated/modules/mom_meke_types api/generated/modules/mom_mixed_layer_restrat api/generated/modules/mom_neutral_diffusion api/generated/modules/mom_obsolete_diagnostics api/generated/modules/mom_obsolete_params api/generated/modules/mom_ocmip2_cfc api/generated/modules/MOM_oda_driver_mod api/generated/modules/mom_oda_driver_mod api/generated/modules/mom_offline_aux api/generated/modules/mom_offline_main api/generated/modules/mom_opacity api/generated/modules/mom_open_boundary api/generated/modules/mom_pointaccel api/generated/modules/mom_pressureforce api/generated/modules/mom_pressureforce_fv api/generated/modules/mom_pressureforce_mont api/generated/modules/mom_random api/generated/modules/mom_regridding api/generated/modules/mom_regularize_layers api/generated/modules/mom_remapping api/generated/modules/mom_restart api/generated/modules/mom_safe_alloc api/generated/modules/mom_set_diffusivity api/generated/modules/mom_set_visc api/generated/modules/mom_shared_initialization api/generated/modules/mom_spatial_means api/generated/modules/mom_sponge api/generated/modules/mom_state_initialization api/generated/modules/mom_string_functions api/generated/modules/mom_sum_output api/generated/modules/mom_surface_forcing api/generated/modules/mom_surface_forcing_gfdl api/generated/modules/mom_tfreeze api/generated/modules/mom_thickness_diffuse api/generated/modules/mom_tidal_forcing api/generated/modules/mom_tidal_mixing api/generated/modules/mom_time_manager api/generated/modules/mom_tracer_advect api/generated/modules/mom_tracer_diabatic api/generated/modules/MOM_tracer_flow_control api/generated/modules/mom_tracer_flow_control api/generated/modules/mom_tracer_hor_diff api/generated/modules/mom_tracer_initialization_from_z api/generated/modules/mom_tracer_registry api/generated/modules/mom_tracer_z_init api/generated/modules/mom_transcribe_grid api/generated/modules/mom_transform_fms api/generated/modules/mom_unit_scaling api/generated/modules/mom_unit_tests api/generated/modules/mom_variables api/generated/modules/mom_vert_friction api/generated/modules/mom_verticalgrid api/generated/modules/mom_wave_interface api/generated/modules/mom_wave_speed api/generated/modules/mom_wave_structure api/generated/modules/mom_write_cputime api/generated/modules/NETCDF api/generated/modules/netcdf api/generated/modules/neverworld_initialization api/generated/modules/ocean_da_core_mod api/generated/modules/ocean_da_types_mod api/generated/modules/ocean_model_mod api/generated/modules/oil_tracer api/generated/modules/p1m_functions api/generated/modules/p3m_functions api/generated/modules/PCM_functions api/generated/modules/pcm_functions api/generated/modules/phillips_initialization api/generated/modules/plm_functions api/generated/modules/polynomial_functions api/generated/modules/ppm_functions api/generated/modules/pqm_functions api/generated/modules/pseudo_salt_tracer api/generated/modules/regional_dyes api/generated/modules/regrid_consts api/generated/modules/regrid_edge_values api/generated/modules/regrid_interp api/generated/modules/regrid_solvers api/generated/modules/rgc_initialization api/generated/modules/rgc_tracer api/generated/modules/rossby_front_2d_initialization api/generated/modules/scm_cvmix_tests api/generated/modules/seamount_initialization api/generated/modules/shelfwave_initialization api/generated/modules/sloshing_initialization api/generated/modules/soliton_initialization api/generated/modules/supercritical_initialization api/generated/modules/tidal_bay_initialization api/generated/modules/tidal_forcing api/generated/modules/user_change_diffusivity api/generated/modules/user_initialization api/generated/modules/user_revise_forcing api/generated/modules/user_shelf_init api/generated/modules/user_surface_forcing api/generated/modules/user_tracer_example api/generated/modules/write_ocean_obs_mod zzbibliography resolving references... [app] emitting event: 'missing-reference'(, >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , [app] emitting event: 'missing-reference'(, >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, <#t [app] emitting event: 'missing-reference'(, >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, <# [app] emitting event: 'missing-reference'(, >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, < [app] emitting event: 'missing-reference'(, >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, < [app] emitting event: 'missing-reference'(, >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, < [app] emitting event: 'missing-reference'(, >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, [app] emitting event: 'missing-reference'(, >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, <#t [app] emitting event: 'missing-reference'(, >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >,
, 'index') done writing... done copying images... [ 3%] images/Arakawa_C_grid.png copying images... [ 6%] images/Grid_metrics.png copying images... [ 10%] images/cell_3d.png copying images... [ 13%] images/ppm_arc.png copying images... [ 17%] images/PG_loop.png copying images... [ 20%] images/timesteps_4.png copying images... [ 24%] images/timestep_MOM6.png copying images... [ 27%] images/timestep_ROMS.png copying images... [ 31%] images/h_PPM.png copying images... [ 34%] images/Newton_PPM.png copying images... [ 37%] images/bottom_drag.png copying images... [ 41%] images/bt_bc_thickness.png copying images... [ 44%] images/remapping1.png copying images... [ 48%] images/remapping2.png copying images... [ 51%] images/remapping3.png copying images... [ 55%] images/PPM_1d.png copying images... [ 58%] images/eddy_fluxes.png copying images... [ 62%] images/shao0.png copying images... [ 65%] images/shao1.png copying images... [ 68%] images/shao2.png copying images... [ 72%] images/shao3.png copying images... [ 75%] images/shao4.png copying images... [ 79%] images/shao5.png copying images... [ 82%] images/sbl1.png copying images... [ 86%] images/sbl2.png copying images... [ 89%] images/Horizontal_NE_indexing_nonsym.png copying images... [ 93%] images/Horizontal_NE_indexing_sym.png copying images... [ 96%] images/consortium.png copying images... [100%] images/Rotated_indices.png copying TeX support files... copying TeX support files... done build succeeded, 42 warnings. The LaTeX files are in _build/latex. Run 'make' in that directory to run these through (pdf)latex (use `make latexpdf' here to do that automatically). [app] emitting event: 'build-finished'(None,) Running LaTeX files through pdflatex... make -C _build/latex LATEXMKOPTS="-f -silent" all-pdf make[1]: Entering directory '/home/cermak/src/MOM6.devrob/docs/_build/latex' latexmk -pdf -dvi- -ps- -f -silent 'MOM6.tex' Latexmk: Run number 1 of rule 'pdflatex' This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex) restricted \write18 enabled. entering extended mode Latexmk: Run number 1 of rule 'makeindex MOM6.idx' Latexmk: Run number 2 of rule 'pdflatex' This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex) restricted \write18 enabled. entering extended mode Latexmk: Run number 3 of rule 'pdflatex' This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex) restricted \write18 enabled. entering extended mode make[1]: Leaving directory '/home/cermak/src/MOM6.devrob/docs/_build/latex' pdflatex finished; the PDF files are in _build/latex.