Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1826 commits
Select commit Hold shift + click to select a range
562297c
more changes to have minimal differences between nuopc and mct
Jul 17, 2019
9320b6a
Changed laterat viscosity units to [m2 T-1]
Hallberg-NOAA Jul 17, 2019
1a62434
Changed the timestep units to [T} in hor_visc_init
Hallberg-NOAA Jul 17, 2019
0262fc4
Merge pull request #950 from marshallward/frictworkmax_v3
adcroft Jul 17, 2019
94dc2eb
fix indexing error for salt OBC reservoir
MJHarrison-GFDL Jul 17, 2019
ee369fb
+Changed the units of MEKE%Ku [m2 T-1]
Hallberg-NOAA Jul 17, 2019
e6e33db
Grouped MEKE halo updates
Hallberg-NOAA Jul 17, 2019
e5992d8
Removed a halo update in horizontal_viscosity
Hallberg-NOAA Jul 17, 2019
ba1c7af
+Added the runtime parameter VERY_SMALL_FREQUENCY
Hallberg-NOAA Jul 17, 2019
1769ede
(*) Remap opacity diagnostic to tanh()
marshallward Jul 17, 2019
76ec07e
Rescaled the units of VarMix_CS%f2_dx2_h
Hallberg-NOAA Jul 17, 2019
e1a2436
Merge branch 'dev/gfdl' into code_units_cleanup
Hallberg-NOAA Jul 17, 2019
da6c760
Merge pull request #952 from marshallward/tanh_opacity
adcroft Jul 20, 2019
9e8bd47
Merge branch 'code_units_cleanup' of https://github.com/Hallberg-NOAA…
adcroft Jul 20, 2019
0f3f039
Merge branch 'Hallberg-NOAA-code_units_cleanup' into dev/gfdl
adcroft Jul 20, 2019
4ecb7d5
More useful message when detecting bad surface state
adcroft Jul 21, 2019
8bc76a8
Allows vector-of-reals debugging parameters
adcroft Jul 21, 2019
b2ff4a8
Merge pull request #955 from adcroft/fix-bad-val-output
marshallward Jul 22, 2019
832c798
Merge pull request #956 from adcroft/allow-vector-real-debugging-param
marshallward Jul 22, 2019
a029b08
KE_adv diag calculation using mask2d
marshallward Jul 22, 2019
3467662
Conditional registration of KPP_OBLdepth_original
marshallward Jul 22, 2019
ffe82ce
Merge branch 'dev/gfdl' into diag_keadv_oblorig
marshallward Jul 22, 2019
5358bca
Merge pull request #957 from marshallward/diag_keadv_oblorig
adcroft Jul 22, 2019
1094bdd
Use f2e2c86f6c0eb commit for FMS in .testing
adcroft Jul 23, 2019
f0fec84
Adding scale_factor and add_offset for MOM_horizontal_regridding.F90 …
Jul 23, 2019
d8a5970
unit change, fix #934
raphaeldussin Jul 23, 2019
944a3c7
Merge pull request #959 from adcroft/fms-f2e2c86f6c0
marshallward Jul 23, 2019
9cff98c
Merge branch 'dev/esmg' into obc_index_error_patch
kshedstrom Jul 23, 2019
d16de39
Merge branch 'dev/gfdl' into hiprec
marshallward Jul 23, 2019
02248a4
Merge branch 'obc_index_error_patch' into dev/esmg
kshedstrom Jul 23, 2019
e1fb7bb
Merge branch 'fix_transport_units' of https://github.com/raphaeldussi…
adcroft Jul 23, 2019
f30d5af
Merge branch 'raphaeldussin-fix_transport_units' into dev/gfdl
adcroft Jul 23, 2019
9bd3f00
Merge pull request #960 from breichl/user/bgr/Init_from_Z_add_scale_o…
adcroft Jul 23, 2019
db5aa87
Merge branch 'dev/gfdl' into hiprec
marshallward Jul 24, 2019
06a7c46
Merge pull request #112 from gustavo-marques/mct_nuopc_validation
gustavo-marques Jul 25, 2019
5635eaf
Merge branch 'marshallward-hiprec' into dev/gfdl
adcroft Jul 25, 2019
8eb9935
Merge remote-tracking branch 'gfdl/dev/gfdl' into dev/esmg
kshedstrom Jul 26, 2019
1305e73
Rename modules in MCT
gustavo-marques Jul 29, 2019
3b2ad3f
Rename modules in NUOPC
gustavo-marques Jul 29, 2019
21a5e37
Rescaled units in MOM_barotropic.F90
Hallberg-NOAA Jul 30, 2019
f33626d
+Rescaled barotropic_CS%ubtav and vbtav
Hallberg-NOAA Jul 30, 2019
eacb4b7
+Rescaled elements of the BT_cont_type
Hallberg-NOAA Jul 30, 2019
0c1a1e8
Merge pull request #963 from Hallberg-NOAA/barotropic_rescale
marshallward Jul 30, 2019
eb9cbc2
+Rescaled uhtr and vhtr
Hallberg-NOAA Jul 30, 2019
bc5d3b0
Merge branch 'dev/gfdl' into transport_rescale
Hallberg-NOAA Jul 30, 2019
8a04b99
Rename modules for MCT
gustavo-marques Jul 30, 2019
fc55c36
Rename modules for NUOPC
gustavo-marques Jul 30, 2019
a34bdf4
Capitalize MOM inside MCT modules
gustavo-marques Jul 30, 2019
d292a57
Deletes contribution from kv%slow when computing a_cpl
gustavo-marques Jul 30, 2019
40335f4
+Rescaled uh and vh to [H L2 T-1]
Hallberg-NOAA Jul 30, 2019
21fd427
Make sure that MEKE%GME_snk is only used when the array is allocated
gustavo-marques Jul 30, 2019
c56450a
Deletes all code related to Jansen15_drag
gustavo-marques Jul 30, 2019
139c562
Cleanup of rescaling factors in energy diagnostics
Hallberg-NOAA Jul 30, 2019
0efc118
Corrected chksum scaling for vertvisc_CS%h_u
Hallberg-NOAA Jul 30, 2019
6c0f9f7
+Changed the units of uhbt and vhbt to [H L2 T-1]
Hallberg-NOAA Jul 31, 2019
15438e8
+Eliminated uhbt_aux args from continuity_PPM
Hallberg-NOAA Jul 31, 2019
89c9522
Dimensional rescaling inside continuity_PPM.F90
Hallberg-NOAA Jul 31, 2019
20108b5
+Rescaled accelerations returned from btstep
Hallberg-NOAA Jul 31, 2019
68ec55e
Merge pull request #113 from gustavo-marques/rename_modules
alperaltuntas Jul 31, 2019
767c09d
+Rescaled accelerations passed to btstep
Hallberg-NOAA Jul 31, 2019
e49b1fd
+Rescaled Coriolis accelerations
Hallberg-NOAA Jul 31, 2019
636a09d
Rescaled pressure gradient accelerations
Hallberg-NOAA Jul 31, 2019
3db3085
+Relocated rescaling of pressure gradient terms
Hallberg-NOAA Aug 1, 2019
7e29087
Rescaled variables in advect_tracer
Hallberg-NOAA Aug 1, 2019
815db63
Change default way to computing FrictWork in MEKE
gustavo-marques Aug 1, 2019
9d75ae9
+Rescaled continuity internal calculations
Hallberg-NOAA Aug 1, 2019
c149c20
Merge pull request #114 from gustavo-marques/update_mom_vert_friction
alperaltuntas Aug 1, 2019
0652259
Add parentheses around grid metric arrays
Hallberg-NOAA Aug 2, 2019
35b5c76
Merge pull request #115 from gustavo-marques/update_meke
alperaltuntas Aug 2, 2019
954e6a9
Bugfix: diabatic_salt_tendency diagnostics in ALE
marshallward Aug 2, 2019
eeba2a7
Merge branch 'dev/gfdl' into dia_diff_saln_fix
marshallward Aug 2, 2019
1538e96
Merge remote-tracking branch 'gfdl/dev/gfdl' into dev/esmg
kshedstrom Aug 2, 2019
4cd8641
+Rescaled the units of G%Iarea arrays
Hallberg-NOAA Aug 2, 2019
0772696
Simplified some G%Iarea unit-scaling expressions
Hallberg-NOAA Aug 2, 2019
9b25e9e
+Add G%US and rescale the units of G%area arrays
Hallberg-NOAA Aug 3, 2019
a673354
+Rescaled the units of G%dy_Cu and G%dx_Cv
Hallberg-NOAA Aug 3, 2019
5ed5cdb
+Rescaled the units of G%dyT and G%dxT
Hallberg-NOAA Aug 3, 2019
14ce1d4
+Rescaled the units of G%dxCu and G%dyCv
Hallberg-NOAA Aug 3, 2019
9f3e8df
+Rescaled the units of G%dyCu and G%dxCv
Hallberg-NOAA Aug 3, 2019
013b908
+Rescaled the units of G%dxBu and G%dyBu
Hallberg-NOAA Aug 4, 2019
dc6c85b
+Rescaled the units of G%IdxBu and G%IdyBu
Hallberg-NOAA Aug 4, 2019
e1081a5
+Rescaled the units of G%IdxT and G%IdyT
Hallberg-NOAA Aug 4, 2019
4bf27c6
+Rescaled the units of G%IdyCu and G%IdxCv
Hallberg-NOAA Aug 5, 2019
3130e36
+Rescaled the units of G%IdxCu and G%IdyCv
Hallberg-NOAA Aug 5, 2019
37a570a
Simplified rescaling in MOM_sum_output.F90
Hallberg-NOAA Aug 5, 2019
7b11e00
Simplified rescaling in MOM_controlled_forcing.F90
Hallberg-NOAA Aug 5, 2019
b72dd75
Simplified rescaling in MOM_MEKE.F90
Hallberg-NOAA Aug 5, 2019
77692a3
Simplified rescaling in MOM_hor_visc.F90
Hallberg-NOAA Aug 5, 2019
587e988
Simplified rescaling in MOM_thickness_diffuse.F90
Hallberg-NOAA Aug 5, 2019
57c2343
Simplified rescaling in MOM_set_diffusivity.F90
Hallberg-NOAA Aug 5, 2019
b758eb4
Simplified rescaling in MOM_vert_friction.F90
Hallberg-NOAA Aug 5, 2019
6062801
Simplified rescaling in MOM_tracer_hor_diff.F90
Hallberg-NOAA Aug 5, 2019
94030be
Merge pull request #969 from marshallward/dia_diff_saln_fix
adcroft Aug 6, 2019
3689eb5
Rescaled internal variables in MOM_hor_visc.F90
Hallberg-NOAA Aug 6, 2019
9438c73
+Rescaled ubtav returned by barotropic_get_tav
Hallberg-NOAA Aug 6, 2019
4a59fef
+Rescaled div_xx_dx sent to calc_QG_Leith_viscosity
Hallberg-NOAA Aug 7, 2019
63ba91b
Renamed u0 to Del2u in horizontal_viscosity
Hallberg-NOAA Aug 7, 2019
b4df147
+Rescaled 9 elements of the MEKE_type
Hallberg-NOAA Aug 7, 2019
1ff9073
+Rescaled horizontal viscosity accelerations
Hallberg-NOAA Aug 7, 2019
070c604
(*)Eliminated a bug in horizontal viscosity work
Hallberg-NOAA Aug 8, 2019
f07e85f
Rescaled internal variables in MOM_MEKE.F90
Hallberg-NOAA Aug 8, 2019
133b03f
+Rescaled G%dF_dx & G%dF_dy to units of [T-1 L-1]
Hallberg-NOAA Aug 8, 2019
a7e832c
Rescaled variables in MOM_mixedlayer_restrat.F90
Hallberg-NOAA Aug 8, 2019
c9f0b2a
Rescaled variables in MOM_thickness_diffuse.F90
Hallberg-NOAA Aug 8, 2019
4031ab9
+Rescaled VarMix%L2u & VarMix%L2v to units of [L2]
Hallberg-NOAA Aug 9, 2019
b4fa597
+Rescaled VarMix%SN_u and VarMix%SN_v to [T-1]
Hallberg-NOAA Aug 9, 2019
8067dfa
+Rescaled VarMix%cg1 to units of [L T-1]
Hallberg-NOAA Aug 9, 2019
e026e6e
Rescaled variables in MOM_lateral_mixing_coeffs.F90
Hallberg-NOAA Aug 9, 2019
a4ffe03
+Rescaled isoneutral & along layer tracer diffusion
Hallberg-NOAA Aug 9, 2019
90bbde2
Correct rescaling diffu and diffv across restarts
Hallberg-NOAA Aug 10, 2019
cdbd580
+Return N2_u from calc_isoneutral_slopes in [T-2]
Hallberg-NOAA Aug 10, 2019
d1267c9
Rescaled variables in MOM_CoriolisAdv.F90
Hallberg-NOAA Aug 10, 2019
d820888
+Rescaled OBC%segment%normal_vel to units of [L T-1]
Hallberg-NOAA Aug 10, 2019
6f5f24f
Rescaled OBC%segment%normal_trans to units of [H L2 T-1]
Hallberg-NOAA Aug 10, 2019
b84e8ca
+Rescaled OBC%segment%tangential_grad to [T-1]
Hallberg-NOAA Aug 10, 2019
c20db36
+Rescaled OBC%segment%grad_gradient to [m s-1 L-1]
Hallberg-NOAA Aug 10, 2019
ce21fd0
Unit scaling term cleanup in set_viscous_BBL
Hallberg-NOAA Aug 10, 2019
32aa6d5
Simplified scaling terms in find_uv_at_h
Hallberg-NOAA Aug 11, 2019
54db6d3
Rescaled variables in MOM_internal_tides.F90
Hallberg-NOAA Aug 11, 2019
58cf1a9
+Rescaled CDp%uhGM diagnostics to [H L2 T-1]
Hallberg-NOAA Aug 11, 2019
561cf95
+Pass internal wave speeds in [L T-1]
Hallberg-NOAA Aug 12, 2019
38ce6ac
Rescaled variables in MOM_bulk_mixed_layer.F90
Hallberg-NOAA Aug 12, 2019
8cf1897
Rescaled velocities in MOM_energetic_PBL.F90
Hallberg-NOAA Aug 12, 2019
a8c41f5
+Pass velocities to set_diffusivity in [L T-1]
Hallberg-NOAA Aug 12, 2019
55aeaef
+Pass velocities to bulkmixedlayer in [L T-1]
Hallberg-NOAA Aug 12, 2019
e8c84a6
+Added thickness rescaling in MOM_state_stats
Hallberg-NOAA Aug 13, 2019
a2cbca6
+Pass velocities to diabatic in [L T-1]
Hallberg-NOAA Aug 13, 2019
e35c52a
+Added optional vel_scale argument to MOM_state_chksum_5arg
Hallberg-NOAA Aug 13, 2019
9fa6d39
+Pass velocities to set_viscous_BBL in [L T-1]
Hallberg-NOAA Aug 13, 2019
972f2cf
+Pass velocities to step_MOM_thermo in [L T-1]
Hallberg-NOAA Aug 13, 2019
ccdd508
+Pass velocities to continuity in [L T-1]
Hallberg-NOAA Aug 13, 2019
a7e5490
+Pass velocities to CorAdCalc in [L T-1]
Hallberg-NOAA Aug 13, 2019
9d58553
+Pass velocities to btstep in [L T-1]
Hallberg-NOAA Aug 13, 2019
64f691c
+Pass velocities to set_viscous_ML in [L T-1]
Hallberg-NOAA Aug 13, 2019
b74e2d3
+Pass velocities to vertvisc_coef in [L T-1]
Hallberg-NOAA Aug 14, 2019
e15389d
Code style modifications in wave_structure
Hallberg-NOAA Aug 14, 2019
e90f16d
+Recast vertvisc to work with velocities in [L T-1]
Hallberg-NOAA Aug 14, 2019
a0a46e8
+Rescaled ADp%du_dt_visc to units of [L T-2]
Hallberg-NOAA Aug 14, 2019
887e36b
+Pass velocities to vertvisc in [L T-1]
Hallberg-NOAA Aug 14, 2019
670dcd9
Velocities in [L T-1] in step_MOM_dyn_split_RK2
Hallberg-NOAA Aug 14, 2019
7b0875f
+Pass vels to radiation_open_bdry_conds in [L T-1]
Hallberg-NOAA Aug 14, 2019
9379419
*Get rid of uninitialized cff variable in OBC.
kshedstrom Aug 15, 2019
3d594e0
MOM_dyn_split_RK2_CS%u_av in units of [L T-1]
Hallberg-NOAA Aug 15, 2019
dd89a5d
+Pass velocities to step_MOM_dyn_... in [L T-1]
Hallberg-NOAA Aug 15, 2019
8d96f8d
Introduced dt_in_T to step_MOM_dyn...
Hallberg-NOAA Aug 15, 2019
80523af
+Point MIS%u_prev to MOM_control_struct%u_prev
Hallberg-NOAA Aug 15, 2019
d0077ea
+Pass velocities to calculate_diagnostic_fields in [L T-1]
Hallberg-NOAA Aug 15, 2019
897fa67
+Change units of MOM_control_struct%u to [L T-1]
Hallberg-NOAA Aug 16, 2019
29bb12b
+initialize_vel routines pass velocities in [L T-1]
Hallberg-NOAA Aug 16, 2019
57eb24b
+Pass velocities to write_energy in [L T-1]
Hallberg-NOAA Aug 16, 2019
d645d98
+Pass timestep to continuity in [T]
Hallberg-NOAA Aug 16, 2019
e3b8754
Rescaled MOM_open_boundary.F90 internal variables
Hallberg-NOAA Aug 16, 2019
4b62f77
Simplified a logical test in step_forward_MEKE
Hallberg-NOAA Aug 16, 2019
43636fa
Merge branch 'dev/gfdl' into transport_rescale
Hallberg-NOAA Aug 16, 2019
1328636
Merge branch 'gustavo-marques-dev-master-candidate-ncar-2019-08-05' i…
adcroft Aug 16, 2019
c7216cc
Merge branch 'dev/master' into dev/gfdl
adcroft Aug 16, 2019
c0fddab
Merge branch 'dev/gfdl' into transport_rescale
Hallberg-NOAA Aug 16, 2019
7c4cfa7
Allow dyed_obcs to be used with other OBC data inputs.
kshedstrom Aug 16, 2019
170c7be
Rescaled taux_bot and tauy_bot to [kg L Z T-2 m-3]
Hallberg-NOAA Aug 16, 2019
8cfac0f
Trying to check to see that OBC data is there if needed.
kshedstrom Aug 17, 2019
6b070fd
Merge branch 'dev/gfdl' into dev/esmg
adcroft Aug 19, 2019
f0ed7f8
changes needed for reproducibility across restarts using OBCs
MJHarrison-GFDL Aug 20, 2019
b25eb9d
Merge branch 'dev/esmg' of github.com:ESMG/MOM6 into tracer_advection…
MJHarrison-GFDL Aug 20, 2019
b5b081e
remove commented code
MJHarrison-GFDL Aug 20, 2019
a38b298
added diagnostic for internal heat in 3D
Aug 20, 2019
ee2e090
further modifications to internal heat diagnostic
Aug 20, 2019
6860cec
fix indexing error in advect_y
MJHarrison-GFDL Aug 21, 2019
ae4efae
Travis test suite expansion
marshallward Aug 21, 2019
7d0382b
Merge branch 'dev/gfdl' into new_travis
marshallward Aug 21, 2019
4af643c
Merge pull request #68 from ESMG/tracer_advection_OBC
kshedstrom Aug 21, 2019
8472a2d
Explicit dependency for Travis path_names Makefile
marshallward Aug 21, 2019
1c2b344
Redefined target PR branch name via Travis
marshallward Aug 21, 2019
49797c8
Makes OBC restart field rx_normal not required
MJHarrison-GFDL Aug 22, 2019
ceab18a
Source data are assumed to be zonally re-entrant.
MJHarrison-GFDL Aug 22, 2019
6c687e9
Merge branch 'dev/esmg' of github.com:ESMG/MOM6 into OBC_patches
MJHarrison-GFDL Aug 22, 2019
8d24d16
Merge pull request #69 from ESMG/OBC_patches
kshedstrom Aug 22, 2019
a3c5ef9
testing stream
Aug 22, 2019
bb231db
add checks land values
Aug 22, 2019
dde6492
testing stream
Aug 22, 2019
177ed82
updated calculation of internal heat diagnostic
Aug 22, 2019
67cb785
Makefile local support
marshallward Aug 22, 2019
a8f3fb3
duh
Aug 22, 2019
36ca30d
pff
Aug 22, 2019
a04e559
included diagnostics for T and h from internal heat, and improved logic
Aug 22, 2019
ed7382e
minor adjustment
Aug 22, 2019
ebec610
removed whitespace
Aug 23, 2019
7c811e2
fixed problem in conditional statements
Aug 23, 2019
bc1add0
Merge branch 'Hallberg-NOAA-transport_rescale' into dev/gfdl
adcroft Aug 23, 2019
c22265d
Skip checkout/merge for non-regression tests
marshallward Aug 23, 2019
13589d0
Merge branch 'dev/gfdl' into internalheat3d
marshallward Aug 23, 2019
ca2b615
Merge branch 'dev/gfdl' into new_travis
marshallward Aug 23, 2019
a5ef30b
Merge pull request #981 from gmacgilchrist/internalheat3d
marshallward Aug 23, 2019
74df31a
*Adjust Segment Data Thicknesses
MJHarrison-GFDL Aug 23, 2019
870c71e
add more verbosity
Aug 23, 2019
097f912
char len change
Aug 23, 2019
e8b9ebf
change precision output string
Aug 23, 2019
7ba25ae
Fixed typo; removed old comment
marshallward Aug 23, 2019
5adefb7
*Fixed routine for adjusting segment data thicknesses.
MJHarrison-GFDL Aug 25, 2019
8828ecd
Fix index error
MJHarrison-GFDL Aug 25, 2019
e109eb7
Merge pull request #72 from ESMG/OBC_segment_data_thickness_adjust
kshedstrom Aug 25, 2019
5b71b37
Fixes answer changes due to incomplete copy of tracer array
MJHarrison-GFDL Aug 26, 2019
9abe976
MKMF default template; Coverage report flag
marshallward Aug 26, 2019
6aa8dfa
Fixing travis mkmf template path
marshallward Aug 26, 2019
69d8e0f
Merge branch 'dev/gfdl' of https://github.com/NOAA-GFDL/MOM6 into OBC…
MJHarrison-GFDL Aug 26, 2019
09f2157
Tiny tweak to Matt's giant merger
kshedstrom Aug 26, 2019
a537f6a
Merge branch 'OBC_tracer_advect_patch2' into dev/esmg
kshedstrom Aug 26, 2019
7e44851
Travis: git management replaced with subdirectory
marshallward Aug 26, 2019
d79e1ce
Merge branch 'dev/gfdl' into new_travis
adcroft Aug 26, 2019
7cdcdaa
fix alloc and give global indices
Aug 26, 2019
7ed0247
Travis: Regression target as detached head
marshallward Aug 26, 2019
b1f5ad4
Merge branch 'new_travis' of https://github.com/marshallward/MOM6 int…
marshallward Aug 26, 2019
7ddef69
Merge branch 'dev/gfdl' into mask_checks
raphaeldussin Aug 27, 2019
ddcfe7d
Travis: OpenMPI environment variable support
marshallward Aug 27, 2019
356a44b
Travis: Conditionally add -x flag for envars
marshallward Aug 27, 2019
fe2f4a7
Makefile root moved to .testing; configure removed
marshallward Aug 27, 2019
91eea3e
Fixed path of Travis mkmf template
marshallward Aug 27, 2019
b3a53c7
Merge branch 'ESMG-dev/esmg' into dev/gfdl
adcroft Aug 28, 2019
0b9eb01
add namelist param
Aug 28, 2019
db3dad3
Merge branch 'mask_checks' of https://github.com/raphaeldussin/MOM6 i…
Aug 28, 2019
be36201
shorter lines
Aug 28, 2019
424d119
Merge branch 'dev/gfdl' into new_travis
adcroft Aug 28, 2019
d23d1b0
Merge branch 'mask_checks' of https://github.com/raphaeldussin/MOM6 i…
adcroft Aug 28, 2019
adf6665
Merge branch 'raphaeldussin-mask_checks' into dev/gfdl
adcroft Aug 28, 2019
b5e3049
README update; travis bugfix
marshallward Aug 28, 2019
0525a49
Merge branch 'new_travis' of https://github.com/marshallward/MOM6 int…
marshallward Aug 28, 2019
4603d2f
Merge branch 'dev/gfdl' into new_travis
marshallward Aug 28, 2019
8eb3844
Initialize geothermal internal heat diagnostics
marshallward Aug 28, 2019
2c48cd6
PRECIOUS output; gitignore restructure
marshallward Aug 28, 2019
c19f133
Merge pull request #984 from marshallward/geothermal_init
adcroft Aug 29, 2019
b38d40c
Merge branch 'dev/gfdl' into new_travis
adcroft Aug 29, 2019
8efd318
Removed f90nml dependency; conditional coverage
marshallward Aug 29, 2019
96de695
Merge branch 'new_travis' of https://github.com/marshallward/MOM6 int…
marshallward Aug 29, 2019
afee4c5
Fixed typo and added slurm section to .testing/README
adcroft Aug 29, 2019
9547fce
Merge branch 'marshallward-new_travis' into dev/gfdl
adcroft Aug 29, 2019
30838e0
(*) Bugfix: [uv]hml z-diags in general restrat
marshallward Aug 29, 2019
90b8228
Travis: config.mk user config; enable coverage
marshallward Aug 29, 2019
6bd9459
Modify make test rule
marshallward Aug 29, 2019
d496ee7
Travis: coverage path fixes
marshallward Aug 29, 2019
5c97200
*Add new update_segment_tracer_reservoirs routine
kshedstrom Aug 29, 2019
2294f80
Fixed the OBC checking for data and dying if missing.
kshedstrom Aug 30, 2019
b1d59c6
Merge pull request #986 from marshallward/enable_codecov
adcroft Aug 30, 2019
66a6478
Merge branch 'dev/gfdl' into dev/esmg
adcroft Aug 30, 2019
8db91f7
Merge pull request #987 from ESMG/dev/esmg
adcroft Aug 30, 2019
f40e692
Merge pull request #985 from marshallward/uhml_bugfix_general
adcroft Aug 30, 2019
c7d2a71
Renamed MOM_surcace_forcing.F90 in coupler/ directory
adcroft Aug 30, 2019
10e8d7c
Added testing output to .gitignore
adcroft Aug 30, 2019
db75cce
Reduce diag_tables in .testing
adcroft Aug 30, 2019
c88ae75
Reduced size of tc3 for speed
adcroft Aug 30, 2019
a6e1599
Added variant tc1.a
adcroft Aug 30, 2019
1f790eb
Merge pull request #989 from adcroft/tc-reconfig
marshallward Aug 30, 2019
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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@
*~
html
*.log
MOM6
build/
deps/
10 changes: 6 additions & 4 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ stages:
# Merges MOM6 with dev/gfdl. Changes directory to test directory, if it exists.
before_script:
- MOM6_SRC=$CI_PROJECT_DIR
- CACHE_DIR=/lustre/f1/oar.gfdl.ogrp-account/runner/cache/
- echo Cache directory set to ${CACHE_DIR:=/lustre/f2/scratch/oar.gfdl.ogrp-account/runner/cache/}
- git pull --no-edit https://github.com/NOAA-GFDL/MOM6.git dev/gfdl && git submodule init && git submodule update
- pwd ; ls

Expand All @@ -32,6 +32,7 @@ setup:
- git clone --recursive http://gitlab.gfdl.noaa.gov/ogrp/Gaea-stats-MOM6-examples.git tests && cd tests
# Install / update testing scripts
- git clone https://github.com/adcroft/MRS.git MRS
- (cd MRS ; git checkout xanadu-fms)
# Update MOM6-examples and submodules
- (cd MOM6-examples && git checkout . && git checkout dev/gfdl && git pull && git submodule init && git submodule update)
- (cd MOM6-examples/src/MOM6 && git submodule update)
Expand Down Expand Up @@ -73,7 +74,7 @@ gnu:ice-ocean-nolibs:
- time tar zxf $CACHE_DIR/tests_$CI_PIPELINE_ID.tgz && cd tests
- 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_ocean_extras,land_null,atmos_null}
- ../../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}
- ../../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)

Expand Down Expand Up @@ -115,9 +116,10 @@ run:
- time tar zxf $CACHE_DIR/build-intel-repro-$CI_PIPELINE_ID.tgz
- time tar zxf $CACHE_DIR/build-pgi-repro-$CI_PIPELINE_ID.tgz
# time tar zxf $CACHE_DIR/build-gnu-debug-$CI_PIPELINE_ID.tgz
- echo "make -f MRS/Makefile.tests all -B" > job.sh
- msub -l partition=c4,nodes=29,walltime=00:29:00,qos=norm -q debug -S /bin/tcsh -j oe -A gfdl_o -z -o log.$CI_PIPELINE_ID -N mom6_regression -K job.sh
- (echo '#!/bin/tcsh';echo 'make -f MRS/Makefile.tests all -B') > job.sh
- sbatch --clusters=c3,c4 --nodes=29 --time=0:34:00 --account=gfdl_o --qos=debug --job-name=mom6_regressions --output=log.$CI_PIPELINE_ID --wait job.sh
- cat log.$CI_PIPELINE_ID
- test -f restart_results_gnu.tar.gz
- time tar zvcf $CACHE_DIR/results-$CI_PIPELINE_ID.tgz *.tar.gz

# Tests
Expand Down
15 changes: 15 additions & 0 deletions .testing/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
available_diags.*
CPU_stats
chksum_diag
exitcode
logfile.*.out
MOM_parameter_doc.*
ocean_geometry.nc
ocean.stats*
RESTART/
time_stamp.out
Vertical_coordinate.nc
GOLD_IC.nc
debug.out
chksum_diag.*
config.mk
288 changes: 288 additions & 0 deletions .testing/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,288 @@
SHELL = bash
MPIRUN ?= mpirun

-include config.mk

#---
# Dependencies
BASE = $(dir $(abspath $(lastword $(MAKEFILE_LIST))))/..
DEPS = $(BASE)/deps
BUILD = $(BASE)/build

# mkmf, list_paths (GFDL build toolchain)
MKMF_URL ?= https://github.com/NOAA-GFDL/mkmf.git
MKMF_COMMIT ?= master
LIST_PATHS := $(abspath $(DEPS)/mkmf/bin/list_paths)
MKMF := $(abspath $(DEPS)/mkmf/bin/mkmf)

# FMS framework
FMS_URL ?= https://github.com/NOAA-GFDL/FMS.git
FMS_COMMIT ?= f2e2c86f6c0eb6d389a20509a8a60fa22924e16b
FMS := $(DEPS)/fms

