Skip to content

Commit

Permalink
Merge pull request mom-ocean#819 from Hallberg-NOAA/fix_dOxyGen7
Browse files Browse the repository at this point in the history
Module DoxyGenization in the EOS, tracer and framework code
  • Loading branch information
adcroft authored Jul 12, 2018
2 parents d4b4edc + 7c4d684 commit 4061b7a
Show file tree
Hide file tree
Showing 29 changed files with 350 additions and 615 deletions.
271 changes: 136 additions & 135 deletions src/equation_of_state/MOM_EOS_NEMO.F90
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
!> The equation of state using the expressions of Roquet et al. that are used in NEMO
module MOM_EOS_NEMO

! This file is part of MOM6. See LICENSE.md for the license.
Expand Down Expand Up @@ -34,141 +35,141 @@ module MOM_EOS_NEMO
module procedure calculate_density_derivs_scalar_nemo, calculate_density_derivs_array_nemo
end interface calculate_density_derivs_nemo

real, parameter :: Pa2db = 1.e-4
real, parameter :: rdeltaS = 32.
real, parameter :: r1_S0 = 0.875/35.16504
real, parameter :: r1_T0 = 1./40.
real, parameter :: r1_P0 = 1.e-4
real, parameter :: R00 = 4.6494977072e+01
real, parameter :: R01 = -5.2099962525
real, parameter :: R02 = 2.2601900708e-01
real, parameter :: R03 = 6.4326772569e-02
real, parameter :: R04 = 1.5616995503e-02
real, parameter :: R05 = -1.7243708991e-03
real, parameter :: EOS000 = 8.0189615746e+02
real, parameter :: EOS100 = 8.6672408165e+02
real, parameter :: EOS200 = -1.7864682637e+03
real, parameter :: EOS300 = 2.0375295546e+03
real, parameter :: EOS400 = -1.2849161071e+03
real, parameter :: EOS500 = 4.3227585684e+02
real, parameter :: EOS600 = -6.0579916612e+01
real, parameter :: EOS010 = 2.6010145068e+01
real, parameter :: EOS110 = -6.5281885265e+01
real, parameter :: EOS210 = 8.1770425108e+01
real, parameter :: EOS310 = -5.6888046321e+01
real, parameter :: EOS410 = 1.7681814114e+01
real, parameter :: EOS510 = -1.9193502195
real, parameter :: EOS020 = -3.7074170417e+01
real, parameter :: EOS120 = 6.1548258127e+01
real, parameter :: EOS220 = -6.0362551501e+01
real, parameter :: EOS320 = 2.9130021253e+01
real, parameter :: EOS420 = -5.4723692739
real, parameter :: EOS030 = 2.1661789529e+01
real, parameter :: EOS130 = -3.3449108469e+01
real, parameter :: EOS230 = 1.9717078466e+01
real, parameter :: EOS330 = -3.1742946532
real, parameter :: EOS040 = -8.3627885467
real, parameter :: EOS140 = 1.1311538584e+01
real, parameter :: EOS240 = -5.3563304045
real, parameter :: EOS050 = 5.4048723791e-01
real, parameter :: EOS150 = 4.8169980163e-01
real, parameter :: EOS060 = -1.9083568888e-01
real, parameter :: EOS001 = 1.9681925209e+01
real, parameter :: EOS101 = -4.2549998214e+01
real, parameter :: EOS201 = 5.0774768218e+01
real, parameter :: EOS301 = -3.0938076334e+01
real, parameter :: EOS401 = 6.6051753097
real, parameter :: EOS011 = -1.3336301113e+01
real, parameter :: EOS111 = -4.4870114575
real, parameter :: EOS211 = 5.0042598061
real, parameter :: EOS311 = -6.5399043664e-01
real, parameter :: EOS021 = 6.7080479603
real, parameter :: EOS121 = 3.5063081279
real, parameter :: EOS221 = -1.8795372996
real, parameter :: EOS031 = -2.4649669534
real, parameter :: EOS131 = -5.5077101279e-01
real, parameter :: EOS041 = 5.5927935970e-01
real, parameter :: EOS002 = 2.0660924175
real, parameter :: EOS102 = -4.9527603989
real, parameter :: EOS202 = 2.5019633244
real, parameter :: EOS012 = 2.0564311499
real, parameter :: EOS112 = -2.1311365518e-01
real, parameter :: EOS022 = -1.2419983026
real, parameter :: EOS003 = -2.3342758797e-02
real, parameter :: EOS103 = -1.8507636718e-02
real, parameter :: EOS013 = 3.7969820455e-01
real, parameter :: ALP000 = -6.5025362670e-01
real, parameter :: ALP100 = 1.6320471316
real, parameter :: ALP200 = -2.0442606277
real, parameter :: ALP300 = 1.4222011580
real, parameter :: ALP400 = -4.4204535284e-01
real, parameter :: ALP500 = 4.7983755487e-02
real, parameter :: ALP010 = 1.8537085209
real, parameter :: ALP110 = -3.0774129064
real, parameter :: ALP210 = 3.0181275751
real, parameter :: ALP310 = -1.4565010626
real, parameter :: ALP410 = 2.7361846370e-01
real, parameter :: ALP020 = -1.6246342147
real, parameter :: ALP120 = 2.5086831352
real, parameter :: ALP220 = -1.4787808849
real, parameter :: ALP320 = 2.3807209899e-01
real, parameter :: ALP030 = 8.3627885467e-01
real, parameter :: ALP130 = -1.1311538584
real, parameter :: ALP230 = 5.3563304045e-01
real, parameter :: ALP040 = -6.7560904739e-02
real, parameter :: ALP140 = -6.0212475204e-02
real, parameter :: ALP050 = 2.8625353333e-02
real, parameter :: ALP001 = 3.3340752782e-01
real, parameter :: ALP101 = 1.1217528644e-01
real, parameter :: ALP201 = -1.2510649515e-01
real, parameter :: ALP301 = 1.6349760916e-02
real, parameter :: ALP011 = -3.3540239802e-01
real, parameter :: ALP111 = -1.7531540640e-01
real, parameter :: ALP211 = 9.3976864981e-02
real, parameter :: ALP021 = 1.8487252150e-01
real, parameter :: ALP121 = 4.1307825959e-02
real, parameter :: ALP031 = -5.5927935970e-02
real, parameter :: ALP002 = -5.1410778748e-02
real, parameter :: ALP102 = 5.3278413794e-03
real, parameter :: ALP012 = 6.2099915132e-02
real, parameter :: ALP003 = -9.4924551138e-03
real, parameter :: BET000 = 1.0783203594e+01
real, parameter :: BET100 = -4.4452095908e+01
real, parameter :: BET200 = 7.6048755820e+01
real, parameter :: BET300 = -6.3944280668e+01
real, parameter :: BET400 = 2.6890441098e+01
real, parameter :: BET500 = -4.5221697773
real, parameter :: BET010 = -8.1219372432e-01
real, parameter :: BET110 = 2.0346663041
real, parameter :: BET210 = -2.1232895170
real, parameter :: BET310 = 8.7994140485e-01
real, parameter :: BET410 = -1.1939638360e-01
real, parameter :: BET020 = 7.6574242289e-01
real, parameter :: BET120 = -1.5019813020
real, parameter :: BET220 = 1.0872489522
real, parameter :: BET320 = -2.7233429080e-01
real, parameter :: BET030 = -4.1615152308e-01
real, parameter :: BET130 = 4.9061350869e-01
real, parameter :: BET230 = -1.1847737788e-01
real, parameter :: BET040 = 1.4073062708e-01
real, parameter :: BET140 = -1.3327978879e-01
real, parameter :: BET050 = 5.9929880134e-03
real, parameter :: BET001 = -5.2937873009e-01
real, parameter :: BET101 = 1.2634116779
real, parameter :: BET201 = -1.1547328025
real, parameter :: BET301 = 3.2870876279e-01
real, parameter :: BET011 = -5.5824407214e-02
real, parameter :: BET111 = 1.2451933313e-01
real, parameter :: BET211 = -2.4409539932e-02
real, parameter :: BET021 = 4.3623149752e-02
real, parameter :: BET121 = -4.6767901790e-02
real, parameter :: BET031 = -6.8523260060e-03
real, parameter :: BET002 = -6.1618945251e-02
real, parameter :: BET102 = 6.2255521644e-02
real, parameter :: BET012 = -2.6514181169e-03
real, parameter :: BET003 = -2.3025968587e-04


real, parameter :: Pa2db = 1.e-4 !< Conversion factor between Pa and dbar
!>@{ Parameters in the NEMO equation of state
real, parameter :: rdeltaS = 32.
real, parameter :: r1_S0 = 0.875/35.16504
real, parameter :: r1_T0 = 1./40.
real, parameter :: r1_P0 = 1.e-4
real, parameter :: R00 = 4.6494977072e+01
real, parameter :: R01 = -5.2099962525
real, parameter :: R02 = 2.2601900708e-01
real, parameter :: R03 = 6.4326772569e-02
real, parameter :: R04 = 1.5616995503e-02
real, parameter :: R05 = -1.7243708991e-03
real, parameter :: EOS000 = 8.0189615746e+02
real, parameter :: EOS100 = 8.6672408165e+02
real, parameter :: EOS200 = -1.7864682637e+03
real, parameter :: EOS300 = 2.0375295546e+03
real, parameter :: EOS400 = -1.2849161071e+03
real, parameter :: EOS500 = 4.3227585684e+02
real, parameter :: EOS600 = -6.0579916612e+01
real, parameter :: EOS010 = 2.6010145068e+01
real, parameter :: EOS110 = -6.5281885265e+01
real, parameter :: EOS210 = 8.1770425108e+01
real, parameter :: EOS310 = -5.6888046321e+01
real, parameter :: EOS410 = 1.7681814114e+01
real, parameter :: EOS510 = -1.9193502195
real, parameter :: EOS020 = -3.7074170417e+01
real, parameter :: EOS120 = 6.1548258127e+01
real, parameter :: EOS220 = -6.0362551501e+01
real, parameter :: EOS320 = 2.9130021253e+01
real, parameter :: EOS420 = -5.4723692739
real, parameter :: EOS030 = 2.1661789529e+01
real, parameter :: EOS130 = -3.3449108469e+01
real, parameter :: EOS230 = 1.9717078466e+01
real, parameter :: EOS330 = -3.1742946532
real, parameter :: EOS040 = -8.3627885467
real, parameter :: EOS140 = 1.1311538584e+01
real, parameter :: EOS240 = -5.3563304045
real, parameter :: EOS050 = 5.4048723791e-01
real, parameter :: EOS150 = 4.8169980163e-01
real, parameter :: EOS060 = -1.9083568888e-01
real, parameter :: EOS001 = 1.9681925209e+01
real, parameter :: EOS101 = -4.2549998214e+01
real, parameter :: EOS201 = 5.0774768218e+01
real, parameter :: EOS301 = -3.0938076334e+01
real, parameter :: EOS401 = 6.6051753097
real, parameter :: EOS011 = -1.3336301113e+01
real, parameter :: EOS111 = -4.4870114575
real, parameter :: EOS211 = 5.0042598061
real, parameter :: EOS311 = -6.5399043664e-01
real, parameter :: EOS021 = 6.7080479603
real, parameter :: EOS121 = 3.5063081279
real, parameter :: EOS221 = -1.8795372996
real, parameter :: EOS031 = -2.4649669534
real, parameter :: EOS131 = -5.5077101279e-01
real, parameter :: EOS041 = 5.5927935970e-01
real, parameter :: EOS002 = 2.0660924175
real, parameter :: EOS102 = -4.9527603989
real, parameter :: EOS202 = 2.5019633244
real, parameter :: EOS012 = 2.0564311499
real, parameter :: EOS112 = -2.1311365518e-01
real, parameter :: EOS022 = -1.2419983026
real, parameter :: EOS003 = -2.3342758797e-02
real, parameter :: EOS103 = -1.8507636718e-02
real, parameter :: EOS013 = 3.7969820455e-01
real, parameter :: ALP000 = -6.5025362670e-01
real, parameter :: ALP100 = 1.6320471316
real, parameter :: ALP200 = -2.0442606277
real, parameter :: ALP300 = 1.4222011580
real, parameter :: ALP400 = -4.4204535284e-01
real, parameter :: ALP500 = 4.7983755487e-02
real, parameter :: ALP010 = 1.8537085209
real, parameter :: ALP110 = -3.0774129064
real, parameter :: ALP210 = 3.0181275751
real, parameter :: ALP310 = -1.4565010626
real, parameter :: ALP410 = 2.7361846370e-01
real, parameter :: ALP020 = -1.6246342147
real, parameter :: ALP120 = 2.5086831352
real, parameter :: ALP220 = -1.4787808849
real, parameter :: ALP320 = 2.3807209899e-01
real, parameter :: ALP030 = 8.3627885467e-01
real, parameter :: ALP130 = -1.1311538584
real, parameter :: ALP230 = 5.3563304045e-01
real, parameter :: ALP040 = -6.7560904739e-02
real, parameter :: ALP140 = -6.0212475204e-02
real, parameter :: ALP050 = 2.8625353333e-02
real, parameter :: ALP001 = 3.3340752782e-01
real, parameter :: ALP101 = 1.1217528644e-01
real, parameter :: ALP201 = -1.2510649515e-01
real, parameter :: ALP301 = 1.6349760916e-02
real, parameter :: ALP011 = -3.3540239802e-01
real, parameter :: ALP111 = -1.7531540640e-01
real, parameter :: ALP211 = 9.3976864981e-02
real, parameter :: ALP021 = 1.8487252150e-01
real, parameter :: ALP121 = 4.1307825959e-02
real, parameter :: ALP031 = -5.5927935970e-02
real, parameter :: ALP002 = -5.1410778748e-02
real, parameter :: ALP102 = 5.3278413794e-03
real, parameter :: ALP012 = 6.2099915132e-02
real, parameter :: ALP003 = -9.4924551138e-03
real, parameter :: BET000 = 1.0783203594e+01
real, parameter :: BET100 = -4.4452095908e+01
real, parameter :: BET200 = 7.6048755820e+01
real, parameter :: BET300 = -6.3944280668e+01
real, parameter :: BET400 = 2.6890441098e+01
real, parameter :: BET500 = -4.5221697773
real, parameter :: BET010 = -8.1219372432e-01
real, parameter :: BET110 = 2.0346663041
real, parameter :: BET210 = -2.1232895170
real, parameter :: BET310 = 8.7994140485e-01
real, parameter :: BET410 = -1.1939638360e-01
real, parameter :: BET020 = 7.6574242289e-01
real, parameter :: BET120 = -1.5019813020
real, parameter :: BET220 = 1.0872489522
real, parameter :: BET320 = -2.7233429080e-01
real, parameter :: BET030 = -4.1615152308e-01
real, parameter :: BET130 = 4.9061350869e-01
real, parameter :: BET230 = -1.1847737788e-01
real, parameter :: BET040 = 1.4073062708e-01
real, parameter :: BET140 = -1.3327978879e-01
real, parameter :: BET050 = 5.9929880134e-03
real, parameter :: BET001 = -5.2937873009e-01
real, parameter :: BET101 = 1.2634116779
real, parameter :: BET201 = -1.1547328025
real, parameter :: BET301 = 3.2870876279e-01
real, parameter :: BET011 = -5.5824407214e-02
real, parameter :: BET111 = 1.2451933313e-01
real, parameter :: BET211 = -2.4409539932e-02
real, parameter :: BET021 = 4.3623149752e-02
real, parameter :: BET121 = -4.6767901790e-02
real, parameter :: BET031 = -6.8523260060e-03
real, parameter :: BET002 = -6.1618945251e-02
real, parameter :: BET102 = 6.2255521644e-02
real, parameter :: BET012 = -2.6514181169e-03
real, parameter :: BET003 = -2.3025968587e-04
!!@}

