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

Downstream merge of scream/eamxx fork into E3SM #6153

Merged
merged 1,355 commits into from
Jan 26, 2024

Conversation

jgfouca
Copy link
Member

@jgfouca jgfouca commented Jan 18, 2024

Downstream merge of scream/eamxx fork into E3SM

The build system fixes on the fork are needed for E3SM.
Also updates E3SM with latest version of eamxx.

Merge remote-tracking branch 'scream/master' into jgfouca/scream_downstream_merge

Updates submodules:

  • ekat
  • haero
  • mam4xx

EAM updates:

  • Consolidate shoc_Ck nml settings
  • New iop_coriolis nml setting (for nudging)
  • initialize IOP information on the first restart time step
  • SHOC updates
  • Add wet/dry qv_sat (saturation mixing ratio), old qv_sat is still available for backwards compatibility
  • P3 updates (scream version only)

This PR now includes #5925 :

Update the YAKL submodule, and update PAM submodule to work with the YAKL update.

[YAKL]
[BFB] - (except for SCREAM/EAMXX and MMF2 cases)

jgfouca and others added 30 commits November 13, 2023 16:34
…sion-nano-fix

Automatically Merged using E3SM Pull Request AutoTester
PR Title: EAMxx: fix setting of FillValue based on fp precision
PR Author: bartgol
PR LABELS: I/O, AT: AUTOMERGE, bugfix
Automatically Merged using E3SM Pull Request AutoTester
PR Title: Fixes scream case builds on a couple systems
PR Author: jgfouca
PR LABELS: AT: AUTOMERGE, AT: Integrate Without Testing
It causes things to break for some eamxx cases.
…n_cice

Automatically Merged using E3SM Pull Request AutoTester
PR Title: Disable snan init for cice
PR Author: jgfouca
PR LABELS: AT: AUTOMERGE, AT: Integrate Without Testing
the lw ones seem to be flaky, not sure why.
…p_dp_class_and_unit_test

Automatically Merged using E3SM Pull Request AutoTester
PR Title: DP-SCREAM: Add IOP class and unit test 
PR Author: tcclevenger
PR LABELS: AT: AUTOMERGE, DP-SCREAM
The shared kokkos config did not quite match the config
that was being used for the eamxx build of kokkos.
…iffs

Automatically Merged using E3SM Pull Request AutoTester
PR Title: Fix chrysalis cmake macro to fix DIFFs
PR Author: jgfouca
PR LABELS: AT: AUTOMERGE, AT: Integrate Without Testing
Default behavior is still to explicitly flush only at closure,
but user can now request a different flush frequency via yaml file.
This solves a link error that for some reason does not always appear.
Both homme and scream define a function with C linkage with the same name.

We could change the name of the fcn in Homme, but that requires
lengthier process (due to PR workflow in E3SM)
* Pass libs via optional argument, to increase readability
* Fortran flags are already set to main scream libs
* Default include dirs are unused
* Most tests in the eamxx/tests subfolder are doing the exact same thing,
  so we may as well have a template source file, good for most case
* Add special version of create unit test cmake functions, which takes
  care of setting the source file to scream_ad_test.cpp
* Use CreateADUnitTest where appropriate
* Remove src file in test folder
* Rename output yaml files to just 'output.yaml',
  to make tab completion in bld folder faster
* FIXTURE_XYZ is now supported by CreateUnitTest,
  so no need to prepend PROPERTIES (which in fact
  causes cmake warning)
* Use FIXTURE_SETUP_INDIVIDUAL when appropriate,
  to increase tests concurrency
Use some cmake vars to store fixtures/test names, to avoid typos
Also, FIXTURES_[SETUP|REQUIRED] should be preferred to the DEP keyword
@rljacob
Copy link
Member

rljacob commented Jan 22, 2024

@jgfouca can you fix the title and mention the externals that are being updated in the description?

@jgfouca jgfouca changed the title Jgfouca/scream downstream merge Downstream merge of scream/eamxx fork into E3SM Jan 22, 2024
@jgfouca
Copy link
Member Author

jgfouca commented Jan 22, 2024

@rljacob , done

@rljacob
Copy link
Member

rljacob commented Jan 22, 2024

There should also be a description of what's changing in EAM.

@rljacob
Copy link
Member

rljacob commented Jan 22, 2024

Since you're updating ekat, how does this PR relate to #6101

@jgfouca
Copy link
Member Author

jgfouca commented Jan 22, 2024

@rljacob , I added an EAM change list. There might be a minor conflict with that other EKAT PR, should be very easy to resolve (just take the newer sha).

@bartgol
Copy link
Contributor

bartgol commented Jan 22, 2024

Since you're updating ekat, how does this PR relate to #6101

That PR is relatively orthogonal. The only thing it does is updating the kokkos submodule in ekat (and adjusting for API changes). I am trying to get all of that testing completed. but it's taking me a long time. I don't want that PR to block this one in any way. I will adjust that one if need be.

@rljacob rljacob self-requested a review January 22, 2024 18:50
@rljacob
Copy link
Member

rljacob commented Jan 23, 2024

2 SCREAM diffs, as expected, but 1 MMF build fail: SMS_Ln3.ne4pg2_ne4pg2.F2010-MMF2

@ambrad
Copy link
Member

ambrad commented Jan 23, 2024

I think this PR is causing these new build failures: https://my.cdash.org/build/2477124

@jgfouca
Copy link
Member Author

jgfouca commented Jan 23, 2024

I think so too; I'm looking at the three cases on chrysalis now.

brhillman and others added 2 commits January 23, 2024 15:45
…into jgfouca/scream_downstream_merge

* abag/abagusetty/yakl-submodule-update:
  Update PAM for build fixes
  Update PAM to work with YAKL updates
  Fix YAKL fortran interface build
  [YAKL] update yakl to latest tip
  [YAKL] update YAKL submodule
@jgfouca
Copy link
Member Author

jgfouca commented Jan 24, 2024

I've added #5925 to this PR since both branches depend on each other now.

@rljacob
Copy link
Member

rljacob commented Jan 24, 2024

@jgfouca be sure to update the description then.

@jgfouca
Copy link
Member Author

jgfouca commented Jan 24, 2024

@rljacob , done.

jgfouca added a commit that referenced this pull request Jan 25, 2024
Merge 2 for this PR for various fixes to things impacted by the
scream update.

* jgfouca/scream_downstream_merge:
  Set pam subm to latest master
  Increase gator pool size for pm-cpu
  Bring in latest PAM branch
  Another update to PAM to fix build errors on mappy
  Update PAM for build fixes
  Add EAMxx component to master list
  Change EAMxx site name for docs
  Update PAM to work with YAKL updates
  Fix YAKL fortran interface build
  [YAKL] update yakl to latest tip
  [YAKL] update YAKL submodule
jgfouca added a commit that referenced this pull request Jan 26, 2024
Merge 3 for this PR to fix Homme standalone cmakelist.txt file to
reflect recent changes to EkatBuildKokkos module.

* jgfouca/scream_downstream_merge:
  Fix Homme Cmake, EKAT subm update changed the EkatBuildKokkos module
@jgfouca jgfouca merged commit 7f3280f into master Jan 26, 2024
4 checks passed
@jgfouca jgfouca deleted the jgfouca/scream_downstream_merge branch January 26, 2024 20:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Atmosphere BFB PR leaves answers BFB CMake build system eam EAMxx PRs focused on capabilities for EAMxx
Projects
None yet
Development

Successfully merging this pull request may close these issues.