Skip to content

Conversation

@sbrus89
Copy link
Collaborator

@sbrus89 sbrus89 commented Apr 22, 2025

This PR adds the design document for the pressure gradient module for Omega-1.

Checklist

  • Documentation:
    • Design document has been generated and added to the docs
    • Documentation has been built locally and changes look as expected

ndkeen and others added 30 commits March 18, 2025 10:24
Enable google analytics with our docs.
…3SM-Project#7143)

This was a bug where I was passing around StridedLayout views to functions expecting
LayoutLeft. Only caught in the PM-GPU nightlies and by PR E3SM-Project#6916, so I will ensure those
pass before merging.

 [BFB]
Coupler: Add nlmaps_atm2srf_conserve option to nonlinear maps.

To solve the problem of non-0 SUM-column wrain,wsnow values in the water budget
tables, add a feature to the nonlinear-maps module to explicitly make the
atmosphere-to-surface conservation error 0.

Enable this feature by setting nlmaps_atm2srf_conserve = .true. in drv_in.

See the module documentation in seq_nlmap_mod.F90 for details about the
algorithm.

Modify the existing nlmaps test to cover this feature; the code path when this
feature is off is also covered in this test.

Note: Because of the order of the call to cime_run_calc_budgets2 and the call to
the atmosphere component, this PR alone won't make the wrain budget line show 0
in the SUM column. Instead, the ATM value from the previous instantaneous table
matches the sum of the rest of the columns for the current table, which is not
true without this PR.

Testing: On Chrysalis, e3sm_developer passes,
ERS_Ld3.ne30pg2_r05_IcoswISC30E3r5.WCYCL1850.allactive-nlmap diffs as expected,
and SMS_Ld1.ne30pg2_r05_IcoswISC30E3r5.WCYCL1850.allactive-wcprod_1850 passes.

[NBFB] for ERS_Ld3.ne30pg2_r05_IcoswISC30E3r5.WCYCL1850.allactive-nlmaps;
otherwise BFB.
[NML] for new option nlmaps_atm2srf_conserve in drv_in
Filter out some more noise in the optional diagnostics. This noise comes from
the lack of area consistency between atmosphere and surface in this
configuration due to eps_fraclim. This fixes a POSTRUN_SCRIPT failure on pm-cpu.
Add new GLC grid: mpas.gis4to40km

This is a medium resolution Greenland grid for MALI. It will eventually
replace the gis20km grid for testing. It is the first MALI Greenland
grid to extend far enough into the ocean to ensure overlap with
MPAS-Ocean meshes, which is needed for the in-development OCN-GLC
thermal forcing coupling used for Greenland fjords.

E3SM grids are added that include this mesh paired with the other
component grids for the suite of v3 BG, IG, and GG cases currently being
used, as well as a GG case at ultra-low-res for rapid testing.

[BFB] for all currently tested configurations
Also keep baselines in a mach-specific path
…so that we can directly use namelist variable instead of using negation
…M-Project#7116)

Re-enabled I/O post processing that was disabled in the
CIME workflow.

Users can enable conversion of ADIOS output files
(in BP file format) to NetCDF by setting the environment
variable 'SPIO_ENABLE_ADIOSBP2NC_CONVERSION' to 1