#---
# Build configuration

# Build settings
MKMF_CPP = "-Duse_libMPI -Duse_netCDF -DSPMD"

# Environment
# TODO: This info ought to be determined by CMake, automake, etc.
#MKMF_TEMPLATE ?= .testing/linux-ubuntu-xenial-gnu.mk
MKMF_TEMPLATE ?= $(DEPS)/mkmf/templates/ncrc-gnu.mk
#MKMF_TEMPLATE ?= $(DEPS)/mkmf/templates/ncrc-intel.mk

#---
# Test configuration

# Executables
BUILDS = symmetric asymmetric repro
CONFIGS := $(wildcard tc*)
TESTS = grids layouts restarts repros nans dims

# 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
DO_REGRESSION_TESTS ?=
REPORT_COVERAGE ?=

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

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)

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


#---
# Rules

.PHONY: all
all: $(foreach b,$(BUILDS),$(BUILD)/$(b)/MOM6)

# Executable
BUILD_TARGETS = MOM6 Makefile path_names
.PRECIOUS: $(foreach b,$(BUILDS),$(foreach f,$(BUILD_TARGETS),$(BUILD)/$(b)/$(f)))

# Conditionally build symmetric with coverage support
COVFLAG=$(if $(REPORT_COVERAGE),COVERAGE=1,)

