From d09534a0659c407683d9380ec7450c328f41acbe Mon Sep 17 00:00:00 2001 From: Marshall Ward Date: Tue, 10 Mar 2020 15:18:57 -0400 Subject: [PATCH 1/2] Doxygen 1.8.17 documentation fixes This resolves several new issues raised by the current version of Doxygen (1.8.17). Primarily it addresses the stricter enforcement of grouping syntax, e.g. !>@{ ... !>@} The current code is somewhat inconsistent in its use of !!@{ vs !>@{ , and moreso in the closing token. This patch updates these to always lead with starting Doxygen comment tokens !> . Exposing these groups also revealed a few undocumented variables, which have been updated with minimal descriptions for now. Finally, one subroutine in MOM_horizontal_regridding was causing a segfault, so it had to be reworked to remove its grouping, so that individual indices now have descriptions. --- config_src/solo_driver/MOM_surface_forcing.F90 | 2 +- src/ALE/regrid_interp.F90 | 2 +- src/core/MOM.F90 | 5 +++-- src/core/MOM_CoriolisAdv.F90 | 9 +++++---- src/core/MOM_PressureForce_Montgomery.F90 | 2 +- src/core/MOM_barotropic.F90 | 16 ++++++++-------- src/core/MOM_boundary_update.F90 | 2 +- src/core/MOM_continuity_PPM.F90 | 4 ++-- src/core/MOM_dynamics_split_RK2.F90 | 4 ++-- src/core/MOM_dynamics_unsplit.F90 | 4 ++-- src/core/MOM_dynamics_unsplit_RK2.F90 | 4 ++-- src/core/MOM_forcing_type.F90 | 2 +- src/diagnostics/MOM_diagnostics.F90 | 8 +++++--- src/equation_of_state/MOM_EOS_NEMO.F90 | 2 +- src/equation_of_state/MOM_EOS_UNESCO.F90 | 2 +- src/equation_of_state/MOM_EOS_Wright.F90 | 2 +- src/framework/MOM_diag_mediator.F90 | 15 ++++++++------- src/framework/MOM_file_parser.F90 | 2 +- src/framework/MOM_horizontal_regridding.F90 | 8 ++++---- src/framework/MOM_restart.F90 | 2 +- src/ice_shelf/MOM_ice_shelf_dynamics.F90 | 2 +- src/ocean_data_assim/MOM_oda_driver.F90 | 2 +- src/parameterizations/lateral/MOM_MEKE.F90 | 2 +- src/parameterizations/lateral/MOM_hor_visc.F90 | 2 +- .../lateral/MOM_internal_tides.F90 | 4 ++-- src/parameterizations/vertical/MOM_CVMix_KPP.F90 | 2 +- .../vertical/MOM_CVMix_conv.F90 | 2 +- .../vertical/MOM_CVMix_ddiff.F90 | 2 +- .../vertical/MOM_CVMix_shear.F90 | 2 +- .../vertical/MOM_bulk_mixed_layer.F90 | 4 ++-- .../vertical/MOM_diabatic_aux.F90 | 2 +- .../vertical/MOM_diabatic_driver.F90 | 5 +++-- .../vertical/MOM_diapyc_energy_req.F90 | 2 +- .../vertical/MOM_energetic_PBL.F90 | 6 +++--- .../vertical/MOM_internal_tide_input.F90 | 2 +- .../vertical/MOM_kappa_shear.F90 | 2 +- src/parameterizations/vertical/MOM_opacity.F90 | 4 ++-- .../vertical/MOM_regularize_layers.F90 | 4 ++-- .../vertical/MOM_set_diffusivity.F90 | 4 ++-- .../vertical/MOM_set_viscosity.F90 | 2 +- .../vertical/MOM_tidal_mixing.F90 | 6 +++--- src/tracer/MOM_OCMIP2_CFC.F90 | 8 ++++---- src/tracer/MOM_offline_main.F90 | 2 +- src/tracer/MOM_tracer_advect.F90 | 2 +- src/tracer/MOM_tracer_flow_control.F90 | 2 +- src/tracer/MOM_tracer_hor_diff.F90 | 4 ++-- src/tracer/MOM_tracer_registry.F90 | 2 +- src/user/MOM_controlled_forcing.F90 | 2 +- src/user/MOM_wave_interface.F90 | 4 ++-- 49 files changed, 96 insertions(+), 90 deletions(-) diff --git a/config_src/solo_driver/MOM_surface_forcing.F90 b/config_src/solo_driver/MOM_surface_forcing.F90 index 7fded7796e..df403712f7 100644 --- a/config_src/solo_driver/MOM_surface_forcing.F90 +++ b/config_src/solo_driver/MOM_surface_forcing.F90 @@ -207,7 +207,7 @@ module MOM_surface_forcing type(Neverland_surface_forcing_CS), pointer :: Neverland_forcing_CSp => NULL() type(idealized_hurricane_CS), pointer :: idealized_hurricane_CSp => NULL() type(SCM_CVmix_tests_CS), pointer :: SCM_CVmix_tests_CSp => NULL() - !!@} + !>@} end type surface_forcing_CS diff --git a/src/ALE/regrid_interp.F90 b/src/ALE/regrid_interp.F90 index 3faa5f46b1..19082292be 100644 --- a/src/ALE/regrid_interp.F90 +++ b/src/ALE/regrid_interp.F90 @@ -54,7 +54,7 @@ module regrid_interp !>@{ Interpolant degrees integer, parameter :: DEGREE_1 = 1, DEGREE_2 = 2, DEGREE_3 = 3, DEGREE_4 = 4 integer, public, parameter :: DEGREE_MAX = 5 -!!@} +!>@} !> When the N-R algorithm produces an estimate that lies outside [0,1], the !! estimate is set to be equal to the boundary location, 0 or 1, plus or minus diff --git a/src/core/MOM.F90 b/src/core/MOM.F90 index adb916298f..49c650fe62 100644 --- a/src/core/MOM.F90 +++ b/src/core/MOM.F90 @@ -143,7 +143,8 @@ module MOM !> A structure with diagnostic IDs of the state variables type MOM_diag_IDs !>@{ 3-d state field diagnostic IDs - integer :: id_u = -1, id_v = -1, id_h = -1 !!@} + integer :: id_u = -1, id_v = -1, id_h = -1 + !>@} !> 2-d state field diagnotic ID integer :: id_ssh_inst = -1 end type MOM_diag_IDs @@ -389,7 +390,7 @@ module MOM integer :: id_clock_ALE integer :: id_clock_other integer :: id_clock_offline_tracer -!!@} +!>@} contains diff --git a/src/core/MOM_CoriolisAdv.F90 b/src/core/MOM_CoriolisAdv.F90 index e044ea5f6d..2f96839ed5 100644 --- a/src/core/MOM_CoriolisAdv.F90 +++ b/src/core/MOM_CoriolisAdv.F90 @@ -73,7 +73,8 @@ module MOM_CoriolisAdv type(diag_ctrl), pointer :: diag !< A structure that is used to regulate the timing of diagnostic output. !>@{ Diagnostic IDs integer :: id_rv = -1, id_PV = -1, id_gKEu = -1, id_gKEv = -1 - integer :: id_rvxu = -1, id_rvxv = -1 !!@} + integer :: id_rvxu = -1, id_rvxv = -1 + !>@} end type CoriolisAdv_CS !>@{ Enumeration values for Coriolis_Scheme @@ -89,7 +90,7 @@ module MOM_CoriolisAdv character*(20), parameter :: SADOURNY75_ENSTRO_STRING = "SADOURNY75_ENSTRO" character*(20), parameter :: ARAKAWA_LAMB_STRING = "ARAKAWA_LAMB81" character*(20), parameter :: AL_BLEND_STRING = "ARAKAWA_LAMB_BLEND" -!!@} +!>@} !>@{ Enumeration values for KE_Scheme integer, parameter :: KE_ARAKAWA = 10 integer, parameter :: KE_SIMPLE_GUDONOV = 11 @@ -97,13 +98,13 @@ module MOM_CoriolisAdv character*(20), parameter :: KE_ARAKAWA_STRING = "KE_ARAKAWA" character*(20), parameter :: KE_SIMPLE_GUDONOV_STRING = "KE_SIMPLE_GUDONOV" character*(20), parameter :: KE_GUDONOV_STRING = "KE_GUDONOV" -!!@} +!>@} !>@{ Enumeration values for PV_Adv_Scheme integer, parameter :: PV_ADV_CENTERED = 21 integer, parameter :: PV_ADV_UPWIND1 = 22 character*(20), parameter :: PV_ADV_CENTERED_STRING = "PV_ADV_CENTERED" character*(20), parameter :: PV_ADV_UPWIND1_STRING = "PV_ADV_UPWIND1" -!!@} +!>@} contains diff --git a/src/core/MOM_PressureForce_Montgomery.F90 b/src/core/MOM_PressureForce_Montgomery.F90 index 5737999426..c8662cba15 100644 --- a/src/core/MOM_PressureForce_Montgomery.F90 +++ b/src/core/MOM_PressureForce_Montgomery.F90 @@ -46,7 +46,7 @@ module MOM_PressureForce_Mont !! deriving from density gradients within layers [L T-2 ~> m s-2]. !>@{ Diagnostic IDs integer :: id_PFu_bc = -1, id_PFv_bc = -1, id_e_tidal = -1 - !!@} + !>@} type(tidal_forcing_CS), pointer :: tides_CSp => NULL() !< The tidal forcing control structure end type PressureForce_Mont_CS diff --git a/src/core/MOM_barotropic.F90 b/src/core/MOM_barotropic.F90 index 0ccf4d8f3b..00f6f3cd3e 100644 --- a/src/core/MOM_barotropic.F90 +++ b/src/core/MOM_barotropic.F90 @@ -86,7 +86,7 @@ module MOM_barotropic !>@{ Index ranges for the open boundary conditions integer :: is_u_obc, ie_u_obc, js_u_obc, je_u_obc integer :: is_v_obc, ie_v_obc, js_v_obc, je_v_obc - !!@} + !>@} logical :: is_alloced = .false. !< True if BT_OBC is in use and has been allocated type(group_pass_type) :: pass_uv !< Structure for group halo pass @@ -273,10 +273,10 @@ module MOM_barotropic type(time_type), pointer :: Time => NULL() !< A pointer to the ocean models clock. type(diag_ctrl), pointer :: diag => NULL() !< A structure that is used to regulate !! the timing of diagnostic output. - type(MOM_domain_type), pointer :: BT_Domain => NULL() + type(MOM_domain_type), pointer :: BT_Domain => NULL() !< Barotropic MOM domain type(hor_index_type), pointer :: debug_BT_HI => NULL() !< debugging copy of horizontal index_type - type(tidal_forcing_CS), pointer :: tides_CSp => NULL() - logical :: module_is_initialized = .false. + type(tidal_forcing_CS), pointer :: tides_CSp => NULL() !< Control structure for tides + logical :: module_is_initialized = .false. !< If true, module has been initialized integer :: isdw !< The lower i-memory limit for the wide halo arrays. integer :: iedw !< The upper i-memory limit for the wide halo arrays. @@ -312,7 +312,7 @@ module MOM_barotropic integer :: id_BTC_FA_v_NN = -1, id_BTC_FA_v_N0 = -1, id_BTC_FA_v_S0 = -1, id_BTC_FA_v_SS = -1 integer :: id_BTC_vbt_NN = -1, id_BTC_vbt_SS = -1 integer :: id_uhbt0 = -1, id_vhbt0 = -1 - !!@} + !>@} end type barotropic_CS @@ -360,14 +360,14 @@ module MOM_barotropic type, private :: memory_size_type !>@{ Currently active memory limits integer :: isdw, iedw, jsdw, jedw ! The memory limits of the wide halo arrays. - !!@} + !>@} end type memory_size_type !>@{ CPU time clock IDs integer :: id_clock_sync=-1, id_clock_calc=-1 integer :: id_clock_calc_pre=-1, id_clock_calc_post=-1 integer :: id_clock_pass_step=-1, id_clock_pass_pre=-1, id_clock_pass_post=-1 -!!@} +!>@} !>@{ Enumeration values for various schemes integer, parameter :: HARMONIC = 1 @@ -379,7 +379,7 @@ module MOM_barotropic character*(20), parameter :: HARMONIC_STRING = "HARMONIC" character*(20), parameter :: ARITHMETIC_STRING = "ARITHMETIC" character*(20), parameter :: BT_CONT_STRING = "FROM_BT_CONT" -!!@} +!>@} contains diff --git a/src/core/MOM_boundary_update.F90 b/src/core/MOM_boundary_update.F90 index c3ed3c705b..4dc89efeb0 100644 --- a/src/core/MOM_boundary_update.F90 +++ b/src/core/MOM_boundary_update.F90 @@ -46,7 +46,7 @@ module MOM_boundary_update type(tidal_bay_OBC_CS), pointer :: tidal_bay_OBC_CSp => NULL() type(shelfwave_OBC_CS), pointer :: shelfwave_OBC_CSp => NULL() type(dyed_channel_OBC_CS), pointer :: dyed_channel_OBC_CSp => NULL() - !!@} + !>@} end type update_OBC_CS integer :: id_clock_pass !< A CPU time clock ID diff --git a/src/core/MOM_continuity_PPM.F90 b/src/core/MOM_continuity_PPM.F90 index eeaa3d8687..c594d31494 100644 --- a/src/core/MOM_continuity_PPM.F90 +++ b/src/core/MOM_continuity_PPM.F90 @@ -22,7 +22,7 @@ module MOM_continuity_PPM !>@{ CPU time clock IDs integer :: id_clock_update, id_clock_correct -!!@} +!>@} !> Control structure for mom_continuity_ppm type, public :: continuity_PPM_CS ; private @@ -66,7 +66,7 @@ module MOM_continuity_PPM type :: loop_bounds_type ; private !>@{ Loop bounds integer :: ish, ieh, jsh, jeh - !!@} + !>@} end type loop_bounds_type contains diff --git a/src/core/MOM_dynamics_split_RK2.F90 b/src/core/MOM_dynamics_split_RK2.F90 index 005f73af11..f4327c2d57 100644 --- a/src/core/MOM_dynamics_split_RK2.F90 +++ b/src/core/MOM_dynamics_split_RK2.F90 @@ -163,7 +163,7 @@ module MOM_dynamics_split_RK2 ! Split scheme only. integer :: id_uav = -1, id_vav = -1 integer :: id_u_BT_accel = -1, id_v_BT_accel = -1 - !!@} + !>@} type(diag_ctrl), pointer :: diag !< A structure that is used to regulate the !! timing of diagnostic output. @@ -227,7 +227,7 @@ module MOM_dynamics_split_RK2 integer :: id_clock_continuity, id_clock_thick_diff integer :: id_clock_btstep, id_clock_btcalc, id_clock_btforce integer :: id_clock_pass, id_clock_pass_init -!!@} +!>@} contains diff --git a/src/core/MOM_dynamics_unsplit.F90 b/src/core/MOM_dynamics_unsplit.F90 index 4030d0f2da..a5671948b1 100644 --- a/src/core/MOM_dynamics_unsplit.F90 +++ b/src/core/MOM_dynamics_unsplit.F90 @@ -127,7 +127,7 @@ module MOM_dynamics_unsplit !>@{ Diagnostic IDs integer :: id_uh = -1, id_vh = -1 integer :: id_PFu = -1, id_PFv = -1, id_CAu = -1, id_CAv = -1 - !!@} + !>@} type(diag_ctrl), pointer :: diag => NULL() !< A structure that is used to !! regulate the timing of diagnostic output. @@ -174,7 +174,7 @@ module MOM_dynamics_unsplit integer :: id_clock_Cor, id_clock_pres, id_clock_vertvisc integer :: id_clock_continuity, id_clock_horvisc, id_clock_mom_update integer :: id_clock_pass, id_clock_pass_init -!!@} +!>@} contains diff --git a/src/core/MOM_dynamics_unsplit_RK2.F90 b/src/core/MOM_dynamics_unsplit_RK2.F90 index 7700507301..e88b7c32dc 100644 --- a/src/core/MOM_dynamics_unsplit_RK2.F90 +++ b/src/core/MOM_dynamics_unsplit_RK2.F90 @@ -130,7 +130,7 @@ module MOM_dynamics_unsplit_RK2 !>@{ Diagnostic IDs integer :: id_uh = -1, id_vh = -1 integer :: id_PFu = -1, id_PFv = -1, id_CAu = -1, id_CAv = -1 - !!@} + !>@} type(diag_ctrl), pointer :: diag => NULL() !< A structure that is used to !! regulate the timing of diagnostic output. @@ -178,7 +178,7 @@ module MOM_dynamics_unsplit_RK2 integer :: id_clock_Cor, id_clock_pres, id_clock_vertvisc integer :: id_clock_horvisc, id_clock_continuity, id_clock_mom_update integer :: id_clock_pass, id_clock_pass_init -!!@} +!>@} contains diff --git a/src/core/MOM_forcing_type.F90 b/src/core/MOM_forcing_type.F90 index 3f2ac0f1b9..98d55d2146 100644 --- a/src/core/MOM_forcing_type.F90 +++ b/src/core/MOM_forcing_type.F90 @@ -327,7 +327,7 @@ module MOM_forcing_type ! Iceberg + Ice shelf diagnostic handles integer :: id_ustar_ice_cover = -1 integer :: id_frac_ice_cover = -1 - !!@} + !>@} integer :: id_clock_forcing = -1 !< CPU clock id diff --git a/src/diagnostics/MOM_diagnostics.F90 b/src/diagnostics/MOM_diagnostics.F90 index 09a51fac3c..284322f072 100644 --- a/src/diagnostics/MOM_diagnostics.F90 +++ b/src/diagnostics/MOM_diagnostics.F90 @@ -134,7 +134,8 @@ module MOM_diagnostics integer :: id_pbo = -1 integer :: id_thkcello = -1, id_rhoinsitu = -1 integer :: id_rhopot0 = -1, id_rhopot2 = -1 - integer :: id_h_pre_sync = -1 !!@} + integer :: id_h_pre_sync = -1 + !>@} !> The control structure for calculating wave speed. type(wave_speed_CS), pointer :: wave_speed_CSp => NULL() @@ -168,7 +169,7 @@ module MOM_diagnostics integer :: id_salt_deficit = -1 integer :: id_Heat_PmE = -1 integer :: id_intern_heat = -1 - !!@} + !>@} end type surface_diag_IDs @@ -177,7 +178,8 @@ module MOM_diagnostics !>@{ Diagnostics for tracer horizontal transport integer :: id_uhtr = -1, id_umo = -1, id_umo_2d = -1 integer :: id_vhtr = -1, id_vmo = -1, id_vmo_2d = -1 - integer :: id_dynamics_h = -1, id_dynamics_h_tendency = -1 !!@} + integer :: id_dynamics_h = -1, id_dynamics_h_tendency = -1 + !>@} end type transport_diag_IDs diff --git a/src/equation_of_state/MOM_EOS_NEMO.F90 b/src/equation_of_state/MOM_EOS_NEMO.F90 index 97ed9f8540..68488881bb 100644 --- a/src/equation_of_state/MOM_EOS_NEMO.F90 +++ b/src/equation_of_state/MOM_EOS_NEMO.F90 @@ -169,7 +169,7 @@ module MOM_EOS_NEMO real, parameter :: BET102 = 6.2255521644e-02 real, parameter :: BET012 = -2.6514181169e-03 real, parameter :: BET003 = -2.3025968587e-04 -!!@} +!>@} contains diff --git a/src/equation_of_state/MOM_EOS_UNESCO.F90 b/src/equation_of_state/MOM_EOS_UNESCO.F90 index c7dbad3b66..a296cfc382 100644 --- a/src/equation_of_state/MOM_EOS_UNESCO.F90 +++ b/src/equation_of_state/MOM_EOS_UNESCO.F90 @@ -49,7 +49,7 @@ module MOM_EOS_UNESCO Sp30 = 1.956415e-6, Sp01 = 6.704388e-3, Sp11 = -1.847318e-4, Sp21 = 2.059331e-7, & Sp032 = 1.480266e-4, SP000 = 2.102898e-4, SP010 = -1.202016e-5, SP020 = 1.394680e-7, & SP001 = -2.040237e-6, SP011 = 6.128773e-8, SP021 = 6.207323e-10 -!!@} +!>@} contains diff --git a/src/equation_of_state/MOM_EOS_Wright.F90 b/src/equation_of_state/MOM_EOS_Wright.F90 index 8d29e08f92..bc490ca361 100644 --- a/src/equation_of_state/MOM_EOS_Wright.F90 +++ b/src/equation_of_state/MOM_EOS_Wright.F90 @@ -69,7 +69,7 @@ module MOM_EOS_Wright real, parameter :: b3 = 2.084372e2, b4 = 5.944068e5, b5 = -9.643486e3 real, parameter :: c0 = 1.704853e5, c1 = 7.904722e2, c2 = -7.984422 ! c0/c1 ~= 216 ; c0/c4 ~= -740 real, parameter :: c3 = 5.140652e-2, c4 = -2.302158e2, c5 = -3.079464 -!!@} +!>@} contains diff --git a/src/framework/MOM_diag_mediator.F90 b/src/framework/MOM_diag_mediator.F90 index 1fc012b7b9..421c23cf68 100644 --- a/src/framework/MOM_diag_mediator.F90 +++ b/src/framework/MOM_diag_mediator.F90 @@ -216,7 +216,7 @@ module MOM_diag_mediator type(axes_grp) :: axesB1, axesT1, axesCu1, axesCv1 type(axes_grp), dimension(:), allocatable :: remap_axesTL, remap_axesBL, remap_axesCuL, remap_axesCvL type(axes_grp), dimension(:), allocatable :: remap_axesTi, remap_axesBi, remap_axesCui, remap_axesCvi - !!@} + !>@} real, dimension(:,:), pointer :: mask2dT => null() !< 2D mask array for cell-center points real, dimension(:,:), pointer :: mask2dBu => null() !< 2D mask array for cell-corner points @@ -231,7 +231,7 @@ module MOM_diag_mediator real, dimension(:,:,:), pointer :: mask3dBi => null() real, dimension(:,:,:), pointer :: mask3dCui => null() real, dimension(:,:,:), pointer :: mask3dCvi => null() - !!@} + !>@} end type diagcs_dsamp !> The following data type a list of diagnostic fields an their variants, @@ -264,7 +264,7 @@ module MOM_diag_mediator type(axes_grp) :: axesBL, axesTL, axesCuL, axesCvL type(axes_grp) :: axesBi, axesTi, axesCui, axesCvi type(axes_grp) :: axesB1, axesT1, axesCu1, axesCv1 - !!@} + !>@} type(axes_grp) :: axesZi !< A 1-D z-space axis at interfaces type(axes_grp) :: axesZL !< A 1-D z-space axis at layer centers type(axes_grp) :: axesNull !< An axis group for scalars @@ -285,7 +285,7 @@ module MOM_diag_mediator type(diagcs_dsamp), dimension(2:MAX_DSAMP_LEV) :: dsamp !< Downsample control container - !!@} + !>@} ! Space for diagnostics is dynamically allocated as it is needed. ! The chunk size is how much the array should grow on each new allocation. @@ -306,10 +306,10 @@ module MOM_diag_mediator type(axes_grp), dimension(:), allocatable :: & remap_axesZL, & !< The 1-D z-space cell-centered axis for remapping remap_axesZi !< The 1-D z-space interface axis for remapping - !!@{ + !>@{ Axes used for remapping type(axes_grp), dimension(:), allocatable :: remap_axesTL, remap_axesBL, remap_axesCuL, remap_axesCvL type(axes_grp), dimension(:), allocatable :: remap_axesTi, remap_axesBi, remap_axesCui, remap_axesCvi - !!@} + !>@} ! Pointer to H, G and T&S needed for remapping real, dimension(:,:,:), pointer :: h => null() !< The thicknesses needed for remapping @@ -334,8 +334,9 @@ module MOM_diag_mediator end type diag_ctrl -! CPU clocks +!>@{ CPU clocks integer :: id_clock_diag_mediator, id_clock_diag_remap, id_clock_diag_grid_updates +!>@} contains diff --git a/src/framework/MOM_file_parser.F90 b/src/framework/MOM_file_parser.F90 index 4746a36f9e..00ed8152c9 100644 --- a/src/framework/MOM_file_parser.F90 +++ b/src/framework/MOM_file_parser.F90 @@ -29,7 +29,7 @@ module MOM_file_parser logical, parameter :: log_to_stdout_default = .false. logical, parameter :: complete_doc_default = .true. logical, parameter :: minimal_doc_default = .true. -!!@} +!>@} !> The valid lines extracted from an input parameter file without comments type, private :: file_data_type ; private diff --git a/src/framework/MOM_horizontal_regridding.F90 b/src/framework/MOM_horizontal_regridding.F90 index a6cd8c048a..7c19d715db 100644 --- a/src/framework/MOM_horizontal_regridding.F90 +++ b/src/framework/MOM_horizontal_regridding.F90 @@ -60,10 +60,10 @@ module MOM_horizontal_regridding subroutine myStats(array, missing, is, ie, js, je, k, mesg) real, dimension(:,:), intent(in) :: array !< input array (ND) real, intent(in) :: missing !< missing value (ND) - !!@{ - !> Horizontal loop bounds to calculate statistics for - integer :: is,ie,js,je - !!@} + integer :: is !< Start index in i + integer :: ie !< End index in i + integer :: js !< Start index in j + integer :: je !< End index in j integer :: k !< Level to calculate statistics for character(len=*) :: mesg !< Label to use in message ! Local variables diff --git a/src/framework/MOM_restart.F90 b/src/framework/MOM_restart.F90 index c3819fc865..ec9789c20b 100644 --- a/src/framework/MOM_restart.F90 +++ b/src/framework/MOM_restart.F90 @@ -99,7 +99,7 @@ module MOM_restart type(p2d), pointer :: var_ptr2d(:) => NULL() type(p3d), pointer :: var_ptr3d(:) => NULL() type(p4d), pointer :: var_ptr4d(:) => NULL() - !!@} + !>@} integer :: max_fields !< The maximum number of restart fields end type MOM_restart_CS diff --git a/src/ice_shelf/MOM_ice_shelf_dynamics.F90 b/src/ice_shelf/MOM_ice_shelf_dynamics.F90 index 80f2d8f60f..928221d276 100644 --- a/src/ice_shelf/MOM_ice_shelf_dynamics.F90 +++ b/src/ice_shelf/MOM_ice_shelf_dynamics.F90 @@ -151,7 +151,7 @@ module MOM_ice_shelf_dynamics integer :: id_u_shelf = -1, id_v_shelf = -1, id_t_shelf = -1, & id_float_frac = -1, id_col_thick = -1, id_OD_av = -1, & id_u_mask = -1, id_v_mask = -1, id_t_mask = -1 - !!@} + !>@} ! ids for outputting intermediate thickness in advection subroutine (debugging) !integer :: id_h_after_uflux = -1, id_h_after_vflux = -1, id_h_after_adv = -1 diff --git a/src/ocean_data_assim/MOM_oda_driver.F90 b/src/ocean_data_assim/MOM_oda_driver.F90 index 74afd4868a..089e1fc422 100644 --- a/src/ocean_data_assim/MOM_oda_driver.F90 +++ b/src/ocean_data_assim/MOM_oda_driver.F90 @@ -106,7 +106,7 @@ module MOM_oda_driver_mod !>@{ DA parameters integer, parameter :: NO_ASSIM = 0, OI_ASSIM=1, EAKF_ASSIM=2 -!!@} +!>@} contains diff --git a/src/parameterizations/lateral/MOM_MEKE.F90 b/src/parameterizations/lateral/MOM_MEKE.F90 index f8ee166a03..4c4effc0bd 100644 --- a/src/parameterizations/lateral/MOM_MEKE.F90 +++ b/src/parameterizations/lateral/MOM_MEKE.F90 @@ -87,7 +87,7 @@ module MOM_MEKE integer :: id_KhMEKE_u = -1, id_KhMEKE_v = -1, id_Ku = -1, id_Au = -1 integer :: id_Le = -1, id_gamma_b = -1, id_gamma_t = -1 integer :: id_Lrhines = -1, id_Leady = -1 - !!@} + !>@} ! Infrastructure integer :: id_clock_pass !< Clock for group pass calls diff --git a/src/parameterizations/lateral/MOM_hor_visc.F90 b/src/parameterizations/lateral/MOM_hor_visc.F90 index c818603366..a5c6dc4be8 100644 --- a/src/parameterizations/lateral/MOM_hor_visc.F90 +++ b/src/parameterizations/lateral/MOM_hor_visc.F90 @@ -183,7 +183,7 @@ module MOM_hor_visc integer :: id_vort_xy_q = -1, id_div_xx_h = -1 integer :: id_FrictWork = -1, id_FrictWorkIntz = -1 integer :: id_FrictWork_GME = -1 - !!@} + !>@} end type hor_visc_CS diff --git a/src/parameterizations/lateral/MOM_internal_tides.F90 b/src/parameterizations/lateral/MOM_internal_tides.F90 index efa82206a4..0d76b10c03 100644 --- a/src/parameterizations/lateral/MOM_internal_tides.F90 +++ b/src/parameterizations/lateral/MOM_internal_tides.F90 @@ -134,7 +134,7 @@ module MOM_internal_tides integer, allocatable, dimension(:,:) :: & id_En_ang_mode, & id_itidal_loss_ang_mode - !!@} + !>@} end type int_tide_CS @@ -142,7 +142,7 @@ module MOM_internal_tides type :: loop_bounds_type ; private !>@{ The active loop bounds integer :: ish, ieh, jsh, jeh - !!@} + !>@} end type loop_bounds_type contains diff --git a/src/parameterizations/vertical/MOM_CVMix_KPP.F90 b/src/parameterizations/vertical/MOM_CVMix_KPP.F90 index f5ee25c743..cebae1da97 100644 --- a/src/parameterizations/vertical/MOM_CVMix_KPP.F90 +++ b/src/parameterizations/vertical/MOM_CVMix_KPP.F90 @@ -140,7 +140,7 @@ module MOM_CVMix_KPP integer :: id_EnhW = -1 integer :: id_La_SL = -1 integer :: id_OBLdepth_original = -1 - !!@} + !>@} ! Diagnostics arrays real, allocatable, dimension(:,:) :: OBLdepth !< Depth (positive) of OBL [m] diff --git a/src/parameterizations/vertical/MOM_CVMix_conv.F90 b/src/parameterizations/vertical/MOM_CVMix_conv.F90 index 19a71116f3..ce6a40dad2 100644 --- a/src/parameterizations/vertical/MOM_CVMix_conv.F90 +++ b/src/parameterizations/vertical/MOM_CVMix_conv.F90 @@ -38,7 +38,7 @@ module MOM_CVMix_conv type(diag_ctrl), pointer :: diag => NULL() !< Pointer to diagnostics control structure !>@{ Diagnostics handles integer :: id_N2 = -1, id_kd_conv = -1, id_kv_conv = -1 - !!@} + !>@} ! Diagnostics arrays real, allocatable, dimension(:,:,:) :: N2 !< Squared Brunt-Vaisala frequency [s-2] diff --git a/src/parameterizations/vertical/MOM_CVMix_ddiff.F90 b/src/parameterizations/vertical/MOM_CVMix_ddiff.F90 index 57400e31bf..8ebcbd88a9 100644 --- a/src/parameterizations/vertical/MOM_CVMix_ddiff.F90 +++ b/src/parameterizations/vertical/MOM_CVMix_ddiff.F90 @@ -44,7 +44,7 @@ module MOM_CVMix_ddiff type(diag_ctrl), pointer :: diag => NULL() !< Pointer to diagnostics control structure !>@{ Diagnostics handles integer :: id_KT_extra = -1, id_KS_extra = -1, id_R_rho = -1 - !!@} + !>@} ! Diagnostics arrays ! real, allocatable, dimension(:,:,:) :: KT_extra !< Double diffusion diffusivity for temp [Z2 s-1 ~> m2 s-1] diff --git a/src/parameterizations/vertical/MOM_CVMix_shear.F90 b/src/parameterizations/vertical/MOM_CVMix_shear.F90 index 68081a97d9..6aa01d50e5 100644 --- a/src/parameterizations/vertical/MOM_CVMix_shear.F90 +++ b/src/parameterizations/vertical/MOM_CVMix_shear.F90 @@ -47,7 +47,7 @@ module MOM_CVMix_shear !>@{ Diagnostic handles integer :: id_N2 = -1, id_S2 = -1, id_ri_grad = -1, id_kv = -1, id_kd = -1 integer :: id_ri_grad_smooth = -1 - !!@} + !>@} end type CVMix_shear_cs diff --git a/src/parameterizations/vertical/MOM_bulk_mixed_layer.F90 b/src/parameterizations/vertical/MOM_bulk_mixed_layer.F90 index 8286251f0b..00686c2bbe 100644 --- a/src/parameterizations/vertical/MOM_bulk_mixed_layer.F90 +++ b/src/parameterizations/vertical/MOM_bulk_mixed_layer.F90 @@ -146,13 +146,13 @@ module MOM_bulk_mixed_layer integer :: id_TKE_mech_decay = -1, id_TKE_conv_decay = -1, id_TKE_conv_s2 = -1 integer :: id_PE_detrain = -1, id_PE_detrain2 = -1, id_h_mismatch = -1 integer :: id_Hsfc_used = -1, id_Hsfc_max = -1, id_Hsfc_min = -1 - !!@} + !>@} end type bulkmixedlayer_CS !>@{ CPU clock IDs integer :: id_clock_detrain=0, id_clock_mech=0, id_clock_conv=0, id_clock_adjustment=0 integer :: id_clock_EOS=0, id_clock_resort=0, id_clock_pass=0 -!!@} +!>@} contains diff --git a/src/parameterizations/vertical/MOM_diabatic_aux.F90 b/src/parameterizations/vertical/MOM_diabatic_aux.F90 index 923b2b4899..343423a221 100644 --- a/src/parameterizations/vertical/MOM_diabatic_aux.F90 +++ b/src/parameterizations/vertical/MOM_diabatic_aux.F90 @@ -92,7 +92,7 @@ module MOM_diabatic_aux !>@{ CPU time clock IDs integer :: id_clock_uv_at_h, id_clock_frazil -!!@} +!>@} contains diff --git a/src/parameterizations/vertical/MOM_diabatic_driver.F90 b/src/parameterizations/vertical/MOM_diabatic_driver.F90 index fb8b05c9e1..e6537a58b1 100644 --- a/src/parameterizations/vertical/MOM_diabatic_driver.F90 +++ b/src/parameterizations/vertical/MOM_diabatic_driver.F90 @@ -203,7 +203,7 @@ module MOM_diabatic_driver integer :: id_frazil_temp_tend = -1 integer :: id_frazil_heat_tend = -1 integer :: id_frazil_heat_tend_2d = -1 - !!@} + !>@} logical :: diabatic_diff_tendency_diag = .false. !< If true calculate diffusive tendency diagnostics logical :: boundary_forcing_tendency_diag = .false. !< If true calculate frazil diagnostics @@ -244,11 +244,12 @@ module MOM_diabatic_driver type(time_type), pointer :: Time !< Pointer to model time (needed for sponges) end type diabatic_CS -! clock ids +!>@{ clock ids integer :: id_clock_entrain, id_clock_mixedlayer, id_clock_set_diffusivity integer :: id_clock_tracers, id_clock_tridiag, id_clock_pass, id_clock_sponge integer :: id_clock_geothermal, id_clock_differential_diff, id_clock_remap integer :: id_clock_kpp +!>@} contains diff --git a/src/parameterizations/vertical/MOM_diapyc_energy_req.F90 b/src/parameterizations/vertical/MOM_diapyc_energy_req.F90 index e9c5e6a3d0..32b6feeded 100644 --- a/src/parameterizations/vertical/MOM_diapyc_energy_req.F90 +++ b/src/parameterizations/vertical/MOM_diapyc_energy_req.F90 @@ -39,7 +39,7 @@ module MOM_diapyc_energy_req integer :: id_CHCt=-1, id_CHCb=-1, id_CHCc=-1, id_CHCh=-1 integer :: id_T0=-1, id_Tf=-1, id_S0=-1, id_Sf=-1, id_N2_0=-1, id_N2_f=-1 integer :: id_h=-1, id_zInt=-1 - !!@} + !>@} end type diapyc_energy_req_CS contains diff --git a/src/parameterizations/vertical/MOM_energetic_PBL.F90 b/src/parameterizations/vertical/MOM_energetic_PBL.F90 index b4fad24a60..ce2ea912d7 100644 --- a/src/parameterizations/vertical/MOM_energetic_PBL.F90 +++ b/src/parameterizations/vertical/MOM_energetic_PBL.F90 @@ -190,7 +190,7 @@ module MOM_energetic_PBL integer :: id_TKE_mech_decay = -1, id_TKE_conv_decay = -1 integer :: id_Mixing_Length = -1, id_Velocity_Scale = -1 integer :: id_MSTAR_mix = -1, id_LA_mod = -1, id_LA = -1, id_MSTAR_LT = -1 - !!@} + !>@} end type energetic_PBL_CS !>@{ Enumeration values for mstar_Scheme @@ -215,14 +215,14 @@ module MOM_energetic_PBL character*(20), parameter :: NONE_STRING = "NONE" character*(20), parameter :: RESCALED_STRING = "RESCALE" character*(20), parameter :: ADDITIVE_STRING = "ADDITIVE" -!!@} +!>@} !> A type for conveniently passing around ePBL diagnostics for a column. type, public :: ePBL_column_diags ; private !>@{ Local column copies of energy change diagnostics, all in [R Z3 T-3 ~> W m-2]. real :: dTKE_conv, dTKE_forcing, dTKE_wind, dTKE_mixing real :: dTKE_MKE, dTKE_mech_decay, dTKE_conv_decay - !!@} + !>@} real :: LA !< The value of the Langmuir number [nondim] real :: LAmod !< The modified Langmuir number by convection [nondim] real :: mstar !< The value of mstar used in ePBL [nondim] diff --git a/src/parameterizations/vertical/MOM_internal_tide_input.F90 b/src/parameterizations/vertical/MOM_internal_tide_input.F90 index 8d31f19825..ebd5016855 100644 --- a/src/parameterizations/vertical/MOM_internal_tide_input.F90 +++ b/src/parameterizations/vertical/MOM_internal_tide_input.F90 @@ -56,7 +56,7 @@ module MOM_int_tide_input !>@{ Diagnostic IDs integer :: id_TKE_itidal = -1, id_Nb = -1, id_N2_bot = -1 - !!@} + !>@} end type int_tide_input_CS !> This type is used to exchange fields related to the internal tides. diff --git a/src/parameterizations/vertical/MOM_kappa_shear.F90 b/src/parameterizations/vertical/MOM_kappa_shear.F90 index b6eba22e14..77407b6da1 100644 --- a/src/parameterizations/vertical/MOM_kappa_shear.F90 +++ b/src/parameterizations/vertical/MOM_kappa_shear.F90 @@ -94,7 +94,7 @@ module MOM_kappa_shear !! regulate the timing of diagnostic output. !>@{ Diagnostic IDs integer :: id_Kd_shear = -1, id_TKE = -1, id_ILd2 = -1, id_dz_Int = -1 - !!@} + !>@} end type Kappa_shear_CS ! integer :: id_clock_project, id_clock_KQ, id_clock_avg, id_clock_setup diff --git a/src/parameterizations/vertical/MOM_opacity.F90 b/src/parameterizations/vertical/MOM_opacity.F90 index 5ebeed6af6..8e4acf1142 100644 --- a/src/parameterizations/vertical/MOM_opacity.F90 +++ b/src/parameterizations/vertical/MOM_opacity.F90 @@ -70,12 +70,12 @@ module MOM_opacity !>@{ Diagnostic IDs integer :: id_sw_pen = -1, id_sw_vis_pen = -1 integer, pointer :: id_opacity(:) => NULL() - !!@} + !>@} end type opacity_CS !>@{ Coded integers to specify the opacity scheme integer, parameter :: NO_SCHEME = 0, MANIZZA_05 = 1, MOREL_88 = 2, SINGLE_EXP = 3, DOUBLE_EXP = 4 -!!@} +!>@} character*(10), parameter :: MANIZZA_05_STRING = "MANIZZA_05" !< String to specify the opacity scheme character*(10), parameter :: MOREL_88_STRING = "MOREL_88" !< String to specify the opacity scheme diff --git a/src/parameterizations/vertical/MOM_regularize_layers.F90 b/src/parameterizations/vertical/MOM_regularize_layers.F90 index d044f09b8a..a4a4723092 100644 --- a/src/parameterizations/vertical/MOM_regularize_layers.F90 +++ b/src/parameterizations/vertical/MOM_regularize_layers.F90 @@ -68,14 +68,14 @@ module MOM_regularize_layers integer :: id_def_rat_v_2 = -1, id_def_rat_v_2b = -1 integer :: id_def_rat_u_3 = -1, id_def_rat_u_3b = -1 integer :: id_def_rat_v_3 = -1, id_def_rat_v_3b = -1 - !!@} + !>@} #endif end type regularize_layers_CS !>@{ Clock IDs !! \todo Should these be global? integer :: id_clock_pass, id_clock_EOS -!!@} +!>@} contains diff --git a/src/parameterizations/vertical/MOM_set_diffusivity.F90 b/src/parameterizations/vertical/MOM_set_diffusivity.F90 index 5ee82aa7ca..06b7f0f2a5 100644 --- a/src/parameterizations/vertical/MOM_set_diffusivity.F90 +++ b/src/parameterizations/vertical/MOM_set_diffusivity.F90 @@ -164,7 +164,7 @@ module MOM_set_diffusivity integer :: id_maxTKE = -1, id_TKE_to_Kd = -1, id_Kd_user = -1 integer :: id_Kd_layer = -1, id_Kd_BBL = -1, id_N2 = -1 integer :: id_Kd_Work = -1, id_KT_extra = -1, id_KS_extra = -1 - !!@} + !>@} end type set_diffusivity_CS @@ -187,7 +187,7 @@ module MOM_set_diffusivity !>@{ CPU time clocks integer :: id_clock_kappaShear, id_clock_CVMix_ddiff -!!@} +!>@} contains diff --git a/src/parameterizations/vertical/MOM_set_viscosity.F90 b/src/parameterizations/vertical/MOM_set_viscosity.F90 index 7019a3e379..840059e25a 100644 --- a/src/parameterizations/vertical/MOM_set_viscosity.F90 +++ b/src/parameterizations/vertical/MOM_set_viscosity.F90 @@ -102,7 +102,7 @@ module MOM_set_visc integer :: id_bbl_thick_v = -1, id_kv_bbl_v = -1, id_bbl_v = -1 integer :: id_Ray_u = -1, id_Ray_v = -1 integer :: id_nkml_visc_u = -1, id_nkml_visc_v = -1 - !!@} + !>@} end type set_visc_CS contains diff --git a/src/parameterizations/vertical/MOM_tidal_mixing.F90 b/src/parameterizations/vertical/MOM_tidal_mixing.F90 index 2ea4a95d7d..510a20f552 100644 --- a/src/parameterizations/vertical/MOM_tidal_mixing.F90 +++ b/src/parameterizations/vertical/MOM_tidal_mixing.F90 @@ -191,11 +191,11 @@ module MOM_tidal_mixing integer :: id_Schmittner_coeff = -1 integer :: id_tidal_qe_md = -1 integer :: id_vert_dep = -1 - !!@} + !>@} end type tidal_mixing_cs -!!@{ Coded parmameters for specifying mixing schemes +!>@{ Coded parmameters for specifying mixing schemes character*(20), parameter :: STLAURENT_PROFILE_STRING = "STLAURENT_02" character*(20), parameter :: POLZIN_PROFILE_STRING = "POLZIN_09" integer, parameter :: STLAURENT_02 = 1 @@ -204,7 +204,7 @@ module MOM_tidal_mixing character*(20), parameter :: SCHMITTNER_SCHEME_STRING = "SCHMITTNER" integer, parameter :: SIMMONS = 1 integer, parameter :: SCHMITTNER = 2 -!!@} +!>@} contains diff --git a/src/tracer/MOM_OCMIP2_CFC.F90 b/src/tracer/MOM_OCMIP2_CFC.F90 index 3aa250b8bb..a95ea654f4 100644 --- a/src/tracer/MOM_OCMIP2_CFC.F90 +++ b/src/tracer/MOM_OCMIP2_CFC.F90 @@ -61,7 +61,7 @@ module MOM_OCMIP2_CFC real :: e1_11, e1_12 ! Coefficients for calculating CFC11 and CFC12 solubilities [PSU-1] real :: e2_11, e2_12 ! Coefficients for calculating CFC11 and CFC12 solubilities [PSU-1 hectoKelvin-1] real :: e3_11, e3_12 ! Coefficients for calculating CFC11 and CFC12 solubilities [PSU-2 hectoKelvin-2] - !!@} + !>@} real :: CFC11_IC_val = 0.0 !< The initial value assigned to CFC11 [mol m-3]. real :: CFC12_IC_val = 0.0 !< The initial value assigned to CFC12 [mol m-3]. real :: CFC11_land_val = -1.0 !< The value of CFC11 used where land is masked out [mol m-3]. @@ -76,9 +76,9 @@ module MOM_OCMIP2_CFC integer :: ind_cfc_12_flux !< Index returned by aof_set_coupler_flux that is used to !! pack and unpack surface boundary condition arrays. - type(diag_ctrl), pointer :: diag => NULL() ! A structure that is used to - ! regulate the timing of diagnostic output. - type(MOM_restart_CS), pointer :: restart_CSp => NULL() + type(diag_ctrl), pointer :: diag => NULL() !< A structure that is used to regulate + !! the timing of diagnostic output. + type(MOM_restart_CS), pointer :: restart_CSp => NULL() !< Model restart control structure ! The following vardesc types contain a package of metadata about each tracer. type(vardesc) :: CFC11_desc !< A set of metadata for the CFC11 tracer diff --git a/src/tracer/MOM_offline_main.F90 b/src/tracer/MOM_offline_main.F90 index 3dd5a9ab2b..dfdcb4c09b 100644 --- a/src/tracer/MOM_offline_main.F90 +++ b/src/tracer/MOM_offline_main.F90 @@ -150,7 +150,7 @@ module MOM_offline_main id_temp_regrid = -1, & id_salt_regrid = -1, & id_h_regrid = -1 - !!@} + !>@} ! IDs for timings of various offline components integer :: id_clock_read_fields = -1 !< A CPU time clock diff --git a/src/tracer/MOM_tracer_advect.F90 b/src/tracer/MOM_tracer_advect.F90 index e425629c77..4cfaaf806a 100644 --- a/src/tracer/MOM_tracer_advect.F90 +++ b/src/tracer/MOM_tracer_advect.F90 @@ -41,7 +41,7 @@ module MOM_tracer_advect integer :: id_clock_advect integer :: id_clock_pass integer :: id_clock_sync -!!@} +!>@} contains diff --git a/src/tracer/MOM_tracer_flow_control.F90 b/src/tracer/MOM_tracer_flow_control.F90 index 716745093c..6e28477d26 100644 --- a/src/tracer/MOM_tracer_flow_control.F90 +++ b/src/tracer/MOM_tracer_flow_control.F90 @@ -102,7 +102,7 @@ module MOM_tracer_flow_control type(pseudo_salt_tracer_CS), pointer :: pseudo_salt_tracer_CSp => NULL() type(boundary_impulse_tracer_CS), pointer :: boundary_impulse_tracer_CSp => NULL() type(dyed_obc_tracer_CS), pointer :: dyed_obc_tracer_CSp => NULL() - !!@} + !>@} end type tracer_flow_control_CS contains diff --git a/src/tracer/MOM_tracer_hor_diff.F90 b/src/tracer/MOM_tracer_hor_diff.F90 index 2d42483c49..d15431d02e 100644 --- a/src/tracer/MOM_tracer_hor_diff.F90 +++ b/src/tracer/MOM_tracer_hor_diff.F90 @@ -71,7 +71,7 @@ module MOM_tracer_hor_diff integer :: id_CFL = -1 integer :: id_khdt_x = -1 integer :: id_khdt_y = -1 - !!@} + !>@} type(group_pass_type) :: pass_t !< For group halo pass, used in both !! tracer_hordiff and tracer_epipycnal_ML_diff @@ -88,7 +88,7 @@ module MOM_tracer_hor_diff !>@{ CPU time clocks integer :: id_clock_diffuse, id_clock_epimix, id_clock_pass, id_clock_sync -!!@} +!>@} contains diff --git a/src/tracer/MOM_tracer_registry.F90 b/src/tracer/MOM_tracer_registry.F90 index 01d15fb887..f6d51926bd 100644 --- a/src/tracer/MOM_tracer_registry.F90 +++ b/src/tracer/MOM_tracer_registry.F90 @@ -116,7 +116,7 @@ module MOM_tracer_registry integer :: id_remap_conc = -1, id_remap_cont = -1, id_remap_cont_2d = -1 integer :: id_tendency = -1, id_trxh_tendency = -1, id_trxh_tendency_2d = -1 integer :: id_tr_vardec = -1 - !!@} + !>@} end type tracer_type !> Type to carry basic tracer information diff --git a/src/user/MOM_controlled_forcing.F90 b/src/user/MOM_controlled_forcing.F90 index cbfce62f39..277c0423aa 100644 --- a/src/user/MOM_controlled_forcing.F90 +++ b/src/user/MOM_controlled_forcing.F90 @@ -68,7 +68,7 @@ module MOM_controlled_forcing avg_SST_anom => NULL(), & avg_SSS_anom => NULL(), & avg_SSS => NULL() - !!@} + !>@} type(diag_ctrl), pointer :: diag => NULL() !< A structure that is used to !! regulate the timing of diagnostic output. integer :: id_heat_0 = -1 !< Diagnostic handle diff --git a/src/user/MOM_wave_interface.F90 b/src/user/MOM_wave_interface.F90 index e7361bf13c..815e4fa361 100644 --- a/src/user/MOM_wave_interface.F90 +++ b/src/user/MOM_wave_interface.F90 @@ -122,7 +122,7 @@ module MOM_wave_interface integer, public :: id_surfacestokes_x = -1 , id_surfacestokes_y = -1 integer, public :: id_3dstokes_x = -1 , id_3dstokes_y = -1 integer, public :: id_La_turb = -1 - !!@} + !>@} end type wave_parameters_CS @@ -184,7 +184,7 @@ module MOM_wave_interface logical :: StaticWaves, DHH85_Is_Set real :: WaveAge, WaveWind real :: PI -!!@} +!>@} contains From b3ea6023060d570ba4b89b5a0a1d8ef2763797fa Mon Sep 17 00:00:00 2001 From: Alistair Adcroft Date: Tue, 10 Mar 2020 21:16:54 +0000 Subject: [PATCH 2/2] Fix "no lib" builds - The new FMS has test_ programs that are found by list_paths which do not build properly unless using the FMS Makefile.am method. - The "no libs" test was added to detect namespace collisions that are hidden when building with libraries. For now we'll retain this test but to do so requires a one-line hack to edit the pathnames file. --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e5af9feb36..39b63c8f85 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -63,6 +63,7 @@ gnu:ocean-only-nolibs: - make -f MRS/Makefile.build build/gnu/env && cd build/gnu # mkdir -p build/gnu/repro/symmetric_dynamic/ocean_only && cd build/gnu/repro/symmetric_dynamic/ocean_only - ../../MOM6-examples/src/mkmf/bin/list_paths -l ../../../config_src/{solo_driver,dynamic_symmetric} ../../../src ../../MOM6-examples/src/FMS + - sed -i '/FMS\/.*\/test_/d' path_names - ../../MOM6-examples/src/mkmf/bin/mkmf -t ../../MOM6-examples/src/mkmf/templates/ncrc-gnu.mk -p MOM6 -c"-Duse_libMPI -Duse_netCDF" path_names - time (source ./env ; make NETCDF=3 REPRO=1 MOM6 -s -j) @@ -75,6 +76,7 @@ gnu:ice-ocean-nolibs: - make -f MRS/Makefile.build build/gnu/env && cd build/gnu # mkdir -p build/gnu/repro/symmetric_dynamic/ocean_only && cd build/gnu/repro/symmetric_dynamic/ocean_only - ../../MOM6-examples/src/mkmf/bin/list_paths -l ../../../config_src/{coupled_driver,dynamic} ../../../src ../../MOM6-examples/src/{FMS,coupler,SIS2,icebergs,ice_param,land_null,atmos_null} + - sed -i '/FMS\/.*\/test_/d' path_names - ../../MOM6-examples/src/mkmf/bin/mkmf -t ../../MOM6-examples/src/mkmf/templates/ncrc-gnu.mk -p MOM6 -c"-Duse_libMPI -Duse_netCDF -D_USE_LEGACY_LAND_ -Duse_AM3_physics" path_names - time (source ./env ; make NETCDF=3 REPRO=1 MOM6 -s -j)