Skip to content

Merging dev/gfdl 08/05/2021#12

Merged
gustavo-marques merged 122 commits into
ocean-eddy-cpt:dev/cptfrom
gustavo-marques:merge_dev_gfdl_5Aug2021
Aug 5, 2021
Merged

Merging dev/gfdl 08/05/2021#12
gustavo-marques merged 122 commits into
ocean-eddy-cpt:dev/cptfrom
gustavo-marques:merge_dev_gfdl_5Aug2021

Conversation

@gustavo-marques
Copy link
Copy Markdown
Collaborator

The relevant change to the CPT is described in https://github.com/NOAA-GFDL/MOM6/pull/1437, which is where the new wind-stress acceleration diagnostics were added.

No change in answers for the NW2 test.

jiandewang and others added 30 commits April 12, 2021 09:04
…L-20210402

Feature/update to gfdl 20210402
…20210503

this is corresponding to GFDL main branch 20210503 commit (hash # e6ce6a8)
…L-20210503

Feature/update to gfdl 20210503
  Moved 15 module variables into wave_parameters_CS, to follow the coding style
and conventions in the rest of the code.  Also added comments describing 8
enumeration parameters in this same module, and added comments suggesting ways
that the accuracy of the calculations could be improved.  Also incorporated a
factor of 2*PI into the definition of Freq_Cen in this module.  In addition, the
initialization procedure for this module was altered in some more commonly used
cases, so that use MOM_wave_interface_init to set wave parameters, even with a
statistical wave model, and eliminated MOM_wave_interface_init_lite.  I believe
that all solutions should be bitwise identical, but this module is not yet well
tested in the MOM6 regression tests.
  Added variable_att_exists calls before two calls to get_variable_attribute in
the FMS2 version of get_file_fields so that runs do not crash if there are
variables being read that do not have a long_name or units attribute.  All
answers are bitwise identical in cases that did not crash.
  Corrected typos in comments, and removed unnecessary commented out code as
noted by Brandon Reichl in his review of MOM6 dev/gfdl PR# 1404.  All answers
are bitwise identical.
- Better, but doesn't quite pass RESCALE tests.
  Add dimensional rescaling of user OBC test cases, including documentation of
the units of variables in the Kelvin, shelfwave, tidal_bay and dyed_channel
initialization and rescaling parameters parameters via optional scale arguments
to get_param calls.  These changes also incorporate the answer-changing
correction to the Kelvin wave OBC test case in PR mom-ocean#1406, with a comment noting
what seems like an additional bug in this test case.  This commit includes
adding a unit_scale_type argument to call_OBC_register, register_file_OBC,
register_tidal_bay_OBC, register_Kelvin_OBC, register_shelfwave_OBC and
register_dyed_channel_OBC.  These Kelvin wave OBC configuration from
ESMG-configs now passes the dimensional rescaling tests.  All answers are
bitwise identical in the MOM6_examples test cases, but there are interface
changes.
In the removal of regrid_edge_slopes, a couple of the solvers became
duplicated between regrid_edge_values and regrid_solvers. Here,
they're simply made consistent by removing the solvers from
regrid_edge_values, and bringing over the zero-pivot check for the
linear solver that was in one variation but not the other.
Call variable_att_exists before get_variable_att
The autoconf build was updated to verify that calls to diag_axis_init
support the domain_position argument.  This was introduced in FMS
2019.01.02, so this acts as an implicit minimum FMS version test.

This test is done indirectly by confirming that the valid
domain_position values (NORTH, EAST, CENTER) are in diag_axis_mod.

A `--with-framework=` flag was also added to select either the FMS1 or
FMS2 backend.
+Move wave module variables into control structure
Trying to fix Kelvin wave boundary condition.
Autoconf: FMS 2020.x compatibility testing (diag_axis_mod, data_override_mod)
jiandewang and others added 25 commits July 18, 2021 13:03
…-0708

initialize CS%WaveNum_Cen before read in this parameter in MOM_wave_interface.F90
  Added a test to avoid attempting to deallocate the geothermal heating field if
it is not allocated, and changed the geo_heat element of geothermal_CS from a
pointer into an allocatable array.  Also clarified the comments describing
several of the elements of geothermal_CS, and added a test to avoid logging the
value of GEOTHERMAL_DRHO_DT_INPLACE when the model is not in layered-mode and
this parameter is unused.  This PR addresses MOM6 issue mom-ocean#1449.  All answers are
bitwise identical in all cases that worked before, but there are fewer entries
in some ALE-mode MOM_parameter_doc files.
Replace MOM_control_struct pointers as locals
* Adding a pass_var to surface h

This is required for the u,v sponges to be invariant of tiling.
I don't know why, but the problem only showed up for me in a narrow
channel in the Bering domain.

* Matt's suggestion for not sponging at the grid edge.

* Finish the masking out of edge in uv sponge.

- Without this change, the edges don't reproduce on restart
  due to the h values outside being nonsense.

The non-merge commits in this squashed PR that were not already in dev/gfdl are: 
NOAA-GFDL@2bfa4bc "Adding a pass_var to surface h"
NOAA-GFDL@95a770a "Matt's suggestion for not sponging at the grid edge."
and
NOAA-GFDL@53dfdc7 "Finish the masking out of edge in uv sponge."
Flag inconsistent parameters if ADIABATIC = True
This commit fixes the bug with NaN appearing in the halo regions of the
 masked-out PEs.
Dmin is renamed to Dmask to increase readability.
This commit fixes a bug in subroutine apply_topography_edits_from_file() that
assumes mask_depth=0.
This fix should resolve issue mom-ocean#1419.
The codecov.io upload script appears to rely on the filepath of source
codes at compile time, and was unable to find the output when called
from .testing or the work directories.  In this patch, we now move to
`.testing/build/symmetric` (the gcov-enabled build) before running the
uploader script.

This is possibly required after the recent security alert connected to
the codecov.io uploader script.  Sadly, our coverage report failures
went undetected for several months.

The `-Z` flag has also been added to the script, which returns a nonzero
error code if it fails.  It's not yet clear to me if a missing file
registers as a fail, but it may help to detect future problems.
+Fixed rare issue with MOM_geothermal and cleanup
Bugfix: a couple of mask_depth related issues
@codecov-commenter
Copy link
Copy Markdown

Codecov Report

Merging #12 (e28f74d) into dev/cpt (13b01e5) will increase coverage by 29.29%.
The diff coverage is 29.12%.

Impacted file tree graph

@@             Coverage Diff              @@
##           dev/cpt      #12       +/-   ##
============================================
+ Coverage         0   29.29%   +29.29%     
============================================
  Files            0      235      +235     
  Lines            0    70799    +70799     
============================================
+ Hits             0    20742    +20742     
- Misses           0    50057    +50057     
Impacted Files Coverage Δ
src/ALE/regrid_edge_values.F90 22.99% <ø> (ø)
src/ALE/regrid_solvers.F90 21.92% <0.00%> (ø)
src/core/MOM_CoriolisAdv.F90 39.27% <ø> (ø)
src/core/MOM_PressureForce.F90 60.86% <ø> (ø)
src/core/MOM_continuity.F90 75.00% <ø> (ø)
src/core/MOM_open_boundary.F90 20.00% <0.00%> (ø)
src/core/MOM_variables.F90 28.90% <ø> (ø)
src/diagnostics/MOM_sum_output.F90 60.64% <ø> (ø)
src/diagnostics/MOM_wave_structure.F90 0.00% <ø> (ø)
src/framework/MOM_diag_remap.F90 80.42% <0.00%> (ø)
... and 289 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 13b01e5...e28f74d. Read the comment docs.

@gustavo-marques gustavo-marques merged commit 7b3dd02 into ocean-eddy-cpt:dev/cpt Aug 5, 2021
gustavo-marques pushed a commit that referenced this pull request Feb 14, 2022
Bitwise identical refactoring of the code in DOME_initialize_sponges,
including renaming variables for greater clarity, adding variables for several
dimensional constants, and correcting comments.  This also includes more careful
handling of the DOME OBCs in DOME_set_OBC_data() to hopefully avoid some obvious
problems (noted in a comment about a "fight with T,S") that would arise if a
DOME case were set up that used temperature and salinity. Future revisions
should add more runtime parameters to specify the details of this case, but
properly doing so would involve changing the order of arithmetic; this has not
happened in this case.  All real variables in this module are now described in
comments.  All answers and output are bitwise identical.

Co-authored-by: Marshall Ward <marshall.ward@noaa.gov>
@gustavo-marques gustavo-marques deleted the merge_dev_gfdl_5Aug2021 branch February 17, 2022 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.