contains

Expand Down
3 changes: 2 additions & 1 deletion src/equation_of_state/MOM_EOS_TEOS10.F90
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
!> The equation of state using the TEOS10 expressions
module MOM_EOS_TEOS10

! This file is part of MOM6. See LICENSE.md for the license.
Expand Down Expand Up @@ -47,7 +48,7 @@ module MOM_EOS_TEOS10
module procedure calculate_density_second_derivs_scalar_teos10, calculate_density_second_derivs_array_teos10
end interface calculate_density_second_derivs_teos10

real, parameter :: Pa2db = 1.e-4 ! The conversion factor from Pa to dbar.
real, parameter :: Pa2db = 1.e-4 !< The conversion factor from Pa to dbar.

contains

Expand Down
5 changes: 3 additions & 2 deletions src/equation_of_state/MOM_EOS_UNESCO.F90
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
!> The equation of state using the Jackett and McDougall fits to the UNESCO EOS
module MOM_EOS_UNESCO

! This file is part of MOM6. See LICENSE.md for the license.
Expand Down Expand Up @@ -29,7 +30,7 @@ module MOM_EOS_UNESCO
module procedure calculate_spec_vol_scalar_UNESCO, calculate_spec_vol_array_UNESCO
end interface calculate_spec_vol_UNESCO