$(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)/asymmetric/path_names: GRID_SRC=config_src/dynamic
$(BUILD)/%/path_names: GRID_SRC=config_src/dynamic_symmetric

$(BUILD)/%/MOM6: $(BUILD)/%/Makefile $(FMS)/lib/libfms.a
make -C $(@D) $(MOMFLAGS) $(@F)

$(BUILD)/%/Makefile: $(BUILD)/%/path_names
cp $(MKMF_TEMPLATE) $(@D)
cd $(@D) && $(MKMF) \
-t $(notdir $(MKMF_TEMPLATE)) \
-o '-I $(FMS)/build' \
-p MOM6 \
-l '$(FMS)/lib/libfms.a' \
-c $(MKMF_CPP) \
path_names

# NOTE: These path_names rules could be merged

$(BUILD)/target/path_names: $(LIST_PATHS) $(TARGET_CODEBASE)
mkdir -p $(@D)
cd $(@D) && $(LIST_PATHS) -l \
$(TARGET_CODEBASE)/src \
$(TARGET_CODEBASE)/config_src/solo_driver \
$(TARGET_CODEBASE)/$(GRID_SRC)

$(BUILD)/%/path_names: $(LIST_PATHS)
mkdir -p $(@D)
cd $(@D) && $(LIST_PATHS) -l \
$(BASE)/src \
$(BASE)/config_src/solo_driver \
$(BASE)/$(GRID_SRC)

