Skip to content
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

Update to gfdl 20200108 dev/master commit #14

Merged
merged 372 commits into from
Jan 21, 2020

Conversation

jiandewang
Copy link
Collaborator

@jiandewang jiandewang commented Jan 17, 2020

this resolves issue #13 , to update NOAA-EMC/MOM6 dev/emc to GFDL's newly committed dev/master (20200108, hash # 9f31539). This commit will change baseline results.

marshallward and others added 30 commits September 26, 2019 10:23
This patch addresses the inconsistency of signed zero in the minimum and
maximum values used in checksum report.

The behavior of the Fortran intrinsic min() and our MPI library's
implementation of MPI_Reduce with MPI_MIN can give different results for
different values of signed zero, e.g. min(0,-0) vs min(-0,0).
Additionally, the MPI_Reduce result appears to not consistenty follow
these rules in more complex MPI calculations.

Due to these issues, we add the result to positive zero to ensure that
any negative zero results are reported as positive.
  Added a new optional scale argument to calculate_density, calculate_spec_vel
calculate_density_derivs, calculate_density_second_derivs, and
calculate_specific_vol_derivs, to rescale the densities or related variables.
All answers are bitwise identical, but there are new optional arguments to
public interfaces.
  Rescale bulkmixedlayer densities and their derivatives via the calls to
calculate_density and calculate_density_derivs.  All answers are bitwise
identical.
  Rescaled density units in MOM_entrain_diffusive for dimensional consistency
testing.  All answers are bitwise identical.
  Changed the units of GV%Rlay from [kg m-3] to [R] for dimensional consistency
testing.  This required the addition of unit_scale_type arguments to several
interfaces.  All answers are bitwise identical, but new arguments have been
added to several public interfaces.
  Moved rescaling of Rlay to [R] into the various set_coord routines.  This
required the addition of unit_scale_type arguments to two interfaces.  All
answers are bitwise identical, but new arguments have been added to two
public interfaces.
  Changed the units of GV%Rho0 from [kg m-3] to [R] for dimensional consistency
testing.  This required the addition of unit_scale_type arguments to several
interfaces.  All answers are bitwise identical, but new arguments have been
added to several public interfaces and the units of an element in a public
type have changed.
  Rescaled density units in MOM_regularize_layers for dimensional consistency
testing.  All answers are bitwise identical.
  Rescaled density units in MOM_set_viscosity for dimensional consistency
testing.  All answers are bitwise identical.
  Rescaled density units in MOM_set_diffusivity for dimensional consistency
testing.  All answers are bitwise identical.
  Rescaled density units in MOM_kappa_shear for dimensional consistency
testing.  All answers are bitwise identical.
  Rescaled density units in MOM_internal_tide_input for dimensional consistency
testing.  All answers are bitwise identical.
  Rescaled density units in diagnoseMLDbyDensityDifference in MOM_diabatic_aux
for dimensional consistency testing.  All answers are bitwise identical.
  Rescaled density units in MOM_tidal_mixing for dimensional consistency
testing.  All answers are bitwise identical.
  Rescaled density units in MOM_geothermal for dimensional consistency
testing.  This required adding a unit_scale_type argument to geothermal_init.
All answers are bitwise identical, but a public interface has a new argument.
  Corrected dimensions in comments.  All answers are bitwise identical.
  Partially rescaled the units of itide%TKE_itidal_input for dimensional
consistency testing.  All answers are bitwise identical, but the units of an
element of a transparent public type have changed.
  Rescaled density units in MOM_energetic_PBL for dimensional consistency
testing.  All answers are bitwise identical.
  Rescaled the density units of the cTKE or TKE_forced variables passed to
energetic_PBL and applyBoundaryFluxesInOut for dimensional consistency testing.
All answers are bitwise identical, but the units of an argument to two public
interfaces have changed.
  Rescaled the specific volume (density) units of the dSV_dT and dSV_dS
variables passed to energetic_PBL, applyBoundaryFluxesInOut, and
absorbRemainingSW for dimensional consistency testing.  Also rescaled the
dimensions of TKE returned from absorbRemainingSW.  All answers are bitwise
identical, but the units of a arguments to 3 public interfaces have changed.
  Used GV%H_to_RZ to simplify rescalings in applyBoundaryFluxesInOut and
absorbRemainingSW.  All answer are bitwise identical.
  Rescaled the units of the mixed layer densities passed to apply_sponge and
set_up_sponge_ML_density to [R] for dimensional consistency testing.  This
required adding a unit_scale_type argument to RGC_initalize_sponges.  All
answers are bitwise identical, but the units of two arguments to public
interfaces have changed.
  Rescaled units of dRhodT in applyBoundaryFluxesInOut for dimensional