!>@{ Parameters in the UNESCO equation of state
! The following constants are used to calculate rho0. The notation
! is Rab for the contribution to rho0 from T^aS^b.
real, parameter :: R00 = 999.842594, R10 = 6.793952e-2, R20 = -9.095290e-3, &
Expand All @@ -48,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

Expand Down
3 changes: 3 additions & 0 deletions src/equation_of_state/MOM_EOS_Wright.F90
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
!> The equation of state using the Wright 1997 expressions
module MOM_EOS_Wright

! This file is part of MOM6. See LICENSE.md for the license.
Expand Down Expand Up @@ -45,6 +46,7 @@ module MOM_EOS_Wright
module procedure calculate_density_second_derivs_scalar_wright, calculate_density_second_derivs_array_wright
end interface

!>@{ Parameters in the Wright equation of state
!real :: a0, a1, a2, b0, b1, b2, b3, b4, b5, c0, c1, c2, c3, c4, c5
! One of the two following blocks of values should be commented out.
! Following are the values for the full range formula.
Expand All @@ -62,6 +64,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

Expand Down
1 change: 1 addition & 0 deletions src/equation_of_state/MOM_TFreeze.F90
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
!> Freezing point expressions
module MOM_TFreeze

! This file is part of MOM6. See LICENSE.md for the license.
Expand Down
11 changes: 6 additions & 5 deletions src/framework/MOM_checksums.F90
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
!> Routines to calculate checksums of various array and vector types
module MOM_checksums

! This file is part of MOM6. See LICENSE.md for the license.
Expand Down Expand Up @@ -76,11 +77,11 @@ module MOM_checksums
module procedure chksum_general_1d, chksum_general_2d, chksum_general_3d
end interface

integer, parameter :: default_shift=0
logical :: calculateStatistics=.true. ! If true, report min, max and mean.
logical :: writeChksums=.true. ! If true, report the bitcount checksum
logical :: checkForNaNs=.true. ! If true, checks array for NaNs and cause
! FATAL error is any are found
integer, parameter :: default_shift=0 !< The default array shift
logical :: calculateStatistics=.true. !< If true, report min, max and mean.
logical :: writeChksums=.true. !< If true, report the bitcount checksum
logical :: checkForNaNs=.true. !< If true, checks array for NaNs and cause
!! FATAL error is any are found

contains

Expand Down
Loading

0 comments on commit 4061b7a

Please sign in to comment.