-
Notifications
You must be signed in to change notification settings - Fork 227
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
PR to main (Jan 2022) #1555
PR to main (Jan 2022) #1555
Commits on Oct 1, 2021
-
Added the new runtime option MEKE_ADVECTION_BUG and corrected a bug in the calculation of the vertically integrated transport for the advection of the MEKE field when MEKE_ADVECTION_FACTOR > 0. The default is to fix the bug, so answers can change in some cases by default, and in those cases there are changes to the MOM_parameter_doc files, but this option is not widely used and there are no answer changes in the MOM6-examples test suite. This PR addresses MOM6 issue mom-ocean#1465, which can be closed once this PR is merged into dev/gfdl.
Configuration menu - View commit details
-
Copy full SHA for 43d4f16 - Browse repository at this point
Copy the full SHA 43d4f16View commit details
Commits on Oct 5, 2021
-
+Add BAROTROPIC_TIDAL_SAL_BUG to fix a tide bug
Added a runtime flag, BAROTROPIC_TIDAL_SAL_BUG, to fix a sign error in the tidal self-attraction and loading anomalies in the barotropic solver when tides are enabled. The default is to keep the previous bug so that answers do not change, but this default will be changed after solutions have been corrected. This commit partly addresses MOM6 issue mom-ocean#1496, but it should only be considered to be properly handled once the default has been changed to avoid this bug. This commit will change the MOM_parameter_doc files in cases where this bug matters, but by default all answers are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 374acc5 - Browse repository at this point
Copy the full SHA 374acc5View commit details
Commits on Oct 8, 2021
-
Configuration menu - View commit details
-
Copy full SHA for e4cdaaf - Browse repository at this point
Copy the full SHA e4cdaafView commit details
Commits on Oct 9, 2021
-
Merge pull request mom-ocean#1506 from Hallberg-NOAA/MEKE_advection_b…
…ugfix (+*)Fix MEKE advection bug
Configuration menu - View commit details
-
Copy full SHA for a384fcc - Browse repository at this point
Copy the full SHA a384fccView commit details -
Configuration menu - View commit details
-
Copy full SHA for 780919f - Browse repository at this point
Copy the full SHA 780919fView commit details -
Merge pull request mom-ocean#1508 from Hallberg-NOAA/tidal_SAL_bugfix
+Add BAROTROPIC_TIDAL_SAL_BUG to fix a tide bug
Configuration menu - View commit details
-
Copy full SHA for 7d808b5 - Browse repository at this point
Copy the full SHA 7d808b5View commit details
Commits on Oct 11, 2021
-
* first draft API based on Luyu's code * fixed various errors * Code for particles in MOM.F90 * moved particles_run into dynamics step * added particles_end * Fixed particle time * Fixed some documentation * Further documentation edits * converted pointers to allocatables in particles_gridded * Remove trailing space * Further doxygen tweaks * another trailing space * removed set_time Co-authored-by: Cory Spencer Jones <spencerjones@login4.cluster>
Configuration menu - View commit details
-
Copy full SHA for 5c3f143 - Browse repository at this point
Copy the full SHA 5c3f143View commit details
Commits on Oct 12, 2021
-
Configuration menu - View commit details
-
Copy full SHA for ce5595f - Browse repository at this point
Copy the full SHA ce5595fView commit details -
Configuration menu - View commit details
-
Copy full SHA for b08efb8 - Browse repository at this point
Copy the full SHA b08efb8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5adf763 - Browse repository at this point
Copy the full SHA 5adf763View commit details
Commits on Oct 13, 2021
-
Configuration menu - View commit details
-
Copy full SHA for e2da693 - Browse repository at this point
Copy the full SHA e2da693View commit details
Commits on Oct 14, 2021
-
FMS1: Don't create IO domains for single-PE domain
FMS mpp domain creation is done in the `clone_MD_to_d2D` function, and currently an IO domain is always created within the MPP domain. This has caused problems with single-PE runs in FMS1, where the `write_field` logic was not able to reach the part which removes halo data if an IO domain was present, and halo data was being written to the restart files. This issue arose when `PARALLEL_RESTARTFILES` was set to `True` for single-PE tests. This does not appear to be a problem with FMS2, and no action is needed by the FMS team.
Configuration menu - View commit details
-
Copy full SHA for 8e5a1b7 - Browse repository at this point
Copy the full SHA 8e5a1b7View commit details -
User/wfc/remap scheme (mom-ocean#1503)
* Revert "Implement changes suggested by @Hallberg-NOAA" This reverts commit 8f4af3d. * Revert "*Corrected the clock as seen by diabatic processes" This reverts commit bc6c6e6. * Revert "*Use rho_ref in finite volume PGF density calcs" This reverts commit 48e90d0. * Update of MOM6 code to allow SPEAR to reproduce previous answers. Updates MOM code to dev/gfdl as of 2/7/2019 (6dd6f52) and reverts 3 answer changing modifications. Update produced by git revert 8f4af3d git add src/tracer/MOM_neutral_diffusion.F90 git revert --continue git revert bc6c6e6 git add src/core/MOM.F90 git revert --continue git revert 48e90d0 git add src/equation_of_state/MOM_EOS.F90 git revert --continue Some conflict resolution was needed. * Optional use of differing restoring piston velocities for temp and salt * Correction to ePBL code to mitigate blowup. Also "corrects" some spelling differences in variables (MStar vs mstar) * add MJHarrison-GFDL salt_flux_add_fix to SPEAR codeset from https://github.com/MJHarrison-GFDL/MOM6/compare/salt_flux_add_fix * Added ability to change remapping scheme. Added call for parameter REMAPPING_SCHEME to allow changes to be made. Previously was hardwired to PLM. Call for MOM_grid_int was issing a global_indexing=F argument Tests indicated that oda clocks were being called out of order and crashing the test, so I commented them out. * Removed timers, Changes name for REMAPPING_SCHEME parameter Changes REMAPPING_SCHEME to ODA_REMAPPING_SCHEME Removed timers that were causing blowups * Adds documentation for ODA_remapping_scheme Changes second argument to get_param calls to the module name. Co-authored-by: Matthew Harrison <Matthew.Harrison@noaa.gov>
Configuration menu - View commit details
-
Copy full SHA for 24e48a7 - Browse repository at this point
Copy the full SHA 24e48a7View commit details -
+*Change defaults for 3 parameters to better values (mom-ocean#1509)
NOTE: Initial submission included 4 parameters. `PARALLEL_RESTARTFILES` was dropped after an issue was detected. Full commit log history below. * +*Change defaults for 4 parameters to better values Updated the defaults of 4 run-time parameters (INTERNAL_WAVE_SPEED_BETTER_EST, PARALLEL_RESTARTFILES, EPBL_MLD_BISECTION, and BBL_USE_EOS) to more appropriate values. In each case, the previous default was simply the older setting, and not the better recommendation. It also adds logic determining whether SIMPLE_TKE_TO_KD does anything, and only log its setting if it does. These default changes were discussed by the MOM6 consortium as a whole in June, 2021 and were widely agreed to. In addition this commit removes the old obsoleted runtime parameter ORIG_MLD_ITERATION, and obsoletes the runtime parameter LARGE_FILE_SUPPORT, and it adds comments describing several real variables and their units. Because this changes several default values, it will change answers unless these parameters are explicitly set in the MOM_input files. However, because MOM6-examples PR #344 does set these values to their old defaults where they are used, no answers are changed in the MOM6-examples regression suite, although there are changes to the MOM_parameter_doc files. * +Reverted default for PARALLEL_RESTARTFILES Reverted the default for PARALLEL_RESTARTFILES to False because the TC restart testing was having problems with this set to True. This is surprising because PARALLEL_RESTARTFILES = True has been used in production runs for many years now without any indication that MOM6 fails to reproduce across restarts in this mode, so this could be an issue with the TC testing. In the mean time, reverting this default will allow the other changes to be accepted while this curious behavior is explored separately. Several comments related to PARALLEL_RESTARTFILES were also updated for consistency. All answers are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 393df05 - Browse repository at this point
Copy the full SHA 393df05View commit details -
+Add new parameter FATAL_INCONSISTENT_RESTART_TIME (mom-ocean#1511)
Add the new runtime parameter FATAL_INCONSISTENT_RESTART_TIME, which if true causes the model to compare the restart time read from a restart file with any value provided as a time_in to MOM_initialize_state and issue a fatal error if they differ. In ocean-only mode, this input time is read from a ocean_solo.res file, following FMS behavior. The default value simply uses the specified time, replicating the previous behavior. If set to true, this would prevent a problem with the time-history that recently occurred in a series of high-resolution runs that were shared between several groups, where the nominal times were repeated. All answers are bitwise identical, but many MOM_parameter_doc files have a new entry.
Configuration menu - View commit details
-
Copy full SHA for 5bc0be3 - Browse repository at this point
Copy the full SHA 5bc0be3View commit details
Commits on Oct 15, 2021
-
+(*)Fix bug when RES_SCALE_MEKE_VISC = True (mom-ocean#1512)
* +(*)Fix bug when RES_SCALE_MEKE_VISC = True Fix a bug that can lead to segmentation faults when RES_SCALE_MEKE_VISC is true, as noted in MOM6 issue mom-ocean#1464, and add better error handling to detect related problems. The refactoring that is a part of this may also avoid some problems with optimized code even when RES_SCALE_MEKE_VISC it false, as described in MOM6 issue mom-ocean#1463. In addition, logic was added so that the value of RES_SCALE_MEKE_VISC is only logged if USE_MEKE is true. All answers are bitwise identical in cases that worked, including the MOM6-examples test suite, but there are some changes in the MOM_parameter_doc files, due to an irrelevant parameter no longer being logged. * (*)Initialize CS%res_scale_MEKE Initialize the logical element res_scale_MEKE in the hor_visc_CS even if there is no Laplacian viscosity, so that a self-consistency test does not use an initialized value. Also improved some comments. All answers are bitwise identical for all cases that successfully ran before, including in all cases in the MOM6-examples test suite.
Configuration menu - View commit details
-
Copy full SHA for 85afd24 - Browse repository at this point
Copy the full SHA 85afd24View commit details -
+Make 37 optional arguments in src/core mandatory
Made 37 optional arguments that are always present in calls into non-optional arguments to routines in the src/core directory. Many of these are pointer arguments related to things like open boundary conditions, so if these types are not to be used, they are simply not allocated. In several cases, this required the order of the arguments to be shifted around, but the various types of the arguments should prevent the model from compiling if the calls (e.g., in user-modified code that is not in the github repository) are not changed equivalently. Also eliminated 3 internal arguments in MOM_barotropic.F90 that are always hard-coded to the same values (the maximize argument to BT_cont_to_face_areas()) or are never used (the guess arguments to uhbt_to_ubt() and vhbt_to_vbt()), along with the code that they would exercise. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 4d9ed4f - Browse repository at this point
Copy the full SHA 4d9ed4fView commit details -
Refactored solo_driver/MOM_driver.F90
Refactored solo_driver/MOM_driver.F90 to move logically self-contained blocks of code into separate subroutines within this file to improve the readability of the code and to reduce the number of global variables. This started out as an exercise to explore the use of the F2008 block / end block construct to reduce the scope of variables, but the code ended up being cleaner just using traditional subroutines contained in this file. All answers are bitwise identical and all output files are unaltered.
Configuration menu - View commit details
-
Copy full SHA for 39c0c34 - Browse repository at this point
Copy the full SHA 39c0c34View commit details
Commits on Oct 19, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 1fb283b - Browse repository at this point
Copy the full SHA 1fb283bView commit details
Commits on Oct 20, 2021
-
Merge pull request mom-ocean#1523 from Hallberg-NOAA/opt_args_in_core
+Make 37 optional arguments in src/core mandatory
Configuration menu - View commit details
-
Copy full SHA for e291d32 - Browse repository at this point
Copy the full SHA e291d32View commit details -
Configuration menu - View commit details
-
Copy full SHA for ba01cea - Browse repository at this point
Copy the full SHA ba01ceaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5d82809 - Browse repository at this point
Copy the full SHA 5d82809View commit details -
+Optional just_read_params args are now mandatory
Made 44 previously optional just_read_params arguments into mandatory arguments and renamed them just_read to avoid duplicated variables. This change should be minimally disruptive, as these optional arguments were always being provided. Some argument documentation blocks were also reformatted or the comments in them were corrected. All answers are bitwise identical, but some arguments have changed.
Configuration menu - View commit details
-
Copy full SHA for c62258c - Browse repository at this point
Copy the full SHA c62258cView commit details -
+Argument cleanup in vertical parameterization code
Cleaned up 27 falsely optional or unused arguments in the vertical parameterization code, and related changes. This includes: - Eliminating the symmetrize arguments to set_viscous_BBL and set_viscous_ML, which are now effectively always true. - Making the Waves and OBC pointer arguments mandatory in several routines where they were always being supplied. These are pointers, so the test of whether they should be used can be based on whether they are associated. - Adding error messages about unassociated Waves types that would be used. - Eliminating the unused Waves argument to KPP_init. - Eliminating unused arguments that energetic_PBL inherited from the bulk mixed layer code, and simplified some disabled debugging code. - Making the optics argument to opacity_end mandatory. - Making the h argument to get_Langmuir_Number mandatory and rearranged the arguments to this routine to put the optional arguments last, following the practice elsewhere in the MOM6 code. Also standardized the case of several variables in the MOM_wave_interface.F90 code to facilitate searches. - Eliminating the unused US argument to CoriolisStokes. All answers are bitwise identical, and no output is changed.
Configuration menu - View commit details
-
Copy full SHA for 037af8e - Browse repository at this point
Copy the full SHA 037af8eView commit details
Commits on Oct 22, 2021
-
Use FMS2
file_exists
, remove domain argsThis patch uses the FMS2 `file_exists` function when using the FMS2 infra. Previously, the FMS1 version of this function was being used. This patch also removes the `mpp_domain` and `no_domain` arguments from the direct `file_exist` calls, which were not used by any known MOM6 configurations. (Nor would we expect them to be, since explicit references to FMS should not exist outside of the infra layer.) Since FMS2 does not use these arguments, their removal also creates a more meaningful interface between the two frameworks. Motivation: An issue with the FMS1 `file_exists` under the FMS2 infra was discovered in the UFS model on Hera. It was only reproducible in submitted jobs, and not for interactive jobs, and only with the GCC 9.2 compiler. (Other GCC versions were not tested.) One potential explanation is that it is related to the `save` attribute of the domain pointer, `d_ptr`. In the case above, `d_ptr` pointed to the MOM input domain for the failed cases. For the other working cases, `d_ptr` pointed to a `NULL()` value and behavior was normal. It is possible that `d_ptr` is inconsisently updated when FMS1 and FMS2 IO operations are used together, which should probably be considered undefined behavior.
Configuration menu - View commit details
-
Copy full SHA for 6ff0cae - Browse repository at this point
Copy the full SHA 6ff0caeView commit details -
Configuration menu - View commit details
-
Copy full SHA for ee3b92f - Browse repository at this point
Copy the full SHA ee3b92fView commit details
Commits on Oct 23, 2021
-
+Eliminate unused arguments in diagnostics code
Eliminated the unused optional OBC argument to write_energy() and several unused optional arguments to wave_speed() and wave_speeds() that are set instead via arguments to wave_speed_init() that store these values in a wave_speed_CS type. Also made the optional row_scale argument to tridiag_det() and the tracer_CSp argument to write_energy() that were always present in calls into mandatory arguments. All answers are bitwise identical, and solutions do not change.
Configuration menu - View commit details
-
Copy full SHA for 7e8d6e2 - Browse repository at this point
Copy the full SHA 7e8d6e2View commit details
Commits on Oct 25, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 2f91303 - Browse repository at this point
Copy the full SHA 2f91303View commit details -
Merge pull request mom-ocean#1522 from marshallward/no_1pe_io_layout
FMS1: Don't create IO domains for single-PE domain
Configuration menu - View commit details
-
Copy full SHA for 1700498 - Browse repository at this point
Copy the full SHA 1700498View commit details -
Always create single-threaded files in 1 PE runs
Modified create_file to always specify that the threading will be for a single PE to do the writing to a single file if there is only a single ocean PE, to avoid some incorrect behavior inside of the FMS IO modules. This can fix restart problems in some single-processor cases with an inconsistent setting of the optional threading argument, but in all cases that ran correctly before, all answers are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for a2aaad6 - Browse repository at this point
Copy the full SHA a2aaad6View commit details -
+Optional arg cleanup in horizontal param code
Cleaned up 13 falsely optional or unused arguments in the horizontal parameterization code, and related changes. This includes: - Made the previously optional OBC pointer arguments that were always being used in calls to 3 routines in MOM_lateral_mixing_coeffs.F90 into mandatory arguments. Because these are pointers, the deciding factor of whether to use them is really whether they are associated. - Made an internal optional argument that was always being used mandatory in 2 routines in MOM_internal_tides.F90. - Made 2 internal optional arguments that were always being used mandatory in thickness_diffuse_full(). - Eliminated the unused deta_tidal_deta argument to calc_tidal_forcing() and made the m_to_Z argument to the same routine mandatory. The former value is instead obtained by a call to tidal_sensitivity. - Eliminated 3 unused arguments and made an optional argument that was always used mandatory for find_deficit_ratios() in MOM_regularize_layers.F90.
Configuration menu - View commit details
-
Copy full SHA for 6dd1d14 - Browse repository at this point
Copy the full SHA 6dd1d14View commit details
Commits on Oct 26, 2021
-
cpu_clock_id: synchro_flag arg changed to logical
This patch modifies the `cpu_clock_id` interface so that the `synchro_flag` argument is converted into a platform-agnostic logical flag. The current implementation requires the synchronization flag to be defined using FMS norms (zero-bit) and also would force users to follow FMS predefined flags for other values. This patch changes the sync flag to a logical, and modifies the default flag to enable synced clocks (based on `clock_flag_default`). `synchro_flag` is also renamed to `sync` for simplicity.
Configuration menu - View commit details
-
Copy full SHA for c053fdc - Browse repository at this point
Copy the full SHA c053fdcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0df0467 - Browse repository at this point
Copy the full SHA 0df0467View commit details -
Merge pull request mom-ocean#1532 from marshallward/fms2_file_exist
Use FMS2 `file_exists`, remove domain args
Configuration menu - View commit details
-
Copy full SHA for 9d0a92b - Browse repository at this point
Copy the full SHA 9d0a92bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5ffad6d - Browse repository at this point
Copy the full SHA 5ffad6dView commit details -
Merge pull request mom-ocean#1535 from marshallward/sync_clock_flag
cpu_clock_id: synchro_flag arg changed to logical
Configuration menu - View commit details
-
Copy full SHA for 9031683 - Browse repository at this point
Copy the full SHA 9031683View commit details
Commits on Oct 29, 2021
-
Eliminate GET_ALL_PARAMS in hor_visc_init (mom-ocean#1536)
* Eliminate GET_ALL_PARAMS in hor_visc_init Added do_not_log arguments to get_param calls in MOM_hor_visc.F90 that are only used conditionally, and eliminated the unlogged GET_ALL_PARAMS runtime parameter and get_all variable in hor_visc_init(). By design, all logging of parameters after this commit is identical to before, even for variables that are inactive and therefore should not be logged. In several places, there were some problems, mostly with the GME code, that have been noted in comments marked with '###'. Also cleaned up the code alignment and eliminated unneeded temporary variables in a few places in hor_visc(). All solutions are bitwise identical, and no output is changed. * Restore temporary variables Undid changes that eliminated temporary variables to facilitate performance profiling, and restored the "Knuth" convention about the placement of the line breaks relative to "+" in these expressions. Nothing changes.
Configuration menu - View commit details
-
Copy full SHA for aad1e89 - Browse repository at this point
Copy the full SHA aad1e89View commit details
Commits on Nov 5, 2021
-
Add weighted d[uv]_dt_str diagnostics (mom-ocean#1539)
This adds four new diagnostics building on the wind stress acceleration diagnostics du_dt_str, dv_dt_str (from mom-ocean#1437) - their thickness-weighted versions: h_du_dt_str, h_dv_dt_str (completing the set of diags from 3D thickness x momentum diagnostics mom-ocean#1398) - their viscous remnant fraction: du_dt_str_visc_rem, dv_dt_str_visc_rem (completing the set of diags from Visc_rem_[uv] multiplied momentum budget diagnostics ocean-eddy-cpt#10) Nora did some quick tests with the CPT NeverWorld2 setup, which confirm that online and offline multiplication by 1) h or 2) visc_rem_[uv] coincide (up to 1) interpolation error and 2) numerical noise, respectively), and illustrated this beautifully with some figures that accompanied the first of the three commits that were squashed into one.
Configuration menu - View commit details
-
Copy full SHA for 1324656 - Browse repository at this point
Copy the full SHA 1324656View commit details
Commits on Nov 9, 2021
-
+Argument cleanup in vertical diffusivity code
Cleaned up 26 falsely optional or unused arguments in the vertical diffusivity code, and related changes. Several descriptive comments were also corrected, including the correction of the units of 10 variables related to CVMix_KPP. This commit includes: - Made the Kd_int arguments to set_diffusivity() and 3 subsidiary routines mandatory and reordered the arguments so that the non-optional arguments come before the grid types - Made the halo_TS and double_diffuse arguments to set_diffusivity_init() mandatory. - Made the Time argument to ALE_sponge() mandatory. - Made the Kd and Kv arguments to calculate_CVMIX_conv() mandatory. - Removed the unused halo argument to adjust_salt(). - Removed the unused Kddt_convect argument to full_convection(). - Made the halo arguments to full_convection()and smoothed_dRdT_dRdS() mandatory. - Made the useALEalgorithm argument to geothermal_init() mandatory. - Removed the unused initialize_all arguments to Calculate_kappa_shear() and Calc_kappa_shear_vertex(). - Removed the unused I_Ld2_1d and dz_Int_1d arguments to kappa_shear_column(). - Made 3 arguments to calculate_projected_state() mandatory and reordered the arguments accordingly. - Eliminating the unused skip_diags arguments to calculateBuoyancyFlux() and extractFluxes(), which are now effectively always false. All answers are bitwise identical, and no output is changed.
Configuration menu - View commit details
-
Copy full SHA for f2e9983 - Browse repository at this point
Copy the full SHA f2e9983View commit details
Commits on Nov 11, 2021
-
+Move rotate_dyn_horgrid to MOM_dyn_horgrid module
Moved the routine rotate_dyngrid() from the MOM_transcribe_grid module to rotate_dyn_horgrid() in the MOM_dyn_horgrid module so that this routine can also be used at some point by SIS2 to implement rotational consistency testing, and also to reflect that this routine only works with types from its new module. The two routines are the same apart from some added comments, and the old name of rotate_dyngrid() is still available from MOM_transcribe_grid via a module use statement. All answers are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 2e7624b - Browse repository at this point
Copy the full SHA 2e7624bView commit details -
+Reduce use of dyn_horgrid in initialize_MOM
Minimized the dependence on dyn_horgrid in initialize_MOM by working directly with the horizontal index type whereever possible and by moving the calls that create the MOM_grid_type earlier in the routine, to limit the duration of the dyn_horgrid_type, and to better co-locate grid-related parameters in the parameter_doc files. Also uses the new interface to rotate_dyn_horgrid from the MOM_dyn_horgrid module in place of the rotate_dyngrid interface from the MOM_transcribe_grid module. All answers are bitwise identical, but the order of some entries in the MOM_parameter_doc files has changed.
Configuration menu - View commit details
-
Copy full SHA for 5a2bb8d - Browse repository at this point
Copy the full SHA 5a2bb8dView commit details -
(*)Fix compile-time issues with MOM_sum_driver.F90
Modified drivers/unit_drivers/MOM_sum_driver.F90 to compile with the latest version of the rest of the MOM6 code by using the proper types in the various initialization calls, and verified that it runs as intended.
Configuration menu - View commit details
-
Copy full SHA for 688bff9 - Browse repository at this point
Copy the full SHA 688bff9View commit details
Commits on Nov 16, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 9341376 - Browse repository at this point
Copy the full SHA 9341376View commit details
Commits on Nov 17, 2021
-
(+) porous topography implementation (#3)
* reads in porous topography parameters from CHANNEL_LIST_FILE *new module to compute curve fit for porous topography *porous constraints used to modify continuity_PPM, CoriolisAdv, and Rayleigh bottom channel drag
Configuration menu - View commit details
-
Copy full SHA for 8b5e10a - Browse repository at this point
Copy the full SHA 8b5e10aView commit details -
Disable clock sync of in-loop BML timers
This patch overrides the default clock sync (configured in FMS) for the CPU clocks inside of the bulk mixed layer's loops. This prevents model hangs due to an inconsistent number of clock syncs when different ranks have different size domains.
Configuration menu - View commit details
-
Copy full SHA for d7b2e32 - Browse repository at this point
Copy the full SHA d7b2e32View commit details
Commits on Nov 18, 2021
-
Correct a couple of typos in hor_visc
1. Three typos are corrected. 2. An if-statement for better bound of the Laplacian viscosity at h-cell is moved outside of the do-loops.
Configuration menu - View commit details
-
Copy full SHA for 26b1d96 - Browse repository at this point
Copy the full SHA 26b1d96View commit details
Commits on Nov 19, 2021
-
Corrected the units of 124 variables
Corrected the units in comments describing 124 variables in 39 files. In addition three unused variables were eliminated. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for e2e5787 - Browse repository at this point
Copy the full SHA e2e5787View commit details -
Horizontal viscosity pointer removal
* Change `hor_visc_CS` pointers to locals
Configuration menu - View commit details
-
Copy full SHA for ca61bf9 - Browse repository at this point
Copy the full SHA ca61bf9View commit details -
* equilibrium_value removed from CS and is now local * MEKE_CS function arguments to stack
Configuration menu - View commit details
-
Copy full SHA for 0e19103 - Browse repository at this point
Copy the full SHA 0e19103View commit details -
* `mixedlayer_restrat_CS` pointers changed to locals MLD_filtered[_slow] pointed moved to allocatables * MLD argument for `mixedlayer_restrat` Restore MLD pointer Passing an uninitialized array is problematic, though passing a pointer to an uninitialized array is not. This can be addressed when vertvisc_type is resolved.
Configuration menu - View commit details
-
Copy full SHA for 899bf4e - Browse repository at this point
Copy the full SHA 899bf4eView commit details -
Thickness diffusion pointer removal
* `thickness_diffusion_CSp` is moved to local where possible * All arrays and most other pointer content is moved to either allocatable or local to the type.
Configuration menu - View commit details
-
Copy full SHA for 9bf8715 - Browse repository at this point
Copy the full SHA 9bf8715View commit details -
Tidal forcing CS pointer removal
* `tidal_forcing_CS` pointers are removed, and its fields are converted to allocatables. - Note that references are retained in the pressure force and barotropic CS instances, to avoid copies. Still working through that one...
Configuration menu - View commit details
-
Copy full SHA for c91b464 - Browse repository at this point
Copy the full SHA c91b464View commit details -
* Internal tide CS pointer removal (int_tide_CS) * Diabatic driver's `int_tide_CSp` renamed to `int_tide` I am unsure if the instance of int_tide_CS in the diabatic driver (where it is created) needs to be declared as target. Seems not, but watch this issue.
Configuration menu - View commit details
-
Copy full SHA for 4a98271 - Browse repository at this point
Copy the full SHA 4a98271View commit details -
Entrain diffusive pointer removal
This removes just about all of the entrain_diffusive pointers (except the diag_ctrl). There is a very minor incongruity with `just_read_params`, which was originally used to deallocate the CS, which might alter some removed `if(associated(CS))` checks. But it seems this is not really a problem, since the calls to entrainment_diffusion() are inside regions unreachable when this flag (from `CS%useALEalgorithm`) is true.
Configuration menu - View commit details
-
Copy full SHA for 4b6f45e - Browse repository at this point
Copy the full SHA 4b6f45eView commit details -
* `tidal_mixing_CS` pointers moved to locals * `tidal_mixing_CSp` in diffusivity renamed to `tidal_mixing` * Most of the pointer-declared fields converted to allocatables. * Local `dd` pointers to `CS%dd` removed * Reorder calculate_tidal_mixing (and sub-procedure) args
Configuration menu - View commit details
-
Copy full SHA for 2540b4e - Browse repository at this point
Copy the full SHA 2540b4eView commit details -
Geothermal heating pointer removal
* `geothermal_CS` converted from pointers to locals * Instance of `geothermal_CS` in diabatic driver changed to local
Configuration menu - View commit details
-
Copy full SHA for e50c667 - Browse repository at this point
Copy the full SHA e50c667View commit details -
* Diabatic driver `opacity_CSp` renamed to `opacity`, changed to local * Instances of `optics` and `opacity_CS` converted to locals * Fields in `opacity_CS` and `optics_type` changed to allocatables
Configuration menu - View commit details
-
Copy full SHA for 1a3a20a - Browse repository at this point
Copy the full SHA 1a3a20aView commit details -
Bulk mixed layer pointer removal
* `bulkmixedlayer_CS` pointers moved to locals * Diabatic driver renamed variables: * `bulkmixedlayer` flag -> `use_bulkmixedlayer` * `bulkmixedlayer_CSp` -> `bulkmixedlayer` * Some redundant documentation removed
Configuration menu - View commit details
-
Copy full SHA for 3152a9e - Browse repository at this point
Copy the full SHA 3152a9eView commit details -
* `energetic_PBL_CS` pointers changed to locals in main module * `energetic_PBL_CSp` changed to local and renamed to `energetic_PBL` in diabatic driver.
Configuration menu - View commit details
-
Copy full SHA for e3d59fe - Browse repository at this point
Copy the full SHA e3d59feView commit details -
Regularize layers pointer removal
* `regularize_layer_CS` pointers in module moved to local * `regularize_layer_CSp` in diabatic driver moved to local * diabatic drriver `regularize_layer_CSp` renamed to drop `_CSp`
Configuration menu - View commit details
-
Copy full SHA for d6e98dc - Browse repository at this point
Copy the full SHA d6e98dcView commit details -
CVMix convection pointer removal
* `CVMix_conv_CS` in diabatic driver renamed to `CVMix_conv` * Pointer instances of `CVMix_conv_CS` changed to locals * `CVMix_end` function removed, since it did nothing.
Configuration menu - View commit details
-
Copy full SHA for 5d0160a - Browse repository at this point
Copy the full SHA 5d0160aView commit details -
* `MEKE_type` pointers of many arguments and control structures changed from pointers to locals * `MEKE` input removed from the following: * `initialize_dyn_unsplit` * `initialize_dyn_unsplit_RK2` * Many `associated(MEKE)` checks have been removed, and now rely on associations of individual components within MEKE This is just "passing the buck" and not solving the underlying issue of decision-by-allocation, but it's closer to a true solution. * Pointer fields inside `MEKE_type` converted to allocatables `associated()` tests for them replaced with `allocatable()`
Configuration menu - View commit details
-
Copy full SHA for 65a3516 - Browse repository at this point
Copy the full SHA 65a3516View commit details -
Variable mixing pointer removal
* `VarMix_CS` pointer instances redefined as locals * `associated(VarMix)` tests replaced with `VarMix%use_variable_mixing`. This ought to be identical, since `VarMix_init()` deallocates the CS if this flag is unset (False), and the function is always called. * VarMix arrays changed from pointers to allocatables
Configuration menu - View commit details
-
Copy full SHA for 1cef96c - Browse repository at this point
Copy the full SHA 1cef96cView commit details -
* `wave_speed_CS` pointers redefined as locals * `wave_speed_CSp` in varmix and diagnostics renamed to `wave_speed` * `S` and `T` pointers removed wave speed update
Configuration menu - View commit details
-
Copy full SHA for bbf0f52 - Browse repository at this point
Copy the full SHA bbf0f52View commit details -
MOM_restart_cs pointer removal
* Most `MOM_restart_CS` instances changed from pointers to locals * `MOM_restart_CS` removed from unsplit dyncore subroutines * `restart_CSp` renamed to `restart_CS` in many functions
Configuration menu - View commit details
-
Copy full SHA for 7a63130 - Browse repository at this point
Copy the full SHA 7a63130View commit details -
* Instances of `barotropic_CS` pointers changed to locals * `barotropic_CSp` removed from MOM module, as it was unused * `frhat[uv]1` converted to allocatable * `BT_OBC` field pointers to allocatable
Configuration menu - View commit details
-
Copy full SHA for 09a990c - Browse repository at this point
Copy the full SHA 09a990cView commit details -
* `wave_structure_CS` instances changed from pointer to local * T and S aliases to `tv` in `MOM_wave_structure` removed * `wave_structure_CSp` renamed to `wave_struct` in internal tides
Configuration menu - View commit details
-
Copy full SHA for 8632fee - Browse repository at this point
Copy the full SHA 8632feeView commit details -
ALE sponge pointer removal (partial)
* Some instances of `ALE_sponge_CS` declared as local * Redfined many allocatable arrays declared as pointers Much of this module was left unmodified, due to a lot of decision making based on the associated status of the CS.
Configuration menu - View commit details
-
Copy full SHA for b176571 - Browse repository at this point
Copy the full SHA b176571View commit details -
MOM diagnostic pointer removal
* diagnostic field pointers changed to allocatables * `safe_alloc_ptr` calls replaced with `allocate()` * Some instances of `diagnostics_CS` passed as type * `diagnostics_CS` in MOM_mod moved to stack
Configuration menu - View commit details
-
Copy full SHA for 5b1dd3f - Browse repository at this point
Copy the full SHA 5b1dd3fView commit details -
Convert `set_visc_CS` pointer instances to locals
Configuration menu - View commit details
-
Copy full SHA for c4fd89d - Browse repository at this point
Copy the full SHA c4fd89dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 62edfdb - Browse repository at this point
Copy the full SHA 62edfdbView commit details -
Equation of state pointer removal
* `EOS_type` pointers in MOM_EOS_mod moved to locals * Various `EOS_type` pointers changed to local * `eqn_of_state` removed from the following: - `adjustment_initialize_temperature_salinity` - `BFB_set_coord` - `dense_water_initialize_TS` - `DOME2d_initialize_temperature_salinity` - `dumbbell_initialize_temperature_salinity` - `Neverworld_initialize_thickness` - `Rossby_front_initialize_temperature_salinity` - `seamount_initialize_temperature_salinity` - `sloshing_initialize_temperature_salinity` - `USER_initialize_temperature_salinity` - `USER_set_coord` * `EOS` removed from neutral diffusion unit test NOTE: eqn_of_state in MOM_mod is retained, since there are many checks of pointer associated of `tv%eqn_of_state`.
Configuration menu - View commit details
-
Copy full SHA for c4df748 - Browse repository at this point
Copy the full SHA c4df748View commit details -
CoriolisAdv_CS pointer removal
Redefine Coriolis advection pointers as locals
Configuration menu - View commit details
-
Copy full SHA for 4ee4dc5 - Browse repository at this point
Copy the full SHA 4ee4dc5View commit details -
PressureForce CS pointer removal
* The following control structures were moved to locals: * `PressureForce_CS` * `PressureForce_FV_CS` * `PressureForce_Mont_CS` * The `*_end()` functions no longer do anything and were removed
Configuration menu - View commit details
-
Copy full SHA for dc9adeb - Browse repository at this point
Copy the full SHA dc9adebView commit details -
MOM continuity CS pointer removal
These pointers were defined as locals * `MOM_continuity_CS` * `MOM_continuity_PPM_CS`
Configuration menu - View commit details
-
Copy full SHA for a250208 - Browse repository at this point
Copy the full SHA a250208View commit details -
MOM_open_boundary pointer removal
This patch replaces many pointers in the OBC with local or allocatable variables. Notes: * `OBC` redeclared as `target` in some places for `segment` pointers * `field_names` removed from `OBC_segment_type` * `Tr_Reg` removed from `set_tracer_data` * `OBC` removed from `deallocate_OBC_segment_data`
Configuration menu - View commit details
-
Copy full SHA for d00c90b - Browse repository at this point
Copy the full SHA d00c90bView commit details -
small fixes to porous topo code
* Style Fixes * Store depths for porous curve fitting as [Z ~> m] and account for Z_ref
Configuration menu - View commit details
-
Copy full SHA for bc82609 - Browse repository at this point
Copy the full SHA bc82609View commit details
Commits on Nov 21, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 844c4c7 - Browse repository at this point
Copy the full SHA 844c4c7View commit details -
Merge pull request #4 from herrwang0/hor_visc_typos
Correct a couple of typos in hor_visc
Configuration menu - View commit details
-
Copy full SHA for 7b96ac1 - Browse repository at this point
Copy the full SHA 7b96ac1View commit details
Commits on Nov 22, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 8a73a35 - Browse repository at this point
Copy the full SHA 8a73a35View commit details -
Add initialization tests using CS%initialized
Added a new variable, initialized, to the control structures of modules that had been testing for an allocated control structure to verify that it had been initialized before it was going to be used, and then duplicated the tests using this new variable. This was done to enable us to go ahead with MOM6 PR #5, which eliminated many of these checks when converting the control structures from pointers in the parent modules to elements that are always there, and then passing them as simple types instead of as pointers. If we decide that we do not need these tests after all, we can easily delete them, but until this is discussed, this commit avoids losing the messages, as it was easier to do it this way instead of trying to recreate them after they had been removed. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for be50361 - Browse repository at this point
Copy the full SHA be50361View commit details -
Merge pull request #5 from marshallward/no_more_pointers
Redefine ~500 pointers as local or stack variables
Configuration menu - View commit details
-
Copy full SHA for b2f6678 - Browse repository at this point
Copy the full SHA b2f6678View commit details
Commits on Nov 23, 2021
-
Corrected the descriptions of 60 variables
Corrected the units or made other clarifications in comments describing 60 variables in 28 files. In addition three unused (and unscaled) variables were eliminated. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 4e67533 - Browse repository at this point
Copy the full SHA 4e67533View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e6e73f - Browse repository at this point
Copy the full SHA 4e6e73fView commit details -
+Add G%Rad_Earth_L and related code simplification
Add a dimensionally rescaled variable with the radius of the Earth in [L ~> m] to the ocean_grid_type and dyn_hor_grid type to expand dimensional consistency testing. For now it exists along-side the previous variable with the radius of the Earth in [m], which might be used in other drivers or user code that we are not aware of. All instances in the MOM6 code that were using the unscaled variable G%Rad_Earth were changed to use the dimensionally scaled variable G%Rad_Earth_L. In addition, the code for setting up the grid metrics was simplfied by completing the dimensional rescaling of its internal variables and some grid rescaling factors that were no longer in use were eliminated. As a part of this change, a unit_scale_type argument was added to the interface for USER_initialize_tracer. In addition, a number of comments were changed to clearly distinguish between dimensionally scaled variables that scale back to a nondimensional variable that can take on a range of values (using the syntax [... ~> nondim]), as opposed to variables that are only a combination of dimensional scaling factors that resolve back to 1 in MKS units (using the syntax [... ~> 1]). All answers are bitwise identical, but there is one minor interface change and there are new elements in several widely used transparent types.
Configuration menu - View commit details
-
Copy full SHA for 2b0bb96 - Browse repository at this point
Copy the full SHA 2b0bb96View commit details
Commits on Nov 24, 2021
-
preserve dimensions in porous topo interpolation
* changed porous topo code to preserve dimensions * readded rotations that got lost in merge
Configuration menu - View commit details
-
Copy full SHA for e717e46 - Browse repository at this point
Copy the full SHA e717e46View commit details -
Configuration menu - View commit details
-
Copy full SHA for 04d932e - Browse repository at this point
Copy the full SHA 04d932eView commit details -
Configuration menu - View commit details
-
Copy full SHA for a98c3ef - Browse repository at this point
Copy the full SHA a98c3efView commit details -
Configuration menu - View commit details
-
Copy full SHA for 66e1493 - Browse repository at this point
Copy the full SHA 66e1493View commit details -
Configuration menu - View commit details
-
Copy full SHA for 62786c4 - Browse repository at this point
Copy the full SHA 62786c4View commit details
Commits on Nov 25, 2021
-
Merge pull request #6 from Hallberg-NOAA/initialized_tests
Add initialization tests using CS%initialized
Configuration menu - View commit details
-
Copy full SHA for 6608730 - Browse repository at this point
Copy the full SHA 6608730View commit details -
Configuration menu - View commit details
-
Copy full SHA for d8abf05 - Browse repository at this point
Copy the full SHA d8abf05View commit details
Commits on Nov 26, 2021
-
Merge pull request #7 from Hallberg-NOAA/more_unit_fixes
Corrected the descriptions of 60 variables
Configuration menu - View commit details
-
Copy full SHA for 4a7ab45 - Browse repository at this point
Copy the full SHA 4a7ab45View commit details -
Configuration menu - View commit details
-
Copy full SHA for dc4e707 - Browse repository at this point
Copy the full SHA dc4e707View commit details
Commits on Nov 27, 2021
-
Merge pull request #8 from Hallberg-NOAA/rescaled_Rad_Earth
+Add G%Rad_Earth_L and related code simplification
Configuration menu - View commit details
-
Copy full SHA for 470ed7b - Browse repository at this point
Copy the full SHA 470ed7bView commit details -
(*)Fix rescaling when SPLIT_BOTTOM_STRESS = True
Corrected the dimensional rescaling of the explicit bottom stresses that are passed to btstep() when SPLIT_BOTTOM_STRESS = True. Without this correction, solutions would not pass the dimensional consistency tests in this case. Thankfully, the parameter setting in question does not seem to be widely used, and even if it is, answers will not change when Z_RESCALE_POWER = 0. All answers and output in the MOM6-examples test suite are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 2a82bbd - Browse repository at this point
Copy the full SHA 2a82bbdView commit details
Commits on Nov 28, 2021
-
(*)Refactored and fixed pseudo_salt_tracer code
Refactored the pseudo_salt_tracer code to avoid using fluxes%netSalt, instead calculating the surface fluxes directly from fluxes%saltFlux, in preparation to get rid of the largely redundant fluxes%netSalt element, but also to correct for the fact that fluxes%netSalt does not have proper scaling to pass dimensional consistency testing. Also made the CS%diff element of pseudo_salt_tracer_CS into an allocatable instead of it being a pointer, and changed the tests for whether it is allocated appropriately. Several unused variables were eliminated, and some comments corrected or reformated. This does not impact solutions, but the pseudo_salt and pseudo_salt_diff diagnostics are now invariant to dimensional rescaling, whereas before they were not. All solutions and output in MOM6-examples are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 6c01c8d - Browse repository at this point
Copy the full SHA 6c01c8dView commit details -
Eliminated the no-longer used and previously improperly rescaled netSalt element from the forcing type. Also added the missing deallocate statements for fluxes%netMassOut and fluxes%netMassIn in deallocate_forcing_type(). All answers and output are bitwise identical, although an element has been removed from a transparent type.
Configuration menu - View commit details
-
Copy full SHA for 111b3e7 - Browse repository at this point
Copy the full SHA 111b3e7View commit details -
+Clean up dimensional rescaling in write_u_accel
Pass wind stresses to write_u_accel() and write_v_accel() in [R L Z T-2 ~> Pa] without requiring external rescaling first. Also cleaned up the dimensional scaling in MOM_PointAccel.F90, so that all arguments and internal variables use the dimensionally rescaled variables with cleaner and standardized syntax, and there are comments clearly describing all real variables in this module. Moreover, several rescaling bugs were corrected in these routines, so that if there are velocity truncations, now the output will be invariant to rescaling, whereas before some reported values were not being properly scaled back to MKS units. All answers and output from the MOM6-examples regression suite are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for c54dcc6 - Browse repository at this point
Copy the full SHA c54dcc6View commit details -
+Rescale fluxes passed to KPP_NonLocalTransport
Applied appropriate rescaling for dimensional consistency testing to the net heat and salt fluxes calculated in calculateBuoyancyFlux and used in the two KPP_NonLocalTransport_...() routines. Several comments describing variables were also either corrected or added. All answers are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for a65fbed - Browse repository at this point
Copy the full SHA a65fbedView commit details
Commits on Nov 29, 2021
-
Refactored DOME_initialize_sponges() (#12)
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>
Configuration menu - View commit details
-
Copy full SHA for 32d0a4e - Browse repository at this point
Copy the full SHA 32d0a4eView commit details -
change conversion H_to_MKS to H_to_m for u/veffA
* also small fix to porous module. invert order of do loops
Configuration menu - View commit details
-
Copy full SHA for ec84be5 - Browse repository at this point
Copy the full SHA ec84be5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3f38239 - Browse repository at this point
Copy the full SHA 3f38239View commit details -
+Rescaled flux arguments to tracer_vertdiff()
Changed the units of the optional surface and bottom tracer fluxes, sink rate, and bottom tracer reservoir arguments to tracer_vertdiff() and tracer_vertdiff_Eulerian() to fully rescaled units (like [Conc R Z T-1] and [Z T-1]) for greater dimensional consistency testing. Only the two CFC packages are using the flux arguments, so they were rescaled in those modules as well. Several unused variables or unnecessary pointers were removed from the CFC tracer modules, and some comments were revised or added to indicate the dimensions of a number of internal variables in these same modules. All answers are bitwise identical in the MOM6-examples regression suite, and only dimensional rescaling factors are changed (so nothing will have changed without any rescaling), but it should be noted that testing of the CFC tracer packages is less comprehensive than would be ideal.
Configuration menu - View commit details
-
Copy full SHA for 13a1cde - Browse repository at this point
Copy the full SHA 13a1cdeView commit details
Commits on Nov 30, 2021
-
Merge pull request #3 from sditkovsky/porous_topo_sjd
(+) porous topography implementation
Configuration menu - View commit details
-
Copy full SHA for 2087e05 - Browse repository at this point
Copy the full SHA 2087e05View commit details -
Bug fix for reading First_direction from restart
* A bug on reading parameter First_direction from the restart is fixed. Previously, it only works when rotate_index is .true. * A FATAL error is now issued when both ROTATE_INDEX and ALTERNATE_FIRST_DIRECTION are .true. This should only be treated as a temporary patch. * Local variable first_direction in initialize_MOM is slightly repurposed to exclude any modication by rotate_index turns. This helps clarify the meaning of First_direction in restart files, making it independent from index rotation.
Configuration menu - View commit details
-
Copy full SHA for 3597433 - Browse repository at this point
Copy the full SHA 3597433View commit details -
Expanded comments describing src/core code (#13)
Added comments describing all of the real variables in the src/core directory that did not previously have them, and corrected multiple spelling error in this same directory. This PR also updates the description of the MOM6 code structure in MOM.F90 and adds dimensional descriptions to the commends describing a number of variables. Descriptions of the units of some variables were also added or corrected in a number of the src/tracer files. Changes are largely restricted to comments describing varibles, although a few unused variables were removed. One comment added to MOM_dynamics_split_RK2.F90 notes a possible memory leak, due to a missing deallocate call, but the actual correction of this leak will be delayed to a later, much more targeted commit. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for e218478 - Browse repository at this point
Copy the full SHA e218478View commit details -
Minor code cleanup in drivers/FMS_cap
Various minor code cleanup in the drivers/FMS_cap directory, including: o Rescaled the internal latent_heat variables in the control structure for MOM_surface_forcing_gfdl for improved dimensional consistency testing. o Removed the unused local variable PmE_adj in convert_IOB_to_fluxes(). o Corrected the documented units or fixed spelling errors in several comments. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for a0248ef - Browse repository at this point
Copy the full SHA a0248efView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7d39f26 - Browse repository at this point
Copy the full SHA 7d39f26View commit details
Commits on Dec 1, 2021
-
Cleaned up whitespace leftover from porous topomerge.
- Spacing within expressions was uneven and made multiplation look like POW functions. Leftover from merging #3. - No answer changes.
Configuration menu - View commit details
-
Copy full SHA for f67e030 - Browse repository at this point
Copy the full SHA f67e030View commit details -
Configuration menu - View commit details
-
Copy full SHA for ceb181f - Browse repository at this point
Copy the full SHA ceb181fView commit details
Commits on Dec 2, 2021
-
Testing: Codecov uploader update
This patches updates the codecov uploader to the new version, replacing the bash uploader to be phased out in 2022. The uploader URL is now a configuable variable, and the coverage scripts have been modified to accommodate changes in the uploader. Under this new uploader, the coverage reports must be generated locally, rather than relying on the bash script to call gcov. So we now generate these scripts based on the *.gcda output.
Configuration menu - View commit details
-
Copy full SHA for d716745 - Browse repository at this point
Copy the full SHA d716745View commit details -
Code cleanup in drivers/solo_driver forcing files
Code cleanup in the drivers/FMS_cap directory forcing files, including: o Rescaled several internal wind stress variables in the control structure for solo_driver/MOM_surface_forcing.F90 for improved dimensional consistency testing. o Added the variable Pa_to_RLZ_T2 to help clarify the conversion factors being applied to several hard-coded constant stresses. These hard-coded constant wind stress magnitudes should be replaced with variables in wind_forcing_2gyre(), wind_forcing_1gyre() and Neverworld_wind_forcing() but this needs to be done carefully to avoid breaking existing solutions. o Removed or commented out unused variables, as appropriate. o Corrected or added documented units o Added comments describing all real variables in this directory. o Fixed spelling errors in several comments. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 6494852 - Browse repository at this point
Copy the full SHA 6494852View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5361174 - Browse repository at this point
Copy the full SHA 5361174View commit details
Commits on Dec 4, 2021
-
Merge pull request #16 from Hallberg-NOAA/refactor_pseudo_salt_tracer
+(*)Pseudo_salt_tracer and forcing%netSalt
Configuration menu - View commit details
-
Copy full SHA for 585cc70 - Browse repository at this point
Copy the full SHA 585cc70View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2dbd055 - Browse repository at this point
Copy the full SHA 2dbd055View commit details -
This patch fixes an error in the `sync` flag of the cpu clocks. Previously, we would set the sync bit of a flag based on the presence of sync, rather than testing if the value was true. This would cause potential hangs in any clock that set `sync`, including `.false.`. This patch correctly replaces the single `ibset` call with an if-block to either `ibset` or `ibclr`.
Configuration menu - View commit details
-
Copy full SHA for 36d4f7f - Browse repository at this point
Copy the full SHA 36d4f7fView commit details
Commits on Dec 5, 2021
-
Merge pull request #17 from Hallberg-NOAA/tracer_sfc_flux_rescale
+Rescaled flux arguments to tracer_vertdiff()
Configuration menu - View commit details
-
Copy full SHA for a44e460 - Browse repository at this point
Copy the full SHA a44e460View commit details -
Configuration menu - View commit details
-
Copy full SHA for 264fc20 - Browse repository at this point
Copy the full SHA 264fc20View commit details
Commits on Dec 6, 2021
-
Merge pull request #18 from herrwang0/bugfix_alternate_first_dir
Bug fix for reading First_direction from restart
Configuration menu - View commit details
-
Copy full SHA for ad35e4a - Browse repository at this point
Copy the full SHA ad35e4aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7d80abc - Browse repository at this point
Copy the full SHA 7d80abcView commit details -
Merge pull request #21 from marshallward/new_codecov_uploader
Testing: Codecov uploader update
Configuration menu - View commit details
-
Copy full SHA for 7e1474e - Browse repository at this point
Copy the full SHA 7e1474eView commit details -
+Add the new routine unit_no_scaling_init
Added the public interface unit_no_scaling_init() to the MOM_unit_scaling module to initialize a non-scaling unit_scale_type without requiring a param_file_type argument. This should be useful for certain trivial unit tests, and it makes it more plausible to make the unit_scale_type arguments mandatory. As a part of this change, the new internal subroutine set_unit_scaling_combos() was carved out of unit_scaling_init to avoid code duplication. Also added comments describing the effective units of the various scaling factors with the standard MOM6 notation. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for e48f4a7 - Browse repository at this point
Copy the full SHA e48f4a7View commit details -
(*)Provide US arguments to 4 existing calls
Provide optional US arguments to 4 existing calls to set_grid_metrics() and MOM_initialize_topography(), enabling these arguments to become mandatory in the next commit. In some cases this requires a call to unit_no_scaling_init() or the removal of a call to rescale_dyn_horgrid_bathymetry(). In addition, a mis-scaled value was corrected in the initialization of the ODA control structures private thickness array; this latter issue is not a problem for Boussinesq models without dimensional rescaling (i.e. the tested cases), but could change answers in other cases with data assimilation. All answers in the MOM6-examples or TC test cases are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 59c5926 - Browse repository at this point
Copy the full SHA 59c5926View commit details -
+Make US arguments non-optional for 28 routines
Made the unit_scale_type arguments non-optional for 28 routines. These arguments had been optional in the first place to manage the coordination between the MOM6 and SIS2 repositories, but SIS2 has been using these optional arguments for several years now, and they can be made mandatory without imposing any disruptions. This change simplifies and clarifies the code. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 3162bd0 - Browse repository at this point
Copy the full SHA 3162bd0View commit details -
Docs: Add NASA-GMAO to consortium figure
This patch updates the PNG file of the consortiums in the docs to include the NASA-GMAO group.
Configuration menu - View commit details
-
Copy full SHA for 763ddab - Browse repository at this point
Copy the full SHA 763ddabView commit details
Commits on Dec 7, 2021
-
+Add post_product_[uv] and post_product_sum_[uv]
Added four new routines to within MOM_diag_manager.F90 to write out a diagnostic based on the product of two arrays at velocity points, either as a 3-d diagnostic or a 2-diagnostic of the vertical sum. Doing it this way both simplifies the higher level code and promotes the reuse of scratch arrays for diagnostics. In tests that use these new interfaces, diagnostics are identical to their previous values. All answers are bitwise identical, but there are 4 new public interfaces.
Configuration menu - View commit details
-
Copy full SHA for e756a69 - Browse repository at this point
Copy the full SHA e756a69View commit details -
Use post_product_u for momentum budget diagnostics
Use the new post_product_[uv] and post_product_sum_[uv] routines to simplify the code calculating derived diagnostics of the momentum budget in step_MOM_dyn_split, calculate_diagnostic_fields(), horizontal_viscosity(), vertvisc(), and layered_diabatic(). Also relocated the units for several diagnostics to the same lines as their conversion factors in some calls to register_diag_field, to make it easier to spot diagnostics with inconsistent reported units, and removed variables that are no longer used. All answers and diagnostics are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for c0be5d3 - Browse repository at this point
Copy the full SHA c0be5d3View commit details
Commits on Dec 8, 2021
-
+Rescale fluxes%net_mass_src and other diagnostics (#23)
Retaing dimensional rescaling for several diagnostics: - Apply dimensional rescaling of fluxes%net_mass_src to and the net_mass_src argument to get_net_mass_forcing to [R Z T-1]. - Rescaled the patm argument of convert_state_to_ocean_type to [R L2 T-2] and press_to_Z to [Z T2 R-1 L-2]; these are not actually exercised yet, so this has a very limited scope, although three other local variables were also dimensionally rescaled. - Revised the line breaks in two calls to register_restart to place the units and conversion factos on the same line, following a widespread code pattern. - Used the scale argument in calls to global_area_integral or global_area_mean for 6 diagnostics, so that 3 other primary variables can be calculated in scaled units and rescaled via factors specified in the register_restart calls, following a widespread code pattern. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 5f21667 - Browse repository at this point
Copy the full SHA 5f21667View commit details -
+Rescale forcing arguments and revise ctrl_forcing (#25)
* +Rescale forcing arguments and revise ctrl_forcing This commit revisits the units of the input arguments to the various ocean- only surfaces forcing routines, including: - Rescaled the units of the time intervals passed to the various forcing routines to [T ~> s] - Applied dimensional scaling to MOM_controlled_forcing.F90. This code is not yet in active use, so these changes can not change answers, but it is now much closer to compliance with modern MOM6 standards, including improved documentation, and could be ready to try without too much more effort. - Documented the remaining real variables in benchmark_initialization.F90, along with their units. All answers are bitwise identical, but there are changes to the units of some arguments in public interfaces.
Configuration menu - View commit details
-
Copy full SHA for e2c81e9 - Browse repository at this point
Copy the full SHA e2c81e9View commit details
Commits on Dec 9, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 3ce6a31 - Browse repository at this point
Copy the full SHA 3ce6a31View commit details -
+Remove clocks inside of j-loops
Removed clocks that were being called from inside of j-loops in two modules. These are inefficient and can cause the model to hang in some cases if used, and there are better ways to get timing information at this level. If there is interest in the timing breakdown at this level, the code should be restructured to move the key blocks outside of the j-loops. The run-time parameter ALLOW_CLOCKS_IN_OMP_LOOPS is no longer being used so it is now obsoleted. All answers are bitwise identical, but there are changes to some MOM_parameter_doc files.
Configuration menu - View commit details
-
Copy full SHA for 833cd30 - Browse repository at this point
Copy the full SHA 833cd30View commit details -
Deallocate eta_PF_start to avoid a memory leak
Added a deallocate call for eta_PF_start in step_MOM_dyn_split_RK2() to avoid a possible memory leak. All answers are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 8b5c1c8 - Browse repository at this point
Copy the full SHA 8b5c1c8View commit details -
+Set find_salt_root if SHELF_THREE_EQN = .False.
Set find_salt_root even if SHELF_THREE_EQN = .False. to avoid using an uninitialized logical to determine which parameters are logged. Without this the contents of some MOM_parameter_doc.all files could depend on the state of uninitialized memory and was compiler dependent in some cases. All answers are bitwise identical, but in some cases the contents of MOM_parameter_doc files could be corrected.
Configuration menu - View commit details
-
Copy full SHA for 3f46b6a - Browse repository at this point
Copy the full SHA 3f46b6aView commit details -
The runtime parameter ETA_TOLERANCE_AUX was being read but was never used, so it is being obsoleted. However, because some experiments were using this and there are effectively no changes in behavior, a warning will be issued instead of a fatal error if this parameter is set. All answers are bitwise identical, but there are changes to some MOM_parameter_doc files.
Configuration menu - View commit details
-
Copy full SHA for ec553aa - Browse repository at this point
Copy the full SHA ec553aaView commit details
Commits on Dec 10, 2021
-
(*)Fix extract_diabatic_member
Return the diabatic_aux_CSp from extract_diabatic_member it is present as an optional argument. Somehow this was omitted when this routine was created, but without this correction the offline tracer mode returns a segmentation fault. Also, added the proper conversion factor in the register_diag_field call for e_predia, and internally calculate the interface heights in units of [Z ~> m] for dimensional consistency testing. All answers are bitwise identical in cases that ran before.
Configuration menu - View commit details
-
Copy full SHA for d733714 - Browse repository at this point
Copy the full SHA d733714View commit details -
Warn if opacity_from_chl is called without fluxes
Issue a warning with a helpful message if opacity_from_chl is called with no shortwave fluxes, and added logical tests to avoid a segmentation fault later in this routine. This should not happen, as it makes no sense, but it was occurring with the offline tracer code, and can be avoided by setting PEN_SW_NBANDS=0 if there are no shortwave fluxes to penetrate. Also turned the real dimensional parameter op_diag_len into a variable and set it immediately before where it is used. Many spelling errors were also corrected in MOM_opacity.F90. All answers are identical in cases that ran before.
Configuration menu - View commit details
-
Copy full SHA for 5172c49 - Browse repository at this point
Copy the full SHA 5172c49View commit details -
Correct comments describing advect_tracer args
Corrected the comments describing the optional arguments to advect_tracer and fixed a few spelling errors in comments. All answers are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 90739be - Browse repository at this point
Copy the full SHA 90739beView commit details -
Update indexing of array passed to data_override.
The arrays passed to data_overrride need to be sized as the compute domain. Added indices to pass to data_override.
Configuration menu - View commit details
-
Copy full SHA for 3364af1 - Browse repository at this point
Copy the full SHA 3364af1View commit details -
Correct out of bounds index (por_face_areaU) bug
Corrected the expressionfs for the por_face_areaU arguments being passed to zonal_face_thickness to avoid the array out-of-bounds index errors highlighted in MOM6 issue #24. Also added comments noting where the por_face_area arrays should probably be included in the effective (relative) face thickness calculations that are later used for finding the vertically averaged accelerations by the barotropic solver. All answers and output are bitwise identical in cases that work, but this should avoid some run-time or compile-time errors with some compiler settings.
Configuration menu - View commit details
-
Copy full SHA for 2319139 - Browse repository at this point
Copy the full SHA 2319139View commit details -
(*)Offline tracer read bug fix
Corrected bugs in the offline tracer code that were preventing it from reproducing across processor counts (and perhaps working sensibly at all). All answers and output in the MOM6-examples regression suite are bitwise identical. Although answers with the offline tracer code will change because of the bug fix, because of some bugs that were fixed in another recent commit, it was previously impossible to have run the offline tracer cases at all.
Configuration menu - View commit details
-
Copy full SHA for 05edb63 - Browse repository at this point
Copy the full SHA 05edb63View commit details
Commits on Dec 11, 2021
-
+Refactored and rescaled the offline tracer code
Substantially refactored the offline tracer code. This refactoring includes adding grid and unit_scale_type arguments to several routines related to the offline tracer code. An offline tracer advection test case is now consistent across processor layouts and pass the dimensional rescaling tests (including the chksums in debug mode), and there are comments describing all the real variables and their dimensions in the offline tracer routines. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for fcfd238 - Browse repository at this point
Copy the full SHA fcfd238View commit details -
Configuration menu - View commit details
-
Copy full SHA for 09bcea2 - Browse repository at this point
Copy the full SHA 09bcea2View commit details -
+(*)Revised offline tracer algorithms
Minorly revised the algorithms used for offline tracer advection for rotational consistency, and for exact reproducibility across PE layouts by using reproducing sums to detect convergence. This also includes some changes to use roundoff to detect convergence instead of fixed values. Also replaced some divisions with multiplication by a reciprocal. In addition, some of the optional arguments to advect_tracer that are only used for offline tracer advection were renamed or revised for clarity and reordered for the convenience of the non-offline-tracer code. Although answers with the offline tracer code will change slightly because of this refactoring, because of some bugs that were fixed in another recent commit, it was previously impossible to have run the offline tracer cases at all. All answers and output in the MOM6-examples regression suite are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 112ac49 - Browse repository at this point
Copy the full SHA 112ac49View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0895fe3 - Browse repository at this point
Copy the full SHA 0895fe3View commit details -
Configuration menu - View commit details
-
Copy full SHA for fbafcb1 - Browse repository at this point
Copy the full SHA fbafcb1View commit details
Commits on Dec 12, 2021
-
Merge pull request #29 from Hallberg-NOAA/mandatory_US_args
+(*)Make unit_scale_type arguments non-optional
Configuration menu - View commit details
-
Copy full SHA for 86b91dc - Browse repository at this point
Copy the full SHA 86b91dcView commit details -
Configuration menu - View commit details
-
Copy full SHA for e452a29 - Browse repository at this point
Copy the full SHA e452a29View commit details
Commits on Dec 13, 2021
-
Merge pull request #27 from marshallward/cpu_clock_sync_bugfix
Bugfix: cpu clock sync error
Configuration menu - View commit details
-
Copy full SHA for 7ae28b8 - Browse repository at this point
Copy the full SHA 7ae28b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8824671 - Browse repository at this point
Copy the full SHA 8824671View commit details -
Merge pull request #31 from marshallward/consortium_fig_update
Docs: Add NASA-GMAO to consortium figure
Configuration menu - View commit details
-
Copy full SHA for 8f5dc28 - Browse repository at this point
Copy the full SHA 8f5dc28View commit details
Commits on Dec 14, 2021
-
Eliminate unneeded diagnostic arrays
Eliminated 18 unnecessary 3-d allocatable arrays and 5 2-d allocatable arrays from the MOM_diagnostics control structure, replacing them with reused local stack arrays. Also collected the registration of time derivatives and the allocation of memory for intermediary diagnostics in set_dependent_diagnostics. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for cf931b1 - Browse repository at this point
Copy the full SHA cf931b1View commit details -
Use the proper conversion factor for the w_sponge diagnostic, eliminated some unnecessary local copies of the domain sizes in the sponge control structure, and added more detailed descriptions of some of the variables in this module. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 170fffd - Browse repository at this point
Copy the full SHA 170fffdView commit details -
Use G%Rad_Earth_L in mct and NUOPC cap code
Modified the two lines where the mct and NUOPC caps were using G%Rad_Earth to instead use G%Rad_Earth_L, and cancelled out the dimensional rescaling factors on these lines that are no longer appropriate. All answers should be bitwise identical, but because this change is to code that is not routinely exercised by testing with MOM6-examples, extra care should be taken in assessing these changes.
Configuration menu - View commit details
-
Copy full SHA for 6feadd0 - Browse repository at this point
Copy the full SHA 6feadd0View commit details -
+Rescale some sea-surface height variables to [Z]
Rescaled the units of four internal sea surface height or related variables in MOM.F90 and three sea surface height arguments to post_surface_dyn_diags and post_surface_thermo_diags from [m] to [Z ~> m]. Also added a few comments describing variables in MOM_diagnostics.F90. All answers, diagnostics, and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for bbb9753 - Browse repository at this point
Copy the full SHA bbb9753View commit details
Commits on Dec 15, 2021
-
Correct the units in two comments
Corrected the reported unit conversions in two comments describing variables in MOM_offline_aux.F90. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 86eb106 - Browse repository at this point
Copy the full SHA 86eb106View commit details
Commits on Dec 16, 2021
-
Rescaled the units of optics%opacity_band from [m-1] to [Z-1 ~> m-1], with the opacity values returned from extract_optics_slice also rescaled by the same factor, which can be offset by compensating changes to the opacity_scale argument. Also rescaled 4 other internal variables and documented the units on 3 more. One uncommon parameter (SW_1ST_EXP_RATIO) listed the wrong units in its get_param call, and this was corrected, but turned out not to have been logged for any of the MOM6-examples test cases. Some compensating changes were also made in the MOM_generic_tracer module, which directly accesses the contents of the optics_type (thereby preventing it from being opaque). All answers and output in the MOM6-examples test suite are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 049241c - Browse repository at this point
Copy the full SHA 049241cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 08cd63b - Browse repository at this point
Copy the full SHA 08cd63bView commit details -
+(*)Avoid segmentation faults if PEN_SW_NBANDS = 0
Modified three routines in MOM_opacity to avoid segmentation faults if PEN_SW_NBANDS = 0, and hence if the optics type is not being allocated. In the case of optics_nbands(), this involved formally changing an optics_type argument into a pointer to an optics_type. (Pointers to an optics_type were already been used as the argument in all calls to optics_nbands(), but it was not always associated.) In two other routines, the change is simply to add a return call if there are 0 bands of shortwave radiation. With these changes, the single column test cases with no penetrating shortwave radiation now successfully run if PEN_SW_NBANDS = 0 and give answers that are identical to those obtained with PEN_SW_NBANDS = 1. All answers and output in cases that ran previously are bitwise identical, but there is a subtle change in a public interface.
Configuration menu - View commit details
-
Copy full SHA for 0544f9f - Browse repository at this point
Copy the full SHA 0544f9fView commit details
Commits on Dec 17, 2021
-
* In MOM_ice_shelf_dynamics.F90 changes are made to calc_shelf_visc() and calc_shelf_driving_stress() to account for an irregular quadrilateral grid. In MOM_ice_shelf_initialize.F90 changes are made to initialize_ice_thickness_from_file() to correct masks at initialization. * Changed indentation * Changes are made to 'calc_shelf_visc()` to make computations of the velocity derivatives rotation-invariant. Changes in `update_ice_shelf()` utilize G%IareaT(:,:) instead of 1/G%areaT(:,:).
Configuration menu - View commit details
-
Copy full SHA for 50df270 - Browse repository at this point
Copy the full SHA 50df270View commit details
Commits on Dec 18, 2021
-
Adding temperature restore capability for SPEAR. (#36)
* Adding temperature restore capability for SPEAR. Added parameter SPEAR_ECDA_SST_RESTORE_TFREEZE to allow activation of sea surface salinity based modification of restoring of temperature. The formula used is different from the Millero (default in SPEAR runs) scheme. * removed spaces on blank line. * (*)Changed hard wired value to parameter defined in MOM_override The freezing temperature came from SIS2 code. Changing the default value here to be consistent with that. (-0.054 vs -0.0539) The salinity restoring code used the -0.0539 value also so answers may change if using that code (RESTORE_SALINITY=T) * (*)Changed hard wired value to parameter defined in MOM_override The freezing temperature came from SIS2 code. Changing the default value here to be consistent with that. (-0.054 vs -0.0539) The salinity restoring code used the -0.0539 value also so answers may change if using that code (RESTORE_SALINITY=T) * Forgot to replace the salinity masking mulitplier with the override parameter
Configuration menu - View commit details
-
Copy full SHA for 12f29f6 - Browse repository at this point
Copy the full SHA 12f29f6View commit details
Commits on Dec 19, 2021
-
+Add US args and rescale dt arg to generic tracers
Added unit_scaling_type arguments to various routines that had previously used a unit scaling type, but did so via the G%US pointer, to make the type dependencies more explicit and to avoid unnecessary pointer use. It had been the intention to make these arguments explicit from the time they were introduced via a pointer in the ocean_grid_type as a temporary convenience. The construct G%US%... was replaced with US%... wherever it was possible. Also rescaled some local variables or corrected comments in oil_tracer.F90, nw2_tracers.F90, and boundary_impulse_tracer.F90, and rescaled the units of the dt argument to MOM_generic_tracer_column_physics from [s] to [T ~> s]. All answers are bitwise identical, although there are multiple changes to public interfaces.
Configuration menu - View commit details
-
Copy full SHA for a902e75 - Browse repository at this point
Copy the full SHA a902e75View commit details
Commits on Dec 21, 2021
-
Corrected the unit documentation for 31 variables
Corrected the documentation of the units for 31 variables in various modules. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 986bc8c - Browse repository at this point
Copy the full SHA 986bc8cView commit details -
+Rescale tides and ramp-up times
Rescaled the dimensions of the tidal amplitudes and frequencies used internally in calc_tidal_forcing() and ramp-up times used by update_OBC_ramp() and updateCFLtruncationValue() for nearly complete dimensional consistency testing. New unit_scale_type arguments were added to 5 routines, in the case of calc_tidal_forcing() replacing a previous optional argument that was always being used. One overly short internal variable, "N", was renamed "nodelon" to make its purpose clearer and easier to search for. All answers are bitwise identical, but there are changes to the argument lists of 5 routines.
Configuration menu - View commit details
-
Copy full SHA for d244246 - Browse repository at this point
Copy the full SHA d244246View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9a5e218 - Browse repository at this point
Copy the full SHA 9a5e218View commit details -
Merge pull request #47 from marshallward/main_to_dev_gfdl
PR mom-ocean#1538 merge to dev/gfdl
Configuration menu - View commit details
-
Copy full SHA for bf43fd8 - Browse repository at this point
Copy the full SHA bf43fd8View commit details
Commits on Dec 22, 2021
-
(*)Removed problematic offline tracer lines
Commented out the problematic lines that Andrew Shao flagged in his review of MOM6 dev/gfdl PR #37. The model runs perfectly well in short offline-tracer test runs, and even gives bitwise identical output, perhaps because no layers were being abruptly flooded to 10^13 times their previous values. These omitted lines could change answers in some cases, so the lines in question have been retained in case the offline tracer code needs to be debugged layer and these mysterious (and seemingly unhelpful) lines turn out to have been necessary. All answers in the non-offline-tracer runs are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 5d4e8a1 - Browse repository at this point
Copy the full SHA 5d4e8a1View commit details -
Configuration menu - View commit details
-
Copy full SHA for dad675a - Browse repository at this point
Copy the full SHA dad675aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 34554d0 - Browse repository at this point
Copy the full SHA 34554d0View commit details -
Configuration menu - View commit details
-
Copy full SHA for e3c0b72 - Browse repository at this point
Copy the full SHA e3c0b72View commit details
Commits on Dec 23, 2021
-
Configuration menu - View commit details
-
Copy full SHA for f35edbd - Browse repository at this point
Copy the full SHA f35edbdView commit details -
Configuration menu - View commit details
-
Copy full SHA for f865b24 - Browse repository at this point
Copy the full SHA f865b24View commit details
Commits on Dec 24, 2021
-
Correct comments describing generic_tracer args
Corrected uninformative comments describing the some of the arguments to the stub routines in config_src/external/GFDL_ocean_BGC/generic_tracer.F90. The updated comments are consistent with how they are used in calls to these routines and with the underlying actual generic_tracer code if they are actually documented there. The previous comments had been added to existing undocumented code to satisfy the MOM6 requirement that there be a doxygen comment describing every argument to every routine, in the hopes that someone with familiarity with the generic tracer could work amend them to something more appropriate. However, "Unknown" is neither an accurate nor an informative description, and current MOM6 standards would demand that we reject any new code contributions with such poor interface documentation. All answers are bitwise identical, and only comments have changed.
Configuration menu - View commit details
-
Copy full SHA for b628748 - Browse repository at this point
Copy the full SHA b628748View commit details
Commits on Dec 26, 2021
-
Fixes an uninitialized logical in FMS_cap
- A do_not_log depends on a logical that is only set conditionally. This initializes that logical when the corresponding parameter is not being read. - Unfortunately, this change MOM_parameter_doc.all for the coupled models. The .all pipeline uses the gnu compiler which was initializing this logical as .true. and thus logging the new parameter when it should not have been. Intel and PGI were initializing with .false.
Configuration menu - View commit details
-
Copy full SHA for 6bcea76 - Browse repository at this point
Copy the full SHA 6bcea76View commit details
Commits on Dec 27, 2021
-
Eliminate unneeded diagnostic arrays in CorAdCalc
Eliminated 4 unnecessary 3-d allocatable arrays and 8 2-d diagnostic arrays in CorAdCalc, and simplified the code calculating these diagnostics by using the post_product_[uv] and post_product_sum_[uv] routines. Also grouped the calls that allocate the memory that is still needed for diagnostics. This commit also includes a few other minor changes to clean up the documentation of variable intents and unit documentation in a handful of other places in the code: - Add intent declarations to the arguments to chksum2d() and chksum3d() - Corrected incorrect scale arguments for two (untested) checksum calls. - Corrected the documented units in several comments. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for d9d82e3 - Browse repository at this point
Copy the full SHA d9d82e3View commit details -
Configuration menu - View commit details
-
Copy full SHA for a8a2039 - Browse repository at this point
Copy the full SHA a8a2039View commit details
Commits on Dec 29, 2021
-
Merge pull request #43 from Hallberg-NOAA/opacity_rescale
+(*)Rescale opacity and avoid segmentation faults
Configuration menu - View commit details
-
Copy full SHA for 1028ee0 - Browse repository at this point
Copy the full SHA 1028ee0View commit details -
Configuration menu - View commit details
-
Copy full SHA for c32ec97 - Browse repository at this point
Copy the full SHA c32ec97View commit details -
Deleted commented out offline tracer lines
Deleted four lines in the offline tracer code that had recently been commented out, along with the comments describing them. Further conversations had led to a consensus that these lines served no useful purpose, and are not worth keeping in the code, even in comments. Several excess spaces were also eliminated in MOM_offline_aux.F90. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 5ad8a2c - Browse repository at this point
Copy the full SHA 5ad8a2cView commit details -
(*)Use por_face_area in zonal_face_thickness
Use the por_face_area[UV] in the effective thickness calculations in zonal_face_thickness and merid_face_thickness, so that they are more consistent with their use elsewhere in the code for the relative weights in calculating the barotropic accelerations. Because these por_face_area arrays are still 1 in all test cases, the answers are unchanged in any test cases from before a few weeks ago, but there could be answer changes in cases that are using the very recently added capability (in PR #3) to set fractional face areas. This change was discussed with Sam Ditkovsky, and agreed that there is no reason to keep the ability to recover the previous answers in any cases that use the recently added partial face width option. This commit also expanded the comments describing the h_u and h_v arguments to btcalc(), zonal_face_thickness(), and merid_face_thickness() routines, the diag_h[uv] elements of the accel_diag_ptrs type and the h_u and h_v elements of the BT_cont_type. All answers and output are bitwise identical in the MOM6-examples test suite and TC tests, but answer changes are possible in cases using a very recently added code option.
Configuration menu - View commit details
-
Copy full SHA for 2b2214d - Browse repository at this point
Copy the full SHA 2b2214dView commit details -
Configuration menu - View commit details
-
Copy full SHA for e5a5407 - Browse repository at this point
Copy the full SHA e5a5407View commit details -
Merge pull request #37 from Hallberg-NOAA/offline_tracer_fix
+(*)Get the offline tracer mode working again
Configuration menu - View commit details
-
Copy full SHA for 71cf831 - Browse repository at this point
Copy the full SHA 71cf831View commit details
Commits on Jan 3, 2022
-
Option to homogenize forces and fluxes (#51)
* Adds option to homogenize forces and fluxes fields - Adds functions to do global averages on U and V grids in MOM_spatial_means - Adds functionality to average all forcing and fluxes fields in MOM_forcing_types - Adds flag to average all forcing and fluxes in MOM.F90 - This new feature is primarily for running in single column like configurations with the coupler, which requires perfectly equal forcing across all cells. * Fixing ustar calculation in homogenize_mech_forcing - Adds in irho0 and sqrt that were missing in homogenize mech forcing. * Updates to homogenize_forcings options. - Correct issues in global_area_mean_u and global_area_mean_v to work with symmetric and rotated grids. - Add options to compute mean ustar or compute ustar from mean tau. - Add subroutines to replace averaging blocks in MOM_forcing_type. * Minor formatting updates - Move a division and reformat alignment in MOM_spatial_means.F90. - Remove a unused parameter in MOM_forcing_type.F90 - Reformat misalignment of an "if-block" in MOM_forcing_type.F90 * Remove obsolete netSalt flux homogenization - netSalt has been removed so no longer needs homogenized in the fluxes. * Fix 2d mean on U grid to use U mask * Remove whitespacace * Add do_not_log option to UPDATE_USTAR get_param
Configuration menu - View commit details
-
Copy full SHA for 2d32631 - Browse repository at this point
Copy the full SHA 2d32631View commit details
Commits on Jan 6, 2022
-
Hydrostatic initialization in ice cavities (#41)
* Hydrostatic initialization in ice cavities - Iteratively solve for the initial ice shelf displacement in cavities by calculating the pressure at the current displacement depth using the unperturbed profile. - This change should obsolete TRIM_IC_FOR_PSURF and DEPRESS_INITIAL_SURFACE for ice shelf applications and should work for arbitrary equations of state. - Existing implementations (e.g. ISOMIP) should turn off the above options in order to exercise this feature. - This code change should not impact non ice-shelf configurations or those with either of the above two options. * Addresses a number of issues identified in code review. * add appropriate intent to ice_shelf_query * fix unit scaling comments Co-authored-by: Marshall Ward <marshall.ward@noaa.gov>
Configuration menu - View commit details
-
Copy full SHA for df46be4 - Browse repository at this point
Copy the full SHA df46be4View commit details
Commits on Jan 8, 2022
-
Rewrite horizontal regridding to use netCDF wrapper functions (#48)
* Refresh attempt to get rid of NetCDF calls * Fix comments * Set netCDF attrs in MOM_horizontal_regridding This patch sets the following netCDF attributes in the function `horiz_interp_and_extrap_tracer_record` via `read_attribute`. * `missing_value` (as `_FillValue`) * `scale_factor` * `add_offset` This resolves some issues related to uninitialized values. * read_variable_2d in horizontal remapping This patch extends the `read_variable` interface to include 2d array support, in order to facilitate domainless I/O via netCDF calls. This is far from the best implementation (e.g. read_variable_2d introduces another `broadcast` alongside the original one in the horizontal regridding) but it addresses the immediate issues with `MOM_read_data()`. * set default scale factor to 1 * add missing start/count arguments * Update MOM_io.F90 * Manage optional args in read_variable_2d This patch modifies read_variable_2d so that the size() tests of the optional arguments are applied before the call to nf90_get_var. The tests are also wrapped inside present() flags to avoid checking unassigned variables. Thanks to Robert Hallberg for the suggestions. Co-authored-by: Matthew Harrison <Matthew.Harrison@noaa.gov>
Configuration menu - View commit details
-
Copy full SHA for f7a2254 - Browse repository at this point
Copy the full SHA f7a2254View commit details
Commits on Jan 10, 2022
-
Clean up non-standard syntax and whitespace
Eliminated a number of instances of non-standard syntax from that described in https://github.com/NOAA-GFDL/MOM6/wiki/Code-style-guide. The changes include enforcing the MOM6-standard 2-point indentation convention, replacing 'if(A)' with 'if (A)', and changing logical comparison syntax like '.gt.' to '>' or '.eq.' to '=='. An old commented out block of code for debugging (detected by its use of non-standard syntax) was also eliminated. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for d838ccd - Browse repository at this point
Copy the full SHA d838ccdView commit details -
Standardize code in calc_sfc_displacement
Slightly modified the recently added subroutine calc_sfc_displacement to document the units of its variables and to follow the MOM6 code standards from https://github.com/NOAA-GFDL/MOM6/wiki/Code-style-guide. The changes include white-space corrections, changing logical comparison syntax like '.gt.' to '>', and explicitly identifying where array syntax is used. All answers and output are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 6da5c9b - Browse repository at this point
Copy the full SHA 6da5c9bView commit details
Commits on Jan 24, 2022
-
+(*)Change the remapping dzInterface argument sign
Changed the name and sign convention for the dzInterface argument to remap_all_state_vars to reflect the convention used in the regridding code and to reflect the fact that this is always a vertical displacement. This change eliminates a subtle array-syntax whole-array multiplication (by -1.) in one call to remap_all_state_vars (this clearly violated MOM6 code standards), and it corrects an actual sign error that will change answers (perhaps from a state of catastrophic failure) in the code for the REGRID_ACCELERATE_INIT=True option if REMAP_UV_USING_OLD_ALG is also true and the initial velocities that are being remapped are non-zero. Also added comments describing the real variables inside of remap_all_state_vars to help clarify what they do. Fortunately the situation where answers change seems like a very uncommon combination of settings (it is possible that no one has ever tried this), and all answers in the MOM6-examples test suite are bitwise identical.
Configuration menu - View commit details
-
Copy full SHA for 9f0018f - Browse repository at this point
Copy the full SHA 9f0018fView commit details
Commits on Jan 25, 2022
-
Avoid divide by zero in horizontal_viscosity() with better_bound_kh
- I division by zero was encountered when using the back-scatter settings (negative viscosity) in NeverWorld2. It appears hrat_min(I,J) can be zero. Reading the code, it makes sense that hrat_min can be zero. The division was previously made conditional in 14971b4 also when using backscatter, but then only one part of the denomitor was used in the conditional. - I'm not sure why the backscatter setup is repeatedly hitting these edge cases or specific line of code. - This fix uses the entire denominator in the conditional.
Configuration menu - View commit details
-
Copy full SHA for 03a247e - Browse repository at this point
Copy the full SHA 03a247eView commit details -
Fix soft-conventional index capitalization in horizontal_viscosity()
- A previous re-factor for optimization introduced some inconsistent capitalization. This made it hard to understand the code, especially with some arrays being re-used at different grid locations.
Configuration menu - View commit details
-
Copy full SHA for e63c405 - Browse repository at this point
Copy the full SHA e63c405View commit details
Commits on Jan 26, 2022
-
* additions for stochastic physics and ePBL perts * cleanup of code and enhancement of ePBL perts * Update MOM_diabatic_driver.F90 remove conflict with dev/emc * Update MOM_diabatic_driver.F90 further resolve conflict * Update MOM_diabatic_driver.F90 put id_sppt_wts, etc back. * add stochy_restart writing to mom_cap * additions for stochy restarts * clean up debug statements * clean up code * fix non stochastic ePBL calculation * re-write of stochastic code to remove CPP directives * remove blank link in MOM_diagnostics * clean up MOM_domains * make stochastics optional * correct coupled_driver/ocean_model_MOM.F90 and other cleanup * clean up of code for MOM6 coding standards * remove stochastics container * revert MOM_domains.F90 * clean up of mom_ocean_model_nuopc.F90 * remove PE_here from mom_ocean_model_nuopc.F90 * remove debug statements * stochastic physics re-write * move stochastics to external directory * doxygen cleanup * add write_stoch_restart_ocn to MOM_stochastics * add logic to remove incrments from restart if outside IAU window * revert logic wrt increments * add comments * update to gfdl 20210806 (#74) * 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> * Fussing with zotero.bib. Getting a warning about a repeated bibliography entry for adcroft2004. Rob thinks this is a hash failure. * Still fussing with zotero.bib - it was complaining about the (unused) Kasahara reference. * Several little things, one is making sponge less verbose. - 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. * return a more accurate error message in MOM_stochasics * Working on boundary layer docs. * Done with EPBL docs? * Undoing some patches from others * Cleaning up too-new commits * Adding in that SAL commit again. * correction on type in directory name * Added some to vertical viscisity doc. * Cleaned up whitespace leftover from porous topomerge. - Spacing within expressions was uneven and made multiplation look like POW functions. Leftover from merging #3. - No answer changes. * Fix out-of-bounds k index in PPM flux - An errant use of the porous face area led to an out-of-bounds k-index reported in #19. - Closes #19 * Adding Channel drag figure * Take cite out of figure caption. * Copyright year 2022
Configuration menu - View commit details
-
Copy full SHA for 65998cd - Browse repository at this point
Copy the full SHA 65998cdView commit details