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

merge in API 24 #3

Merged
merged 1,666 commits into from
Dec 19, 2022
Merged

Conversation

rgknox
Copy link

@rgknox rgknox commented Dec 19, 2022

No description provided.

trhille and others added 30 commits October 3, 2022 15:24
Initialize thermalCellMask in li_advection_thickness_tracers. The
previous commit neglected to initialize and deallocate this array, and
thus it was not being applied properly.
Add internalMeltRate directly to basalMassBal instead of adding it
to groundedBasalMasBal and then repartitioning between grounded and floating.
Also define internalMeltRate in Registry.xml.
The name internalMeltRate was misleading because there is a component
that is not accounted for in this variable, which is the the amount
needed to fill the maximum water fraction.
Fix runoff configuration in the BGC land-atm compsets
…5178)

Add script support for ARRM10to60E2r1 ocn/ice grid

Brings in support for the ARRM10to60E2r1 ocn/ice mesh.
MPAS-Dev/compass#414 has details on the mesh generation, which is an
updated version of the oARRM60to10 mesh. This PR includes all necessary
mapping, runoff, and domain files for the following configurations:
* ne30pg2_ARRM10to60E2r1
* arcticx4v1pg2_ARRM10to60E2r1
* TL319_ARRM10to60E2r1 (JRA-forced)
* T62_ARRM10to60E2r1 (CORE-forced)

[BFB] for all currently tested configurations
Add scm_zero_non_iop_tracers option

For single-column runs, this sets all tracers in the atmospheric
constituent list to qmin (typically zero) after the initial condition
file (ncdata) is read in, but before the IOP file values are applied.
As a result, non-IOP tracers are initialized to qmin rather than
taking their values from the initial condition file, while IOP-defined
tracers are unaffected.

This option defaults to .false., and hence does not change answers for
existing cases. However, it may be considered safer in the future to
change the default to .true. (at least for non-replay runs), to avoid
inconsistencies between the initial condition file state and the IOP
file state that exacerbate transient spin-up behavior and potentially
bias free-running model results. Like most single column model options,
this option has no effect in global runs.

This PR addresses E3SM-Project#5177, at least in part. Actually changing default
behavior for existing SCM cases would require the option to be
enabled in scmlib.

[BFB] No impact on existing tests
… of an un-allocated o2r_rx is passed as an argument.
…-Project#5195)

Fix barotropic thickness on edge in split explicit subcycling

Barotropic thickness at the edge must match the sum of baroclinic
thicknesses at that edge. This PR corrects a long-standing problem of
noise in the vertVelocityTop variable, which is the Eulerian
(fixed-frame) velocity for momentum. The vertTransportVelocityTop
variable for tracer and thickness transport was smooth, both before and
after this change.

Currently in the code, the thickness at an edge used for volume (SSH)
transport in the barotropic subcycling is
   thicknessSum = sshEdge + min(bottomDepth(cell1), bottomDepth(cell2))
That is, the thickness at an edge is taken as the shallower of the two
neighboring cells. This was inconsistent with the baroclinic mode, which
takes the average thickness of the two neighboring cells.

[CC]
Fix threading issues in submesoscale code

Adds some missing variables to the omp pragmas in the new submesoscale
model code, to fix some issues with a test not being reproducible with
threading and debug on.

Fixes E3SM-Project#5215

[non-BFB] only with threading on
…ect#5209)

Corrects sea ice snicar_ad error

Fixes interpolation of shortwave parameters for the 5-band scheme. This
error was introduced in the Snicar_ad feature implementation.

Fixes E3SM-Project#5206
[non-BFB]
Previously, the unstructured SL-internal communication rounds were done using
device pointers regardless of the value of HOMMEXX_MPI_ON_DEVICE. Now they are
done on host if HOMMEXX_MPI_ON_DEVICE is true.
Add CF-compliant Time coordinate

This variable has CF-compliant units and calendar. To accommodate the
CF-compliant units, a new config option has been added to supply the
reference time, 0001-01-01 by default.

This merge also adds a Time_bnds variable. For output from a single
point in time, the values in Time_bnds are the same as Time. For
time-averaged (or min or max) output, Time_bnds contains the start and
end times of the interval covered by the output.

