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 E3SM/master into Omega/develop #203

Draft
wants to merge 844 commits into
base: develop
Choose a base branch
from

Conversation

xylar
Copy link

@xylar xylar commented Feb 27, 2025

Among other features, this brings in compiler name changes and module updates for Frontier:
E3SM-Project#6990

Checklist

  • Documentation:
    • Design document has been generated and added to the docs
    • User's Guide has been updated
    • Developer's Guide has been updated
    • Documentation has been built locally and changes look as expected
  • Testing
    • A comment in the PR documents testing used to verify the changes including any tests that are added/modified/impacted.
    • CTest unit tests for new features have been added per the approved design.
    • Polaris tests for new features have been added per the approved design (and included in a test suite)
    • Unit tests have passed. Please provide a relevant CDash build entry for verification.
    • Polaris test suite has passed
    • Performance related PRs: Please include a relevant PACE experiment link documenting performance before and after.

amametjanov and others added 30 commits January 29, 2025 19:30
Also use throttled qsub script for 3+ job submissions
Also, set 2 threads/task with max=96(=48x2).
Make sure lat, lon, area and mask tags are all defined and have values in the component MOAB meshes
on both the component and coupler sides.

As part of confirming the above, MOABDEBUG writes of h5m files were modified so they occur at the end
of each init phase. Also changed names of some to follow a consistent naming scheme. All coupler-side
meshes start with "RecMesh". All export and import states have "export" or "import" in the title.

[BFB]
…6929)

EAMxx: Adds interface code for MAM4xx gas and aerosols dry deposition

Modifying the microphysics emaxx-mam4xx interface to include gas dry deposition.
Adding the missing code for aerosol dry deposition.
Updating the mam4xx submodule required for the modification of gas dry deposition.

[NBFB] for MAM4xx microphysics tests

* odiazib/oscar/gas_dry_deposition:
  EAMxx: Adding missing code to the aerosol dry deposition interface.
  EAMxx: Moved the computation of  to the microphysics interface of EAMxx, enhancing modularity and improving interface coherence.
  EAMxx: By using the atm struct, we can obtain surface air temperature, potential temperature, 10-meter pressure, and specific humidity. Thus, we can reduce the number of inputs required for the perform_atmospheric_chemistry_and_microphysics function.
Make L80 default for RRM grids

Change default RRM configurations from 72 to 80 levels.
L80 atm initial files for conusx4v1pg2 and northamericax4v1pg2 (narrm)
are added that are needed for nightly tests. The grid for narrm is changed to
northamericax4v1pg2_r025_IcoswISC30E3r5 as used for v3 narrm production config.
The testing PE layout is increased to 128 tasks (PS) to 512 tasks.

[non-BFB] only for the conusx4v1pg2 test. The NARRM test becomes a new test.
Given that remap setup options started to increase too much,
I added a RemapData mini-struct, that customers need to pass
Allow to pass in the reference time stamp rather than
reading it in from the input files
Also remove the unit tests, since SPA is simply a wrapper
of a DataInterpolation instance
Delete circleci as we are well covered without it. This gets rid of circleci testing, by deleting its folder. We are currently abundantly covered for what circleci testing offers us (via github actions; in fact, for github actions, not only do we build, we run several tests for free).

[BFB]
it will be associated with the source coverage computation
it needs a change in MOAB api
Change SORRMv3 ocean initial condition

Changes ocean initial condition for B-cases with the SOwISC12to30E3r3
ocean mesh. The previous default initial condition is from a one-month
G-case restart from cold-start (standard default). The initial condition
here has been interpolated from year 701 of the SORRM v2.1 1950 control
simulation, in an effort to bypass/speed-up ocean spinup.

New ocean initial condition file is staged in public inputdata repo,
world-readable.

[BFB] for all currently tested configurations
Upgraded ADIOS libs to version 2.10.2 on Frontier with compression
support enabled. While older versions also support compression,
they were not built with it. This update facilitates testing of
lossless and lossy compression on Frontier.
This new capability builds on the existing topographic unit (topounit) subgrid scheme by
implementing transport of water within a gridcell from higher to lower elevation topounits.
Assuming that the topounit information on an existing surface dataset includes mean
elevation for each topounit on a gridcell, the code will calculate topounit connectivity (topology)
 at run time during model initialization. On each time step a user-specified fraction of the
surface runoff, ponded water runoff, and perched water table drainage terms are shifted
to the next-lower topounit, where that water is distributed to the columns on the topounit
with a user-defined decay term.

[BFB]
[FCC]
[NML]

Conflicts:
	components/elm/src/biogeophys/HydrologyDrainageMod.F90
	components/elm/src/data_types/ColumnDataType.F90
Assignment of usePorosity moved to frazil init routine.
BFB
Fix SCREAM_LIB_ONLY typo in p3 and shoc. This was misspelled SCREAM_LIBS_ONLY in the CMakeLists.txt,
which would also evaluate to FALSE in a cmake logical, which in this case meant that the disp sources for
p3 and shoc would always be built for non-standalone (cime) builds of p3 and shoc.
Fix issue with mpas-seaice for branch and hybrid runs

There has been an issue with mpas-seaice in branch and hybrid runs when
the compset does not include SOI, indicating spunup ocn/ice initial
conditions. In that situation, which mostly occurs for D- and
G-compsets, the seaice would not correctly set
config_initial_condition_type and add a restart_ic stream. This fixes
that issue by making ice_ic_mode equal to spunup when run_type is branch
or hybrid.