[BFB]
…ter (PR E3SM-Project#7130)

Re-enable consistency checks for EAMxx tests

Instead of skipping them entirely, do them for the buildnml call that
happens during the RUN phase. This give ERS test a chance to set the
correct values of REST_N etc.

[BFB]
…or-FPE-in-open (PR E3SM-Project#7144)

For pm-cpu: adjust LD_LIBRARY_PATH to use Cray system settings after Feb18th NERSC maintenance made CPE changes
Co-authored-by: Carolyn Begeman <[email protected]>
Coupler: Adjust error detection in POSTRUN_SCRIPT nlmaps_check.py

Filter out some more noise in the optional diagnostics. This noise comes from
the lack of area consistency between atmosphere and surface in this
configuration due to eps_fraclim. This fixes a POSTRUN_SCRIPT failure on pm-cpu.

[NBFB] for one test on pm-cpu
HOMME fortran init code refactor: important code hidden in print_cfl()
is extracted into a new routine, dss_hvtensor

dss_hvtensor improves HV results by making the HV coefficients
smooth accross elements.  It also does a bilinear projection
of the coefficients within each element to minimize oscillations
in the tensor coefficieints.
Update modules on alcf polaris. Also,
- update queues
- use cray wrappers for serial-gnu
- update cmake for gnugpu builds
- add eamxx cmake machine file
- run small eam and mpas-o cases on 1 polaris node
- add MOAB_ROOT env-var

Fixes E3SM-Project#6422

[BFB]
Previously, the file had the datestamp associated with the geometry
used to create the masks (which still needs to be retained with suffix
`mg` for mask geometry) but now it also has the creation date:
```
RRSwISC6to18E3r5_mocBasinsAndTransects20210623mg.20250205.nc
```
…#7141)

EAMxx: Using top_lev from namelist.

Update the interface to pass the 'top_lev' parameter to ndrop.

The value of the top_lev parameter can be changed using the namelist
variable top_level_mam4xx.

See also PR 414
in mam4xx.

[BFB]

* odiazib/ndrop_top_lev:
  EAMxx: move top_lev.
  EAMxx: Using top_lev from namelist.
jgfouca and others added 20 commits April 9, 2025 09:21
…oject#7197)

First round of name convention enforcing in namelist_defaults_eamxx.xml

and YAML files.

Related to E3SM-Project#7179

Avoid arbitrary capitalization of param names, use only when it really makes sense (like T for temperature).

Full list of XML renames:
* Scorpio -> scorpio
* Type -> type
* Averaging Type -> averaging_type
* Group -> group
* Sequential -> sequential
* Moisture -> moisture
* BfbHash -> bfb_hash
* cldFraction -> cld_fraction
* Filename -> filename
* MPI Ranks in Filename -> mpi_ranks_in_filename
* ML* -> ml_*
* testOnly -> test_only
* Frequency -> frequency
* Ckh -> coeff_kh
* Ckm -> coeff_km
* srf_emis_specifier_for_DMS -> srf_emis_specifier_for_dms
* srf_emis_specifier_for_SO2 -> srf_emis_specifier_for_so2

YAML renames:
* Remove mpi_ranks_in_filename
* column_conservation_checks_fail_handling_type Warning/Fatal -> warning/fatal
* disable_diagnostics and theta_hydrostatic_mode, False->false
* GLL -> gll
* PG2 -> pg2
* None -> none (physics_grid_rebalance)
* Homme -> homme
* All average_type values should be lowercase
* Max Snapshots Per File -> max_snapshots_per_file
* Fields -> fields
* Physics -> physics
* Field Names -> field_names
* Mesh Free -> mesh_free
* Restart -> restart. Restart Run -> restart_run
* Point Grid -> point_grid
* Checkpoint Control -> checkpoint_control
* Sub Name -> sub_name
* Grid Name -> grid_name. IO Grid Name -> io_grid_name
* SurfaceCouplingImporter -> surface_coupling_importer
* Dynamics -> dynamics
* physics gll -> physics_gll. physics pg2 -> physics_pg2

[BFB]
)

Add new SOwISC12to30E3r4 ocean and sea-ice mesh

Alternative version of the Southern Ocean Regionally Refined (SORRM)
mesh. This mesh has resolution that is:
* 12 km around Antarctica
* 30 km elsewhere
In contrast to SOwISC12to30E3r3, this mesh uses ice-sheet and bedrock
topography from the MALI E3SM-Project#6884 mesh and initial condition. It also uses
a new type of sea-surface salinity (SSS) restoring
(MPAS-Dev/compass#883) in G-cases.

The mesh is with Ice-Shelf Cavities (wISC) around Antarctica and has 80
vertical layers. Its longname is SOwISC12to30kmL80E3SMv3r4

[BFB]
…roject#7213)

Update icepack with negative silicate bug fix

Icepack BGC bug fix for silicate limitation, which was mistakenly
wrapped in an if statement for iron tracers that caused negative values.

Fixes E3SM-Project#7127

[non-BFB] only with active BGC, BFB otherwise.
Update new freshwater_tracers test to only require one year of JRA data

A new stealth test added by PR E3SM-Project#7087 did not limit the amount of JRA
data necessary for testing. This PR fixes that by adding a new testdef
and having the new test use that.

[BFB]
…7224)

Port ensure pylib eamxx stuff to newer python

pkg_resources is gone as of py 3.12. Use packaging.version instead if possible.

[BFB]
ZM cleanup - create zm_transport module

Create a new module to contain methods for the ZM tracer and momentum transport methods.

[non-BFB] only on pm-cpu gnu.

* whannah/eam/zm-cleanup-05:
  Remove momtran, convtran2 from physpkg
  remove debug print statement from zm_transport.F90
  Add new fields to physpkg
  remove unused chunk identifier
  add line return at end of file
  bug fix for zm_transport_momentum
  misc bug fixes
  initial creation of zm_transport module
…ject#7199)

EAMxx: Replacing temporary views with the emaxx buffer.

I modified the mam4::buffer to be utilized across all mam4 processes by
making the number of buffer.scratch processes dependent on the layout.
These variables are specifically designed for the ncol x nlev layout.
For other layout types, I introduced buffer.temporary_views, which is a
1D view. To configure buffer.temporary_views, I implemented the methods
get_len_temporary_views and init_temporary_views in each process.
Additionally, I did not replace views that need to be reset to zero each
time run_impl is invoked.

[BFB]

* odiazib/emaxx/mam4_buffer:
  EAMxx: Fixing the typo from temporal to temporary.
  EMAxx: clang-format
  EMAxx: Fixing the failing test by using views instead of buffer_.
  EAMxx: Remove buffer.work and move the temporal views size inside buffer_size.
  EAMxx: Using buffer_ to set temporal views in wetscav.
  EAMxx: Using buffer_ to set temporal views in optics.
  EAMxx: Using buffer_ to set temporal views in microphysics.
  EAMxx: Using buffer_ to set temporal views in dry deposition.
  EAMxx: Using buffer_ to set temporal views in ACI.
  EAMxx: Utilizing the buffer within the ACI intefface.
  EAMxx: Modifying the mam4xx buffer to set the number of scratch files.
…Project#7229)

For backwards remap in PhysicsDynamicsRemapper, use Kokkos::AUTO for choosing
team size instead of machine specific ifdefs.
    
Fixes E3SM-Project#7200: an Aurora fail where team size was too large.
    
[BFB]
Merge E3SM `master` into Omega `develop`
…to-polaris-0.7.0

Update locations for metis/parmetis to Polaris 0.7.0
  - changed macros to have a clearer verb-first name
  - updated documentation
Adds a new omega error handler
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.