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

Merging the main candidate from GFDL 2021-03-26 #186

Merged

Conversation

gustavo-marques
Copy link
Collaborator

See https://github.com/NOAA-GFDL/MOM6/pull/1358 for a summary of what's being added.

@alperaltuntas, I believe you have already evaluated these changes, but please confirm that.

DeniseWorthen and others added 30 commits November 26, 2019 09:08
MOM_ice_shelf_dynamics.F90  modified
initialize_ice_shelf_boundary_channel in MOM_ice_shelf_initialze.F90
Merge branch 'revert_drivers' of https://github.com/MJHarrison-GFDL/MOM6 into matts-revert-drivers
…e ice-shelf_fields consistent

with diag_table
Modifications to MOM_ice_shelf.F90 to apply melting to the case of a
dynamic ice shelf.
- In A and B grid configuration halos were never updated after taux/tauy were populated.
- This propogated through to the ustar_gustless field, hence caused a restart issue when using ustar_gustless in parameterizations.
- This appears to correct the restart issue by updating the halos at the end of the A and B grid taux/tauy loops.
…s_in_nupoc

Add two halo updates for taux and tauy in mom_surface_forcing_nuopc
…20210120

This is corresponding GFDL 20210120 main branch commit (hash # fe5e605)
This patch fixes a sign bug, in both MCT and NUOPC, when
accounting for the latent heat from fprec and frunnoff.
Following MOM6's definition, both fprec
and frunoff are > 0 into the ocean. Therefore, the latent heat
associated with these terms should be negative.
Bugfix: sign error on fprec for nuopc and mct caps
Hallberg-NOAA and others added 25 commits March 9, 2021 18:34
  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.  Also 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.
* if true, allow the topog overrides to change the land mask
Explicitly set (1x1) io_domain as a default
- Units of isoneutral or interface slope were recorded as "nondim". While
  true in SI units, not so for MOM6 units. MOM6 distinguishes between units
  of length in the vertical (Z) and horizontal (L) the slopes should have
  units of "Z L-1 ~> nondim".
- This has consequences for other variables in calc_isoneutral_slopes().
  - An internal constant, G_Rho0, was defined differently from elsewhere in
    the code. "g" has units of "L2 Z-1 T-2 ~ m s-2" because it is the
    vertical component of the gradient of geopotential in "L2 T-2 ~ m2 s-2".
    Everywhere else `G_Rho0 = g_Earth/Rho0` but in this routine it was
    different in order render N2 (the Brunt-Vaisala frequency) in units of
    "T-2" (s-2).
  - N2 is a quantity associated with dispersion relations and defined
    N2 = - g/Rho0 d/dz rho and either way acquires units of "L2 Z-2 T-2"
    and not just "T-2". In SI units L2 Z-2 = 1. So I have also changed
    the units of N2 in this, and connected, modules.
- The changes also propagate to MOM_lateral_mixing_coeffs.F90 and
  MOM_thickness_diffuse.F90.
- Changing the definition of G_Rho0 in calc_isoneutral_slopes(), and
  its units to "L2 Z-1 T-2", the slope and N2 calculations then require
  many less inline conversions. Many of the one-line changes in this commit
  remove factors like US%Z_to_L.There is one exception:
  - In the calculation of slope, we use in the denominator a mostly
    non-vanishing replacement for d/dz rho, the magnitude of grad rho from
    mag_grad2 = ( d/dx rho )^2 + ( d/dz rho )^2. In code this had
    `mag_grad2 = drdy**2 + (L_to_Z*drdz)**2` since this is mixing
    gradients in the horizontal and vertical. The result should be
    in "R2 Z-2" so now `mag_grad2 = (Z_to_L*drdy)**2 + drdz**2`
- A few diagnostics needed new, or changed, conversion factors.
- One run-time parameter needed a conversion parameter.
- For the most part this commit moves inline conversions of units to
  the I/O stage, which is an indicator that it is the right thing to do.
Change units of slope returned from calc_isoneutral_slopes() to "Z L-1"
Bugfix: FGNV streamfunction vertical bounds
…L-20210308

Feature/update to gfdl 20210308
Two minor changes to the .testing build:

- We now apply `--recurse-submodules` to the target build in the
  regression test.  This is required after an update to the submodules,
  when the target submodule is out of sync with the main branch (e.g.
  dev/gfdl at NOAA-GFDL).

- A LDFLAGS_USER hook was added to the `.testing/Makefile`
  configuration, similar to the FCFLAGS_* hooks.  This is required if
  the library dependencies do not reside in the default directores.

  For example, this may be needed for a custom netCDF or MPI library.
Testing: Recurse target submodules, LDFLAGS hook
…ate-2021-03-26

dev/gfdl main candidate 2021-03-26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.