[BFB]
…ject#5189)

Change defunct Fortran line labels to end do

Update from numerical line labels to closing end do.

Fixes E3SM-Project#5188
[BFB]
…#5223)

Hommexx/SL: Implement HOMMEXX_MPI_ON_DEVICE=Off in SL transport.

Previously, the unstructured SL-internal communication rounds were done using
device pointers regardless of the value of HOMMEXX_MPI_ON_DEVICE. Now they are
done on host if HOMMEXX_MPI_ON_DEVICE is true.

Chrysalis e3sm_developer and homme_integration pass. Performance tested in
SCREAM on Summit.

[BFB]
Removed "nu_com = 'RD'" check since it isn't use in lnd_in but is the default setting
in ELM source code.
HIP can't handle the reference, but we still need it for the F90 dycore with
HORIZ_OPENMP enabled, since in that code path we enter all of our routines
within a threaded region and so cannot create new Kokkos::Serial views during
time stepping. (Recall Kokkos::Serial is necessary b/c Homme's threading is not
compatible with Kokkos::OpenMP.) Thus, if COMPOSE_PORT is not defined, take a
reference.
 - Add uost files to input file list

 - Add cesm_namelist as -infile to build-namelist call so user_nl_ww3
   modifications are considered
Many changes for HIP.

Adding a new macro, HOMMEXX_ENABLE_GPU, redoing templates
to generalize CUDA/HIP code. Arch-dependent code (very few lines)
still uses kokkos macros.

Regarding HIP -- standalone homme with output builds and runs,
but no eye ball norm tests wrt output were performed.
Also, not performed: bfb tests, unit tests (not tried to run),
investigating bfb flags. This is for future PRs.

Fixes E3SM-Project#5069 for team sizes too large with asserts and nans
in reprosums for cxx execs with diagnostics macro ENERGY_DIAGNOSTICS.

[bfb] for nightlies and v100.
Updates the settings for JRA data

Removes the hard-coded start and end year for JRA from 1958/2016 to be
the start/end values specified by DATM_CLMNCEP_YR_START/
DATM_CLMNCEP_YR_END.

