Skip to content

Merge dev master candidate 2020 05 15#151

Merged
alperaltuntas merged 406 commits into
NCAR:dev/ncarfrom
gustavo-marques:merge-dev-master-candidate-2020-05-15
May 19, 2020
Merged

Merge dev master candidate 2020 05 15#151
alperaltuntas merged 406 commits into
NCAR:dev/ncarfrom
gustavo-marques:merge-dev-master-candidate-2020-05-15

Conversation

@gustavo-marques
Copy link
Copy Markdown
Collaborator

Merging dev/master candidate: NOAA-GFDL#1111

Answers (ocean.stats) do not change. However, it does change the thicknesses (h) and other diagnostics that depend on that (e.g., umo and uhGM) in the outputs remapped to ocean_model_z and ocean_model_rho2.

adcroft and others added 30 commits March 10, 2020 21:16
- The new FMS has test_ programs that are found by list_paths which
  do not build properly unless using the FMS Makefile.am method.
- The "no libs" test was added to detect namespace collisions that
  are hidden when building with libraries. For now we'll retain
  this test but to do so requires a one-line hack to edit the
  pathnames file.
The target grid for the diagnostic grid update is now based on a
assigning a differrent pointer based on the boolean input argument
'intensive'. This is done so that this update is done in a more
'object-oriented' way
  Corrected the units reported for 9 diagnostics, and altered the code so that
the diagnostics N2_u and N2_v are only offered if the can be calculated and the
proper diagnostics are written if these diagnostics are requested (previously
arrays of zeros were always output).  All solutions are bitwise identical, but
some diagostics in output files change and the available_diags files have
altered entries.
  Rewrote the subroutine doc_param_time to work like the other doc_param
routines, including making the units argument optional, removing the argument
layout_param, and adding the new internally visible routine time_string.
Because time variables are currently logged as real values using the timeunit
argument to log_param_time, these changes do not have a widespread impact.  All
answers are bitwise identical, but there are some limited interface changes.
- Rename `h_dest` to `h_target` in routine and in signature
- Remove extraneous logic
  Added or corrected comments describing the units of many of the variables in
the ALE code.  All solutions are bitwise identical, although there are some
unit changes in arguments to unused subroutines.
Originally, the diagnostic arrays were being allocated on the first
call generating the diagnostic grid. This seems overly clunky because
the size of the grids are known before that. This was also causing
a segfault in updates to the new routine. The allocate statements
for these arrays are now done right after the number of levels is
known
  Corrected documented units in comments, corrected spelling errors in comments
and removed unused variables.  All answers are bitwise identical.
  Rescaled the calculations of diagnostics of the integrated mass transports, column integrated
temperature and salinity, cell thicknesses and column mass for dimensional consistency
testing.  All answers are bitwise identical.
  Rescaled the density derivatives used in full_convection, smoothed_dRdT_dRdS
and user_change_diff.  This change requires that new unit_scale_type arguments
be passed to these three subroutines.  All answers are bitwise identical.
  Converted find_interfaces from a function to a subroutine and revised
determine_temperature to rescale arguments and internal variables.  Also made
the declaration of array sizes consistent with other MOM6 code.  All answers
are bitwise identical, but there are changes to public interfaces.
  Removed an unneeded halo update in iceberg_forces.  All answers are bitwise
identical.
+Corrected diagnostics and diagnostic units
Corrected the units in ALE variable documentation
  Rescaled the units of the area_shelf_h variable used to initialize
frac_shelf_h, and eleminated the unused g_Earth element in the ocean_grid_type.
All answers are bitwise identical, but an element was removed from a
transparent public type.
  Corrected additional documented units in comments, corrected spelling errors
in comments and removed unused variables.  Also noted some probable dimensional
consistency errors in MOM_open_boundary.F90.  All answers are bitwise identical.
Hallberg-NOAA and others added 19 commits May 11, 2020 17:52
  Initialized dMLD_min and dMLD_max in ePBL_column, and corrected a comment in
response to helpful reviews from Brandon Reichl and Andrew Shao.  Because these
two arrays are not used until after the 3rd iteration, this may not matter to
the solution, although it should help make the code clearer and avoids unused
variables.  All answers in the MOM6-examples test cases are bitwise identical.
…anup

MOM6: +Corrected the use of array syntax calculations
  Corrected the negative CFL branch of PPM_angular_advect in MOM_internal_tides.
Simultaneously there was some revision to match other equivalent PPM advection
schemes in the MOM6 code and to replace some divisions by a multiplication by a
reciprocal.  The previous version was sufficiently wrong that it could not ever
have been used in any scientifically meaningful solutions, including anything in
MOM6-examples.  Accordingly, the PPM_angular_advect code was changed without a
flag to retain the previous answers.  All answers in the MOM6-examples test
cases are bitwise identical, and output files are unchanged.
The Makefile has been modified to reduce the amount of output during
testing.  Output is generally omitted on a successful test.  When a test
fails, we only display a small portion of the total output.

We also now run all tests, even if they fail, in order to give a
complete profile of the test failures.

Regression testing rules have been integrated into the general rules.

Finally, Travis config has been modified to further reduce output, and
to run all of tests (make -k).
Test logging is now much shorter, so folding is less important.
CodeCov reporting log is now saved to results/ rather than piped to
stdout, further reducing test logging output.
We were saving codecov output to results, but this was breaking the
`test.summary` test, which only returns true if `results` is empty.

This change should resolve this issue.
- gcc/8.3.0 issued `Error: Integer too big for its kind` reported in
  feedback on PR mom-ocean#1111. The intent was to assume kind=4 in these
  calculations but apparently our compilers were promoting
  `mod(dy + 32*(mo + 13*yr), 2147483648)` to kind=8. There were two
  mistakes in the expression:
  - the use of `2147483648` in the `mod` is not representable with kind=4;
  - the `mod` produces negative values and should have been a `modulo`.
- This commit reduces the range of the results by one number on the
  positive side and removes all the negatives.
@alperaltuntas
Copy link
Copy Markdown
Member

merged with dev/ncar and resolved conflicts. Will run the test suite again and merge.

@alperaltuntas alperaltuntas merged commit fd68ffa into NCAR:dev/ncar May 19, 2020
@gustavo-marques gustavo-marques deleted the merge-dev-master-candidate-2020-05-15 branch September 23, 2020 16:39
gustavo-marques pushed a commit that referenced this pull request Aug 5, 2022
+Add option to apply bottom drag as a body force
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.

10 participants