# Target repository for regression tests
$(TARGET_CODEBASE):
git clone --recursive $(MOM_TARGET_URL) $@
cd $@ && git checkout $(MOM_TARGET_BRANCH)


#----
# FMS build

$(FMS)/lib/libfms.a: $(FMS)/build/Makefile
mkdir -p $(FMS)/lib
cd $(FMS)/build && make NETCDF=3 DEBUG=1 ../lib/libfms.a

$(FMS)/build/Makefile: $(FMS)/build/path_names
cp $(MKMF_TEMPLATE) $(@D)
cd $(@D) && $(MKMF) \
-t $(notdir $(MKMF_TEMPLATE)) \
-p ../lib/libfms.a \
-c $(MKMF_CPP) \
path_names

$(FMS)/build/path_names: $(FMS)/src $(FMS_FILES) $(LIST_PATHS)
mkdir -p $(@D)
cd $(@D) && $(LIST_PATHS) -l ../src

$(FMS)/src:
git clone $(FMS_URL) $@
cd $@; git checkout $(FMS_COMMIT)


#---
# Build Toolchain

$(LIST_PATHS) $(MKMF):
git clone $(MKMF_URL) $(DEPS)/mkmf
cd $(DEPS)/mkmf; git checkout $(MKMF_COMMIT)