[BFB]
(PR E3SM-Project#5224)

Shorten test-job-id with --jenkins-id Jenkins script option for
amdclang on Crusher.

[BFB]
…oject#5194)

Replace device_resident and other OpenACC fixes for ocean

The OpenACC declare device resident was not universally supported so
replaced these with the more standard create/delete pairs. Also fixed
some other missing private declarations that were possibly resulting in
race conditions and bad results. Cleaned up some long lines, removed
meshPool and other things along the way.

Fixes E3SM-Project#5006
Fixes E3SM-Project#5176

[BFB]
ndkeen and others added 29 commits December 6, 2022 20:27
and add a slightly smaller allowance for TPUT.

This fixes a fail for one test in e3sm_extra_coverage
ERP_Lm3.ne4_oQU240.F2010.gcp_gnu
…#5348)

Updating the version of SCORPIO submodules to 1.4.1

This release includes the following changes,

* Fix for a performance bug where the NetCDF header was reallocated
  multiple times, slowing down runs that create large output files
* Support for ADIOS BP5 file format
* Preliminary support (disabled by default) for HDF5
* Improved performance by reducing some collectives
* Support for Perlmutter/Crusher
* Minor bug fixes

[BFB]
…3SM-Project#5350)

On GCP only, add larger allowance for MEMLEAK detection in tests
Add instance string to MPAS output filenames

Creates a stream file for multiple instances of MPAS Ocean and Sea Ice.
Adds the instance string to streams.ocean_* and streams.seaice_* output
and restart filenames

Fixes E3SM-Project#5122

[BFB]
Update MALI version

This merge includes numerous updates to MALI.

The major updates include:
• A glacier retreat parameterization based on change in ocean thermal
  forcing and subglacial runoff
• Coupling to a 1-D global sea level model
• A CFL-like limit on time step length based on calving velocity
• A new definition of the grounding line that depends on the flotation
  condition, which no longer includes the grounded marine margin if that
  is above the flotation thickness. This is necessary for mass budget
  calculations

Minor changes include:
• The ability to use rate-based and damage threshold-based calving
  parameterizations simultaneously
• Spatially variable calving stress thresholds for the von Mises stress
  calving parameterization
• An option to prevent positive surface mass balance in ice-free regions
• An optional clean-up for rate-based iceberg calving routines
• New fields containing the basal mass balance that was actually applied
  in a time step
• Logic that prevents the original input basal mass balance field from
  ever being modified in case of an instability in the thermal solver
• Clean up for compiling with Intel, including memory bug fix in Sea
  Level Model
• Bug fixes necessary for regional statistics output
• A step to remove isolated regions of dynamic floating ice connected to
  the rest of the ice shelf by non-dynamic ice. These were causing the
  velocity solver to fail in simulations with evolving calving
• Additional new calving metrics and minor bug fixes
• A new field that defined the flux across the grounding line on cell
  centers
• Use indexToCellID(iCell) instead of iCell in log messages
• Write out additional fields to ascii files to import into Albany
• Bug fixes in MALI–Sea Level Model coupling: initialize variables

[NML]
[non-BFB] for configurations with MALI
…' (PR E3SM-Project#5281)

Clean up "*-nersc" build targets in MPAS standlone build system

Remove pgi-nersc and cray-nersc, which are not used or supported.
Rename intel-nersc and gnu-nersc to intel-cray and gnu-cray,
espectively, as they should work on other cray machines as well such as
Chicoma.

[BFB]
…ct#5355)

Add GMPAS-JRA1p5-DIB-ISMF compset

Adds a new GMPAS-JRA1p5-DIB-ISMF compset, an updated version of the
existing GMPAS-JRA1p4-DIB-ISMF compset that uses JRA v1.5.

This compset is for use with ocean meshes with ice-shelf cavities, and
uses prognostic ice-shelf basal melting, and prescribed iceberg forcing.
To compensate for this Antarctic runoff, the rofi and rofl fields have
been zeroed out below 60S in the modified runoff forcing files.

New modified runoff files (with the no_rofi_no_rofl tag are on the
public inputdata server and world readable.

[BFB]
…t#5356)

Move bottomDepthEdge calculation to single loop over all edges

After E3SM-Project#5195 was merged, the MPAS-Ocean standalone test
ocean/baroclinic_channel/10km/decomp_test failed to match between 4 and
8 partitions, but only for intel optimized. All compass nightly suite
tests passed for gnu debug, gnu optimized, intel debug.

This PR solves the problem by merging the computation of bottomDepthEdge
into a single edge loop. Previously it was split into two loops,
1:nEdgesOwned (with many other calculations) and another from
nEdgesOwned+1:nEdgesArray(4). The intel optimized compiler must have
changed order-of-operations in these two loops for different partitions.

Fixes E3SM-Project#5219
[BFB]
Add DMPAS-JRA1p5 compset

Adds DMPAS-JRA1p5 compset: D-case with active sea ice only. Also adds PE
layouts for any D-case on Chrysalis and Anvil, S layouts on 20 nodes,
with ~47 and 23 SYPD, respectively.

[BFB]
The use of uninitialized variables (i.e., `Qsur` and `Qsub`) in the computation of the change of energy
due to heat exchange with the environment and advection is fixed. Currently, it is assumed that those
changes in energy are zero.

Fixes E3SM-Project#5332
[BFB]
Increase ELM PEs in BGC runs on Anvil to avoid OOM issues.

[BFB]
…SM-Project#5345)

Move the fates-specific `satellitephenology` call out of an area that is unreachable when `fates` is active.

Fixes NGEET/fates#953.

[Non-B4B]
…roject#5290)

Refactor of MPAS-Seaice velocity solver

Refactor of MPAS sea ice velocity solver to allow easier testing of new
options and methods, including:
* Move domain reference to within subroutines avoiding messy passing of
  variables
* Move wachspress basis routines to separate module
* Move triangular quadrature rules to new module
* Move some mesh related routines to the mesh module
* Rename block variable to blockPtr
* Rename all pool types to end in Pool

Fixes E3SM-Project#5289

[BFB]
The alias for the 20TR BGC compset for BGC is corrected.

[BFB]
@sshu88 sshu88 merged commit e96fc25 into sshu88:fatesluc_cbasedhrv_v2 Dec 19, 2022
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.