Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to gfdl 20200108 dev/master commit #14

Merged
merged 372 commits into from
Jan 21, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
372 commits
Select commit Hold shift + click to select a range
0abd134
Report negative zero min/max as positive
marshallward Sep 26, 2019
74cc9bb
+Add optional scale argument to calculate_density
Hallberg-NOAA Sep 26, 2019
d4c2dfb
+Rescale BML densities via calculate_density calls
Hallberg-NOAA Sep 26, 2019
535950c
Merge branch 'dev/gfdl' into density_rescale
Hallberg-NOAA Sep 26, 2019
5e8f287
Merge remote-tracking branch 'gfdl/dev/gfdl' into dev/esmg
kshedstrom Sep 26, 2019
4156851
Rescaled density units in MOM_entrain_diffusive
Hallberg-NOAA Sep 26, 2019
57794ad
+Changed units of GV%Rlay to [R]
Hallberg-NOAA Sep 27, 2019
bc378e3
+Move rescaling of Rlay into set_coord routines
Hallberg-NOAA Sep 27, 2019
ee6baaa
+Changed units of GV%Rho0 to [R]
Hallberg-NOAA Sep 27, 2019
59036c1
Remove extraneous 'debugging' statements
ashao Sep 27, 2019
f7b4b77
Rescaled density units in MOM_regularize_layers
Hallberg-NOAA Sep 28, 2019
297ffe5
Rescaled density units in MOM_set_viscosity
Hallberg-NOAA Sep 28, 2019
ac329db
Rescaled density units in MOM_set_diffusivity
Hallberg-NOAA Sep 28, 2019
7f8b55b
Rescaled density units in MOM_kappa_shear
Hallberg-NOAA Sep 28, 2019
af57dab
Rescaled density units in MOM_internal_tide_input
Hallberg-NOAA Sep 28, 2019
3fe1c7b
Rescaled density units in diagnoseMLDbyDensityDiff
Hallberg-NOAA Sep 28, 2019
87a2c4d
Rescaled density units in MOM_tidal_mixing
Hallberg-NOAA Sep 28, 2019
4808e3a
+Rescaled density units in MOM_geothermal
Hallberg-NOAA Sep 28, 2019
727199a
Corrected dimensions in comments
Hallberg-NOAA Sep 28, 2019
80b2d99
+Partially rescaled the units of TKE_itidal_input
Hallberg-NOAA Sep 28, 2019
68e322b
Rescaled density units in MOM_energetic_PBL
Hallberg-NOAA Sep 29, 2019
5122e33
+Rescaled density units of cTKE arguments
Hallberg-NOAA Sep 29, 2019
2d1f647
+Rescaled specific volume units of dSV_dT args
Hallberg-NOAA Sep 29, 2019
08231ca
Used GV%H_to_RZ to simplify rescalings
Hallberg-NOAA Sep 29, 2019
8e231df
+Pass mixed layer densities to sponges in [R]
Hallberg-NOAA Sep 29, 2019
e5ca06e
Rescaled units of dRhodT in applyBoundaryFluxesInOut
Hallberg-NOAA Sep 29, 2019
2e3f9c4
Rescaled density units in MOM_thickness_diffuse
Hallberg-NOAA Sep 30, 2019
3fb51fd
Rescaled units of FrictWork in MOM_hor_visc.F90
Hallberg-NOAA Sep 30, 2019
04901cd
Rescaled density units in MOM_mixed_layer_restrat
Hallberg-NOAA Sep 30, 2019
3567989
+Rescaled units of set_int_tide_input variables
Hallberg-NOAA Sep 30, 2019
ceae892
Fixing openmp compile
nikizadehgfdl Sep 30, 2019
ef1080b
+Rescaled energy units in MOM_internal_tides
Hallberg-NOAA Sep 30, 2019
1865f4f
(*)+Rescaled MEKE source element units in MEKE_type
Hallberg-NOAA Sep 30, 2019
b6dfa49
Use popcnt intrinsic for bitcount
marshallward Oct 1, 2019
401ea2b
Rescaled density units in MOM_MEKE.F90
Hallberg-NOAA Oct 1, 2019
58cb2d4
Removed a commented out statement
Hallberg-NOAA Oct 1, 2019
36fef34
Rescaled density units in initialize_temp_salt_fit
Hallberg-NOAA Oct 1, 2019
f03495f
+Rescaled density units in MOM_T_S_init_from_Z
Hallberg-NOAA Oct 1, 2019
235d3b6
Rescaled density units in calc_isoneutral_slopes
Hallberg-NOAA Oct 1, 2019
e4fea0a
(*)Simplified convert_thickness with no eqn of state
Hallberg-NOAA Oct 1, 2019
3418c1d
Merge pull request #1009 from marshallward/negzero_minmax_log
adcroft Oct 1, 2019
277ff1f
Fix -openmp compilation
nikizadehgfdl Oct 1, 2019
4d846ab
Fix openmp threads to reproduce non-openmp answers
nikizadehgfdl Oct 1, 2019
0d0ff90
Merge branch 'dev/gfdl' into fix_openmp_compile
nikizadehgfdl Oct 1, 2019
e62524b
Merge branch 'dev/gfdl' into popcnt
adcroft Oct 1, 2019
9ca5fb9
Merge pull request #1011 from marshallward/popcnt
adcroft Oct 1, 2019
729a497
Merge branch 'dev/gfdl' into fix_openmp_compile
marshallward Oct 1, 2019
d38c0dc
Merge pull request #1010 from nikizadehgfdl/fix_openmp_compile
marshallward Oct 2, 2019
3f8e704
OpenMP fix in MOM_hor_visc, and enabled testing
marshallward Oct 2, 2019
f697f13
Merge branch 'dev/gfdl' into omp_test
marshallward Oct 2, 2019
34f2c39
Rescaled density units in find_eta
Hallberg-NOAA Oct 2, 2019
7a65682
+Rescaled density units in MOM_PressureForce_Mont
Hallberg-NOAA Oct 2, 2019
fa02d85
Rescaled density units in MOM_PressureForce_AFV
Hallberg-NOAA Oct 2, 2019
27a9edd
Rescaled density units in adjust_ssh_for_p_atm
Hallberg-NOAA Oct 2, 2019
594300e
Rescaled density units in calc_diagnostic_fields
Hallberg-NOAA Oct 2, 2019
8efd5ae
Rescaled density units in MOM_wave_speed.F90
Hallberg-NOAA Oct 2, 2019
d072db2
Rescaled density units in wave_structure
Hallberg-NOAA Oct 2, 2019
45de704
Rescaled density units in MOM_tracer_hor_diff.F90
Hallberg-NOAA Oct 2, 2019
e137451
Rescaled density units in DOME_initialization.F90
Hallberg-NOAA Oct 2, 2019
a14bca0
Rescaled density units in ISOMIP_initialization.F90
Hallberg-NOAA Oct 2, 2019
fbed637
Rescaled density units in Rossby_front_2d_init.F90
Hallberg-NOAA Oct 2, 2019
ef491f7
Merge pull request #1012 from marshallward/omp_test
adcroft Oct 2, 2019
17fd654
Merge branch 'dev/gfdl' into rewrite_discontinuous_sort
adcroft Oct 2, 2019
0a8e67f
Rescaled density units in benchmark_init.F90
Hallberg-NOAA Oct 2, 2019
57e5165
Merge branch 'ashao-rewrite_discontinuous_sort' into dev/gfdl
adcroft Oct 2, 2019
15a5cb5
Rescaled density units in adjustment_init.F90
Hallberg-NOAA Oct 2, 2019
08980a7
Merge branch 'dev/gfdl' into density_rescale
Hallberg-NOAA Oct 2, 2019
e2e4bcb
+Rescaled taux_bot and tauy_bot
Hallberg-NOAA Oct 2, 2019
a669294
+Rescaled density units in coord_rho.F90
Hallberg-NOAA Oct 3, 2019
1cbf498
+Rescaled units of forces%taux to [R Z L T-2]
Hallberg-NOAA Oct 3, 2019
3be7bb5
Merge remote-tracking branch 'gfdl/dev/gfdl' into dev/esmg
kshedstrom Oct 3, 2019
3db79cd
MEKE diagnostic array fixes
marshallward Oct 3, 2019
cecc6e6
Merge branch 'dev/gfdl' into meke_diag_arrays
marshallward Oct 3, 2019
79d004b
Rescaled gustiness in MOM_surface_forcing files
Hallberg-NOAA Oct 3, 2019
fb47d7b
+Changed set_derived_forcing_fields Rho0 arg units
Hallberg-NOAA Oct 3, 2019
86216c6
Fixing up restart of tracer reservoirs.
kshedstrom Sep 5, 2019
ebd7d12
*Add OBC code to ALE regrid of u and v
kshedstrom Oct 4, 2019
dfd5278
+Changed units of fluxes%TKE_tidal to [R Z3 T-3]
Hallberg-NOAA Oct 4, 2019
ceaca56
Merge pull request #1014 from marshallward/meke_diag_arrays
adcroft Oct 4, 2019
d7f08f5
+Rescaled density units in coord_hycom.F90
Hallberg-NOAA Oct 4, 2019
e9b36cc
+Rescaled density units in coord_slight.F90
Hallberg-NOAA Oct 4, 2019
1175786
Rescaled density units in MOM_regridding.F90
Hallberg-NOAA Oct 4, 2019
3b4ea9c
+Turned heat budget pointers into arrays
Hallberg-NOAA Oct 4, 2019
2fc1b09
My understanding of OBC_RAD_VEL_WT was wrong.
kshedstrom Oct 4, 2019
fa35255
+Rescaled the units of taux_shelf and tauy_shelf
Hallberg-NOAA Oct 4, 2019
1f9144f
TC4 integration into test suite
marshallward Oct 4, 2019
34193e9
+Added scale arguments in MOM_spatial_means
Hallberg-NOAA Oct 4, 2019
dbad998
+Rescaled the units of surface mass fluxes
Hallberg-NOAA Oct 4, 2019
a5082d5
Travis python support; tc4 Makefile
marshallward Oct 5, 2019
76172d4
Simplified scaling factors in MOM_forcing_type
Hallberg-NOAA Oct 5, 2019
965c2c2
+Rescaled _rate variables from extractFluxes1d
Hallberg-NOAA Oct 5, 2019
37d5405
Combined scaling factors in MOM_forcing_type
Hallberg-NOAA Oct 5, 2019
be8e18c
+Rescaled the units of surface salt fluxes
Hallberg-NOAA Oct 5, 2019
cbe3996
Refactored solo_driver/MOM_surface_forcing.F90
Hallberg-NOAA Oct 5, 2019
8f3c126
Rescaled FLUXCONST to [Z T-1] in eight modules
Hallberg-NOAA Oct 6, 2019
3b6ccd8
Rescaled RHO0 to [R] in four modules
Hallberg-NOAA Oct 6, 2019
838bc41
Removed unused code in MOM_barotropic.F90
Hallberg-NOAA Oct 6, 2019
1d3e21e
Merge branch 'dev/gfdl' into density_rescale
Hallberg-NOAA Oct 6, 2019
35b884d
Fixed a recently added bug in insert_brine
Hallberg-NOAA Oct 6, 2019
5484ab0
+Pass timestep to insert_brine in units of [T]
Hallberg-NOAA Oct 7, 2019
3f69350
+Pass timestep to extractFluxes1d in units of [T]
Hallberg-NOAA Oct 7, 2019
ecf5813
+Pass timestep to thickness_diffuse in units of [T]
Hallberg-NOAA Oct 7, 2019
d5ee19a
Store timestep in [T} in sum_output_CS
Hallberg-NOAA Oct 7, 2019
a4da592
+Rescaled the units of fluxes%heat_content_... vars
Hallberg-NOAA Oct 8, 2019
b4f5264
ALE: Float ID inequality replaced with integer
marshallward Oct 8, 2019
5312d99
Cleaned up code in insert_brine
Hallberg-NOAA Oct 8, 2019
e55ad23
+Pass timestep to step_forward_MEKE in units of [T]
Hallberg-NOAA Oct 8, 2019
55a0484
Fixed a rescaling factor in entrainment_diffusive
Hallberg-NOAA Oct 8, 2019
59b18f0
+Pass timestep to btstep in units of [T]
Hallberg-NOAA Oct 8, 2019
f1b9c66
+Pass timestep to btstep in units of [T]
Hallberg-NOAA Oct 8, 2019
8ade6de
+Pass MLDdensityDifference in units of [R]
Hallberg-NOAA Oct 8, 2019
0d43bc3
Corrected units in parameterization code comments
Hallberg-NOAA Oct 8, 2019
d518449
Corrected units in MOM_hor_visc code comments
Hallberg-NOAA Oct 8, 2019
629416b
+Rescaled the units of tv%salt_deficit
Hallberg-NOAA Oct 8, 2019
4bcd442
Merge pull request #1018 from marshallward/ale_ineq_1016
Hallberg-NOAA Oct 9, 2019
12d3aac
T scaling and OpenMP fixes
marshallward Oct 10, 2019
b3e4b3c
Merge pull request #1 from marshallward/pr_1019_fix
Hallberg-NOAA Oct 10, 2019
28bc95e
Makefile: MPI flag test; REPRO flag; diff report
marshallward Oct 11, 2019
d243193
Merge branch 'dev/gfdl' of https://github.com/noaa-gfdl/mom6 into mk_…
marshallward Oct 11, 2019
79a8fe2
Ice shelf and barotropic rescale variable init
marshallward Oct 16, 2019
5f81b73
Fix the downsampled "summed" diagnostics
nikizadehgfdl Oct 18, 2019
defb0c5
Verify ENABLE_THERMODYNAMICS is True before posting C_p diagnostic
MJHarrison-GFDL Oct 25, 2019
9fdbe98
Merge branch 'tc4_fix' of github.com:marshallward/MOM6 into gcc_7_4_0…
Oct 25, 2019
3c0d52a
Make tc4 faster
MJHarrison-GFDL Oct 25, 2019
817bdde
remove trailing whitespace
MJHarrison-GFDL Oct 25, 2019
1b96028
Merge pull request #1 from MJHarrison-GFDL/gcc_7_4_0_patch
marshallward Oct 25, 2019
3367d0e
Merge branch 'density_rescale' of https://github.com/Hallberg-NOAA/MO…
Hallberg-NOAA Oct 25, 2019
231f120
add unit scaling
MJHarrison-GFDL Oct 29, 2019
c4606e1
fix restart fail for tc4 and some cleanup
MJHarrison-GFDL Oct 29, 2019
8a52f40
Merge branch 'gcc_7_4_0_patch' of github.com:MJHarrison-GFDL/MOM6 int…
MJHarrison-GFDL Oct 29, 2019
251b0d9
remove trailiny ws
MJHarrison-GFDL Oct 29, 2019
241f3ba
Renamed internal vars dt to dt_in_s in MOM_dynamics
Hallberg-NOAA Oct 31, 2019
0be3f0e
+Pass timesteps to sponge code in [T]
Hallberg-NOAA Oct 31, 2019
7e0e505
Renamed internal variables dt_in_T to dt
Hallberg-NOAA Oct 31, 2019
41c860a
+Rescaled advective and diffusive tracer diags
Hallberg-NOAA Oct 31, 2019
2cd8276
Clarified comments in MOM_tracer_diabatic
Hallberg-NOAA Oct 31, 2019
88fcb8a
+Rescaled timestep arguments to several routines
Hallberg-NOAA Oct 31, 2019
3c71c13
+Corrected restart registration for US%m_to_L
Hallberg-NOAA Oct 31, 2019
34e612f
Pass dt in [T] to tracer_vertdiff for temperature
Hallberg-NOAA Oct 31, 2019
ce4ed7d
Kh_max_x[xy], Ah_max_xy chksum and alloc fixes
marshallward Nov 1, 2019
77e7342
Merge pull request #2 from MJHarrison-GFDL/gcc_7_4_0_patch
marshallward Nov 1, 2019
ec851ed
Extend z_top and z_btm density calculation in diag
marshallward Nov 4, 2019
0eaeb81
Wave speed diag: explicit argument calcs
marshallward Nov 4, 2019
aec5eb4
opacity: netPen explicit summation
marshallward Nov 4, 2019
a016e3b
Neutral diffusion unit testing tolerance set
marshallward Nov 4, 2019
b2e2511
advect_x logical test split
marshallward Nov 4, 2019
2518c36
Initialize surface forcing adjustments to zero
marshallward Nov 4, 2019
fa97128
MOM_entrain_diffusive logical nesting
marshallward Nov 4, 2019
f607a45
MOM_set_viscosity logic split
marshallward Nov 5, 2019
8834b3b
Merge pull request #1020 from marshallward/mk_fixes
adcroft Nov 5, 2019
b2fb9cc
Merge branch 'dev/gfdl' into tc-reconfig
marshallward Nov 5, 2019
54fc734
Mixedlayer_restrat density update
marshallward Nov 5, 2019
2980893
Merge branch 'dev/gfdl' into nan_fixes
marshallward Nov 5, 2019
83d8297
Merge pull request #1004 from adcroft/tc-reconfig
marshallward Nov 5, 2019
eca876e
Merge branch 'dev/gfdl' into nan_fixes
marshallward Nov 5, 2019
daa4a3a
Merge branch 'dev/gfdl' into dev/esmg
marshallward Nov 5, 2019
edc5c17
Merge branch 'dev/master' into dev_merge
marshallward Nov 7, 2019
802f830
Merge pull request #1025 from marshallward/dev_merge
adcroft Nov 7, 2019
e60c546
Merge branch 'dev/gfdl' into variable_init_fixes
marshallward Nov 8, 2019
76425c9
Merge branch 'dev/gfdl' into visc_max_chksums
marshallward Nov 8, 2019
cafd3e8
Merge branch 'dev/gfdl' into fix_downsampled_transport_diags
adcroft Nov 8, 2019
9a44252
Merge pull request #1022 from nikizadehgfdl/fix_downsampled_transport…
adcroft Nov 8, 2019
afb932a
Merge branch 'dev/gfdl' into variable_init_fixes
adcroft Nov 8, 2019
c43ffaa
Merge pull request #1021 from marshallward/variable_init_fixes
adcroft Nov 8, 2019
2c604c0
Merge branch 'dev/esmg' of https://github.com/ESMG/MOM6 into ESMG-dev…
adcroft Nov 8, 2019
dd0e7d4
Merge branch 'ESMG-dev/esmg' into dev/gfdl
adcroft Nov 8, 2019
58e84e8
Merge branch 'dev/gfdl' into visc_max_chksums
marshallward Nov 8, 2019
b541527
Merge branch 'dev/gfdl' into visc_max_chksums
adcroft Nov 8, 2019
5af42c6
Merge branch 'dev/gfdl' into density_rescale
Hallberg-NOAA Nov 8, 2019
0949df6
Merge branch 'dev/gfdl' into nan_merge
marshallward Nov 9, 2019
1a4903e
Corrected the dimensional rescaling in MOM_MEKE.F90
Hallberg-NOAA Nov 9, 2019
1b5d722
+Added enable_averages
Hallberg-NOAA Nov 9, 2019
2da48dc
Use enable_averages in MOM_dynamics modules
Hallberg-NOAA Nov 9, 2019
8000b1c
Merge pull request #1023 from marshallward/visc_max_chksums
Hallberg-NOAA Nov 9, 2019
0fab529
Merge branch 'dev/gfdl' into density_rescale
Hallberg-NOAA Nov 9, 2019
148fcf2
Rescaled timesteps in MOM.F90
Hallberg-NOAA Nov 10, 2019
81f3a58
RK2 split pass_init clock timer initialization
marshallward Nov 12, 2019
02bb5d7
Merge branch 'dev/gfdl' into nan_merge
marshallward Nov 12, 2019
0c390a3
Merge pull request #1026 from marshallward/nan_merge
adcroft Nov 12, 2019
a919f23
+Fixed unit conversion factors for 7 diagnostics
Hallberg-NOAA Nov 12, 2019
e2815d2
Merge branch 'dev/gfdl' into density_rescale
Hallberg-NOAA Nov 12, 2019
186beda
+Pass timesteps to diagnostic routines in [T]
Hallberg-NOAA Nov 13, 2019
ef462a8
Removed the accidental 2 in a comment
Hallberg-NOAA Nov 13, 2019
096761e
Merge branch 'dev/gfdl' into tc4_fix
marshallward Nov 13, 2019
18e5894
Enable tc4.restart test
marshallward Nov 13, 2019
840881d
Merge pull request #1019 from Hallberg-NOAA/density_rescale
marshallward Nov 13, 2019
605d1bc
+Pass timeesteps to tracer diagnostics in [T]
Hallberg-NOAA Nov 13, 2019
08dbb59
+Rescaled tracer advective flux diagnostics
Hallberg-NOAA Nov 13, 2019
00da24e
+Pass timesteps to ALE_main in [T]
Hallberg-NOAA Nov 13, 2019
0281e21
+Pass timesteps to tracer column_physics in [T]
Hallberg-NOAA Nov 14, 2019
b80d82e
+Pass timesteps to applyTracerBoundaryFluxesInOut in [T]
Hallberg-NOAA Nov 14, 2019
a3b7adc
Simplified expressions in MOM_PointAccel
Hallberg-NOAA Nov 14, 2019
2b0fea2
Corrected dimensional epsilons in downscaling
Hallberg-NOAA Nov 14, 2019
b48b594
Simplified expressions in MOM_offline_aux
Hallberg-NOAA Nov 14, 2019
44cfd27
Revised wave_speed to return speed in [L T-1]
Hallberg-NOAA Nov 14, 2019
f8b7564
Travis: Move regression tests to separate build
marshallward Nov 15, 2019
558b5e0
Testing: Makefile typo
marshallward Nov 15, 2019
8791de3
Merge pull request #1030 from marshallward/travis_regression_fix
adcroft Nov 15, 2019
4053e7d
Merge branch 'dev/gfdl' into tc4_fix
marshallward Nov 15, 2019
05b136b
Rescaled internal variables in wave_speed
Hallberg-NOAA Nov 15, 2019
6e115b7
+Changed the units of minimum_forcing_depth to [H]
Hallberg-NOAA Nov 15, 2019
c741390
Correction of documented units in comments
Hallberg-NOAA Nov 15, 2019
8b7a692
Merge branch 'dev/gfdl' into rescale_cleanup
Hallberg-NOAA Nov 15, 2019
f8f106a
Adiabatic clock ID bugfix
marshallward Nov 19, 2019
2ae0a68
Corrected an OMP declaration
Hallberg-NOAA Nov 20, 2019
be50409
Merge pull request #1032 from Hallberg-NOAA/rescale_cleanup
adcroft Nov 22, 2019
4b241f6
Merge branch 'dev/gfdl' into adiabatic_clock_id_fix
adcroft Nov 22, 2019
686302e
Update MOM.F90
marshallward Nov 22, 2019
ba45244
Merge pull request #1034 from marshallward/adiabatic_clock_id_fix
adcroft Nov 22, 2019
aaa58ca
Dimensional rescaling in MOM_open_boundary.F90
Hallberg-NOAA Nov 25, 2019
98e1450
(*)Fixed invariance bugs in MOM_open_boundary.F90
Hallberg-NOAA Nov 26, 2019
279fd7b
Merge branch 'dev/gfdl' into tc4_fix
adcroft Nov 26, 2019
3ea8609
Merge pull request #1031 from marshallward/tc4_fix
adcroft Nov 27, 2019
1c17bc4
Merge branch 'dev/gfdl' into revise_OBCs
adcroft Nov 27, 2019
0e0f6e9
Merge pull request #1037 from Hallberg-NOAA/revise_OBCs
adcroft Nov 27, 2019
4edc165
(*)Fixed dimensional inconsistency in P3M_functions
Hallberg-NOAA Dec 1, 2019
e9ee86a
+Added REMAPPING_2018 runtime option
Hallberg-NOAA Dec 2, 2019
aac71f5
Fix units for terms used in advection of MEKE
adcroft Dec 2, 2019
b7b7fbc
Removed out-of-date commented code
adcroft Nov 27, 2019
9c4d22d
Updated/added comments for units of variables in MOM_MEKE.F90
adcroft Nov 27, 2019
7dca672
Corrected the formatting of a doxygen comment
Hallberg-NOAA Dec 2, 2019
285273a
Corrected/added converted MKS units in comments
adcroft Dec 2, 2019
7a404fe
Added more converted MKS units in comments
adcroft Dec 2, 2019
bfa303d
Merge pull request #1039 from adcroft/fix-units-for-meke-advection
Hallberg-NOAA Dec 2, 2019
4158a7e
Merge branch 'dev/gfdl' into ALE_remap_fix
adcroft Dec 3, 2019
c9a7f98
Merge branch 'Hallberg-NOAA-ALE_remap_fix' into dev/gfdl
adcroft Dec 3, 2019
bb3827e
Added conversion factors to forcing diagnostics
Hallberg-NOAA Dec 4, 2019
3d7456a
Added correct scaling factors to chksum calls
Hallberg-NOAA Dec 4, 2019
6ab1721
+Unscales area before taking global sum
Hallberg-NOAA Dec 4, 2019
babc30a
(*)Correct dimensionally inconsistent advective CFL
Hallberg-NOAA Dec 4, 2019
e0d7236
Unscale sea level before averaging
Hallberg-NOAA Dec 4, 2019
5a8f17e
+Added an optional tmp_scale arg to global_i_mean
Hallberg-NOAA Dec 4, 2019
274a613
Expand consistency testing with i-mean sponges
Hallberg-NOAA Dec 4, 2019
4d7a947
Merge pull request #1040 from Hallberg-NOAA/rescale_diag_fix
marshallward Dec 6, 2019
0a3faa7
+Simplified handling of time with forcing type
Hallberg-NOAA Dec 6, 2019
dacde02
Merge branch 'dev/gfdl' into simplify_forcing_time
Hallberg-NOAA Dec 6, 2019
ef86e87
+Added the new parameter KAPPA_SHEAR_ITER_BUG
Hallberg-NOAA Dec 6, 2019
5ad6a38
+(*)Add the new parameter VERT_FRICTION_2018_ANSWERS
Hallberg-NOAA Dec 10, 2019
0896225
Merge branch 'Hallberg-NOAA-kappa_shear_bugfix' into dev/gfdl
adcroft Dec 16, 2019
975c004
Merge branch 'revise_vert_friction' of https://github.com/Hallberg-NO…
adcroft Dec 16, 2019
711a16c
Merge branch 'Hallberg-NOAA-revise_vert_friction' into dev/gfdl
adcroft Dec 16, 2019
44efd50
Merge branch 'simplify_forcing_time' of https://github.com/Hallberg-N…
adcroft Dec 16, 2019
d23a1f9
Merge branch 'Hallberg-NOAA-simplify_forcing_time' into dev/gfdl
adcroft Dec 16, 2019
7951a84
fix divide by zero
DeniseWorthen Dec 31, 2019
ae51d44
fix to wave_interface for debugging; looked safe but gave error
DeniseWorthen Dec 31, 2019
40871c1
more better way of fixing divide by zero
DeniseWorthen Jan 1, 2020
9269820
Corrected arguments to mct coupler iceberg calls
Hallberg-NOAA Jan 6, 2020
9f31539
Merge branch 'dev-master-candidate-2019-12-17' into dev/master
adcroft Jan 8, 2020
d866315
solve conflict in mom_surface_forcing_nuopc.F90
jiandewang Jan 9, 2020
ca73ebb
Merge remote-tracking branch 'Denise/feature/debugMOM6' into update-t…
jiandewang Jan 13, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
coverage:
status:
project:
default:
threshold: 100%
patch:
default:
threshold: 100%
13 changes: 0 additions & 13 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,3 @@ html
MOM6
build/
deps/
#.testing/*/available_diags.*
#.testing/*/CPU_stats
#.testing/*/chksum_diag
#.testing/*/exitcode
#.testing/*/logfile.*.out
#.testing/*/MOM_parameter_doc.*
#.testing/*/ocean_geometry.nc
#.testing/*/ocean.stats
#.testing/*/ocean.stats.nc
#.testing/*/RESTART/
#.testing/*/time_stamp.out
#.testing/*/Vertical_coordinate.nc
#.testing/*/GOLD_IC.nc
16 changes: 3 additions & 13 deletions .testing/.gitignore
Original file line number Diff line number Diff line change
@@ -1,13 +1,3 @@
available_diags.*
CPU_stats
chksum_diag
exitcode
logfile.*.out
MOM_parameter_doc.*
ocean_geometry.nc
ocean.stats
ocean.stats.nc
RESTART/
time_stamp.out
Vertical_coordinate.nc
GOLD_IC.nc
config.mk
work/
results/
190 changes: 116 additions & 74 deletions .testing/Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
SHELL = bash
MPIRUN ?= mpirun

# User-defined configuration
-include config.mk

# Default configurations
MPIRUN ?= mpirun
DO_REPRO_TESTS ?= true

#---
# Dependencies
BASE = $(dir $(abspath $(lastword $(MAKEFILE_LIST))))/..
Expand Down Expand Up @@ -36,42 +40,53 @@ MKMF_TEMPLATE ?= $(DEPS)/mkmf/templates/ncrc-gnu.mk
# Test configuration

# Executables
BUILDS = symmetric asymmetric repro
CONFIGS := $(foreach n,$(shell seq 0 3),tc$(n))
TESTS = grids layouts restarts repros nans dims
BUILDS = symmetric asymmetric repro openmp
CONFIGS := $(wildcard tc*)
TESTS = grids layouts restarts nans dims openmps

# REPRO tests enable reproducibility with optimization, and often do not match
# the DEBUG results in older GCCs and vendor compilers, so we can optionally
# disable them.
ifeq ($(DO_REPRO_TESTS), true)
BUILDS += repro
TESTS += repros
endif

# The following variables are configured by Travis:
# DO_REGRESSION_TESTS: true if $(TRAVIS_PULL_REQUEST) is a PR number
# MOM_TARGET_SLUG: TRAVIS_REPO_SLUG
# MOM_TARGET_LOCAL_BRANCH: TRAVIS_BRANCH
#
# These are set to true by Travis if testing a pull request

# These are set to true by our Travis configuration if testing a pull request
DO_REGRESSION_TESTS ?=
REPORT_COVERAGE ?=

ifeq ($(DO_REGRESSION_TESTS), true)
BUILDS += target
TEST += regressions
BUILDS += target
TESTS += regressions

MOM_TARGET_SLUG ?= NOAA-GFDL/MOM6
MOM_TARGET_URL ?= https://github.com/$(MOM_TARGET_SLUG)
MOM_TARGET_SLUG ?= NOAA-GFDL/MOM6
MOM_TARGET_URL ?= https://github.com/$(MOM_TARGET_SLUG)

MOM_TARGET_LOCAL_BRANCH ?= dev/gfdl
MOM_TARGET_BRANCH := origin/$(MOM_TARGET_LOCAL_BRANCH)
MOM_TARGET_LOCAL_BRANCH ?= dev/gfdl
MOM_TARGET_BRANCH := origin/$(MOM_TARGET_LOCAL_BRANCH)

TARGET_CODEBASE = $(BUILD)/target_codebase
TARGET_CODEBASE = $(BUILD)/target_codebase
else
MOM_TARGET_URL =
MOM_TARGET_BRANCH =
TARGET_CODEBASE =
MOM_TARGET_URL =
MOM_TARGET_BRANCH =
TARGET_CODEBASE =
endif

SOURCE = $(wildcard $(BASE)/src/*/*.F90 $(BASE)/src/*/*/*.F90 $(BASE)/config_src/solo_driver/*.F90)


#---
# Rules

.PHONY: all
.PHONY: all build.regressions
all: $(foreach b,$(BUILDS),$(BUILD)/$(b)/MOM6)
build.regressions: $(foreach b,symmetric target,$(BUILD)/$(b)/MOM6)

# Executable
BUILD_TARGETS = MOM6 Makefile path_names
Expand All @@ -84,6 +99,7 @@ $(BUILD)/target/MOM6: MOMFLAGS=NETCDF=3 DEBUG=1
$(BUILD)/symmetric/MOM6: MOMFLAGS=NETCDF=3 DEBUG=1 $(COVFLAG)
$(BUILD)/asymmetric/MOM6: MOMFLAGS=NETCDF=3 DEBUG=1
$(BUILD)/repro/MOM6: MOMFLAGS=NETCDF=3 REPRO=1
$(BUILD)/openmp/MOM6: MOMFLAGS=NETCDF=3 DEBUG=1 OPENMP=1

$(BUILD)/asymmetric/path_names: GRID_SRC=config_src/dynamic
$(BUILD)/%/path_names: GRID_SRC=config_src/dynamic_symmetric
Expand All @@ -110,7 +126,7 @@ $(BUILD)/target/path_names: $(LIST_PATHS) $(TARGET_CODEBASE)
$(TARGET_CODEBASE)/config_src/solo_driver \
$(TARGET_CODEBASE)/$(GRID_SRC)

$(BUILD)/%/path_names: $(LIST_PATHS)
$(BUILD)/%/path_names: $(LIST_PATHS) $(SOURCE)
mkdir -p $(@D)
cd $(@D) && $(LIST_PATHS) -l \
$(BASE)/src \
Expand Down Expand Up @@ -164,71 +180,90 @@ test: $(foreach t,$(TESTS),test.$(t))
# NOTE: We remove tc3 (OBC) from grid test since it cannot run asymmetric grids

.PHONY: $(foreach t,$(TESTS),test.$(t))
test.regressions: $(foreach c,$(CONFIGS),$(c).regression $(c).regression.diag)
test.grids: $(foreach c,$(filter-out tc3,$(CONFIGS)),$(c).grid $(c).grid.diag)
test.layouts: $(foreach c,$(CONFIGS),$(c).layout $(c).layout.diag)
test.restarts: $(foreach c,$(CONFIGS),$(c).restart)
test.repros: $(foreach c,$(CONFIGS),$(c).repro $(c).repro.diag)
test.openmps: $(foreach c,$(CONFIGS),$(c).openmp $(c).openmp.diag)
test.nans: $(foreach c,$(CONFIGS),$(c).nan $(c).nan.diag)
test.dims: $(foreach c,$(CONFIGS),$(foreach d,t l h z,$(c).dim.$(d) $(c).dim.$(d).diag))

# NOTE: chksum_diag return code of cmp is currently ignored since many fail!
test.regressions: $(foreach c,$(CONFIGS),$(c).regression $(c).regression.diag)
! ls -1 results/*/*.reg

define CMP_RULE
.PRECIOUS: $(foreach b,$(2),$(BASE)/.testing/%/ocean.stats.$(b))
%.$(1): $(foreach b,$(2),$(BASE)/.testing/%/ocean.stats.$(b))
cmp $$^
.PRECIOUS: $(foreach b,$(2),results/%/ocean.stats.$(b))
%.$(1): $(foreach b,$(2),results/%/ocean.stats.$(b))
cmp $$^ || diff $$^

.PRECIOUS: $(foreach b,$(2),$(BASE)/.testing/%/chksum_diag.$(b))
%.$(1).diag: $(foreach b,$(2),$(BASE)/.testing/%/chksum_diag.$(b))
cmp $$^ || true
.PRECIOUS: $(foreach b,$(2),results/%/chksum_diag.$(b))
%.$(1).diag: $(foreach b,$(2),results/%/chksum_diag.$(b))
cmp $$^ || diff $$^
endef

$(eval $(call CMP_RULE,regression,symmetric target))
$(eval $(call CMP_RULE,grid,symmetric asymmetric))
$(eval $(call CMP_RULE,layout,symmetric layout))
$(eval $(call CMP_RULE,repro,symmetric repro))
$(eval $(call CMP_RULE,openmp,symmetric openmp))
$(eval $(call CMP_RULE,nan,symmetric nan))
$(foreach d,t l h z,$(eval $(call CMP_RULE,dim.$(d),symmetric dim.$(d))))

# Custom comparison rules

.PRECIOUS: $(foreach b,symmetric restart target,results/%/ocean.stats.$(b))

# Restart tests only compare the final stat record
.PRECIOUS: $(foreach b,symmetric restart,$(BASE)/.testing/%/ocean.stats.$(b))
%.restart: $(foreach b,symmetric restart,$(BASE)/.testing/%/ocean.stats.$(b))
cmp $(foreach f,$^,<(tr -s ' ' < $(f) | cut -d ' ' -f3- | tail -n 1))
%.restart: $(foreach b,symmetric restart,results/%/ocean.stats.$(b))
cmp $(foreach f,$^,<(tr -s ' ' < $(f) | cut -d ' ' -f3- | tail -n 1)) \
|| diff $^

# TODO: chksum_diag parsing of restart files

# All regression tests must be completed when considering answer changes
%.regression: $(foreach b,symmetric target,results/%/ocean.stats.$(b))
cmp $^ || (diff $^ > $<.reg || true)

%.regression.diag: $(foreach b,symmetric target,results/%/chksum_diag.$(b))
cmp $^ || (diff $^ > $<.reg || true)

#---
# Test run output files

#(1): Configuration name
#(2): Executable type
#(3): Enable coverage flag
#(4): MOM_override configuration
#(5): Environment variables
#(6): Number of MPI ranks

# Simple function for generalised Slurm (srun) and OpenMPI (mpirun) support
# (1): Environment variables

ifeq ($(MPIRUN), srun)
MPIRUN_CMD=$(1) $(MPIRUN)
# Generalized MPI environment variable support
# $(1): Environment variables
ifeq ($(shell $(MPIRUN) -x tmp=1 true 2> /dev/null ; echo $$?), 0)
MPIRUN_CMD=$(MPIRUN) $(if $(1),-x $(1),)
else ifeq ($(shell $(MPIRUN) -env tmp=1 true 2> /dev/null ; echo $$?), 0)
MPIRUN_CMD=$(MPIRUN) $(if $(1),-env $(1),)
else
MPIRUN_CMD=$(MPIRUN) $(if $(1),-x $(1),)
MPIRUN_CMD=$(1) $(MPIRUN)
endif

# Rule to build results/<tc>/{ocean.stats,chksum_diag}.<tag>
# $(1): Test configuration name <tag>
# $(2): Executable type
# $(3): Enable coverage flag
# $(4): MOM_override configuration
# $(5): Environment variables
# $(6): Number of MPI ranks
define STAT_RULE
$$(BASE)/.testing/%/ocean.stats.$(1): $$(BUILD)/$(2)/MOM6
if [ $(3) ]; then find $$(BUILD) -name *.gcda -exec rm -f '{}' \; ; fi
mkdir -p $$(@D)/RESTART
echo $(4) > $$(@D)/MOM_override
cd $$(@D) && $$(call MPIRUN_CMD,$(5)) -n $(6) $$< 2> debug.out
cp $$(@D)/ocean.stats $$@
> $$(@D)/MOM_override
if [ $(3) ]; then cd $$(BASE) && bash <(curl -s https://codecov.io/bash) -n $$@; fi

$$(BASE)/.testing/%/chksum_diag.$(1): $$(BASE)/.testing/%/ocean.stats.$(1)
cp $$(@D)/chksum_diag $$@
results/%/ocean.stats.$(1): ../build/$(2)/MOM6
if [ $(3) ]; then find ../build/$(2) -name *.gcda -exec rm -f '{}' \; ; fi
mkdir -p work/$$*/$(1)
cp -rL $$*/* work/$$*/$(1)
cd work/$$*/$(1) && if [ -f Makefile ]; then make; fi
mkdir -p work/$$*/$(1)/RESTART
echo $(4) > work/$$*/$(1)/MOM_override
cd work/$$*/$(1) && $$(call MPIRUN_CMD,$(5)) -n $(6) ../../../$$< 2> debug.out > std.out \
|| ! sed 's/^/$$*.$(1): /' std.out debug.out \
&& sed 's/^/$$*.$(1): /' std.out
mkdir -p $$(@D)
cp work/$$*/$(1)/ocean.stats $$@
if [ $(3) ]; then cd .. && bash <(curl -s https://codecov.io/bash) -n $$@; fi

results/%/chksum_diag.$(1): results/%/ocean.stats.$(1)
mkdir -p $$(@D)
cp work/$$*/$(1)/chksum_diag $$@
endef

# Define $(,) as comma escape character
Expand All @@ -238,51 +273,58 @@ $(eval $(call STAT_RULE,symmetric,symmetric,$(REPORT_COVERAGE),,,1))
$(eval $(call STAT_RULE,asymmetric,asymmetric,,,,1))
$(eval $(call STAT_RULE,target,target,,,,1))
$(eval $(call STAT_RULE,repro,repro,,,,1))
$(eval $(call STAT_RULE,openmp,openmp,,,,1))
$(eval $(call STAT_RULE,layout,symmetric,,LAYOUT=2$(,)1,,2))
$(eval $(call STAT_RULE,nan,symmetric,,,MALLOC_PERTURB_=256,1))
$(eval $(call STAT_RULE,dim.t,symmetric,,T_RESCALE_POWER=11,,1))
$(eval $(call STAT_RULE,dim.l,symmetric,,L_RESCALE_POWER=11,,1))
$(eval $(call STAT_RULE,dim.h,symmetric,,H_RESCALE_POWER=11,,1))
$(eval $(call STAT_RULE,dim.z,symmetric,,Z_RESCALE_POWER=11,,1))

# Restart tests require signicant preprocessing, and are handled separately.
$(BASE)/.testing/%/ocean.stats.restart: $(BUILD)/symmetric/MOM6
# Cleanup
mkdir -p $(@D)/RESTART
git checkout $(@D)/input.nml
> $(@D)/MOM_override
# Restart tests require significant preprocessing, and are handled separately.
results/%/ocean.stats.restart: ../build/symmetric/MOM6
rm -rf work/$*/restart
mkdir -p work/$*/restart
cp -rL $*/* work/$*/restart
cd work/$*/restart && if [ -f Makefile ]; then make; fi
mkdir -p work/$*/restart/RESTART
# Generate the half-period input namelist
# TODO: Assumes runtime set by DAYMAX, will fail if set by input.nml
cd $(@D) \
cd work/$*/restart \
&& daymax=$$(grep DAYMAX MOM_input | cut -d '!' -f 1 | cut -d '=' -f 2 | xargs) \
&& timeunit=$$(grep TIMEUNIT MOM_input | cut -d '!' -f 1 | cut -d '=' -f 2 | xargs) \
&& if [ -z "$${timeunit}" ]; then timeunit="8.64e4"; fi \
&& printf -v timeunit_int "%.f" "$${timeunit}" \
&& halfperiod=$$(printf "%.f" $$(bc <<< "scale=10; 0.5 * $${daymax} * $${timeunit_int}")) \
&& printf "\n&ocean_solo_nml\n seconds = $${halfperiod}\n/\n" >> input.nml \
&& echo $${daymax} $${timeunit}
&& printf "\n&ocean_solo_nml\n seconds = $${halfperiod}\n/\n" >> input.nml
# Run the first half-period
cd $(@D) && $(MPIRUN) -n 1 $< 2> debug.out
cd work/$*/restart && $(MPIRUN) -n 1 ../../../$< 2> debug1.out > std1.out \
|| ! sed 's/^/$*.restart1: /' std1.out debug1.out \
&& sed 's/^/$*.restart1: /' std1.out
# Setup the next inputs
rm -rf $(@D)/INPUT && mv $(@D)/RESTART $(@D)/INPUT
mkdir $(@D)/RESTART
cd $(@D) && sed -i -e "s/input_filename *= *'n'/input_filename = 'r'/g" input.nml
cd work/$*/restart && rm -rf INPUT && mv RESTART INPUT
mkdir work/$*/restart/RESTART
cd work/$*/restart && sed -i -e "s/input_filename *= *'n'/input_filename = 'r'/g" input.nml
# Run the second half-period
cd $(@D) && $(MPIRUN) -n 1 $< 2> debug.out
cd work/$*/restart && $(MPIRUN) -n 1 ../../../$< 2> debug2.out > std2.out \
|| ! sed 's/^/$*.restart2: /' std2.out debug2.out \
&& sed 's/^/$*.restart2: /' std2.out
# Archive the results and cleanup
cp $(@D)/ocean.stats $@
rm -rf $(@D)/INPUT
git checkout $(@D)/input.nml
mkdir -p $(@D)
cp work/$*/restart/ocean.stats $@

# TODO: Restart checksum diagnostics


#----
.PHONY: clean
clean: clean.stats
rm -rf $(BUILD)
@# Assert that we are in .testing for recursive delete
@[ $$(basename $$(pwd)) = .testing ]
rm -rf ../build

.PHONY: clean.stats
clean.stats:
find $(BASE)/.testing -name ocean.stats* -exec rm {} \;
find $(BASE)/.testing -name chksum_diag* -exec rm {} \;
@# Assert that we are in .testing for recursive delete
@[ $$(basename $$(pwd)) = .testing ]
rm -rf work results
17 changes: 10 additions & 7 deletions .testing/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Model state is currently defined by the `ocean.stats` output file, which
reports the total energy (per unit mass) at machine precision alongside similar
global metrics, such as mass or mean sea level, at lower precision.

Clhecksums for every available diagnostic are also compared and the Makefile
Checksums for every available diagnostic are also compared and the Makefile
will report any differences, but such differences are not yet considered a fail
condition.

Expand Down Expand Up @@ -138,7 +138,7 @@ This will run through the following tests:
- `test.restarts`: Resubmission by restarts
- `test.repros`: Optimized (REPRO) and unoptimized (DEBUG) compilation
- `test.nans`: NaN initialization of allocated arrays
- `test.dims`: Dimensional scaling (length, time, thichkness, depth)
- `test.dims`: Dimensional scaling (length, time, thickness, depth)

To enable the regression tests, use `DO_REGRESSION_TEST=true`.
```
Expand All @@ -159,18 +159,21 @@ fail if the answers differ from this build.

The following test configurations (TCs) are supported:

- TC0: Unit testing of various model components, based on `unit_tests`
- TC1: A low-resolution version of the `benchmark` configuration
- TC2: An ALE configuration based on TC1
- TC3: An open-boundary condition (OBC) test based on `circle_obcs`
- tc0: Unit testing of various model components, based on `unit_tests`
- tc1: A low-resolution version of the `benchmark` configuration
- tc1.a: Use the un-split mode with Runge-Kutta 3 time integration
- tc1.b: Use the un-split mode with Runge-Kutta 2 time integration
- tc2: An ALE configuration based on tc1 with tides
- tc2.a: Use sigma, PPM_H4 and no tides
- tc3: An open-boundary condition (OBC) test based on `circle_obcs`


## Code coverage

Code coverage reports the lines of code which have been tested, and can
explicitly demonstrate when a particular operation is untested.

Coverage is measued using `gcov` and is reported for TCs using the `symmetric`
Coverage is measured using `gcov` and is reported for TCs using the `symmetric`
executable.

Coverage reporting is optionally sent to the `codecov.io` site.
Expand Down
2 changes: 1 addition & 1 deletion .testing/tc0/diag_table
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
"Unit tests"
"MOM test configuration 0"
1 1 1 0 0 0
Loading