Fixes #6925
[BFB] for all currently tested configurations
Major cleanup of zm_conv_intr.F90

This is the inaugural PR for the ZM overhaul and refactoring,
which is limited to cosmetic cleanup of the outer ZM interface
(zm_conv_intr.F90).

[BFB]
SCORPIO v1.6.7 includes the following fixes,

* Fix for E3SM restart issues with ADIOS
* CMake fixes (reduces warnings, workaround for CMake 3.22 bug)
* Support for ADIOSC in legacy Fortran interface

[BFB]
Add csv file with IO-related metadata with instructions on how to edit.
    
Fixes #6940
    
[BFB]
Update oneapi modules on Sunspot and Aurora:
- compiler to latest available 2024.07.30.002
- (p)netcdf libraries to latest versions built with updated compiler
- update queues on aurora
- default F-compsets single-node PEs
- update project paths on Aurora
- remove -fpe0 from debug flags

[BFB]
…6859)

Minor mods to fix segmentation fault errors in use_extrasnowlayers errors
that occur when the snow depth is very shallow.

[B4B]

Conflicts:
	components/elm/src/biogeophys/BalanceCheckMod.F90
	components/elm/src/biogeophys/HydrologyDrainageMod.F90
	components/elm/src/biogeophys/SoilTemperatureMod.F90
	components/elm/src/data_types/ColumnDataType.F90
Dyn grid reads 0 fields, so just skip it
grnydawn and others added 11 commits February 21, 2025 15:08
* --core-spec argument is restored before Feb. 18 2025 Frontier update
* Some Depends files for gnu compiler on Frontier are created
* amd compiler are up-versioned to avoid missing libsci library issue
Addresses an issue we sometime see where an IOPRemapper is created while it shouldn't.

Fixes #7051

[BFB]
…flag (PR #7041)

For pm-cpu (and only GNU builds), remove link flag to allow building
EAMxx: Formats all MAM4xx interfaces using Clang

There are no code changes in the PR except for formatting.

[BFB]

* singhbalwinder/eamxx/format-mam4xx-codes:
  Rebased on current master and clang format
  EAMxx:Formats all MAM4xx interfaces using Clang
---

model_configuration.md cleaned up and linted

move, modify, clean up dev testing files

major updates for current PR finished
Improve EAMxx documentation. Most notably, add a developer quick-start guide.

[BFB]
The --core-spec argument has been restored to its state before the February 18, 2025, Frontier update.
Some Depends files for the GNU compiler on Frontier have been created.

[BFB] No baseline for Frontier yet
Fixes #7046
Fixes #7037
@xylar
Copy link
Author

xylar commented Feb 27, 2025

It would be helpful if this is merged in coordination with E3SM-Project/polaris#282

@xylar
Copy link
Author

xylar commented Feb 27, 2025

Updates are needed to the documentation either as part of this PR or shortly after (my preference) to handle the new compiler names on Frontier.

@xylar
Copy link
Author

xylar commented Feb 27, 2025

We need to wait until E3SM-Project#7065 is fixed before we do this merge.

ambrad and others added 3 commits February 27, 2025 14:28
Hommexx/SL: Fix a threading issue.

Fix a threading error in EAMxx simulations on CPU in the case that each element
has more than one thread. Add some team_barriers and rearrange a section of code
to permit more team_barriers. Clean up some compiler warnings.

[BFB]
This feature adds new parameterizations to represent winter wheat crop in ELM.

The implementation is based on Yaqiong Lu’s implementation of winter wheat in CLM4.5. https://doi.org/10.5194/gmd-10-1873-2017

The model was calibrated using the methodology used in Sinha et al. 2022.
https://doi.org/10.1029/2022MS003171

[non BFB] for Crops
@grnydawn
Copy link

@xylar , Including E3SM-Project#7065, there are two more relatively simple requests on the Frontier machine file. I think I will create a PR to resolve those issues together.

@xylar
Copy link
Author

xylar commented Mar 1, 2025

@grnydawn, sounds good.

grnydawn and others added 4 commits March 1, 2025 08:43
* changes frontier OS type from CNL to Linux
* removes --gpus-per-node srun argument
* loads cray-libsci/22.12.1.1 for AMD compiler
The older version of MKL (mkl/2019u5) produced linking errors
with the EAMxx test-all-scream script.
The new version (mkl/2020) fixes these errors.

[NBFB] possibly for compy only

* singhbalwinder/machine/update-compy-mkl:
  Updates Intel's  MKL version to mkl/2020 on Compy
@xylar
Copy link
Author

xylar commented Mar 3, 2025

Needs E3SM-Project#7070, which addressed E3SM-Project#7065

singhbalwinder and others added 2 commits March 3, 2025 09:55
EAMxx: Adds ERS tests for some MAM4xx individual processes and a PE

... layout for Compy

ERS tests for MAM4xx's optics, wet scavenging, and dry
deposition are added. A PE layout for ne4pg2 grid for Compy
is added so that the test runs out-of-the-box on Compy.

[BFB]

* singhbalwinder/eamxx/add-ers-mam4-tests:
  Update comment for ne4pg2 grid configuration
  EAMxx: Adds ERS tests for some MAM4xx individual processes
* changes Frontier OS type from CNL to Linux
* removes --gpus-per-node srun argument
* loads cray-libsci/22.12.1.1 for AMD compiler

[BFB]
Fixes #7065
Fixes #7057
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.