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

MOM6:(*)+Reproducing tracer stocks #73

Merged

Commits on Feb 21, 2022

  1. Report mean temperature from MOM_state_stats()

      Actually calculate the mean temperature and salinity reported by
    MOM_state_stats().  Due to an oversight, these means were always being reported
    as 0.  This changes the output when the debugging flag DEBUG_CONSERVATION=True.
    All answers are bitwise identical.
    Hallberg-NOAA committed Feb 21, 2022
    Configuration menu
    Copy the full SHA
    8e2e73e View commit details
    Browse the repository at this point in the history
  2. +Add global_mass_int_EFP

      Added the new function global_mass_int_EFP(), which is analogous to
    global_mass_integral but returns its result in extended fixed point (EFP_type)
    format and always uses reproducing sums, to facilitate layout-invariant
    global integrals but with the potential for deferred global reductions so that
    this last step can be combined for various global reductions for efficiency.
    All answers are bitwise identical, but there is a new public interface.
    Hallberg-NOAA committed Feb 21, 2022
    Configuration menu
    Copy the full SHA
    4dc1fd3 View commit details
    Browse the repository at this point in the history
  3. Use global_mass_integral in lateral_bdry_diff

      Use global_mass_integral for the debugging diagnostics of the tracer amounts
    before and after diffusion in lateral_boundary_diffusion, and replaced a call to
    write(*,*) with a call to MOM_mesg to actually write the message.  The
    global_mass_integral uses reproducing sums, and is invariant to layout, while
    MOM_mesg is preferable for output because it will allow us to more cleanly
    control how output is handled and which processors do the writing.  All
    solutions are bitwise identical, although some debugging output will change.
    Hallberg-NOAA committed Feb 21, 2022
    Configuration menu
    Copy the full SHA
    656a372 View commit details
    Browse the repository at this point in the history
  4. (*)+Reproducing tracer stocks

      Use reproducing sums for tabulating tracer stocks, and move the global sum for
    the tracer stocks form write_energy into call_tracer_stocks.  This involves
    changes to the type of an argument (from real to EFP_type) for two arguments to
    the internal routine store_stocks.  Existing tracer stock packages will still
    work, but to benefit from the reproducing sums, they will also have to change
    their reported values from real to EFP_type.  This is demonstrated for two
    packages (advection_test_tracer and ideal_age_example), where the stocks are now
    found with calls to global_mass_int_EFP(), replacing the previous explicit
    sums.  With this change, the reported stock values from these packages are
    identical for different PE layouts and can be much more accurate than before,
    but they are different from the previously reported values at roundoff (for
    positive-definite tracers), but it could be larger for tracers with a near-zero
    mean value.  All solutions are bitwise identical, but output changes.
    Hallberg-NOAA committed Feb 21, 2022
    Configuration menu
    Copy the full SHA
    9b2debd View commit details
    Browse the repository at this point in the history
  5. (*)+Use reproducing stocks for all tracer packages

      Modified the remaining tracer packages to use the reproducing stocks.  The
    reported stock values from these packages will have changed slightly, but they
    now reproduce across PE layouts.  All solutions are bitwise identical, but
    output changes.
    Hallberg-NOAA committed Feb 21, 2022
    Configuration menu
    Copy the full SHA
    f996d09 View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2022

  1. Removed trailing white space

      Removed trailing white space on two lines.  All answers are bitwise identical.
    Hallberg-NOAA committed Feb 23, 2022
    Configuration menu
    Copy the full SHA
    418bc66 View commit details
    Browse the repository at this point in the history