Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
512 commits
Select commit Hold shift + click to select a range
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
839217d
Rearranged MEKE_EQUILIBRIUM subroutine
gustavo-marques Oct 15, 2019
79a8fe2
Ice shelf and barotropic rescale variable init
marshallward Oct 16, 2019
bb785a8
Adds option to scale KHTH with depth
gustavo-marques Oct 14, 2019
67016eb
Reverts description in DO_DYNAMICS to older version as this was chang…
gustavo-marques Oct 16, 2019
223037c
Deletes unneeded variables from calc_depth_function
gustavo-marques Oct 16, 2019
1522ad0
Minor changes in the doxygen comments
gustavo-marques Oct 16, 2019
ebf5ee0
Adds MEKE_equilibrium_restoring
gustavo-marques Oct 15, 2019
2bb321e
Merge pull request #127 from gustavo-marques/depth_scaled_khth
alperaltuntas Oct 16, 2019
5f81b73
Fix the downsampled "summed" diagnostics
nikizadehgfdl Oct 18, 2019
3f041d9
MEKE diagnostic array fixes
marshallward Oct 3, 2019
050aa31
Moves allocation of CS%equilibrium_value inside subroutine MEKE_equil…
gustavo-marques Oct 23, 2019
462768b
Merge pull request #128 from gustavo-marques/fix_MEKE_GM_src
alperaltuntas Oct 23, 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
7f2b93e
Replace lbm to lbd (lateral boundary diffusion)
gustavo-marques Nov 18, 2019
6bce8ab
Clean the code and fix line length exceeding 120
gustavo-marques Nov 18, 2019
f8f106a
Adiabatic clock ID bugfix
marshallward Nov 19, 2019
0a89aac
Fix registry of lbd diagnostics
gustavo-marques Nov 19, 2019
b1ce184
Documentation and minor improvements
gustavo-marques Nov 20, 2019
2ae0a68
Corrected an OMP declaration
Hallberg-NOAA Nov 20, 2019
2c6bdf9
Create a separate param for MEKE bottom drag (CDRAG_MEKE)
gustavo-marques Nov 20, 2019
147f7a3
Merge pull request #130 from DeniseWorthen/feature/runoff_optional
gustavo-marques Nov 21, 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
f3dba16
Add new option to avoid negative thicknesses
ashao Dec 3, 2019
9303e99
Fix typos and bugs
gustavo-marques Dec 4, 2019
e71a573
Fix doxygen references
gustavo-marques Dec 4, 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
02c986a
Set default value to 0.003
gustavo-marques 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
97d07bc
Set the default for CDRAG_MEKE to CDRAG
gustavo-marques Dec 5, 2019
a2d9636
Merge pull request #131 from gustavo-marques/meke_khtr
alperaltuntas Dec 6, 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
20d076b
Modify continuous neutral diffusion to account for boundary layer
Dec 6, 2019
89eaede
Delete ocean_model_data_get* from all the caps
gustavo-marques Dec 9, 2019
c50a978
Toggle continuous neutral diffusion in interior only
Dec 9, 2019
5ad6a38
+(*)Add the new parameter VERT_FRICTION_2018_ANSWERS
Hallberg-NOAA Dec 10, 2019
8c95cc0
Fix bugs in Leith add new input parameter
gustavo-marques Dec 10, 2019
78bb4c1
Delete quotes from doxygen comment
gustavo-marques Dec 11, 2019
2c7de66
Merge pull request #132 from NOAA-EMC/dev/emc
alperaltuntas Dec 12, 2019
e538144
remove duplicate fld_list_add calls
alperaltuntas Dec 12, 2019
3d17e03
Merge pull request #133 from gustavo-marques/clean_caps
alperaltuntas Dec 12, 2019
2cccc83
Merge pull request #134 from gustavo-marques/fix_leith
alperaltuntas Dec 12, 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
8a3e3e7
Merge branch 'near_surface_fluxes' into LBD_merge
gustavo-marques Dec 20, 2019
d276f3f
Merge branch 'dev/ncar' into near_surface_fluxes
gustavo-marques Dec 24, 2019
c358114
Merge pull request #135 from gustavo-marques/LBD_merge
alperaltuntas Dec 31, 2019
7951a84
fix divide by zero
DeniseWorthen Dec 31, 2019
c7c7bf1
Merge branch 'dev-master-candidate-2019-12-17' into merge-dev-master-…
gustavo-marques 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
a12abd6
Revert "Merge pull request #133 from gustavo-marques/clean_caps"
gustavo-marques Jan 6, 2020
f7debed
Delete ocean_model_data_get from MCT and NUOPC caps
gustavo-marques Jan 6, 2020
9269820
Corrected arguments to mct coupler iceberg calls
Hallberg-NOAA Jan 6, 2020
0188f35
Merge branch 'dev-master-candidate-2019-12-17' into merge-dev-master-…
gustavo-marques Jan 6, 2020
1d1914f
Merge pull request #136 from gustavo-marques/merge-dev-master-candida…
alperaltuntas Jan 7, 2020
44d36c4
Merge pull request #138 from gustavo-marques/fix_ocean_model_data_get
alperaltuntas Jan 7, 2020
1ae069b
Merge branch 'dev/ncar' into near_surface_fluxes
gustavo-marques Jan 8, 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
e2bafc5
fix omp directives in MOM_thickness_diffuse
alperaltuntas Jan 9, 2020
4fe0191
Compute tracer tendency due to lateral diffusion
gustavo-marques Jan 9, 2020
31d2941
Fix bug in boundary_k_range if hbl > htot
Jan 10, 2020
408bd2f
Merge branch 'near_surface_fluxes' of github.com:ashao/MOM6 into near…
Jan 10, 2020
5c8b32f
Fix a bug when checking if hbl > htot
gustavo-marques Jan 10, 2020
8c23ae9
fix divide by zero in wave_interface which allows for running in debu…
DeniseWorthen Jan 13, 2020
ca73ebb
Merge remote-tracking branch 'Denise/feature/debugMOM6' into update-t…
jiandewang Jan 13, 2020
dce59f4
Fix a bug in the LBD method 2
gustavo-marques Jan 15, 2020
c8361e7
Add a note saying khtr_avg should be computed once khtr is 3D
gustavo-marques Jan 15, 2020
161cbb9
Merge pull request #14 from jiandewang/update-to-GFDL-20200108
jiandewang Jan 21, 2020
248a87c
Fix units description and delete placeholder for the pressure reconst…
gustavo-marques Jan 22, 2020
0525a4c
Change flux limiting calculation
gustavo-marques Jan 23, 2020
9db5ba1
Improve documentation and unit tests
gustavo-marques Feb 7, 2020
1ed6b94
Merge pull request #139 from gustavo-marques/update_LBD
alperaltuntas Feb 10, 2020
22f0242
Merge branch 'dev/ncar' of https://github.com/NCAR/MOM6 into dev/ncar
alperaltuntas Feb 10, 2020
63cf741
fix kpp omp directives
alperaltuntas Jan 9, 2020
3540446
fix unitialized logical var in MOM_MEKE
alperaltuntas Feb 10, 2020
a9c896e
set CS%MEKE_equilibrium_restoring, to false by default
alperaltuntas Feb 10, 2020
ab54b96
Merge pull request #140 from alperaltuntas/fix_omp2
gustavo-marques Feb 10, 2020
435a741
Close param file before it gets opened by ocean_model_init again.
alperaltuntas Feb 12, 2020
ba5a442
if not allocated, do not assign R_rho
alperaltuntas Feb 12, 2020
83da090
Merge pull request #141 from alperaltuntas/fix_gnu_bugs
gustavo-marques Feb 12, 2020
46b1f34
correct namespace name for doxygen
alperaltuntas Feb 26, 2020
67e5481
fix omp directive for melt_potential
alperaltuntas Mar 4, 2020
049abb0
fix omp directives in set_viscous_BBL
alperaltuntas Mar 5, 2020
21918b4
comment out OMP directives in KPP_compute_BLD temporarily
alperaltuntas Mar 6, 2020
7533454
fix omp in calculate_diagnostic_fields
alperaltuntas Mar 6, 2020
4478066
uncomment omp do block in advect_tracer
alperaltuntas Mar 6, 2020
276c6b4
call chksum for drag_vel if its allocated
alperaltuntas Mar 6, 2020
f832925
initialize fluid entrainment arrays
alperaltuntas Mar 6, 2020
0eb0615
Merge pull request #142 from NCAR/omp_fixes
gustavo-marques Mar 9, 2020
c429824
Fix a bug in the vmGM field when using GEOMETRIC
gustavo-marques Mar 10, 2020
c012019
Merge pull request #143 from gustavo-marques/fix_vhGM_GEOMETRIC
alperaltuntas Mar 12, 2020
1ecade5
Updates GME by removing dependency on MEKE
gustavo-marques Mar 13, 2020
1f308a0
Extend loop indices and add calls to pass_vector
gustavo-marques Mar 18, 2020
afe0335
Merge pull request #144 from gustavo-marques/merge_GME_outside_MEKE
alperaltuntas Mar 19, 2020
6636e0f
fix OMP directive variable list
alperaltuntas Mar 19, 2020
3d05d85
make T_adx_2d diagnostics thread-safe
alperaltuntas Mar 24, 2020
3768a11
make advect_y thread-safe
alperaltuntas Mar 25, 2020
8025fd4
refactor advect_x and advect_y calls
alperaltuntas Mar 25, 2020
0cddf1f
Merge pull request #146 from NCAR/fix_tracer_advect_omp
gustavo-marques Mar 26, 2020
6ce3dd9
Change CDRAG_MEKE to MEKE_CDRAG
gustavo-marques Mar 30, 2020
e73db38
Merge branch 'dev-master-candidate-ncar-2020-03-27' of https://github…
adcroft Mar 30, 2020
010492e
Merge branch 'gustavo-marques-dev-master-candidate-ncar-2020-03-27' i…
adcroft Apr 1, 2020
6aec544
merge GFDL dev/master 20200401 commit (hash # 010492e2)
jiandewang Apr 3, 2020
6d2a834
Merge pull request #18 from jiandewang/update-to-GFDL-20200327
jiandewang Apr 6, 2020
f8bc91c
Feature/logcleanup (#20)
DeniseWorthen Apr 9, 2020
8d565cc
nuopc_driver updates (#22)
DeniseWorthen Apr 15, 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