-
Notifications
You must be signed in to change notification settings - Fork 22
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
(*)Merge MOM6/main from 16 May 2022 #219
(*)Merge MOM6/main from 16 May 2022 #219
Conversation
remove conflict with dev/emc
further resolve conflict
put id_sppt_wts, etc back.
* remove white space and fix comment * Update MOM_oda_incupd.F90 remove unused index bounds, and fix sum_h2 loop. Co-authored-by: pjpegion <Philip.Pegion@noaa.gov> Co-authored-by: Marshall Ward <marshall.ward@noaa.gov>
- Pointing to OBC wiki file from the lateral parameterizations doc. - Using the MOM6 verbosity to control the time_interp verbosity. - Making the check for negative water depths more informative.
Removed the unused and unnecessary function append_substring. All answers are bitwise identical, but an unused public interface is being eliminated.
* Fix non-standard white space Made widespread corrections to indentation and other white space issues to conform to the MOM6 standards, as documented in the white space section of the MOM6 style guide, at https://github.com/mom-ocean/MOM6/wiki/Code-style-guide. - MOM6 code uses a 2-point indent scheme. - There should be a space around all assignment (" = ") operators. - The names of optional arguments do not use whitespace, to differentiate them from assignments. - There is a space around the semicolons for stacked enddo statements. After this change, greping for '^ [a-zA-Z]', '^ [a-zA-Z]' or '^ [a-zA-Z]' does not find any lines in the MOM6 src or config_src/infra code. All answers and output are bitwise identical.
This patch modifies the `get_field_sizes` function to emulate the FMS1 behavior when the requested `sizes(:)` is larger than the field's number of dimensions. In FMS1, `field_sizes` would always expect a `sizes` array of at least size 4, and in the format of (nx, ny, nz, nt), and would lean on netCDF attributes like `cartesian_axes` when assigning the values. FMS2 lacks similar functionality, due its more general approach. Previously, this was emulated in a way favorable to certain situations, but raised issues in others. This patch attempts to resolve the issue by using the `categorize_axes()` function's ability to identify axes, either by attributes, presumed names, or the `unlimited` property.
FMS2: get_field_sizes with FMS1 emulation
* Add a deta_dt diagnostic to the split BT/BC mode The SSH tendency can now be computed for the split baroclinic/ bartropic (integrated with RK2) way of calculating the dynamics. This extra diagnostic is needed for computing vertical mass transport (wmo) in z* coordinates offline from the convergence of the horizontal mass transports. The meaning, units, and conversion factors associated with the deta_dt diagnostic change between Boussinesq and non-Boussinesq modes. This commit accounts for these differences and reports the units consistent with the mass transports. (A. Shao gets the credit for the substance of this commit.)
This patch removes any unused variables detected by -Wunused-variables in GCC. This may include variables which are referenced in commented "zombie code". In some cases, the variables were preserved in comments, but not in all cases. If the zombie code is restored, it should be possible to reconstruct the original declaration. (All known cases were simple scalars, such as loop indices). In one case, a variable was conditionally used within a preprocessor `#ifdef __DO_SAFETY_CHECKS__` block. This patch moves the declaration into another `#ifdef` block, but perhaps it is preferable to remove the block. Certain documentation variables such as `mdl`, which typically contain the function name, have been removed if unused. The strongest motivation for this patch is to allow us to enable the `-Wall` flag, which includes unused variables, and will strengthen our ability to detect potential errors in the codebase.
Added the new run-time parameter ODA_2018_ANSWERS to recover the answers from the previous version of the code, which did not supply properly dimensional rescaled minimum thicknesses for the remapping calls in the ODA driver. When this is set to True, all answers are bitwise identical.
Remove unused variables
Added a call to set thickness_units, which are used in the units description for the diagnostic deta_dt, which was recently added by NOAA-GFDL#99, but with an uninitialized variable being used for the units description. This changes contents of one entry in the MOM_available_diags, which will once again reproduce across runs and compilers. All solutions are bitwise identical.
…omain_rescaling_fix
…caling_fix +Fix some rescaling issues smoked out by the regional Bering domain
Note that most of these commits are from previously squashed pull requests, and this PR is restoring them. - 6360dbb Merge branch 'main' into main_to_dev - bac8031 Merge pull request mom-ocean#1566 from jiandewang/EMC-FMS-mixed-mode-20220411 - e532d86 Merge pull request mom-ocean#88 from marshallward/missing_attrib_with_class_bugfix - d380f1d An alternate fix to class(*) issues with FMS 2022-01 - 8ecf333 Merge pull request mom-ocean#87 from jiandewang/feature/update-to-main-20220317 - ba37f94 Merge remote-tracking branch 'FSU/main' into feature/update-to-main-20220317 this is corresponding to MOM6 main 20220317 commit (hash # 399a7db) - 44313d9 Merge pull request mom-ocean#85 from jiandewang/feature/update-to-main-20220217 - 966707f Merge remote-tracking branch 'GFDL/main' into feature/update-to-main-20220217 this is corresponding to MOM6 main branch 20220217 commit (hash # 6f6d4d6), which originally based on GFDL-candidate-20220129 - 32c0e1e Merge pull request mom-ocean#81 from jiandewang/feature/update-to-main-20211220 - 9642b1d delete external/OCEAN_stochastic_phyiscs directory as Phil re-coded in external/stochastic_physics directory - e7c9ada solve minor conflict in mom_cap.F90 mom_ocean_model_nuopc.F90 and MOM_energetic_PBL.F90, add two new files: src/parameterizations/stochastic/MOM_stochastics.F90 and config_src/external/stochastic_physics/stochastic_physics.F90 - 90d5961 Merge pull request mom-ocean#78 from jiandewang/feature/update-to-GFDL-20211019 - fd02017 Merge remote-tracking branch 'GFDL/main' into feature/update-to-GFDL-20211019 - 36f17eb Merge pull request mom-ocean#72 from pjpegion/ocn_stoch_july2021 - a9a957e return a more accurate error message in MOM_stochasics - 56bb41e Merge branch 'ocn_stoch_july2021' of https://github.com/pjpegion/MOM6 into ocn_stoch_july2021 - ca2ae1c update to dev/emc - 14ca4a1 Merge pull request mom-ocean#76 from jiandewang/feature/update-to-GFDL-20210914 - 29016c2 Merge remote-tracking branch 'GFDL/main' into feature/update-to-GFDL-20210914 merge GFDL main 20210914 commit (hash # c09e199) - a8577df Merge branch 'NOAA-EMC:dev/emc' into ocn_stoch_july2021 - f8a8e4c update to gfdl 20210806 (mom-ocean#74) - 16e6af0 update to dev/emc - 237a510 add comments - 1b4273d revert logic wrt increments - 5b2040e add logic to remove incrments from restart if outside IAU window - c5f2b72 add write_stoch_restart_ocn to MOM_stochastics - bdf2dc7 doxygen cleanup - 8bc4acc move stochastics to external directory - a3fa3a1 Merge remote-tracking branch 'upstream/dev/emc' into ocn_stoch_july2021 - e4bc007 stochastic physics re-write - 202cbd4 update to dev/emc - 61717ee Merge remote-tracking branch 'origin/dev/emc' into ocn_stoch - 565e0bb remove debug statements - a4c0411 Merge remote-tracking branch 'upstream/dev/emc' into ocn_stoch - 689a73f remove PE_here from mom_ocean_model_nuopc.F90 - 8afe969 clean up of mom_ocean_model_nuopc.F90 - 25ed4fc revert MOM_domains.F90 - b8d9888 place stochastic array in fluxes container and make SPPT specific arrays allocatable - d984a7e remove stochastics container - eb88219 clean up of code for MOM6 coding standards - 6e3ea1b correct coupled_driver/ocean_model_MOM.F90 and other cleanup - 0b99c1f make stochastics optional - 85023f8 Merge remote-tracking branch 'upstream/dev/emc' into ocn_stoch - 80f9f44 clean up MOM_domains - 5443f8e remove blank link in MOM_diagnostics - 1727d9a re-write of stochastic code to remove CPP directives - 600ebf9 Merge remote-tracking branch 'upstream/dev/emc' into ocn_stoch - 6bb9d0b fix non stochastic ePBL calculation - 1d7ffa3 clean up code - 040e1f1 Merge pull request mom-ocean#13 from NOAA-EMC/dev/emc - 2cba995 Merge branch 'dev/emc' into ocn_stoch - 1dc0f4f Merge remote-tracking branch 'upstream/dev/emc' into dev/emc - 4bd9b9e clean up debug statements - 25ed5ef additions for stochy restarts - a2a374b add stochy_restart writing to mom_cap - 0c15f4c Update MOM_diabatic_driver.F90 - 167a62e Merge pull request mom-ocean#12 from pjpegion/dev/emc - bd477a9 Update MOM_diabatic_driver.F90 - 7212400 Update MOM_diabatic_driver.F90 - 7de295c cleanup of code and enhancement of ePBL perts - cd06356 Merge pull request mom-ocean#11 from NOAA-EMC/dev/emc - 9896d61 Merge pull request #9 from pjpegion/dev/emc_merge - 0a62737 Merge branch 'ocn_stoch' into dev/emc_merge - 3cad1ba Merge pull request #8 from NOAA-EMC/dev/emc - c2aa2a8 updates from dev/emc - 182ef34 additions for stochastic physics and ePBL perts - 671c714 Merge pull request #1 from NOAA-EMC/dev/emc
Candidate branch main->dev/gfdl
Revised the stochastics-related code to bring it into closer alignment with the MOM6 style guide at https://github.com/mom-ocean/MOM6/wiki/Code-style-guide, and splitting config_src/external/stochastic_physics/stochastic_physics.F90 into two files (one of which is the new file get_stochy_pattern.F90) to respect the MOM6 convention that there is only one module per file. Also renamed two stochastics-related optional arguments to ePBL_column to better reflect what they do, and corrected a number of spelling errors in comments in the files that were being modified. All answers and output are bitwise identical, but there are some minor internal interface changes.
Revised the external/drifters code to bring it into closer alignment with the MOM6 style guide at https://github.com/mom-ocean/MOM6/wiki/Code-style-guide. This includes using standard syntax to document variable units, the addition of 'implicit none ; private', explicit public statements, and a licensing statement to the files that were missing one, and modifications to follow the MOM6 2-point indenting convention. All answers are bitwise identical.
Revised the external/ODA_hooks code to bring it into closer alignment with the MOM6 style guide at https://github.com/mom-ocean/MOM6/wiki/Code-style-guide. This includes using standard syntax to document variable units, the addition of 'implicit none ; private', and modifications to follow the MOM6 2-point indenting convention. All answers are bitwise identical.
Corrected unbalanced indentation levels and impose MOM6-standard 2-point indentation in the config_src/driver codes, including both the FMS and mct caps and the solo_driver. The nuopc_cap is excluded from this commit because of the huge number (over 1000) of lines there that use irregular indentation. All answers are bitwise identical, and only white space changes are included.
Corrected unbalanced indentation levels and impose MOM6-standard 2-point indentation in the config_src/driver/nuopc_cap code. There were over 1000 lines that used non-standard or unbalanced indentation, so when reviewing this commit the use of the "ignore whitespace" option might be very useful. All answers are bitwise identical, and only white space changes are included.
Avoids using hard-coded dimensional tolerances in horizontal_regridding and improves the documentation of the variables and their units in this file. Without this change, calls to horiz_interp_and_extrap_tracer with a non-unity conversion factor will exhibit unexpected changes in answers, and may have wildly inappropriate amounts of smoothing of the interpolated values in arrays that are initialized from z-space file. However, the defaults are carefully chosen to avoid changing answers in any cases that do not use rescaling of tracer concentrations. The specific changes include: - Add a new optional argument tr_iter_tol to the horiz_interp_and_extrap_tracer routines to set an appropriate dimensional threshold for when the post-fill smoothing of tracers should be considered to be adequate. - Make the dimensional crit argument to fill_miss_2d non-optional, and fill it with appropriate values in calls from the horiz_interp_and_extrap_tracer routines when tr_iter_tol is not present. There should never be a hard-coded non-zero default for a dimensional variable! - Add a new optional scale argument to myStats - Eliminate the unused and unnecessary smooth logical argument to fill_miss_2d; the same functionality is obtained by setting the num_pass argument to 0. - Added to comments to document the units or unitlessness of the real variables in MOM_horizontal_regridding.F90. - Made minor changes to make the duplicated portions of the two horiz_interp_and_extrap_tracer similar. By default, all answers are bitwise identical, but this corrects a subtle bug with the use of the conversion factor argument in horiz_interp_and_extrap_tracer calls. There are new optional arguments to publicly visible routines.
…ate-2022-05-16 GFDL to main candidate branch (2022-05-16)
Codecov Report
@@ Coverage Diff @@
## dev/ncar #219 +/- ##
============================================
- Coverage 28.76% 28.62% -0.15%
============================================
Files 245 252 +7
Lines 72126 73514 +1388
============================================
+ Hits 20750 21040 +290
- Misses 51376 52474 +1098
Continue to review full report at Codecov.
|
@gustavo-marques Does this need to be tested with aux_mom or have you already tested it? |
I have tested it already.
|
Merging changes incorporated into MOM6/main via mom-ocean#1570.
Answers in aux_mom will change because of:
LEITH_AH = True
;