#----
# Testing

.PHONY: test
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.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!
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),$(BASE)/.testing/%/chksum_diag.$(b))
%.$(1).diag: $(foreach b,$(2),$(BASE)/.testing/%/chksum_diag.$(b))
cmp $$^ || true
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,nan,symmetric nan))
$(foreach d,t l h z,$(eval $(call CMP_RULE,dim.$(d),symmetric dim.$(d))))

# 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))

# TODO: chksum_diag parsing of restart files


#---
# 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)
else
MPIRUN_CMD=$(MPIRUN) $(if $(1),-x $(1),)
endif

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 $$@
endef

# Define $(,) as comma escape character
, := ,

$(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,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
# Generate the half-period input namelist
# TODO: Assumes runtime set by DAYMAX, will fail if set by input.nml
cd $(@D) \
&& 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}
# Run the first half-period
cd $(@D) && $(MPIRUN) -n 1 $< 2> debug.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
# Run the second half-period
cd $(@D) && $(MPIRUN) -n 1 $< 2> debug.out
# Archive the results and cleanup
cp $(@D)/ocean.stats $@
rm -rf $(@D)/INPUT
git checkout $(@D)/input.nml

# TODO: Restart checksum diagnostics


#----
.PHONY: clean
clean: clean.stats
rm -rf $(BUILD)

.PHONY: clean.stats
clean.stats:
find $(BASE)/.testing -name ocean.stats* -exec rm {} \;
find $(BASE)/.testing -name chksum_diag* -exec rm {} \;
Loading