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

Dev gfdl main candidate 2021 07 08 #1440

Merged
merged 304 commits into from
Jul 23, 2021
Merged
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Jun 5, 2020

  1. Merge branch 'dev/gfdl' of github.com:NOAA-GFDL/MOM6 into dev/gfdl

    * 'dev/gfdl' of github.com:NOAA-GFDL/MOM6:
      Fix to out-of-bounds error
      Slight improvement in writeMessageAndDesc
      Corrected recent bug in writeMessageAndDesc
      Included H_subroundoff in a denominator
      +Added code to handle tab lengths in documentation
      Added explicit form of cpu_clock_id
      (*)Improve ePBL when EPBL_ORIGINAL_PE_CALC=False
      Alternate fix for divide-by-zero.
      Clean up some divide-by-zero issues in OBCs.
      Added a space to a description.
      Codecov: Set base as parent (target) branch
      Fixes an integer-kind mismatch in MOM_random, seed_from_time() (#1113)
    wrongkindofdoctor committed Jun 5, 2020
    Configuration menu
    Copy the full SHA
    b8eee45 View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2020

  1. Merge pull request #59 from NOAA-GFDL/dev/gfdl

    Merge in dev/gfdl updates
    wrongkindofdoctor authored Jun 9, 2020
    Configuration menu
    Copy the full SHA
    cea55fe View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2020

  1. Merge pull request #60 from NOAA-GFDL/dev/gfdl

    Sync with MOM6 dev/gfdl
    wrongkindofdoctor authored Jul 7, 2020
    Configuration menu
    Copy the full SHA
    ff34126 View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2020

  1. Merge pull request #61 from NOAA-GFDL/dev/gfdl

    Sync with NOAA-GFDL dev/gfdl
    wrongkindofdoctor authored Jul 13, 2020
    Configuration menu
    Copy the full SHA
    763b176 View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2020

  1. Configuration menu
    Copy the full SHA
    cbdcf8a View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2020

  1. Merge pull request #62 from NOAA-GFDL/dev/gfdl

    sync with dev/gfdl
    wrongkindofdoctor authored Jul 22, 2020
    Configuration menu
    Copy the full SHA
    50c3539 View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2020

  1. Merge pull request #63 from NOAA-GFDL/dev/gfdl

    Sync with NOAA-GFDL dev/gfdl
    wrongkindofdoctor authored Jul 28, 2020
    Configuration menu
    Copy the full SHA
    de7f95a View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2020

  1. Merge pull request #64 from NOAA-GFDL/dev/gfdl

    Sync with NOAA-GFDL dev/gfdl
    wrongkindofdoctor authored Jul 31, 2020
    Configuration menu
    Copy the full SHA
    0cf3cb9 View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2020

  1. Merge pull request #65 from NOAA-GFDL/dev/gfdl

    Sync with NOAA-GFDL
    wrongkindofdoctor authored Aug 17, 2020
    Configuration menu
    Copy the full SHA
    c8695c6 View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2020

  1. Merge pull request #66 from NOAA-GFDL/dev/gfdl

    Sync with NOAA-GFDL dev/gfdl
    wrongkindofdoctor authored Aug 24, 2020
    Configuration menu
    Copy the full SHA
    40047fa View commit details
    Browse the repository at this point in the history
  2. converted save_restart and restore_state to interface that call versi…

    …ons of the routines with the fms-io or fms2-io interfaces
    
    added module use statments for fms2_io and MOM_io helper routines to MOM_restart
    added use_fms2=.true. arguments to save_restart and restore_state calls
    added write_ic=.true. to the save_restart call in MOM.F90
    
    added module MOM_axis with routines to define and register axes and their metadata
    added module MOM_read_data_fms2.F90 with wrappers for fms2_io read_data interfaces and required routines
    added module MOM_write_field_fms2.F90 with wrappers for fms2_io write_data interfaces
    updated module use statments in MOM_io and MOM_restart to reference routines in MOM_read_data_fms2, MOM_write_field_fms2, and MOM_axis
    made write_field and create_file interfaces in MOM_io
    added create_file routines to MOM_io that accept file names or file objects to create/overwrite netcdf files that will be written to via write_field calls
    
    fixed compile-time errors
    added new MOM_read_data routines to MOM_read_data interface in MOM_io
    added placeholder call for new write_field routines to MOM_io
    
    changed use_fms2 to a required first argument in save_restart_fms2 and restore_state_fms2
    changed write_ic to a required argument in write_initial_conditions
    
    fixed the layer and interface checks in MOM_get_diagnostic_axis_data
    
    commented out manual checksum registration in save_restart_fms2 so that internal fms2-io checksum computation is used
    
    added checks for time units to restore_state and save_restart
    added logic to make the restart time 1 to save_restart_fms2 if there is an abnormally large value passed to the routine
    added interface routine file_exists_FMS2 that uses the fms2_io file_exists call
    
    added subroutine get_num_restart_files to MOM_restart that searches for known variants of the input file names and returns then number of restart files available for querying, and the optional list of filepaths
    added loop to search the files for all mandatory variables in the list of file paths returned to by cal to get_num_restart_files
    added calls to get the variable dimension names and pass them as arguments to register_restart_field in restore_state_fms2
    
    removed exit from inner variable loop in restore_state_fms2
    code cleanup
    
    moved missing_fields=0 outside of the CS loop in restore_state_fms2
    
    moved missing_fields=0 outside of the CS loop in restore_state_fms2
    
    converted save_restart and restore_state to interface that call versions of the routines with the fms-io or fms2-io interfaces
    added module use statments for fms2_io and MOM_io helper routines to MOM_restart
    added use_fms2=.true. arguments to save_restart and restore_state calls
    added write_ic=.true. to the save_restart call in MOM.F90
    
    added module MOM_axis with routines to define and register axes and their metadata
    added module MOM_read_data_fms2.F90 with wrappers for fms2_io read_data interfaces and required routines
    added module MOM_write_field_fms2.F90 with wrappers for fms2_io write_data interfaces
    updated module use statments in MOM_io and MOM_restart to reference routines in MOM_read_data_fms2, MOM_write_field_fms2, and MOM_axis
    made write_field and create_file interfaces in MOM_io
    added create_file routines to MOM_io that accept file names or file objects to create/overwrite netcdf files that will be written to via write_field calls
    
    fixed compile-time errors
    added new MOM_read_data routines to MOM_read_data interface in MOM_io
    added placeholder call for new write_field routines to MOM_io
    
    changed use_fms2 to a required first argument in save_restart_fms2 and restore_state_fms2
    changed write_ic to a required argument in write_initial_conditions
    
    fixed the layer and interface checks in MOM_get_diagnostic_axis_data
    
    commented out manual checksum registration in save_restart_fms2 so that internal fms2-io checksum computation is used
    
    added checks for time units to restore_state and save_restart
    added logic to make the restart time 1 to save_restart_fms2 if there is an abnormally large value passed to the routine
    added interface routine file_exists_FMS2 that uses the fms2_io file_exists call
    
    added subroutine get_num_restart_files to MOM_restart that searches for known variants of the input file names and returns then number of restart files available for querying, and the optional list of filepaths
    added loop to search the files for all mandatory variables in the list of file paths returned to by cal to get_num_restart_files
    added calls to get the variable dimension names and pass them as arguments to register_restart_field in restore_state_fms2
    
    removed exit from inner variable loop in restore_state_fms2
    code cleanup
    
    removed test workflow directory
    
    moved missing_fields=0 outside of the CS loop in restore_state_fms2
    
    converted save_restart and restore_state to interface that call versions of the routines with the fms-io or fms2-io interfaces
    added module use statments for fms2_io and MOM_io helper routines to MOM_restart
    added use_fms2=.true. arguments to save_restart and restore_state calls
    added write_ic=.true. to the save_restart call in MOM.F90
    
    added module MOM_axis with routines to define and register axes and their metadata
    added module MOM_read_data_fms2.F90 with wrappers for fms2_io read_data interfaces and required routines
    added module MOM_write_field_fms2.F90 with wrappers for fms2_io write_data interfaces
    updated module use statments in MOM_io and MOM_restart to reference routines in MOM_read_data_fms2, MOM_write_field_fms2, and MOM_axis
    made write_field and create_file interfaces in MOM_io
    added create_file routines to MOM_io that accept file names or file objects to create/overwrite netcdf files that will be written to via write_field calls
    
    fixed compile-time errors
    added new MOM_read_data routines to MOM_read_data interface in MOM_io
    added placeholder call for new write_field routines to MOM_io
    
    changed use_fms2 to a required first argument in save_restart_fms2 and restore_state_fms2
    changed write_ic to a required argument in write_initial_conditions
    
    fixed the layer and interface checks in MOM_get_diagnostic_axis_data
    
    commented out manual checksum registration in save_restart_fms2 so that internal fms2-io checksum computation is used
    
    added checks for time units to restore_state and save_restart
    added logic to make the restart time 1 to save_restart_fms2 if there is an abnormally large value passed to the routine
    added interface routine file_exists_FMS2 that uses the fms2_io file_exists call
    
    added subroutine get_num_restart_files to MOM_restart that searches for known variants of the input file names and returns then number of restart files available for querying, and the optional list of filepaths
    added loop to search the files for all mandatory variables in the list of file paths returned to by cal to get_num_restart_files
    added calls to get the variable dimension names and pass them as arguments to register_restart_field in restore_state_fms2
    
    removed exit from inner variable loop in restore_state_fms2
    code cleanup
    
    removed test workflow directory
    
    removed white space
    
    updated FMS tag in .testing Makefile
    fixed argument comments to use doxygen style in MOM_write_field_fms2
    
    code cleanup
    
    removed \TODO from MOM_restart
    fixed documentation for module variables in MOM_read_data_fms2 and MOM_write_field_fms2
    
    removed doxygenized TODO statements
    
    removed new MOM_read_data routines from interface, and commented out calls in MOM_io
    fixed doxygen definitions
    
    more doxygen fixes
    
    changed save_restart and restore_state to wrapper routines with opitional use_fms2 and write_ic arguments
    added use_fms2=.true. and write_ic=.true. to save_restart and restore_state calls
    
    removed the error messages from append_substring
    tried reordering the write_ic and use_fms2 checks in save_restart to fix error with invalid memory reference in the MOM.F90 call to save_restart-write_initial_conditions
    wrongkindofdoctor committed Aug 24, 2020
    Configuration menu
    Copy the full SHA
    5c2daa5 View commit details
    Browse the repository at this point in the history
  3. changed FMS release to 2020.03-beta1

    wrongkindofdoctor committed Aug 24, 2020
    Configuration menu
    Copy the full SHA
    a74c7ea View commit details
    Browse the repository at this point in the history
  4. added local logical variables to save restart wrapper that are set us…

    …ing the use_fms2 and write_ic flags if present to avoid invalid memory reference error
    
    added str_len argument to register_variable_attribute calls
    
    added support to for rotated fields to write_initial_conditions and save_restart_fms2
    
    removed whitespace
    wrongkindofdoctor committed Aug 24, 2020
    Configuration menu
    Copy the full SHA
    809b3ac View commit details
    Browse the repository at this point in the history
  5. removed errant .true. in save_restart call

    removed use_fms2 optional arguments in save_restart, restore_state, and create_file
    made use_fms2 a MOM_restart module variable
    
    Update MOM_state_initialization.F90
    
    Remove space.
    
    Update MOM_ice_shelf.F90
    
    Add space.
    
    Update MOM_driver.F90
    
    Add space
    
    Update mom_surface_forcing_mct.F90
    
    remove whitespace
    
    Update ocean_model_MOM.F90
    
    Add space
    
    Update mom_ocean_model_nuopc.F90
    
    Add space
    
    Update MOM_surface_forcing.F90
    
    Add space
    
    Changes needed work ESM4 to run with new io
    wrongkindofdoctor authored and wrongkindofdoctor committed Aug 24, 2020
    Configuration menu
    Copy the full SHA
    2e46ea6 View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2021

  1. Correct module use statements in infra/FMS1

      Corrected three module use statements in infra/FMS1 to eliminate any
    dependencies of code in config_src/infra/FMS1 on code in src/framework.  These
    use statements eventually point to the same place as before, but with less
    indirection.  This change should facilitate later steps to compile everything
    in and under the config_src/infra directories as libraries.  All answers are
    bitwise identical.
    Hallberg-NOAA committed Mar 6, 2021
    Configuration menu
    Copy the full SHA
    f806579 View commit details
    Browse the repository at this point in the history
  2. Duplicated infra/FMS1 into infra/FMS2

      Duplicated all of the modules in infra/FMS1 into new copies in infra/FMS2, in
    preparation for merging in the FMS2 i/o changes to the new infra/FMS2 directory.
    All answers are bitwise identical, regardless of which config_src/infra
    directory is used.
    Hallberg-NOAA committed Mar 6, 2021
    Configuration menu
    Copy the full SHA
    d4531ca View commit details
    Browse the repository at this point in the history
  3. Explicitly set (1x1) io_domain as a default

      Added code to explicitly set a (1x1) io_domain when no other io_layout is
    specified, complying with changing requirements for 2020 and later versions of
    FMS, and following the default behavior of previous versions.  All answers are
    bitwise identical.
    Hallberg-NOAA committed Mar 6, 2021
    Configuration menu
    Copy the full SHA
    a077573 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2021

  1. Merge branch 'user/jml/add_fms2io_to_MOM_restart' of https://github.c…

    …om/wrongkindofdoctor/MOM6 into FMS2_io
    
      Merged in PR #1165, "Add fms2-io to MOM restart interfaces", but with
    modifications to move the new files to config_src/infra/FMS2, where they belong,
    and to avoid inappropriate changes to code in the src/framework directory.  All
    existing tests are passing with config_src/infra/FMS1, but the new changes
    require that the version of FMS used with config_src/infra/FMS2 to at least
    2020.03, and this disables all of our AM2-based coupled test cases (due to the
    deliberate decision from the GFDL Modeling Systems group to drop support for
    this older atmospheric model).
    
      Although the new code reproduces the previous answers in ocean_only and
    ice_ocean_SIS2 test cases with the intel and gnu compilers, with the pgi
    (19.10.0) compiler there are fatal errors in all ice_ocean_SIS2 cases and in
    ocean_only cases driven by data override.  The last version of FMS where the pgi
    compiler works in all cases is 2019.01. The problem in some ocean_only cases
    appears to be related to the use of FMS2 i/o calls in the data_override
    routines.  With the ice_ocean_SIS2 cases, the error message in with the pgi
    compiler is "mpp_broadcast_text: broadcasting from invalid PE.".
    
     (Note that with the newer versions of FMS (2020.03 and later), OM_1deg requires
    that the namelist file for data_override_nml has the added line
    {reproduce_null_char_bug = .true.} to reproduce the previous answers, but it is
    a fatal error to add this setting with FMS versions before 2020.03.)
    Hallberg-NOAA committed Mar 7, 2021
    Configuration menu
    Copy the full SHA
    f2459ec View commit details
    Browse the repository at this point in the history
  2. +Simplified read_data_fms2 and write_field_fms2

      Eliminated scale_data from MOM_read_data_fms2, as it was duplicative of
    rescale_comp_data from MOM_domain_infra.F90.  Also eliminated the optional scale
    argument from the fms2 write_field routines, because this scaling is already
    handled in the framework/MOM_io.F90 routines, and because the way the scaling
    was implemented with a pointer to defeat the intent(in) of the data array to
    the write routines was a deviously terrible idea that would cause endless
    problems.  Because the mpp_domain in the MOM_domain_types have been modified to
    always have an io_domain set, the test and calls setting an io_domain in all of
    the fms2 read_data and fms2 write_data routines.  In addition, there is no
    longer a need for a routine to read specifically from the supergrid, so the fms2
    MOM_read_data_2d_supergrid routine was eliminated.  The code compiles with these
    changes, but none of this fms2 I/O code is exercised yet in MOM6, so of course
    all answers are bitwise identical.
    Hallberg-NOAA committed Mar 7, 2021
    Configuration menu
    Copy the full SHA
    0ba1aa5 View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2021

  1. +Change arguments to MOM_register_variable_axes

      Replaced the two optional arguments xPosition and yPosition to the two
    routines wrapped by the interface MOM_register_variable_axes in MOM_axis.F90
    with a single optional argument, position.  Also dramatically refactored the
    code in read_data_fms2.F90 to eliminate unused variants and adding more granular
    subroutines to dramatically reduce duplicative code, eliminating several
    (unexercised) bugs in the process; that file went from 1441 lines long to 924.
    The code compiles with these changes, but none of this fms2 I/O code is
    exercised yet in MOM6, so of course all answers are bitwise identical.
    Hallberg-NOAA committed Mar 9, 2021
    Configuration menu
    Copy the full SHA
    c68fedf View commit details
    Browse the repository at this point in the history
  2. Clean up in MOM_restart.F90

      Cleaned up MOM_restart.F90 in the wake of the recent merge of FMS2 I/O related
    changes into MOM6.  The changes include calling the recently added functions
    get_variable_byte_size and get_num_restart_files, and revising the names of
    several variables in open_restart_units and the order in which the count of
    files is incremented for greater clarity.  There are also a number of
    duplicative comments that were removed while others were reformatted.  All
    answers and output are bitwise identical.
    Hallberg-NOAA committed Mar 9, 2021
    Configuration menu
    Copy the full SHA
    23a78d2 View commit details
    Browse the repository at this point in the history

Commits on Mar 12, 2021

  1. +Add ability to read fields via FMS2 interfaces

      Added the option to use FMS2 interfaces to read variables in the FMS2 version
    of MOM_io_infra.F90.  For now, this is controlled by a hard-coded module
    variable, FMS2_reads, in MOM_io.F90.  Also extensively revised MOM_read_fms2.F90
    to add the new public subroutine prepare_to_read_var that is used from
    MOM_io_infra.F90, to systematically determine the directions that axes in files
    using the cartesian_axis attribute before resorting to using the axis names or
    units.  All of the subroutines from MOM_read_fms2.F90 whose functionality has
    been merged into MOM_io_infra.F90 have now been removed.  All answers are
    bitwise identical and reproduce the FMS1 test cases, but there is a new publicly
    visible routine.
    Hallberg-NOAA committed Mar 12, 2021
    Configuration menu
    Copy the full SHA
    aab2ad6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9123209 View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2021

  1. Configuration menu
    Copy the full SHA
    30b0571 View commit details
    Browse the repository at this point in the history
  2. Only write checksums from root PE for FMS_cap

      Modified the routines that write out the checksums of various types related to
    the surface ocean state so that only the root PE writes the checksums.  The
    modified routines are ocn_ice_bnd_type_chksum and ocean_public_type_chksum in
    config_src/infra/FMS_cap.  The analogous routines with the nuopc_cap and mct_cap
    have not been modified; although doing so would be a very good idea, it should
    be done by someone who is actively testing them.  In some large-PE tests cases
    this reduces the volume of output to stdout by over 90% without any loss of
    information.  All solutions are bitwise identical, but there may be minor
    white-space reformatting of the output in some cases.
    Hallberg-NOAA committed Mar 13, 2021
    Configuration menu
    Copy the full SHA
    09173f7 View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2021

  1. +Separate MOM_interp_infra axistype from MOM_io

      Use axistype for MOM_interp_infra directly from mpp_io_mod and add a copy of
    get_axis_data to both copies of infra/FMS[12]/MOM_interp_infra.F90, and then use
    these in framework/MOM_horizontal_regridding.F90, to permit the MOM6 I/O calls
    to use the FMS2 interfaces without simultaneously requiring changes to the
    horizontal interpolation code.  All answers are bitwise identical, but there
    are changes to the interfaces offered by a public module.
    Hallberg-NOAA committed Mar 18, 2021
    Configuration menu
    Copy the full SHA
    ee0152f View commit details
    Browse the repository at this point in the history
  2. +Add edge_axis argument to write_metadata_axis

      Added a new optional logical argument to write_metadata_axis to indicate when
    an axis is staggered at the edges of the tracer grid, and changed calls to
    get_file_info to stop requesting the number of global attributes.  Also
    eliminated some unused optional arguments to the FMS1 version of write_metadata
    field.  All answers are bitwise identical, but there are minor changes to
    some I/O related interfaces.
    Hallberg-NOAA committed Mar 18, 2021
    Configuration menu
    Copy the full SHA
    f89ddea View commit details
    Browse the repository at this point in the history
  3. Correct warnings from categorize_axis

     Corrected the logic of a warning message in categorize_axis by adding
    parentheses.  All answers are bitwise identical, and spurious warnings are no
    longer being issued.
    Hallberg-NOAA committed Mar 18, 2021
    Configuration menu
    Copy the full SHA
    0fdc5c4 View commit details
    Browse the repository at this point in the history
  4. Added code to write via FMS2 interfaces

      Added a large number of calls to handle all of the writes via the FMS2
    interfaces to infra/FMS2/MOM_io_infra.F90.  There are newly defined private
    types in MOM_io_infra to wrap the axistype and fieldtype that had previously
    been offered from mpp_io_mod.  All answers are bitwise identical and it has been
    verified that output files do not change and the restarts are still working.
    Hallberg-NOAA committed Mar 18, 2021
    Configuration menu
    Copy the full SHA
    255233b View commit details
    Browse the repository at this point in the history
  5. Removed FMS2 MOM_axis and MOM_write_field_fms2

      Deleted the unused MOM_axis.F90 and MOM_write_field_fms2.F90 modules, now
    that MOM_io_infra.F90 has been updated to be able to use FMS2 interfaces for
    both reading and writing to files.  As these modules had never been used, they
    do not change any answers.
    Hallberg-NOAA committed Mar 18, 2021
    Configuration menu
    Copy the full SHA
    03e174e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4843c6c View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2021

  1. +FMS2 reads for ints & MOM_read_data_fms2 cleanup

      Added variants of MOM_read_data_0d, MOM_read_data_0d_int, MOM_read_data_1d,
    MOM_read_data_1d_int, and MOM_read_data_2d_region that use the FMS2 interfaces
    to read data.  Also altered prepare_to_read_var so that it does not open a file
    (which had been an option before); one argument to prepare_to_read_var was no
    longer needed and so it was removed.  Also added a public interface to
    find_varname_in_file that does the same as prepare_to_read_var but works on the
    other FMS2 file type without domain decomposition.  Several unused and now
    redundant routines were removed from MOM_read_data_fms2.F90. Comments describing
    a number of variables were also added.  All of these changes are confined to
    config_src/infra/FMS2, and all answers are bitwise identical.
    Hallberg-NOAA committed Mar 19, 2021
    Configuration menu
    Copy the full SHA
    84d5e21 View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2021

  1. Configuration menu
    Copy the full SHA
    66ac810 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #4 from gustavo-marques/less_checksums_mct_nuopc

    Only write checksums from root PE MCT/NUOPC caps
    Hallberg-NOAA authored Mar 22, 2021
    Configuration menu
    Copy the full SHA
    2579d07 View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2021

  1. +Move FMS2 read helper routines into MOM_io_infra

      Moved the routines prepare_to_read_var and find_varname_in_file, along with
    four other routines that prepare_to_read_var calls from MOM_read_data_fms2 to
    MOM_io_infra, and eliminated the file MOM_read_data_fms2.F90.  All answers are
    bitwise identical, but this rearrangement of identical code does eliminate one
    public module, so that the file structure of infra/FMS2 is identical to that of
    infra/FMS1.
    Hallberg-NOAA committed Mar 23, 2021
    Configuration menu
    Copy the full SHA
    3fe07d4 View commit details
    Browse the repository at this point in the history
  2. A call to pass_vector(...) is needed to correctly do a halo exchange …

    …before getting currents in A- or B-grid staggering. Now added.
    sanAkel committed Mar 23, 2021
    Configuration menu
    Copy the full SHA
    17afc2b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fad7e0d View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2021

  1. Add missing ".nc" to FMS2 output filenames

      Add a missing ".nc" suffix to the output filename with FMS2_io, while also
    issuing a warning, following the practice of FMS1.  Also reordered the calls to
    add the longname and axis attributes to FMS2 files, to follow the order used in
    MOM6 calls to FMS1.  All answers are bitwise identical, but there are some
    changes to output filenames and orders of attributes in files (to revert to
    traditional behavior).
    Hallberg-NOAA committed Mar 24, 2021
    Configuration menu
    Copy the full SHA
    7bdecbc View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2021

  1. Merge pull request #1 from NOAA-GFDL/dev/gfdl

    dev/gfdl updates
    OlgaSergienko authored Mar 25, 2021
    Configuration menu
    Copy the full SHA
    f4ba5a3 View commit details
    Browse the repository at this point in the history
  2. Read from file ice flow

    OlgaSergienko committed Mar 25, 2021
    Configuration menu
    Copy the full SHA
    3f32833 View commit details
    Browse the repository at this point in the history
  3. Explicit domain decomposition of horizontal axes

    FMS2 restart routines expect axes to be domain-decomposed.  However, the
    domain_write_1d function does not apply this decomposition and instead
    routes this operation to compressed_write_1d.
    
    In order to accommodate this, we explicitly slice the 1d arrays of any
    axes into its domain-decomposed segment before passing to write_data.
    We have also introduced a control flag to MOM's FMS2 axistype to direct
    MOM_write_axis when this needs to be applied.
    
    We currently apply the domain decomposition flag to all horizontal axes
    regardless of circumstances.  For now this is probably sufficient, but
    may need further testing (e.g. cube sphere).
    marshallward committed Mar 25, 2021
    Configuration menu
    Copy the full SHA
    ba643bd View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2021

  1. Merge pull request #5 from marshallward/FMS2_io_writes

    Explicit domain decomposition of horizontal axes
    Hallberg-NOAA authored Mar 26, 2021
    Configuration menu
    Copy the full SHA
    81c48cb View commit details
    Browse the repository at this point in the history
  2. Fix distributed reads of checksums using FMS2_io

      Corrects reads of hexadecimal checksum attributes from distributed files when
    using the FMS2 IO interfaces.  All answers are bitwise identical, and reads and
    writes of distributed sets of restart files are now working with the FMS2 IO
    interfaces.
    Hallberg-NOAA committed Mar 26, 2021
    Configuration menu
    Copy the full SHA
    95ad937 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f6105cb View commit details
    Browse the repository at this point in the history
  4. Merge pull request #1352 from Hallberg-NOAA/FMS2_io

    +Enable FMS2 interface reads (includes merge of PR #1165)
    marshallward authored Mar 26, 2021
    Configuration menu
    Copy the full SHA
    fe9b2a1 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b044be8 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5669d43 View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2021

  1. Merge pull request #1353 from Hallberg-NOAA/less_checksums

    Only write checksums from root PE for FMS_cap
    Hallberg-NOAA authored Mar 27, 2021
    Configuration menu
    Copy the full SHA
    67b03e3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6c2b944 View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2021

  1. Merge pull request #1356 from GEOS-ESM/bugfix/sanAkel/output-b-grid-c…

    …urrents
    
    Bugfix in getting surface currents [Additions from GMAO (3)]
    Hallberg-NOAA authored Mar 28, 2021
    Configuration menu
    Copy the full SHA
    13f1e70 View commit details
    Browse the repository at this point in the history
  2. Remove inappropriate timelevel arguments

      Remove timelevel arguments from MOM_read_data calls for variables that should
    never have multiple time-levels.  All answers are bitwise identical, and this
    will eliminate some warning messages in output.
    Hallberg-NOAA committed Mar 28, 2021
    Configuration menu
    Copy the full SHA
    c62d51f View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2021

  1. Configuration menu
    Copy the full SHA
    4fd3807 View commit details
    Browse the repository at this point in the history
  2. MOM_hor_visc: Variables moved to stack

    New diagnostics to horizontal_viscosity were causing issues with stack
    memory on some platforms, causing the runtime to more than double.
    
    Two of the diagnostics were allocatables and the other two were local
    variables.  By redefining the two allocatables as locals (and presumably
    moving to stack), the faster performance was restored.
    
    While the underlying cause is unclear, this is almost certainly due to
    stack spill in this function, which happens to have a large number of
    local arrays - including many 3d arrays used to gather diagnostics - and
    any new variable is going to have volatile consequences.
    
    This should be seen as a short term fix.  In the future, we need better
    tools to detect this problem and better guidance on how to responsibly
    use stack.
    
    Also note that two variables were removed: `max_diss_rate_[qh]`.
    Neither variable was used in the function.
    marshallward committed Mar 29, 2021
    Configuration menu
    Copy the full SHA
    2ffea27 View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2021

  1. Configuration menu
    Copy the full SHA
    ae56912 View commit details
    Browse the repository at this point in the history
  2. Merging changes from dev/gfdl

    Merge branch 'ice_dynamics' of https://github.com/OlgaSergienko/MOM6 into ice_dynamics
    OlgaSergienko committed Mar 30, 2021
    Configuration menu
    Copy the full SHA
    7f89c12 View commit details
    Browse the repository at this point in the history

Commits on Mar 31, 2021

  1. Merge pull request #1359 from Hallberg-NOAA/FMS2_io_writes

    +Enable FMS2 interface writes
    marshallward authored Mar 31, 2021
    Configuration menu
    Copy the full SHA
    813fc79 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    97f1117 View commit details
    Browse the repository at this point in the history
  3. +Add coupler_types interfaces needed by SIS2

      Added additional wrappers to the MOM6 framework and MOM_couplertype_infra for
    coupler_types routines and types that are needed by SIS2.  These include support
    for the use of a coupler_3d_bc_type, including as overloads to the existing
    coupler_type_spawn, coupler_type_copy_data, coupler_type_increment_data,
    coupler_type_initialized and coupler_type_write_chksums.  There are also new
    overloaded wrappers in all three files for coupler_type_redistribute_data,
    coupler_type_data_override, coupler_type_rescale_data.  All answers are bitwise
    identical.
    Hallberg-NOAA committed Mar 31, 2021
    Configuration menu
    Copy the full SHA
    cfa59aa View commit details
    Browse the repository at this point in the history
  4. +Add MOM_domains interfaces needed by SIS2

      Added additional domain routine interfaces that are needed by SIS2, including
    the new function same_domain, which tests whether two domains use the same
    layout and conforming computational domain sizes, and a new 4d-array variant of
    redistribute_array because SIS2 uses thickness categories as a 4th dimension.
    All answers are bitwise identical.
    Hallberg-NOAA committed Mar 31, 2021
    Configuration menu
    Copy the full SHA
    3c1cb2e View commit details
    Browse the repository at this point in the history
  5. Merge pull request #1360 from Hallberg-NOAA/fewer_timelevels

    Remove inappropriate timelevel arguments
    marshallward authored Mar 31, 2021
    Configuration menu
    Copy the full SHA
    6d4a483 View commit details
    Browse the repository at this point in the history

Commits on Apr 1, 2021

  1. Configuration menu
    Copy the full SHA
    665cd9a View commit details
    Browse the repository at this point in the history
  2. Fixed downsampling for x:sum y:point z:point diags

    - previous code had averaging instead of summation for
      SPP (x:sum,y:point,z:point) diagnostics
    - corrects an issue where these diagnostics were incorrect
      by approximately a factor of 2.
    - Orginially found when analyzing the depth-integrated
      temperature advection diagnostic (T_ady_2d)
    jkrasting committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    9792b23 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1362 from marshallward/horvisc_diag_to_stack

    MOM_hor_visc: Variables moved to stack
    Hallberg-NOAA authored Apr 1, 2021
    Configuration menu
    Copy the full SHA
    2b6d3e1 View commit details
    Browse the repository at this point in the history
  4. Coriolis: Improved coradcalc vectorization

    This patch restructures the CorAdCalc function so that the loops are
    more easily vectorized on a broader range of systems. The number of
    memory access has also been slightly reduced.
    
    We observed a 1.75x speedup on a modern consumer AMD processor (Ryzen 5
    2600) and a 1.24x speedup on Gaea's Intel Xeons (E5-2697 v4).
    Description
    
    There are two major changes:
    
    - An if-block testing for `Area_q` was removed, and the `h_neglect *
      Area_q` term was replaced with a new `vol_neglect` term.
    
      This term is intended to prevent division by zero when the hArea_q is
      zero.  Otherwise, it is meant to be below roundoff and have no impact
      on the calculation.
    
      Previously, a zero value of Area_q would force a division by zero.
      Using vol_neglect ensures that the denominator is always nonzero.
    
      The value is set to use `H_subroundoff` times an area of 0.1 mm2,
      suggested by Robert Hallberg as a hypothetical Kolmogorov scale.
      Numerical results are intended to be independent of this choice.
    
    - Two separated loops associated with the bounded Coriolis term were
      combined into a single loop, which reduced both the number of internal
      if-blocks and avoided redundant memory load/stores.
    
    Other if-blocks inside of do-loops were moved outside of the loops.
    
    I can provide two potential explanations for the difference in Intel and
    AMD performance:
    
    * Masking instructions have a lower latency on Intel CPUs, which permit
      limited vectorization of if-blocks. Similar vectorization is not
      possible on AMD CPUs. So Intel is less likely to benefit from if-block
      re-ordering.
    
    * Our Intel nodes on Gaea have a lower RAM bandwidth, and see a smaller
      benefit from vectorization, which must required greater bandwidth.
      This speedup may be greater on a more modern Intel platform.
    
    Although the code has been vectorized on both Intel and AMD platforms,
    there are still many memory accesses per operation, which is limiting
    performance.
    
    The changes below are not expected to change any answers, and none were
    detected. But since we are changing a core component, I'd suggest
    reviewing this carefully.
    
    Sample timings are provided below.
    
    Runtime measurements
    --------------------
    
    AMD Before:
    
    (Ocean Coriolis & mom advection)      1.091571
    (Ocean Coriolis & mom advection)      1.086183
    (Ocean Coriolis & mom advection)      1.091197
    (Ocean Coriolis & mom advection)      1.087709
    (Ocean Coriolis & mom advection)      1.086990
    
    AMD After:
    
    (Ocean Coriolis & mom advection)      0.619346
    (Ocean Coriolis & mom advection)      0.624106
    (Ocean Coriolis & mom advection)      0.625438
    (Ocean Coriolis & mom advection)      0.630169
    (Ocean Coriolis & mom advection)      0.621736
    
    ----
    
    Intel Before:
    
    (Ocean Coriolis & mom advection)      0.981367
    (Ocean Coriolis & mom advection)      0.982316
    (Ocean Coriolis & mom advection)      0.986633
    (Ocean Coriolis & mom advection)      0.981260
    (Ocean Coriolis & mom advection)      0.982810
    
    Intel After:
    
    (Ocean Coriolis & mom advection)      0.788747
    (Ocean Coriolis & mom advection)      0.797684
    (Ocean Coriolis & mom advection)      0.786874
    (Ocean Coriolis & mom advection)      0.792120
    (Ocean Coriolis & mom advection)      0.795373
    marshallward committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    d1dc6b5 View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2021

  1. Configuration menu
    Copy the full SHA
    ad372fd View commit details
    Browse the repository at this point in the history
  2. Fixed downsampling summation for more diag types

    - Fixes for SSP (x:sum;y:sum,z:point) and
      PSP (x:point,y:sum,z:point) diagnostics
    - Removed unused `total_weight` arrays in these cases
    jkrasting committed Apr 2, 2021
    Configuration menu
    Copy the full SHA
    5f06304 View commit details
    Browse the repository at this point in the history

Commits on Apr 5, 2021

  1. Configuration menu
    Copy the full SHA
    fae570d View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2021

  1. Configuration menu
    Copy the full SHA
    ad0bc3c View commit details
    Browse the repository at this point in the history
  2. Corrected comments describing CT_copy_data

      Corrected comments describing the various CT_copy_data routines, following
    suggestions in a review by Keith Lindsay.  All answers are bitwise identical.
    Hallberg-NOAA committed Apr 6, 2021
    Configuration menu
    Copy the full SHA
    358da7c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b413f25 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #1363 from Hallberg-NOAA/SIS2_infra_support

    +Add infrastructure interfaces needed by SIS2
    marshallward authored Apr 6, 2021
    Configuration menu
    Copy the full SHA
    d485a51 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a5fb365 View commit details
    Browse the repository at this point in the history

Commits on Apr 7, 2021

  1. Merge pull request #1364 from jkrasting/downsampled_diag_fix

    Fixed downsampling for x:sum y:point z:point diags
    Hallberg-NOAA authored Apr 7, 2021
    Configuration menu
    Copy the full SHA
    c5c7441 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dc66dd8 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1365 from marshallward/corad_vec_v2

    Coriolis: Improved coradcalc vectorization
    Hallberg-NOAA authored Apr 7, 2021
    Configuration menu
    Copy the full SHA
    7ec08cd View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2021

  1. Fixed documented units for N2

    - The perils of cherry-picking commits to try and create clean PRs: these
      units were in the first draft of the #1351 but were lost in the "clean up".
    adcroft committed Apr 9, 2021
    Configuration menu
    Copy the full SHA
    dc13c22 View commit details
    Browse the repository at this point in the history
  2. Use local "slope" variable in calc_isoneutral_slopes()

    - We had an unused scalar variable that used to hold the value of slope
      within the various logic branches. Not sure why it was changed but I
      am about to add a re-use of that scalar variable so am bringing it
      back to life in this commit.
    adcroft committed Apr 9, 2021
    Configuration menu
    Copy the full SHA
    db41c30 View commit details
    Browse the repository at this point in the history
  3. Return dz*g'*S2 from calc_iso_neutral_slopes()

    - The Viscbeck scheme needs a vertical average of S*N, the Eady growth
      rate. N can become infinite for vanished layers but since
      dz * S * N = dz * sqrt(S^2 N^2) = sqrt(S^2 N^2 dz^2) = sqrt(S^2 g' dz)
      it will be more robust to vertically sum the last expression rather
      than use the first in an integral.
    adcroft committed Apr 9, 2021
    Configuration menu
    Copy the full SHA
    e64be56 View commit details
    Browse the repository at this point in the history
  4. Return dz at u- v-points from calc_iso_neutral_slopes()

    - The dz, rather than h, at u- and v-points is needed in the Visbeck
      calclation of Eady growth rate. Since dz can be expensive in the
      non-Boussinesq mode, and it is already available where the slopes
      are bein calculated, it makes sense to store them, even though
      using "h" in Boussinesq mode
    adcroft committed Apr 9, 2021
    Configuration menu
    Copy the full SHA
    cd25729 View commit details
    Browse the repository at this point in the history
  5. Switch Eady Grth rate auxillary var from hS2N2 to hSN

    - Rather than take a sqrt() of dz^2 S^2 N^2 while summing dz*Sx*N, it's
      easier, and proves to be less troublesome, to pass dz*Sx*N between
      calc_isoneutral_sloeps() and Visbeck.
    - Added new s/r to calculate the Eady Growth rate using the dz*Sx*N
      array rather than from S^2 and N^2 separate arrays.
    - Added run-time parameter "USE_NEW_EADY_GROWTH_RATE" to use new method.
    adcroft committed Apr 9, 2021
    Configuration menu
    Copy the full SHA
    54e5f38 View commit details
    Browse the repository at this point in the history
  6. +Enhanced support for novel axes in MOM_io

      Added support for new IO capabilities that are needed by SIS2 to use the MOM6
    framework and infrastructure code, but should also be useful within MOM6
    itself.  These new capabilities include writing global attributes to files,
    using create_file named axes that are not derived from a MOM6 grid type, and new
    options and elements in the vardesc type to support a wider array of axes and to
    provide the position of the grid staggering via an integer position variable
    instead of the short character strings that had been used.
    
      As a part of this commit, there are the new opaques type axis_info and
    attribute_info, and the new routines set_axis_info, delete_axis_info,
    set_attribute_info and delete_attribute_info to facilitate these new
    capabilities, as well as the publicly visible function position_from_horgrid to
    translate the vardesc%hor_grid character strings into the integer position flag
    used elsewhere in the MOM6 and FMS codes.  Within the MOM_io_infra, there is a
    new variant of the overloaded interface write_meta to handle writing global
    attributes. There are also two new optional arguments to create_file and
    reopen_file, and two new optional arguments to var_desc, modify_vardesc, and
    query_vardesc.  All answers and output are bitwise identical.
    Hallberg-NOAA committed Apr 9, 2021
    Configuration menu
    Copy the full SHA
    03b997b View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2021

  1. +More consistent treatment of input_filename = 'F'

      Restructured the code slightly so that the output files that are generated
    when input_filename = 'F' is exactly the same as if it is 'n' if there are no
    restart files in the restart_input_dir, or as if it is 'r' if the restart files
    are there.  Previously, the solutions with 'F' worked this way, but no
    ocean_geometry.nc or Vertical_grid.nc files were written when WRITE_GEOM=1,
    regardless of the presence or absence of the restart files, and the
    MOM_parameter_doc.all files differed slightly between the 'n' and 'F' or 'r'
    cases.  As a part of these changes, the determination of whether this is a new
    run is moved earlier in the algorithm, and now sits outside of
    MOM_initialize_state.  All solutions are bitwise identical, but there are
    changes in the position of the PARALLEL_RESTARTFILES and REFERENCE_HEIGHT
    entries in most MOM_parameter_doc.all files.
    Hallberg-NOAA committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    0eb47b2 View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2021

  1. Merge pull request #65 from jiandewang/feature/update-to-GFDL-20210402

    Feature/update to gfdl 20210402
    jiandewang authored Apr 12, 2021
    Configuration menu
    Copy the full SHA
    00ea3fd View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1369 from Hallberg-NOAA/SIS2_IO_upgrades

    +Enhanced support for novel axes in MOM_io
    marshallward authored Apr 12, 2021
    Configuration menu
    Copy the full SHA
    5fe51b1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    983824a View commit details
    Browse the repository at this point in the history
  4. (*)Write full checksums to restarts

      Change the types returned from the 5 rotated_field_chksum from integer to
    integer(kind=int64), so that the full 64-byte checksums are returned.  Without
    this change, the checksums that are written to MOM6 restart files or interpreted
    from them are truncated to the latter half of their length.  This changes the
    checksums that are written to the restart files, but both before and after this
    change the values that are written are the same as those that are generated
    after reading the restart with the same version of the code.  The code can run
    across this change by setting RESTART_CHECKSUMS_REQUIRED = False for the run
    segment where the transition occurs.  The solutions themselves are bitwise
    identical.
    Hallberg-NOAA committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    1be9584 View commit details
    Browse the repository at this point in the history

Commits on Apr 14, 2021

  1. Use allocatable types in write_ocean_geometry_files

      Changed the declarations of the vardesc and fields arrays to allocatable in
    write_ocean_geometry_files, primarily to get one of the TC test cases to run
    properly with the gcc compiler by shifting the memory for these arrays from
    stack to heap.  The reason why this change works is not clear.  Some comments
    describing these variables were also added.  All answers are bitwise identical.
    Hallberg-NOAA committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    96f1d1e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e8e8aba View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1370 from Hallberg-NOAA/F_case_file_output

    +More consistent treatment of input_filename = 'F'
    marshallward authored Apr 14, 2021
    Configuration menu
    Copy the full SHA
    fc75e0f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    af34c38 View commit details
    Browse the repository at this point in the history
  5. +Make MOM_read_data work when 4-d arrays exist

      Added internal branches of the infra/FMS1 version of MOM_read_data that work
    when there are 4-d arrays with a fifth time dimension in the file that is being
    read, which was previously failing even if the variable that is being read has
    fewer dimensions, due to code limitations within the fms_io read_data routines.
    These new branches are selected via the new optional argument file_may_be_4d.
    The infra/FMS2 versions also have the same new optional argument, although in
    that case it does nothing.  All answers are bitwise identical in the cases that
    worked previously, but SIS2 restart files can now be read via the MOM6
    infrastructure interfaces.
    Hallberg-NOAA committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    883fa07 View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2021

  1. Merge pull request #1371 from Hallberg-NOAA/fix_checksums

    (*)Write full checksums to restarts
    marshallward authored Apr 15, 2021
    Configuration menu
    Copy the full SHA
    048dabd View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2021

  1. Configuration menu
    Copy the full SHA
    fa29b26 View commit details
    Browse the repository at this point in the history
  2. Display hash of submodules in gitlab pipeline

    - We found it hard to figure out the exact state of the pipeline
      because it updates to the latest of MOM6-examples at the time
      of running, and that might change between the run and when you
      examine the logs.
    - This adds a few git commands to show the hash of every submodule
      we care about.
    adcroft committed Apr 16, 2021
    Configuration menu
    Copy the full SHA
    443da5b View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2021

  1. +Add optional global_file argument to MOM_read_data

      Added the optional argument global_file to all of the overloaded MOM_read_data
    routines, to indicate whether the file being read is global or is domain-
    decomposed using the IO-layout.  With FMS2, this change does nothing, but with
    FMS1 it is needed to correctly read from decomposed files that might include 4-d
    arrays.  With this change there are versions of SIS2 that reproduce across
    restarts without using the FMS1 restart routines.  All answers are bitwise
    identical, but there are new optional arguments.
    Hallberg-NOAA committed Apr 19, 2021
    Configuration menu
    Copy the full SHA
    9ecab91 View commit details
    Browse the repository at this point in the history
  2. Fix comment: replaced pints with points

    - @Hallberg-NOAA suspected I'd had a few too many. Give that US pint
      glasses don't hold a real pint I can assure hom that the total volume
      most suredly would not have been too much, if any fake pints had been
      involved at all, which I deny.
    adcroft committed Apr 19, 2021
    Configuration menu
    Copy the full SHA
    e8e2009 View commit details
    Browse the repository at this point in the history
  3. Changed parameter name to USE_SIMPLR_EADY_GROWTH_RATE

    - Following @Hallberg-NOAA's suggestion, changed runtime parameter
      name from USE_NEW_EADY_GROWTH_RATE to USE_SIMPLER_EADY_GROWTH_RATE.
    adcroft committed Apr 19, 2021
    Configuration menu
    Copy the full SHA
    d21d21a View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2021

  1. read_attribute_str returns cleanly when found=F

    Updates read_attribute_str() so that if the optional argument found is provided
    and the attribute is not defined, then the function returns with found=.false.
    instead of calling MOM_error(FATAL).
    
    I did a little bit of testing, and it looks like read_attribute_real and
    read_attribute_int (not sure if the default is int32 or int64) already behave
    correctly when found is present so they do not need a similar update
    mnlevy1981 committed Apr 20, 2021
    Configuration menu
    Copy the full SHA
    91b9465 View commit details
    Browse the repository at this point in the history

Commits on Apr 21, 2021

  1. Merge pull request #1372 from adcroft/visbeck-draft

    Update of Eady growth rate used in MEKE and Visbeck
    marshallward authored Apr 21, 2021
    Configuration menu
    Copy the full SHA
    0c592cc View commit details
    Browse the repository at this point in the history

Commits on Apr 22, 2021

  1. Configuration menu
    Copy the full SHA
    1fa9a0a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    400e344 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1ab65ab View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2021

  1. Merge pull request #1373 from Hallberg-NOAA/SIS2_restart_support

    +Make MOM_read_data work when 4-d arrays exist
    marshallward authored Apr 23, 2021
    Configuration menu
    Copy the full SHA
    e7ccf2c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6140c9a View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1376 from adcroft/show-hashes-in-pipeline

    Display hash of submodules in gitlab pipeline
    marshallward authored Apr 23, 2021
    Configuration menu
    Copy the full SHA
    0529519 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2380989 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #1380 from mnlevy1981/update_read_attribute

    read_attribute_str returns cleanly when found=F
    marshallward authored Apr 23, 2021
    Configuration menu
    Copy the full SHA
    40f3807 View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2021

  1. +Correct the units of remap tendency diagnostics

      Corrected the units of the ..._h_tendency_vert_remap diagnostics and their
    2-d counterparts to reflect the fact that they are integrated tendencies,
    addressing MOM6 issue #1017.  This PR changes the units of several variables in
    the available_diags files and any output files with these diagnostics.
    
      Also eliminated the spacing around the equal sign in a number of optional
    argument declarations in this file to follow the MOM6 standards in the MOM6
    style guide.  Also changed some irregular continuation line indents for
    self-consistency in register_tracer_diagnostics.
    
      All answers are bitwise identical, but there are minor metadata changes in
    some output files.
    Hallberg-NOAA committed Apr 26, 2021
    Configuration menu
    Copy the full SHA
    9f5c885 View commit details
    Browse the repository at this point in the history
  2. Allow Phillips case to work in doubly periodic domain

    - If REENTRANT_Y is True (existing parameter that controls the
      periodicity) then the tanh() function used in the Phillips case
      forcing is replaced by sin(). The case is only makes sense if
      JET_WIDTH is a sensible fraction of LENLAT, e.g. 1. or 0.5, allowing
      the forcing to be smoothly periodic.
    - Does not change answers for existing cases.
    adcroft committed Apr 26, 2021
    Configuration menu
    Copy the full SHA
    3c19cbf View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2021

  1. Merge pull request #1382 from Hallberg-NOAA/heat_remap_diag_units

    +Correct the units of remap tendency diagnostics
    marshallward authored Apr 27, 2021
    Configuration menu
    Copy the full SHA
    b5619c8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7f9db6b View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1383 from adcroft/mod-phillips

    Adapts Phillips case to work in doubly periodic mode
    marshallward authored Apr 27, 2021
    Configuration menu
    Copy the full SHA
    7d188df View commit details
    Browse the repository at this point in the history
  4. (*)Correct inconsistent units in 17 diagnostics

      Corrects inconsistent units or unit conversion factors for 17 diagnostics
    plus all of the diagnostics for extra tracer fluxes where the scaling factor is
    not explicitly supplied (temperature and salinity are not impacted).  In most
    cases the corrections are in obscure diagnostics that are probably not used much
    or only apply to non-Boussinesq cases.  In addition, dimensional rescaling in
    time was applied to the diapycnal velocity diagnostic in layered mode.  This
    commit addresses the specific problems noted in MOM6 issue #1384, but it does
    not uniformly change to the suggested code construct for register_diag_field
    arguments that would make these problems easier to detect in the future.  All
    solutions are bitwise identical, but there are changes to the metadata of some
    diagnostics and there are changes to the available_diags files.
    Hallberg-NOAA committed Apr 27, 2021
    Configuration menu
    Copy the full SHA
    167f3d4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f986da6 View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2021

  1. Merge pull request #1385 from Hallberg-NOAA/fix_diag_units

    (*)Correct inconsistent units in 17 diagnostics
    marshallward authored Apr 28, 2021
    Configuration menu
    Copy the full SHA
    350809a View commit details
    Browse the repository at this point in the history
  2. .testing: Create python venv at compile time

    This patch shifts the creation of the python virtual environment to a
    compile-time operation.
    
    The .testing suite creates a Python virtual environment (venv) if the
    current environment does not include numpy and the Python netCDF4
    modules.
    
    These are detected and set up at runtime rather than compile time, which
    can cause issues when run on compile nodes which do not have internet
    access since the packages need to be downloaded via Pip.
    
    This patch moves the detection and creation to compile time.  Since
    internet access is expected for FMS and mkmf setup, it is consistent to
    assume internet access for pip installations.
    marshallward committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    763177c View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2021

  1. Configuration menu
    Copy the full SHA
    def242d View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2021

  1. Merge pull request #1386 from marshallward/venv_setup

    .testing: Create python venv at compile time
    adcroft authored Apr 30, 2021
    Configuration menu
    Copy the full SHA
    2912058 View commit details
    Browse the repository at this point in the history
  2. Use MOM_io in Surface_Bands_by_data_override

      Revised Surface_Bands_by_data_override in MOM_wave_interface to use the
    interfaces from MOM_io instead of direct calls to NF90_ routines to read the
    coordinate frequency or wavenumber.  This change will be more efficient by
    having only the root processor read the files and then broadcast the information
    to the other PEs, and it will be more robust by reusing common code used by
    other MOM6 routines.  This commit partially addresses MOM6 issue #1312.  All
    answers are bitwise identical.
    Hallberg-NOAA committed Apr 30, 2021
    Configuration menu
    Copy the full SHA
    fc72b31 View commit details
    Browse the repository at this point in the history
  3. Use MOM_io interfaces in write_depth_list

      Revised write_depth_list to use the interfaces from MOM_io instead of direct
    calls to NF90_ routines.  The depth list files that are generated this way are
    interchangeable with those from previous versions, but they are larger because
    FMS insists on including an unnecessary axis variable with a simple list of
    integers for the list axis.  This commit partially addresses MOM6 issue #1312.
    All answers are bitwise identical.
    Hallberg-NOAA committed Apr 30, 2021
    Configuration menu
    Copy the full SHA
    9b51e04 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2021

  1. Collocate units and conversion for register_diag

      Rearranged arguments in register_diag_field calls to facilitate the detection
    of inconsistent units and scaling factors using simple methods, by placing the
    unit and conversion arguments on the same line.  At some point, we will develop
    more sophisticated methods for detecting such inconsistencies, at which these
    changes will lose their value but become benign.  Also, made use of the scaling
    factor GV%H_to_MKS, which handles conversion of thickness units to m or kg m-2,
    depending on whether the code is being run in Boussinesq or non-Boussinesq mode,
    instead of having logic scattered in several places throughout the code to
    select GV%H_to_m or GV%H_to_kg_m2.  This commit closes MOM6 issue #1384.  All
    answers and output are bitwise identical, and these are mostly essentially
    whitespace changes.
    Hallberg-NOAA committed May 3, 2021
    Configuration menu
    Copy the full SHA
    48e2442 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    061100e View commit details
    Browse the repository at this point in the history
  3. Merge remote-tracking branch 'GFDL/main' into feature/update-to-GFDL-…

    …20210503
    
    this is corresponding to GFDL main branch 20210503 commit (hash # e6ce6a8)
    jiandewang committed May 3, 2021
    Configuration menu
    Copy the full SHA
    819267f View commit details
    Browse the repository at this point in the history

Commits on May 4, 2021

  1. Configuration menu
    Copy the full SHA
    ce40181 View commit details
    Browse the repository at this point in the history
  2. +Add dimensional rescaling of wave variables

      Added dimensional rescaling for all of the variables in the MOM_wave,
    including rescaling of the Stokes velocities, which are used in two modules
    outside of the MOM_wave_interface module.  Also added comments describing
    numerous variables inside of the wave module, and removed the public declaration
    for most of the elements of the wave_parameters_CS.  All answers are bitwise
    identical in tests, but the waves module is not as extensively tested as it
    should be.  There are changes in the rescaled units in publicly visible
    variables.
    Hallberg-NOAA committed May 4, 2021
    Configuration menu
    Copy the full SHA
    3dc5cf7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    833d1ec View commit details
    Browse the repository at this point in the history
  4. Merge pull request #1389 from Hallberg-NOAA/MOM_io_in_write_depth_list

    Use MOM_io interfaces in write_depth_list
    marshallward authored May 4, 2021
    Configuration menu
    Copy the full SHA
    727b639 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2021

  1. infra, FMS_cap: stdout_if_root()

    This patch adds `stdout_if_root` to the MOM_io API, and points to the
    FMS `stdout()` function in the FMS infra implementations.
    
    This change was required because calls to `coupler_type_write_chksums`
    handles both its own checksums across ranks and its own IO to `outunit`.
    Typically only the root PE will write the result.
    
    The FMS `stdout()` function would return the designated stdout unit for
    the root PE, and the internal `etc_unit` for other PEs, usually set to
    `/dev/null`.
    
    When MOM_io switched from using the FMS `stdout()` function to the
    `stdout` unit as defined in `iso_fortran_env`, this functionality was
    lost and every PE would write the same result to stdout.
    
    Normally this was controlled with `if (root)`-like tests, but this
    cannot be used in functions like `coupler_type_write_checksums`, which
    require participation of all PEs.
    
    We decided the only resolution here was to introduce a new function,
    `stdout_if_root` which replicates the original behavior of `stdout()`.
    
    Additional comments:
    
    * The `if (root)` checks were retained, since it is presumably still a
      good idea to avoid the `write()` calls when possible, even to
      `/dev/null`.
    
    * This patch only updates the FMS coulper driver, but I would recommend
      that the other driver maintainers review their own calls to this
      function.
    marshallward committed May 6, 2021
    Configuration menu
    Copy the full SHA
    79296b8 View commit details
    Browse the repository at this point in the history

Commits on May 8, 2021

  1. Merge pull request #67 from jiandewang/feature/update-to-GFDL-20210503

    Feature/update to gfdl 20210503
    jiandewang authored May 8, 2021
    Configuration menu
    Copy the full SHA
    b418ae1 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2021

  1. Configuration menu
    Copy the full SHA
    f8854e7 View commit details
    Browse the repository at this point in the history
  2. Avoids issue with unassociated axes in d-sample code

    - Cell methods were being passed an nullified pointer for the axes
      because the axes variable was re-used where it was meant to be
      pointing to the parent variable axes. Adding a copy, paxes, to
      save from prior to the d-sample block seems to avoid the problem.
    adcroft committed May 11, 2021
    Configuration menu
    Copy the full SHA
    dd345af View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    17e7e43 View commit details
    Browse the repository at this point in the history

Commits on May 12, 2021

  1. Diag_mediator: Fix non-standard axis support

    When a diagnostic is registered, its axis group is compared to a
    standard set of groups along the model grid. If it matches one of them,
    the diagnostic is associated with this axis group.
    
    When it does not match any of the axes, the intention was to retain the
    pointer to the input axis group. However, there was a bug where the
    axis group was pointed to the input stack value within the function,
    rather than the original axis group. This caused the diagnostic to be
    associated with an axis group which was largely nonsense.
    
    This patch fixes this bug by allocating the new axis group inside the
    function to heap, and then copying the contents of the input axis group
    to the new allocated group. This ensures a permanent reference to the
    new axis group.
    
    It also probably creates a minor memory leak, but we can sort that out
    as part of the overall memory cleanup PR (currently in preparation).
    
    There was literally only one instance of a new axis, namely the use of
    angles axes in the internal tide diagnostics. This patch fixes any runs
    which use these diagnostics.
    marshallward committed May 12, 2021
    Configuration menu
    Copy the full SHA
    3a99fb5 View commit details
    Browse the repository at this point in the history

Commits on May 13, 2021

  1. Corrected MOM_ice_shelf_dynamics.F90 to work with symmetric memory

    a new subroutine (initialize_ice_shelf_boundary_from_file) in MOM_ice_shelf_initialize.F90 to read b.c.s from file
    OlgaSergienko committed May 13, 2021
    Configuration menu
    Copy the full SHA
    03fad47 View commit details
    Browse the repository at this point in the history
  2. +Move wave module variables into control structure

      Moved 15 module variables into wave_parameters_CS, to follow the coding style
    and conventions in the rest of the code.  Also added comments describing 8
    enumeration parameters in this same module, and added comments suggesting ways
    that the accuracy of the calculations could be improved.  Also incorporated a
    factor of 2*PI into the definition of Freq_Cen in this module.  In addition, the
    initialization procedure for this module was altered in some more commonly used
    cases, so that use MOM_wave_interface_init to set wave parameters, even with a
    statistical wave model, and eliminated MOM_wave_interface_init_lite.  I believe
    that all solutions should be bitwise identical, but this module is not yet well
    tested in the MOM6 regression tests.
    Hallberg-NOAA committed May 13, 2021
    Configuration menu
    Copy the full SHA
    b2af54d View commit details
    Browse the repository at this point in the history
  3. Add variable and file names to an error message

      Made an error message in horiz_interp_and_extrap_tracer_record more
    informative and less cryptic by adding the variable and file names being sought.
    Also corrected or clarified other error messages in the same routine.  All
    answers are bitwise identical, and no interface change.
    Hallberg-NOAA committed May 13, 2021
    Configuration menu
    Copy the full SHA
    c29c0ca View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2e221eb View commit details
    Browse the repository at this point in the history
  5. Merge pull request #1402 from Hallberg-NOAA/better_hor_regrid_errmsg

    Add variable and file names to an error message
    marshallward authored May 13, 2021
    Configuration menu
    Copy the full SHA
    362c336 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    58d01d1 View commit details
    Browse the repository at this point in the history

Commits on May 14, 2021

  1. Merge pull request #11 from marshallward/diag_axis_nogrid

    Diag_mediator: Fix non-standard axis support
    adcroft authored May 14, 2021
    Configuration menu
    Copy the full SHA
    92679ea View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    08b6c2d View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1399 from adcroft/fix-null-axes-for-dsamp

    Avoids issue with unassociated axes in d-sample code
    marshallward authored May 14, 2021
    Configuration menu
    Copy the full SHA
    c56b332 View commit details
    Browse the repository at this point in the history
  4. +Avoid using field_exists in MOM_wave_interface

      Modified get_var_sizes so it does return ndims = -1 when querying for a
    variable that does not exist in a file (which was the intended behavior) and
    made use of this new and proper functionality to avoid using the function
    field_exists() in Surface_Bands_by_data_override(), because the fms_io
    implementation of field_exists incorrectly returns false when the variable being
    sought is also the name of a coordinate.  Three minor bugs in wave diagnostics
    that Brandon Reichl had identified were also fixed, as was a test controlling an
    allocate statement.  All answers are bitwise identical in cases that worked
    before, and the waves code is now working correctly with all IO calls going via
    MOM_io, rather than calling netCDF routines directly.
    Hallberg-NOAA committed May 14, 2021
    Configuration menu
    Copy the full SHA
    c5a45c6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    55a93d8 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    2b3434a View commit details
    Browse the repository at this point in the history
  7. Merge pull request #1388 from Hallberg-NOAA/MOM_io_in_wave_interface

    Use MOM_io in Surface_Bands_by_data_override
    marshallward authored May 14, 2021
    Configuration menu
    Copy the full SHA
    aacba8f View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    80032ec View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    98eaff5 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    4dcc194 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    2d86cf8 View commit details
    Browse the repository at this point in the history

Commits on May 15, 2021

  1. Merge pull request #1392 from marshallward/cpl_stdout

    infra, FMS_cap: stdout_if_root()
    Hallberg-NOAA authored May 15, 2021
    Configuration menu
    Copy the full SHA
    fff9d42 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ce7f217 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    38a897e View commit details
    Browse the repository at this point in the history

Commits on May 17, 2021

  1. Configuration menu
    Copy the full SHA
    f1b2320 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aa32127 View commit details
    Browse the repository at this point in the history

Commits on May 18, 2021

  1. Merge pull request #1403 from Hallberg-NOAA/MOM_wave_rescale

    +Add dimensional rescaling of wave variables
    marshallward authored May 18, 2021
    Configuration menu
    Copy the full SHA
    75a8549 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cf3b41f View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1398 from hmkhatri/add_diagnostic

    3D thickness x momentum diagnostics
    marshallward authored May 18, 2021
    Configuration menu
    Copy the full SHA
    61330e4 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dd88156 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1dfbade View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    89447f4 View commit details
    Browse the repository at this point in the history

Commits on May 19, 2021

  1. Configuration menu
    Copy the full SHA
    bc72666 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1390 from Hallberg-NOAA/conversion_arg_order

    Collocate units and conversion for register_diag_field calls
    marshallward authored May 19, 2021
    Configuration menu
    Copy the full SHA
    1562e8f View commit details
    Browse the repository at this point in the history
  3. Call variable_att_exists before get_variable_att

      Added variable_att_exists calls before two calls to get_variable_attribute in
    the FMS2 version of get_file_fields so that runs do not crash if there are
    variables being read that do not have a long_name or units attribute.  All
    answers are bitwise identical in cases that did not crash.
    Hallberg-NOAA committed May 19, 2021
    Configuration menu
    Copy the full SHA
    e01bb9f View commit details
    Browse the repository at this point in the history

Commits on May 20, 2021

  1. Response to reviews of MOM6 PR #1404

      Corrected typos in comments, and removed unnecessary commented out code as
    noted by Brandon Reichl in his review of MOM6 dev/gfdl PR# 1404.  All answers
    are bitwise identical.
    Hallberg-NOAA committed May 20, 2021
    Configuration menu
    Copy the full SHA
    6581b2f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    da496b9 View commit details
    Browse the repository at this point in the history

Commits on May 21, 2021

  1. Trying to fix Kelvin wave boundary condition.

    - Better, but doesn't quite pass RESCALE tests.
    kshedstrom committed May 21, 2021
    Configuration menu
    Copy the full SHA
    5106dd2 View commit details
    Browse the repository at this point in the history
  2. add reference lat + fix scale

    Raphael Dussin authored and Raphael Dussin committed May 21, 2021
    Configuration menu
    Copy the full SHA
    e8415bd View commit details
    Browse the repository at this point in the history

Commits on May 23, 2021

  1. +Dimensional rescaling of user OBC test cases

      Add dimensional rescaling of user OBC test cases, including documentation of
    the units of variables in the Kelvin, shelfwave, tidal_bay and dyed_channel
    initialization and rescaling parameters parameters via optional scale arguments
    to get_param calls.  These changes also incorporate the answer-changing
    correction to the Kelvin wave OBC test case in PR #1406, with a comment noting
    what seems like an additional bug in this test case.  This commit includes
    adding a unit_scale_type argument to call_OBC_register, register_file_OBC,
    register_tidal_bay_OBC, register_Kelvin_OBC, register_shelfwave_OBC and
    register_dyed_channel_OBC.  These Kelvin wave OBC configuration from
    ESMG-configs now passes the dimensional rescaling tests.  All answers are
    bitwise identical in the MOM6_examples test cases, but there are interface
    changes.
    Hallberg-NOAA committed May 23, 2021
    Configuration menu
    Copy the full SHA
    29061de View commit details
    Browse the repository at this point in the history

Commits on May 24, 2021

  1. Remove duplicated solvers between regrid modules

    In the removal of regrid_edge_slopes, a couple of the solvers became
    duplicated between regrid_edge_values and regrid_solvers. Here,
    they're simply made consistent by removing the solvers from
    regrid_edge_values, and bringing over the zero-pivot check for the
    linear solver that was in one variation but not the other.
    angus-g committed May 24, 2021
    Configuration menu
    Copy the full SHA
    56e983b View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1405 from Hallberg-NOAA/check_att_exists

    Call variable_att_exists before get_variable_att
    marshallward authored May 24, 2021
    Configuration menu
    Copy the full SHA
    932b35c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9c6e037 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    10eb7ce View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    01f8f9b View commit details
    Browse the repository at this point in the history

Commits on May 25, 2021

  1. Configuration menu
    Copy the full SHA
    9e4370c View commit details
    Browse the repository at this point in the history
  2. rename into more explicit, make units correspond

    Raphael Dussin authored and Raphael Dussin committed May 25, 2021
    Configuration menu
    Copy the full SHA
    ee8420a View commit details
    Browse the repository at this point in the history
  3. cm not supported by AXIS_UNITS, removed case

    Raphael Dussin authored and Raphael Dussin committed May 25, 2021
    Configuration menu
    Copy the full SHA
    2fc25fb View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e5e3624 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a1f8699 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2021

  1. Autoconf: FMS 2019.01.02 test; framework flag

    The autoconf build was updated to verify that calls to diag_axis_init
    support the domain_position argument.  This was introduced in FMS
    2019.01.02, so this acts as an implicit minimum FMS version test.
    
    This test is done indirectly by confirming that the valid
    domain_position values (NORTH, EAST, CENTER) are in diag_axis_mod.
    
    A `--with-framework=` flag was also added to select either the FMS1 or
    FMS2 backend.
    marshallward committed May 26, 2021
    Configuration menu
    Copy the full SHA
    1d8e909 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1404 from Hallberg-NOAA/MOM_wave_control

    +Move wave module variables into control structure
    marshallward authored May 26, 2021
    Configuration menu
    Copy the full SHA
    3a494bb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6dd824f View commit details
    Browse the repository at this point in the history
  4. Merge pull request #1406 from ESMG/dev/esmg

    Trying to fix Kelvin wave boundary condition.
    marshallward authored May 26, 2021
    Configuration menu
    Copy the full SHA
    dd9c90e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    dc6aa40 View commit details
    Browse the repository at this point in the history
  6. Merge pull request #1396 from marshallward/fms_version_check

    Autoconf: FMS 2020.x compatibility testing (diag_axis_mod, data_override_mod)
    adcroft authored May 26, 2021
    Configuration menu
    Copy the full SHA
    5a1ddb0 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2021

  1. Configuration menu
    Copy the full SHA
    028fead View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    236e3d1 View commit details
    Browse the repository at this point in the history
  3. Tiny cleaning up edits.

    kshedstrom committed May 27, 2021
    Configuration menu
    Copy the full SHA
    627ae3f View commit details
    Browse the repository at this point in the history
  4. Merge pull request #1408 from angus-g/remove-duplicate-solvers

    Remove duplicated solvers between regrid modules
    Hallberg-NOAA authored May 27, 2021
    Configuration menu
    Copy the full SHA
    d1b8641 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    14de84c View commit details
    Browse the repository at this point in the history
  6. The ice-shelf friction parameter is changed to a field to allow for i…

    …ts spatial variability. A subroutine initialize_ice_C_basal_friction() is added to initialize this parameter either with a constant value or reading from a file.
    OlgaSergienko committed May 27, 2021
    Configuration menu
    Copy the full SHA
    1b957bd View commit details
    Browse the repository at this point in the history
  7. Change to masking of u,v sponges.

    - Before, u,v sponges were masking using the tracer mask and generating
      weirdness at the tile boundaries for u and v.
    kshedstrom committed May 27, 2021
    Configuration menu
    Copy the full SHA
    b583c00 View commit details
    Browse the repository at this point in the history

Commits on May 28, 2021

  1. Memory management cleanup and initialization fixes

    This patch fixes up and enables several of the derived type destructor
    functions (`_end()`) used to handle memory management of the model.
    
    - Two uninitialized logical flags which would cause errors in optimized
      builds have also been fixed.
    
      * `Visbeck_S_max` in thickness diffusion is now initialized to zero,
        which acts to disable it in subsequent operations.
    
      * `remap_answers_2018` is now unset when `NDIFF_CONTINUOUS` is false.
    
    - Several of the destructor functions were restructured so that they do
      not explicitly deallocate their pointer inputs.  This will allow us to
      stage the functions as formal destructors for the derived types via
      the `final` keyword in a later patch.  It also allows us to pass the
      inputs on stack rather than as pointers.
    
      * `barotropic_end`
      * `continuity_end`
      * `CoriolisAdv_end`
      * `deallocate_MOM_domain`
      * `diabatic_driver_end`
      * `geothermal_end`
      * `hor_visc_end`
      * `MEKE_end`
      * `MOM_CVMix_conv_end`
      * `MOM_CVMix_ddiff_end`
      * `MOM_CVMix_shear_end`
      * `MOM_diagnostics_end`
      * `MOM_regridding_end`
      * `MOM_sum_output_end`
      * `PressureForce_end`
      * `set_diffusivity_end`
      * `thickness_diffuse_end`
      * `tidal_forcing_end`
      * `VarMix_end`
      * `vertvisc_end`
    
    - In a few cases, the deallocations were re-ordered to match the
      reversed order of allocation.
    
      * `MOM_CVMix_conv_mod`
      * `MOM_CVMix_ddiff_mod`
      * `MOM_CVMix_shear_mod`
    
    - A few constructors always initialized their control structures, even
      when disabled.  In some of these cases, the allocation is now skipped
      if the corresponding feature is disabled.
    
    - `diag_mediator_end` now includes the following changes:
    
      * `axes_grp_end` was introduced to deallocate axes_grp types.
        The `remap_axes*` are now deallocated.
    
      * We now cycles through the diagnostic list and deallocate the
        supplemental diagnostics.
    
      * Downsampled diagnostic masks and remaps are now deallocated
    
    - The initialized `blockName` of the param file parser are now
      dellocated before reinitializing them.  Although the existing value is
      still lost, it is at least now deallocated from heap.
    
    - A bug was fixed in `hor_visc_end`; Smag_Ah and Leith_Ah areas were
      incorrectly swapped.
    
    The principal motivation for this work is to eliminate any errors
    detected by valgrind, and to integrated automated memcheck testing to
    the verification test suite.
    marshallward committed May 28, 2021
    Configuration menu
    Copy the full SHA
    616413a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    61ab6da View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1409 from MJHarrison-GFDL/ice_shelf_restart_fix

    Ice shelf restart fix
    marshallward authored May 28, 2021
    Configuration menu
    Copy the full SHA
    c432872 View commit details
    Browse the repository at this point in the history
  4. Standardize dimensional rescaling in tracer stocks

      Revised the dimensional rescaling of the various tracer_stock routines to
    occur in a single line and be standardized across the tracer packages.  Also
    added units to the descriptions of some some arguments in the tracer registry
    routines.  All answers are bitwise identical.
    Hallberg-NOAA committed May 28, 2021
    Configuration menu
    Copy the full SHA
    1379af4 View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2021

  1. In MOM_ice_dynamics.F90 the ice-stiffness parameter A_Glen is changed…

    … from a constant to a field to allow for its spatial variability; several parameters are added to a restart file. In MOM_ice_shelf_initialize.F90 a subroutine initialize_ice_AGlen is added; it initializes the ice-stiffness parameter A_Glen either by reading it from a file or assigning a constant value.
    OlgaSergienko committed Jun 1, 2021
    Configuration menu
    Copy the full SHA
    e7d4254 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2021

  1. Configuration menu
    Copy the full SHA
    8cdd302 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d4564ec View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2021

  1. Merge pull request #1407 from raphaeldussin/betaplane_fix

    corrections to beta-plane
    marshallward authored Jun 3, 2021
    Configuration menu
    Copy the full SHA
    3dcd5ca View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2021

  1. Configuration menu
    Copy the full SHA
    0985be1 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1411 from Hallberg-NOAA/rescale_user_OBC_code

    +Dimensional rescaling of user OBC test cases
    marshallward authored Jun 4, 2021
    Configuration menu
    Copy the full SHA
    121ec5c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0dee793 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d9edec1 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2021

  1. Merge pull request #1412 from ESMG/ESMG_sponge_masking

    Fix to masking of u,v sponge code.
    marshallward authored Jun 6, 2021
    Configuration menu
    Copy the full SHA
    a6a7999 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2021

  1. Configuration menu
    Copy the full SHA
    fe0c07a View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2021

  1. Merge pull request #1413 from marshallward/valgrind_fixes

    Memory management cleanup and initialization fixes
    Hallberg-NOAA authored Jun 8, 2021
    Configuration menu
    Copy the full SHA
    da287e1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5f2ef07 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2021

  1. Configuration menu
    Copy the full SHA
    6ce96b3 View commit details
    Browse the repository at this point in the history
  2. Updating flux_const for SALT and TEMP

    Updating for addition of FLUX_CONST_SALT and FLUX_CONST_TEMP with clean history.
    Unit_scaling has been added, but answers change for different values of T_RESCALE_POWER.
    wfcooke committed Jun 14, 2021
    Configuration menu
    Copy the full SHA
    2c871c5 View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2021

  1. (*)Correct multi-name handling by save_restart

      Corrected the code that adds a suffix to the restart file names created by
    save_restart when there are multiple restart files to satisfy the NetCDF
    requirement that all variables in a time record start within the first 4 Gb of
    the record in the case where the restart file name was provided with the ".nc"
    extension already included.  The code that reads the restarts already handled
    this case properly, but save_restart had an extra ".nc" in the names.  MOM6
    usually provided the root for the restart file without the .nc extension, but
    SIS2 does not and was having trouble reading its own restart files in some very
    large (e.g., 1/12-degree global) cases; identical corrections were made
    separately to MOM_restart.F90 and SIS_restart.F90.  All answers and filenames
    are bitwise identical in any cases that were correctly restarting before.
    Hallberg-NOAA committed Jun 15, 2021
    Configuration menu
    Copy the full SHA
    ee2e484 View commit details
    Browse the repository at this point in the history
  2. Allocate arrays only if needed.

    Reinstated check on allow_flux_adjustments and restore_temp before
    allocating the heat_added and salt_flux_added arrays.
    Initialized arrays within flag construct too.
    
    Removed previous allocation of salt_flux_added.
    wfcooke committed Jun 15, 2021
    Configuration menu
    Copy the full SHA
    e624254 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2021

  1. Merge pull request #1414 from Hallberg-NOAA/tracer_stock_scale

    Standardize dimensional rescaling in tracer stocks
    adcroft authored Jun 17, 2021
    Configuration menu
    Copy the full SHA
    dd86e7d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    060ea77 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    afc9e1c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ae71955 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #1425 from MJHarrison-GFDL/apply_flx_adj_patch

    Change the declaration of stack variable in apply_flux_adjustments
    Hallberg-NOAA authored Jun 17, 2021
    Configuration menu
    Copy the full SHA
    4273444 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    91bacbb View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2021

  1. fix reflect for internal tides

    * En array defined with wrong size leading to energy leakage
    * clean initialization for local arrays
    Raphael Dussin authored and Raphael Dussin committed Jun 18, 2021
    Configuration menu
    Copy the full SHA
    7da83db View commit details
    Browse the repository at this point in the history
  2. corrected indexing

    Raphael Dussin authored and Raphael Dussin committed Jun 18, 2021
    Configuration menu
    Copy the full SHA
    0f76e34 View commit details
    Browse the repository at this point in the history
  3. update halo and allow sponge_uv to not be on grid

    - update Iresttime, data_h and h halos for sponge_uv reproducibility
    - add condition to not be on grid for sponge_uv
    abozec committed Jun 18, 2021
    Configuration menu
    Copy the full SHA
    0f0afbe View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2021

  1. fix reflect for internal tides

    * En array defined with wrong size leading to energy leakage
    * clean initialization for local arrays
    Raphael Dussin authored and Raphael Dussin committed Jun 21, 2021
    Configuration menu
    Copy the full SHA
    35409ce View commit details
    Browse the repository at this point in the history
  2. corrected indexing

    Raphael Dussin authored and Raphael Dussin committed Jun 21, 2021
    Configuration menu
    Copy the full SHA
    540c375 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5df2ed4 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #1426 from Hallberg-NOAA/fix_restart_names

    (*)Correct multi-name handling by save_restart
    marshallward authored Jun 21, 2021
    Configuration menu
    Copy the full SHA
    74440bd View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ea5d70d View commit details
    Browse the repository at this point in the history
  6. Merge pull request #1431 from raphaeldussin/new_fix_reflect_tides

    New fix reflect tides
    Hallberg-NOAA authored Jun 21, 2021
    Configuration menu
    Copy the full SHA
    195575a View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2021

  1. Updating conditionals for array allocation

    Tests with intel and gnu compilers (repro and debug) passed.
    wfcooke committed Jun 22, 2021
    Configuration menu
    Copy the full SHA
    6274937 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    74f7d25 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2021

  1. correction to a typo

    abozec committed Jun 23, 2021
    Configuration menu
    Copy the full SHA
    faa2c36 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2021

  1. Configuration menu
    Copy the full SHA
    1de087e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fba442a View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1432 from abozec/dev/gfdl

    update halo and allow sponge_uv to not be on grid
    Hallberg-NOAA authored Jun 24, 2021
    Configuration menu
    Copy the full SHA
    e60e5ba View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2021

  1. (+)Modified some optional arguments

    Modified optional arguments in 4 modules to reflect their actual usage.
    
    1. Eliminated the optional argument full_prec to zonal_flux_adjust and
       meridional_flux_adjust, which were always called with the hard-coded value
       "true", and made the optional arguments monotonic and simple_2nd to
       PPM_reconstruction_[xy] mandatory.
    
    2. Eliminated the optional argument eta_bt to calculate_diagnostic_fields, which
       was never present.
    
    3. Made the two optional arguments to unit_scaling_init mandatory.
    
    4. Eliminated the optional do_i argument to F_to_ent, which was never present
       in calls, and made the parameter just_read_params to entrain_diffusive_init
       mandatory.
    
    All answers are bitwise identical.
    Hallberg-NOAA committed Jun 25, 2021
    Configuration menu
    Copy the full SHA
    5da1b8f View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2021

  1. Bugfix: Minor changes on clipping topography from file (#1428)

    * Minor changes to topography initialized from files
    This is intended to extend the compatibility with negative topography.
    1. A bug that occurs when clipping topography with a negative
    MINIMUM_DEPTH is fixed.
    2. MASKING_DEPTH can now be negative.
    3. A warning will be given if MASKING_DEPTH is set to be smaller than
    MINIMUM_DEPTH.
    
    * Adding an exception to avoid answer changes
    To keep answer unchnaged in the test cases (at land points),
    D is clipped at 0.5*min_depth when min_depth > 0.
    
    * Change the if-statement on whether MASK_DEPTH is default to a simple comparison
    
    * Change the if-statement on whether MASK_DEPTH is default
    
    * Change the if-statement comparison on MASK_DEPTH
    Reverted back to a simple comparison. A mistake in a previous commit in
    MOM_grid_initialize.F90 is corrected.
    
    Co-authored-by: Robert Hallberg <Robert.Hallberg@noaa.gov>
    herrwang0 and Hallberg-NOAA authored Jun 29, 2021
    Configuration menu
    Copy the full SHA
    52fe576 View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2021

  1. Update gitlab pipeline to use scripts from MOM6-examples

    - Reduce entries in .gitlab-ci.yml to mostly just one line by invoking scripts in MOM6-examples
      - This undoes early direction of moving detailed control into the pipeline yaml
    - todo: define a library build process from within each child repository
    adcroft committed Jun 30, 2021
    Configuration menu
    Copy the full SHA
    4e3cc5d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3c59a07 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1435 from Hallberg-NOAA/modify_opt_arg

    (+)Modified some optional arguments
    adcroft authored Jun 30, 2021
    Configuration menu
    Copy the full SHA
    ab0ae40 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7d2865f View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2021

  1. Merge pull request #1436 from adcroft/mrs

    Update gitlab pipeline to use scripts from MOM6-examples
    Hallberg-NOAA authored Jul 1, 2021
    Configuration menu
    Copy the full SHA
    52f906c View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2021

  1. Configuration menu
    Copy the full SHA
    d9bdbc3 View commit details
    Browse the repository at this point in the history
  2. +Add query_wave_properties & fix NUOPC wave queries

      Added a new routine, query_wave_properties, that can be call to get
    information about the wave properties from the waves control structure, and
    added a get_param call for SURFBAND_WAVENUMBERS to MOM_wave_interface_init when
    it is using the options that are typical with NUOPC coupler.  These changes
    should allow the NUOPC coupler to compile and work again, while still keeping
    the same level of opacity in the wave_parameters_CS.  All answers should be
    bitwise identical, although the order of some entries in the MOM_parameter_doc
    files may change when coupled with waves is WAVE_METHOD=SURFACE_BANDS and
    SURFBAND_SOURCE=COUPLER.
    Hallberg-NOAA committed Jul 9, 2021
    Configuration menu
    Copy the full SHA
    7c27bfb View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2021

  1. Allocate Waves%WaveNum_Cen before reading into it

      Moved the recently added call to read SURFBAND_WAVENUMBERS into an array when
    SURFBAND_SOURCE=COUPLER down by a line to follow the allocate call for that
    array.  This change should avert a memory access problem that would otherwise
    arise when exercising this newly added code.  All answers are bitwise identical
    in any case that ran with the previous version, and they should reproduce
    answers from before this PR as a whole, although obviously this code is not
    as well tested as would be ideal, based on the fact that this bug was in the
    last commit, which also passed testing.
    Hallberg-NOAA committed Jul 12, 2021
    Configuration menu
    Copy the full SHA
    f6c1fc7 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2021

  1. +Add query_ocean_state

      Added the new routine query_ocean_state to mom_ocean_model_nuopc to allow
    for the wave properties to be obtained by the mom_cap without having to rely on
    the elements of an otherwise opaque type being public.  I believe that all
    elements of the ocean_state_type could now be declared as private, and that the
    version of MOM6 with the NUOPC coupler should now work as intended.
    Hallberg-NOAA committed Jul 15, 2021
    Configuration menu
    Copy the full SHA
    01b51e8 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2021

  1. Merge pull request #1442 from klindsay28/fix_dim_names_assignment

    fix dim_names assignment in MOM_io:read_var_sizes
    marshallward authored Jul 16, 2021
    Configuration menu
    Copy the full SHA
    16c5627 View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2021

  1. Configuration menu
    Copy the full SHA
    c2001ec View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1443 from Hallberg-NOAA/NUOPC_wave_fix

    +Add query_wave_properties & fix NUOPC wave queries
    marshallward authored Jul 17, 2021
    Configuration menu
    Copy the full SHA
    fee595c View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2021

  1. Configuration menu
    Copy the full SHA
    3d6e0ea View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2ff2419 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2021

  1. Merge pull request #1446 from jiandewang/test/GFDL-candidate-0708

    initialize CS%WaveNum_Cen before read in this parameter in MOM_wave_interface.F90
    marshallward authored Jul 19, 2021
    Configuration menu
    Copy the full SHA
    a91cc3f View commit details
    Browse the repository at this point in the history