-
Notifications
You must be signed in to change notification settings - Fork 56
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
Upstream merge 2024-05-20 #2835
Conversation
Previously, this pointed to a mask where glc was allowed to be active everywhere. This change points to the correct mask and correct mask name that has been updated so that GIS footprint describing the mask was made from the current GIS 20km init. cond. file. Testing confirms the correct mask is pulled from the repo and the relevant test cases run to completion as expected when using this mask file.
Uses the Fortran linker for the Cray compiler on Frontier * add "set(E3SM_LINK_WITH_FORTRAN "TRUE")" in crayclang_frontier.cmake Some ELM external source files (such as sbetr/src/betr/betr_rxns/Tracer1beckBGCReactionsType.F90) use Fortran-compiler-specific intrinsic functions such as 'erfc', which require linking with the Fortran compiler. [No baseline for Frontier yet]
This set of changes enables compatibility with FATES API 33, which brings in two-stream radiation for vegetation canopies. [nonBfB] for FATES
The switch from climdat to e3sm in the dir name. Fixes #6267 [BFB]
semoab_mod.F90 file is moved from components/eam/src/dynamics/se folder to components/homme/src/share folder. It belongs naturally there, as it involevs just grid routines from homme base code also, it should prepare for SCREAM-moab connection later on fix also some complaints about non-allocated arrays when there are no cells on some dynamic tasks (when number of tasks is larger than number of spectral cells in homme)
Besides doing nothing, InitArguments is deprecated in Kokkos 4.0
Kokkos 4.0 no longer allows use of volatile in this context
Some of the exec spaces static methods are no longer static
The KOKKOS_TARGET macro prevents Kokkos::initialize to be called twice in kokkos targets. Kokkos 4.2 no longer tolerates double initialization, so we must prevent it.
… is not supported
Single Column Model updates & fixes for v3 Modify and fix the single column model (SCM) to make it compatible with v3. Specifically: 1. The config_component for SCM_EAM has been changed to “scam_generic” (which should have never been changed). When running cases with the standardized scripts prescribed aerosols are used, which is not compatible with the scm_generic_chemUCI-Linoz-mam5-vbs component currently specified. (Aside: a new prescribed aerosol file has been generated by running E3SM with mam5. This file has been uploaded to the E3SM data server and the E3SM SCM scripts have been updated to use this file). 2. Idealization flags have been added to the P3 microphysics to allow for: i. Runs with no precipitation. Note that in the P3 implementation this only turns off liquid precipitation, which is used in several GCSS boundary layer cloud cases in the E3SM SCM library. ii. Prescribed droplet concentration. This was already a feature in place in P3 but this PR connects this functionality to the EAM namelist. 3. Fixes to allow the ability to “replay” a column once again (back by semi-popular demand!). This was a feature that worked in E3SMv1 but has not been functional for sometime. The fix in this PR allows users to generate output needed to make IOP forcing files to replay a single column. Note that additional post-processing is required to actually do an SCM run (in which the user needs to consult with the E3SM wiki page). Further documentation and scripts have been updated on the E3SM SCM wiki to reflect changes made in this PR (https://github.com/E3SM-Project/scmlib/wiki/E3SM-Single-Column-Model-Home). [BFB]
Create the provis_state subpool at RK4 initialization to avoid memory leak This PR fixes a memory leak in the RK4 timestepping when running 125 day single-layer barotropic tides cases with the vr45to5 mesh on pm-cpu. Previously, it could only get through about 42 days of simulation before running out of memory. This issue is related to creating/destroying the provis_state subpool at each timestep. Since RK4 is not used in E3SM, this PR is B4B for all E3SM tests. The mpas_pool_copy_pool routine modified here is not used in MPAS-Seaice or MALI. [BFB]
A bug was introduced in #6310 that made the ocean shallower rather than deeper than the minimum allowed depth. This merge fixes that bug.
modify ``bin_to_cube'' according to https://github.com/NCAR/Topo.git for cubed base topo generation read parameters from ``bin_to_cube.nl''
Reduce the warning printing from the atm chemistry implicit solver This PR is to reduce unnecessary warning messages from the atm chemistry implicit solver. The implicit solver for atmospheric chemistry prints out warning messages every time at each location when the solver can't converge at the current delta-t. For most times, the convergence issue could be resolved by reducing the chemistry solver delta-t. Therefore, these messages can be overwhelming and bury other important messages. For production runs, we don't need these messages if the implicit solver can converge by reducing the delta-t two times (halving delta-t each time). We removed the message at line 530, which is responsible for the excessive warnings and duplicated the information especially for the production runs. Additionally, we lift the threshold to report the convergence issue from 0 to 2. [BFB]
Adding path to the timing binary directory to the set of include directories. This change is required for these tests that need path to the fortran perf mod. This fixes build issues with the HOMMEBFB test suite using the latest version of the SCORPIO library (new versions of the SCORPIO library no longer export internal SCORPIO build paths with the SCORPIO library targets)
…#6454) Fix bottom depth deepening in global_ocean init mode A bug was introduced in #6310 that made the ocean shallower rather than deeper than the minimum allowed depth. This merge fixes that bug. Fixes #6453 [BFB] -- mpas-ocean standalone only
Fixes standalone HOMME build issues with SCORPIO 1.6.3 [BFB]
Change Ocean conservationCheck output frequency For reasons that are not entirely clear, we have found that the ocean's conservation analysis member outputs with the wrong start time when the output frequency is 1 month. This issue is fixed when the frequency is increased (1 day and 10 days were tested). Here, we change the default output frequency of the conservationCheckOutput stream to 1 day. [BFB]
Carbon balance was never checked correctly and let through negative values. Initialization of Ecosystem variables needed to be re-adjusted, and balance checking for FATES needed to be changed, which causes round-off differences in `CMASS_BALANCE_ERROR` for `fate_cold_allvars` test. Also included divide-by-zero check in PhenologyMod.F90 to fix fpe in debug mode. [non-BFB] for one FATES test. Fixes #6120 Fixes #6203 Fixes #6177
Generalize cice-qc scripts to work with E3SM-Polar-Developer.sh output Original scripts assumed that the run directories being compared are named 'run'. The E3SM-Polar-Developer scripts append the run directory names with .k000, .k001 etc for different combinations of configuration options. This PR generalizes the cice-qc scripts to allow other run directory names, which are input by the user. Also changed the sample paths in the anvil script to use anvil paths rather than chrysalis paths. Changes only post-processing scripts. Tested on a new pair of runs updating the icepack submodule (QC passed). [BFB]
tweak test system to add -c option when threading *********1*********2*********3*********4*********5*********6*********7** Longer commit message body describing the commit. Can contain lists as follows: * Item 1 * Item 2 * Item 3 A good commit message should be written like an email, a subject followed by a blank line, followed by a more descriptive body. Can also contain a tag at the bottom describing what type of commit this is. [BFB] - Bit-For-Bit [FCC] - Flag Climate Changing [Non-BFB] - Non Bit-For-Bit [CC] - Climate Changing [NML] - Namelist Changing See confluence for a more detailed description about these tags.
Add compsets used in v2 BGC simulations to master for better provenance and reproducibility. The branch is a rebase of Xiaoying Shi's `acme-y9s/BGCV2_compsets` . [BFB]
Add support for running standalone HOMME on PM-CPU With this PR, standalone HOMME can be build on PM-CPU, with either GNU or Intel compilers. In particular, both of these will work: ./create_test --machine pm-cpu --compiler intel HOMME_P24.f19_g16_rx1.A ./create_test --machine pm-cpu --compiler gnu HOMME_P24.f19_g16_rx1.A Single cmake file (pm-cpu.cmake, to match CIME machine names) supports both GNU and Intel without hardcoded netcdf paths. Also updated test scripts to set SRUN_CPUS_PER_TASK properly, otherwise openMP performance is terrible. removed assumption that fortran and C compiler flags for openMP are the same ( they are different under PM's oneAPI compilers) [BFB]
Functional update to HOMME Perlmutter 'nocuda' machine files, which previously caused errors when running DCMIP2016 Test 2 on Perlmutter. Tools to enable building all DCMIP test cases for standalone HOMME on Perlmutter, and to run DCMIP2016 Test 2 on Perlmutter. Updates HOMME Perlmutter 'nocuda' machine files to enable PIO. Cleans namelists for DCMIP2016 Test 2. Adds NERSC jobscript for DCMIP2016 Test 2. Adds NERSC build scripts for standalone HOMME. [NML] Formatting only on DCMIP 2016 Test 2 namelists. [BFB]
@bartgol , I'm trying to move this along. I'm not worried about NMLDIFFs on mappy CIME cases. I see a homme_shoc_cld_p3_rrtmgp_baseline_cmp fails on weaver and mappy, which is likely a diff for this test. Is that expected? |
Thanks for helping Jim! I looked at the baseline cmp test, and the failure is odd. CPRNC reports Edit: re-running the tests, since the folder has since been pruned. |
Looking at the console output, I see that the time dim does indeed differ:
|
23859bc
to
14d5958
Compare
@jgfouca A quick inspection showed that the upstream merge somehow brought in an old version of an input yaml file, causing the fail. I fixed it. Since the upstream merge was already a bit old (~20days), I wend ahead and redid the merge from scratch, to get the newest e3sm master. The only diff in the eamxx folder is now a simple stdlib include added, which was expected from the kokkos change. |
Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: SCREAM_PullRequest_Autotester_Mappy
Jenkins Parameters
Build InformationTest Name: SCREAM_PullRequest_Autotester_Weaver
Jenkins Parameters
Using Repos:
Pull Request Author: bartgol |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED Note: Testing will normally be attempted again in approx. 2 Hrs. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run. Pull Request Auto Testing has FAILED (click to expand)Build InformationTest Name: SCREAM_PullRequest_Autotester_Mappy
Jenkins Parameters
Build InformationTest Name: SCREAM_PullRequest_Autotester_Weaver
Jenkins Parameters
SCREAM_PullRequest_Autotester_Mappy # 5514 FAILED (click to see last 100 lines of console output)
SCREAM_PullRequest_Autotester_Weaver # 5786 PASSED (click to see last 100 lines of console output)
|
@jgfouca I think we're good to merge, what do you think? |
This PR brings in kokkos 4.2 in EAMxx.
No conflicts (except git choking a bit with the ekat submodule, so had to update it manually).