consistency testing.  All answers are bitwise identical.
  Rescaled density units in MOM_thickness_diffuse for dimensional consistency
testing.  All answers are bitwise identical.
  Rescaled units of diagnostic FrictWork variables in MOM_hor_visc.F90 for
dimensional consistency testing.  All answers are bitwise identical.
  Rescaled density units in MOM_mixed_layer_restrat for dimensional consistency
testing.  All answers are bitwise identical.
  Rescaled the units of variables set in or passed to set_int_tide_input for
dimensional consistency testing.  All answers are bitwise identical, but the
units of several arguments to public interfaces have been changed.
Hallberg-NOAA and others added 19 commits December 4, 2019 18:48
  Added an optional tmp_scale argument to global_i_mean and global_j_mean to
specify an internal rescaling of variables being averaged before the reproducing
sum.  All answers are bitwise identical, but there are new optional arguments
to two public interfaces.
  Use tmp_scale when taking the i-mean interface heights for i-mean sponges, to
give a greatly expanded range of dimensional consistency testing.  All answers
are bitwise identical.
MOM6: +(*)Dimensional consistency completion
  Refactored how time-averaging of fluxes in forcing types that span multiple
timesteps and flux diagnostics are handled, and rescaled the units of
fluxes%dt_buoy_accum from [s] to [T].  This involved changing the arguments to
fluxes_accumulate, forcing_accumulate, mech_forcing_diags and
forcing_diagnostics, but because of the differing types of the arguments, an
incompatible mix of code will not compile.  Also changed the units of dt as
passed to accumulate_net_input, and made a minor change to extractFluxes1d to
avoid the possibilty of a division by zero.  All answers are bitwise identical,
but there are public interface changes, including changes that impact the mct
and nuopc driver codes.
  Added the new runtime parameters KAPPA_SHEAR_ITER_BUG and KD_TRUNC_KAPPA_SHEAR
to permit correction of a dimensionally inconsistent expression in the Newton's
method solver code of kappa_shear, and to allow the value of shear mixing that
is neglected compared with the background mixing to be set at run-time instead
of being hard-coded.  By default, all answers are bitwise identical, but there
are two new runtime parameters and the MOM_parameter_doc files change.
  Added the new runtime parameter VERT_FRICTION_2018_ANSWERS that avoids the use
of the hard-coded maximum viscous mixing length per timestep in the vertical
viscosity code, and added h_neglect in the denominators of several terms in the
viscosity code.  All answers in the MOM6-examples test cases are bitwise
identical, but the answers will change if ANGSTROM is set to 0, and there is a
new entry in the MOM_parameter_doc files.
  Corrected arguments to iceberg_forces and iceberg_fluxes in the mct version of
update_ocean_model.  This should correct the recently introduced problems with
compiling MOM6 with the mct coupler.
@DeniseWorthen
Copy link
Collaborator

Jiande,

think it would be good to try to start documenting at even a basic level the amount of change we see when we update to a new MOM6 from GFDL. Even a figure showing the difference in SST after two days would allow us to get an idea of how much the model changes. Could you add a couple of figures showing this?

@jiandewang
Copy link
Collaborator Author

jiandewang commented Jan 17, 2020 via email

@jiandewang
Copy link
Collaborator Author

I studied the run log of compset runs and compared with current master runs, the failure in "report.txt"(MOM6_RESTART/MOM.res_1.nc: bit-for-bit MISMATCH) is due to the fact that there is one more variable being added to MOM6 restart file (MOM.res_1.nc, new variable name: kg_m3_to_R) in this commit of MOM6. On the other hand, MOM6 output remain unchanged.

Copy link
Collaborator

@DeniseWorthen DeniseWorthen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's great to be able to document that this changes baseline only because of added fields in MOM6 restarts.

I'm comfortable merging to develop and wrapping the MOM6 update into the other baseline changing updates we have upcoming for s2s (fv3 bug fix, remove merge in nems).

@jiandewang jiandewang merged commit 161cbb9 into NOAA-EMC:dev/emc Jan 21, 2020
@jiandewang
Copy link
Collaborator Author

this resolve issue #13

@jiandewang jiandewang mentioned this pull request Jan 21, 2020
jiandewang pushed a commit to jiandewang/MOM6 that referenced this pull request Jun 17, 2021
Merge in latest dev/gfdl updates
@jiandewang jiandewang deleted the update-to-GFDL-20200108 branch February 28, 2023 03:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants