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

Jgfouca/scream downstream 2024 11 07 #6739

Merged
merged 232 commits into from
Nov 11, 2024
Merged

Conversation

jgfouca
Copy link
Member

@jgfouca jgfouca commented Nov 7, 2024

[BFB]

Peter Andrew Bogenschutz and others added 30 commits September 11, 2024 12:30
…nward. Note that file names in the E3SM input data server have also been updated.
This commit addresses an issue with empty output files that should have
been flushed and closed.  If the simulation exits abnormally before a
file has been flushed then the file will be empty.

Before, we left it up to SCORPIO to decide the optimal time to flush
output.  In this commit we force a file that is full, i.e. max_snapshots
has been reached, to be flushed and closed before moving on.  This
should ensure that all full files are written before any chance of an
abnormal exit.
…opts

Automatically Merged using E3SM Pull Request AutoTester
PR Title: move P3_Constants to P3Runtime
PR Author: mahf708
PR LABELS: code quality, BFB, p3, AT: AUTOMERGE, code cleanup
…_RRM

Automatically Merged using E3SM Pull Request AutoTester
PR Title: Add the California Regionally Refined Mesh (RRM)
PR Author: bogensch
PR LABELS: BFB, AT: AUTOMERGE, RRM-SCREAM
…options

Automatically Merged using E3SM Pull Request AutoTester
PR Title: add runtime flag for p3 ice production
PR Author: mahf708
PR LABELS: BFB, p3, AT: AUTOMERGE, namelist
Add explicit Core/24.00 module to crayclang-scream for Frontier.
…o-opts

Automatically Merged using E3SM Pull Request AutoTester
PR Title: p3 auto, accr, scol runtime params
PR Author: mahf708
PR LABELS: BFB, p3, AT: AUTOMERGE, namelist
Since generation will never happen along with running tests,
use same folder that we use in test phase when generating.

This will allow certain scripts to find build folders without
checking whether this was a baselines generation run or not.
splitting accretion exponents into two specific ones (one for qc and for one qr) will ncessitate a non-bit-for-bit change due to order of operation in finite precision.

[NBFB]
due to finitely accurate calculation, incorporating the autoconversion radius parameter at runtime necessitates a not-bit-for-bit change due to finite precision.

[NBFB]
Individual builds subdirs are already rm-ed
bartgol and others added 11 commits November 4, 2024 12:03
…/mam-microphysics

Adds MAM4xx microphysics interface
…nor-mods

Allow to generate ALL baselines at ones for eamxx
* Added coverage workflow
* Added sanitizer workflow
* Renamed PR testing workflow
* Use workflow env var for submit
…req_units_options

Add alias options for frequency units of output.
…d-cov-and-sanitizer

Add more eamxx workflows for nightlies
* Remove check-skip-labels action
* For each eamxx workflow
  * Run a "pre-process" jobs on ubuntu-latest to
    - retrieve labels
    - check touched files
    Then, add skip logic to other jobs to avoid running unnecessarily
    if certain labels are found or touched files are irrelevant
…un-eamxx-workflows

Always run eamxx workflows on PRs
* scream/master: (181 commits)
  Workflows: reworked how to skip eamxx testing jobs
  Workflows: added more eamxx workflows
  Workflows: fix logic for eamxx jobs skipping
  Workflows: allow to generate ALL baselines at ones for eamxx
  EAMxx: Use the main branch of mam4xx.
  EAMxx: Add tracer_reader_utils.hpp to microphysics.hpp.
  EAMxx: Remove temporary CPP macro.
  EAMxx: Update description of dry aerosol particle diameters.
  EAMxx: Use a temporary branch for mam4xx to test changes in the photo table code.
  EAMxx: Move read utils files to readfiles folder.
  EAMxx: Refine linoz parameter handling and class member references
  Correcting data types for variables, refining comments, and updating YAML input configurations.
  Addresses review comments: adds doc strings, reverts scorpio file change and cleanup
  Adds emissions file for ne4pg2, removes qaerwat from the input.yaml for single process test
  Using mam4::utils::extract_stateq_from_prognostics to copy data from prog to state_q.
  Refactor: move allocation of views from the tracer data struct interface to helper code. Combine multiple NC file registrations into a single function call: setup_tracer_data.
  Using one data structure to store beginning, end, and output data sets.
  Retrieve dgncur_a, dgncur_awet, wetdens, and qaerwat from FM
  1. Use the Scorpio interface to get altitude from vertical emission files. I was getting zeros or junk values when I employed the AtmInput class. 2. Add altitude_int as a member of the Altitude class.
  Coupling external forcing.
  ...
@jgfouca jgfouca added BFB PR leaves answers BFB EAMxx PRs focused on capabilities for EAMxx labels Nov 7, 2024
Copy link

github-actions bot commented Nov 7, 2024

PR Preview Action v1.4.8
🚀 Deployed preview to https://E3SM-Project.github.io/E3SM/pr-preview/pr-6739/
on branch gh-pages at 2024-11-09 19:44 UTC

Copy link
Contributor

@mahf708 mahf708 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All changes outside the eamxx folder are expected. The changes in the eamxx folder have been tested. We can address the markdown linting later (or I can submit a quick commit to fix all of it if people want that)

jgfouca added a commit that referenced this pull request Nov 8, 2024
[BFB]

* jgfouca/scream_downstream_2024_11_07: (182 commits)
  Add ghci-oci
  Workflows: reworked how to skip eamxx testing jobs
  Workflows: added more eamxx workflows
  Workflows: fix logic for eamxx jobs skipping
  Workflows: allow to generate ALL baselines at ones for eamxx
  EAMxx: Use the main branch of mam4xx.
  EAMxx: Add tracer_reader_utils.hpp to microphysics.hpp.
  EAMxx: Remove temporary CPP macro.
  EAMxx: Update description of dry aerosol particle diameters.
  EAMxx: Use a temporary branch for mam4xx to test changes in the photo table code.
  EAMxx: Move read utils files to readfiles folder.
  EAMxx: Refine linoz parameter handling and class member references
  Correcting data types for variables, refining comments, and updating YAML input configurations.
  Addresses review comments: adds doc strings, reverts scorpio file change and cleanup
  Adds emissions file for ne4pg2, removes qaerwat from the input.yaml for single process test
  Using mam4::utils::extract_stateq_from_prognostics to copy data from prog to state_q.
  Refactor: move allocation of views from the tracer data struct interface to helper code. Combine multiple NC file registrations into a single function call: setup_tracer_data.
  Using one data structure to store beginning, end, and output data sets.
  Retrieve dgncur_a, dgncur_awet, wetdens, and qaerwat from FM
  1. Use the Scorpio interface to get altitude from vertical emission files. I was getting zeros or junk values when I employed the AtmInput class. 2. Add altitude_int as a member of the Altitude class.
  ...
@mahf708
Copy link
Contributor

mahf708 commented Nov 9, 2024

Tests like SMS_Ln3.ne4pg2_oQU480.F2010-MMF2.chrysalis_intel fail due to an update in the p3 internals in eamxx; 067fa93 should hopefully fix the issue. That corresponds to PR E3SM-Project/PAM#158:

From 1c37054d1ff9b160290cc286dcbd3cdc6cd7e7f6 Mon Sep 17 00:00:00 2001
From: Naser Mahfouz <[email protected]>
Date: Sat, 9 Nov 2024 14:07:39 -0500
Subject: [PATCH] update p3 signature

---
 physics/scream_cxx_interfaces/scream_cxx_interface_p3.cpp | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/physics/scream_cxx_interfaces/scream_cxx_interface_p3.cpp b/physics/scream_cxx_interfaces/scream_cxx_interface_p3.cpp
index 8446403a..82d97636 100644
--- a/physics/scream_cxx_interfaces/scream_cxx_interface_p3.cpp
+++ b/physics/scream_cxx_interfaces/scream_cxx_interface_p3.cpp
@@ -240,16 +240,14 @@ namespace pam {
 
     p3_main_cxx_mutex.unlock();
 
-    // hardcode runtime options to match common scream settings for now
     P3F::P3Runtime runtime_options;
-    runtime_options.max_total_ni = 740.0e3;
 
     const int nlev_pack = ekat::npack<Spack>(nlev);
     const auto policy = ekat::ExeSpaceUtils<KT::ExeSpace>::get_default_team_policy(ncol, nlev_pack);
     ekat::WorkspaceManager<Spack, KT::Device> workspace_mgr(nlev_pack, 59, policy);
 
     auto elapsed_time = P3F::p3_main(runtime_options, prog_state, diag_inputs, diag_outputs, infrastructure,
-                                     history_only, lookup_tables, workspace_mgr, ncol, nlev, scream::physics::P3_Constants<Real>());
+                                     history_only, lookup_tables, workspace_mgr, ncol, nlev);
   }
 
 }

jgfouca added a commit that referenced this pull request Nov 11, 2024
Merge 2 for this PR.

Fixes some PAM stuff.

[BFB]

* jgfouca/scream_downstream_2024_11_07:
  fix formatting of changed md files
  update pam to match new p3 signature
@jgfouca jgfouca merged commit 61ade33 into master Nov 11, 2024
18 of 30 checks passed
@jgfouca jgfouca deleted the jgfouca/scream_downstream_2024_11_07 branch November 11, 2024 21:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BFB PR leaves answers BFB EAMxx PRs focused on capabilities for EAMxx
Projects
None yet
Development

Successfully merging this pull request may close these issues.