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/eamxx downstream merge 2024 06 26 #6489

Merged
merged 548 commits into from
Jul 1, 2024
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
548 commits
Select commit Hold shift + click to select a range
93fb192
Adds some temp comments and comment out state_q and qqcw inputs
singhbalwinder Mar 15, 2024
6f0132d
Adds call to progs and atm for getting state_q for dropmixnuc
singhbalwinder Mar 17, 2024
5f5f2a7
Adds a working state_q extraction
singhbalwinder Mar 18, 2024
96f577b
Adds a working qqcw for dropmixnuc
singhbalwinder Mar 18, 2024
ce90fd2
A working state_q1 as a 2d view
singhbalwinder Mar 18, 2024
5c5f90b
Particle args for dropmixnuc upto state_q works
singhbalwinder Mar 18, 2024
6fd9bec
A working qqcw using a scratch memory with partial arg list
singhbalwinder Mar 18, 2024
812bc3f
Full dropmixnuc call is working now
singhbalwinder Mar 18, 2024
19d31b2
Creates state_q with columns and scratch memory
singhbalwinder Mar 18, 2024
a215ef3
Some cleanup-still need a lot of cleanup
singhbalwinder Mar 19, 2024
fb40cd6
Adds a comment
singhbalwinder Mar 19, 2024
7a16e65
Modified species order to match E3SM with the folling change in mam4xx
singhbalwinder Mar 20, 2024
b841ffc
Reverted back mam_coupling changes for indexing but added a func to g…
singhbalwinder Mar 23, 2024
a1d289b
Passes dt as an arg to make hetro freeze work
singhbalwinder Mar 25, 2024
f958170
Codes works after changes in mam4xx hetfrz.hpp were reverted to original
singhbalwinder Mar 25, 2024
2ab183f
Moves function get_haero_prognostics_index to mam4xx
singhbalwinder Mar 25, 2024
cbe943d
Some minor FIXME comments and cleanup
singhbalwinder Mar 27, 2024
3ffe006
Another round of minor cleanup
singhbalwinder Mar 27, 2024
2d4ecf9
Replaces dtmicro with dt and some cleanup
singhbalwinder Mar 28, 2024
f7b9c11
Replaces ncldwtr with dry_atmospher.nc
singhbalwinder Mar 28, 2024
eb06b3b
changes some variable names and add dummy comments to fix later
singhbalwinder Mar 28, 2024
4952a92
Models compiles fine after the rebase off of optics branch
singhbalwinder Mar 28, 2024
59bf802
Single process test is working with a new init file now
singhbalwinder Mar 30, 2024
1afbf98
Removes some variables from the input file and cleanup
singhbalwinder Apr 2, 2024
94cd1fa
Cleanup of some I/O variables for ice nuc and dropmixnuc processes
singhbalwinder Apr 2, 2024
3c90273
Further cleanup and code lines moved to match I/O for the process
singhbalwinder Apr 2, 2024
08430d5
Adds eddy diff of heat as an output for SHOC
singhbalwinder Apr 2, 2024
bb0e696
Adds tkh-eddy diffusivity of heat in SHOC-2nd attempt
singhbalwinder Apr 3, 2024
7fc6b61
Adds a multi process test
singhbalwinder Apr 3, 2024
4f0e085
Adds two multi-process tests and changes to SHOC for copying tkh_out
singhbalwinder Apr 4, 2024
dc5cec2
Adds shoc and aci multi process test
singhbalwinder Apr 4, 2024
ad8ec23
Adds another multi-process test with optics
singhbalwinder Apr 4, 2024
929da35
Adds w_variance in SHOC
singhbalwinder Apr 8, 2024
0e2b470
Add old and new cloud fraction inputs from SHOC
singhbalwinder Apr 9, 2024
968f5f3
A lot of cleanup and changed Fieldlayour for dgnum
singhbalwinder Apr 9, 2024
5f152af
Clean up round for initialize impl
singhbalwinder Apr 10, 2024
9ce18af
Moves oemga to DryAtmosphere
singhbalwinder Apr 10, 2024
5c1c7a6
Fixes cld frac zero out bug and removes wet_atm_ from run_impl
singhbalwinder Apr 11, 2024
4ba9252
Reaaranges args for store_liquid_cloud_fraction and add const
singhbalwinder Apr 11, 2024
1c3f930
Fixes k loop range, adds wsubmin as input for nuc ice and re-orders i…
singhbalwinder Apr 11, 2024
b4d191d
Fixes in/outs of store_liquid_cloud_fraction
singhbalwinder Apr 11, 2024
449af2c
Removes atm vars from the dropmixnuc arg list
singhbalwinder Apr 11, 2024
e2c1278
Moves some i/o vars in dropmixnuc call, not done yet
singhbalwinder Apr 11, 2024
ab24261
Moves ndrop init functions outside of kokkos loop
singhbalwinder Apr 11, 2024
8c96855
Moves some variables into output and moves some code around in dropmi…
singhbalwinder Apr 12, 2024
5c221ab
Moves some more fields to output
singhbalwinder Apr 12, 2024
9235c84
Adds wsubmin namelist and also a lot of debugging cout stamenents for…
singhbalwinder Apr 13, 2024
f179ffb
Removes subgrid_mean_updraft velocities functions as they are not used
singhbalwinder Apr 13, 2024
dbbd5a5
One grid cell validated code with all debug statements
singhbalwinder Apr 19, 2024
9a08cc6
Fakes interfaces values for kvh and wsec; fixes test and namelist wsu…
singhbalwinder Apr 19, 2024
fa3cc91
Moves all resize views codes in set_grid
singhbalwinder Apr 19, 2024
4d6ec50
Connects ni_activated with P3
singhbalwinder Apr 20, 2024
4ea07a3
nctend or tendnd is not connected with P3
singhbalwinder Apr 20, 2024
39957f9
Adds a branched mam4xx submodule with ndrop validation changes
singhbalwinder Apr 20, 2024
e78203f
Removes ACIRuntime namelist struct and used wsubmin on its own
singhbalwinder Apr 21, 2024
e34a548
Clean up and moves validation intput output in functions
singhbalwinder Apr 21, 2024
831ffbb
further cleanup for the output to be used by other processes
singhbalwinder Apr 21, 2024
e7730c7
Adds some comments
singhbalwinder Apr 21, 2024
7f0cf90
Adds functions to update to qqcw and state
singhbalwinder Apr 22, 2024
19606b8
Removes finanlize from cpp and mam_copy functions
singhbalwinder Apr 22, 2024
9f8b2af
Removes another set of unused mam copy functions
singhbalwinder Apr 22, 2024
931278e
Removes nihf_ from FM
singhbalwinder Apr 22, 2024
5f23711
Removes all ice nuc diags and ccn from FM
singhbalwinder Apr 22, 2024
f4b01a6
Removes some unused variables from FM
singhbalwinder Apr 22, 2024
4d3b83d
Removed all diagnostics from FM
singhbalwinder Apr 22, 2024
bf2e4a5
Replaces a for with parallel for for klev
singhbalwinder Apr 22, 2024
5a9c5ec
Some more cleanup
singhbalwinder Apr 23, 2024
387cbf8
Adds updated submodule
singhbalwinder Apr 23, 2024
9187869
Adds the post processing step
singhbalwinder Apr 23, 2024
dc3e08f
Adds top_lev as a namelist
singhbalwinder Apr 23, 2024
d6f8a94
Repaces parallel_for copy logic with deep_copy
singhbalwinder Apr 23, 2024
c76b426
Add function call to get interface values for wsec and kvh
singhbalwinder Apr 23, 2024
21cba9d
Removes unused field tags and add missing namelist vars in the intput…
singhbalwinder Apr 23, 2024
a4be737
Adds a CIME test
singhbalwinder Apr 23, 2024
cd1f99a
Removes print statements and recomputes dry/wet mmrs in mam_coupling
singhbalwinder Apr 23, 2024
94a80d9
Revives small kernels shoc function, changes shell cmd for CIME test,…
singhbalwinder Apr 23, 2024
888fdb2
Adds int def after reabse
singhbalwinder Apr 23, 2024
7e33cda
Fixes GNU compilation: Make views public and removed an unused variable
singhbalwinder Apr 24, 2024
9f54b0d
PM-GPU: Fixes nested Kokkos loops compilation
singhbalwinder Apr 25, 2024
365325c
Removes a debug change
singhbalwinder Apr 25, 2024
727cc8a
Changes needed for single cell validation
singhbalwinder Apr 30, 2024
8f237ff
Fixes GPU runtime error about illegal memory access
singhbalwinder Apr 30, 2024
6c77406
Clang format
singhbalwinder Apr 30, 2024
c047515
After rebase changes, adds make_layout for aci
singhbalwinder May 1, 2024
f7d3e40
Fixes wrong layouts and removed function to copy views
singhbalwinder May 1, 2024
5e90223
Fixes process order by adding spa, adds dgnum nominal value
singhbalwinder May 3, 2024
99782e4
Explicitly specify do_predict_nc and do_prescribed_ccn flags
singhbalwinder May 3, 2024
2fcc3c3
Temporarily adds cloudborne aerosols in IC section of the namelist
singhbalwinder May 4, 2024
efa2119
Fix allocation of tkh.
overfelt May 6, 2024
893df5e
Seems that tkh is an array of nlev+1, not nlev.
overfelt May 6, 2024
04bd1a6
Use this version if tkh is nlev in length, not nlev+1.
overfelt May 6, 2024
cec5469
Init all computed vars in aci to zero; remove tkh_out from SHOC
singhbalwinder May 10, 2024
c162ee4
Removes some unneeded deep copies
singhbalwinder May 10, 2024
6349d14
Adds ndropmix and nsource as output variables
singhbalwinder May 13, 2024
3ce0a91
Adds a temporary varaible to capture nc before aci
singhbalwinder May 14, 2024
4f295d6
Temporarily adds ccn diagnostics
singhbalwinder May 16, 2024
380ad10
Fixes optics test, this commit has ACI single grid cell printouts
singhbalwinder May 19, 2024
98ae17e
Fixes optics tests
singhbalwinder May 19, 2024
b3ea7ba
Rebases mam4xx submodule
singhbalwinder May 19, 2024
423add5
Moves aci functions to a separate hpp file
singhbalwinder May 24, 2024
570e910
Fixes GPU access inaccessible memory space error with deep_copy
singhbalwinder May 25, 2024
483db99
Moves an include from hpp to cpp
singhbalwinder May 25, 2024
1db5be8
Adds a new function to copy views
singhbalwinder May 28, 2024
b00adf2
Updates CMAKE for the aci tests to mimic P3 CMAKE to enable np1 vs np…
singhbalwinder May 28, 2024
be1417e
Changes after rebase
singhbalwinder May 28, 2024
8d1bba5
Merge pull request #2847 from E3SM-Project/bogensch/shoc_tke_bugfix
tcclevenger May 28, 2024
6557feb
Merge pull request #2837 from E3SM-Project/bartgol/eamxx/fix-vert-lev…
bartgol May 28, 2024
d0e8708
fix Luca PR comments
mjs271 May 28, 2024
d3000b2
Enable modis_ctptau calculation and output
brhillman May 15, 2024
d957b7f
Enable MISR simulator and update cosp dimension names
brhillman May 21, 2024
7c05358
Rename isccp_mask to cosp_sunlit since used for all passive simulators
brhillman May 21, 2024
976db84
Make sure effective radius and mixing ratios are populated for MODIS
brhillman May 22, 2024
9ea131f
Add pseudo_density to cosp test input
brhillman May 28, 2024
a25da34
Fix whitespace weirdness
brhillman May 29, 2024
b76fa6f
Automatic merge of origin/master
mjs271 May 29, 2024
00cb3f6
Remove unused interface for ZM deep convection
AaronDonahue May 29, 2024
67fcfdd
Merge pull request #2819 from E3SM-Project/tcclevenger/dp/radiation_l…
tcclevenger May 30, 2024
0a967e0
Add documentation for COSP in EAMxx
brhillman May 30, 2024
e5598fd
Add documentation about cosp_subcolumns
brhillman May 30, 2024
98f37c1
Add COSP to side panel
brhillman May 30, 2024
e15af72
Merge Pull Request #2840 from E3SM-Project/scream/bartgol/eamxx/allow…
E3SM-Autotester May 30, 2024
b065a7f
Fix grid def for cosp standalone
brhillman May 30, 2024
9839fd4
Merge Pull Request #2855 from E3SM-Project/scream/brhillman/eamxx/add…
E3SM-Autotester May 30, 2024
844311b
Move IOP from control/ to share/iop/
tcclevenger May 30, 2024
2e0ebfb
Fixes np1_vs_npX standalone tests and adds mam4xx vars to output
singhbalwinder May 30, 2024
d0adfce
Merge Pull Request #2856 from E3SM-Project/scream/tcclevenger/move_io…
E3SM-Autotester May 30, 2024
a2afdfc
Adds some TODO comments and minor cleanup
singhbalwinder May 31, 2024
6d1cd4d
EAMxx: prototype of pyscream basics, via pybind11
bartgol May 28, 2024
8227230
EAMxx: remove pointless stuff from pyscream
bartgol May 28, 2024
9e3f6f9
add pybind11 as a submodule in externals
mahf708 May 29, 2024
a7ac516
a skeleton for a package
mahf708 May 29, 2024
f2bffcf
EAMxx: split pyscream.cpp into multiple files
bartgol May 29, 2024
6d4f333
EAMxx: add PointGrid wrapper to pyscream
bartgol May 29, 2024
57919ad
EAMxx: add units to pyscream
bartgol May 29, 2024
ed83371
EAMxx: more improvements to pyscream
bartgol May 29, 2024
f5301ef
EAMxx: start working on pyp3.cpp
bartgol May 29, 2024
fc66d11
EAMxx: moved share/pyshare to share/python
bartgol May 29, 2024
2aac70d
EAMxx: no need to expose a GridsManager concept in pyscream
bartgol May 29, 2024
3028f3a
EAMxx: minor mod to power-user method in Field class
bartgol May 29, 2024
c4d58e2
EAMxx: simplify pyscream interfaces
bartgol May 29, 2024
8109394
EAMxx: add possibility to read in IC file in pyscream
bartgol May 29, 2024
d2d1f80
EAMxx: add possibility of reading field from an IC file in pyscream
bartgol May 30, 2024
5a47428
change name to pyeamxx
mahf708 May 30, 2024
8bc5feb
EAMxx: add possibility of reading field from an IC file in pyeamxx
bartgol May 30, 2024
adf01c0
EAMxx: fix wrong error msg in cmake macro
bartgol May 31, 2024
5130448
EAMxx: implement OutputManager destructor to call finalize
bartgol May 31, 2024
ef68232
EAMxx: add getter to atm proc class
bartgol May 31, 2024
0feb46c
EAMxx: fix nano bug in atm driver
bartgol May 31, 2024
90e0365
EAMxx: add run method to PyAtmProc in pyeamxx
bartgol May 31, 2024
49db86d
Changes TeamThreadRange to TeamVectorRange; [=] to [&]; removes aitke…
singhbalwinder May 31, 2024
546c082
EAMxx: add output capability to PyAtmProc class in pyeamxx
bartgol May 31, 2024
6ec365b
EAMxx: cleanup a bit pyscream.cpp
bartgol May 31, 2024
9d3183f
EAMxx: add PyParamList to pyeamxx
bartgol May 31, 2024
ae886f7
EAMxx: fix PyP3 and add unit test to compare against AD driven test
bartgol May 31, 2024
b2fc733
EAMxx: cleanup p3_standalone_py and fix MPI issue
bartgol May 31, 2024
1fbf747
EAMxx: remove heavy formatting from logger in atm procs constructor
bartgol May 31, 2024
21b3c9b
EAMxx: expose pybind config option, and automatically handle BUILD_SH…
bartgol May 31, 2024
8a57eaf
Fix number of levels in z_int
brhillman May 31, 2024
b417968
address fieldAllocProp::subview() comments, and add deep_copy test fo…
mjs271 May 31, 2024
45e462e
Need non-zero eff_radius for COSP standalone
brhillman May 31, 2024
e533152
coalesce libpyeamxx in src/python
mahf708 May 31, 2024
2e9f203
organize package further, start build recipe
mahf708 May 31, 2024
f8a1992
GPU fixes: changes array of views to views in Kokkos loop
singhbalwinder Jun 1, 2024
bb08b46
add conda recipe that builds correctly
mahf708 Jun 1, 2024
9a6dfda
remove pybind11 submodule
mahf708 Jun 1, 2024
45acb00
improve recipe further and use patchelf
mahf708 Jun 1, 2024
2e4832c
Fixes warnings and changes [=] to [&]
singhbalwinder Jun 1, 2024
b8e86ba
use declarative build, move tools away
mahf708 Jun 1, 2024
9f8ce1f
Merge Pull Request #2838 from E3SM-Project/scream/brhillman/eamxx/add…
E3SM-Autotester Jun 3, 2024
54ab366
Fix valgrind errors in eamxx_homme_iop.cpp
jgfouca Jun 4, 2024
2beef5c
Fixes LABLES of the tests to change mam to mam4_aci for time reporting
singhbalwinder Jun 4, 2024
b80e1bd
Merge Pull Request #2859 from E3SM-Project/scream/jgfouca/fix_valgrin…
E3SM-Autotester Jun 4, 2024
699a486
Fixed a layout and Clang format
singhbalwinder Jun 5, 2024
3f01e52
Adds a cime test for aci
singhbalwinder Jun 5, 2024
b7a4aa0
set versions at 0.0.1
mahf708 Jun 6, 2024
508ac99
Merge pull request #2853 from E3SM-Project/aarondonahue/20240529_remo…
AaronDonahue Jun 7, 2024
14d5958
Merge remote-tracking branch 'upstream/master' into bartgol/upstream-…
bartgol Jun 10, 2024
da58272
EAMxx: avoid nullptr when reading horiz remap sparse matrix entries
bartgol Jun 10, 2024
8a01595
EAMxx: fix the previous fix
bartgol Jun 10, 2024
6da60ae
EAMxx: in pyeamxx, allow handling any eamxx physics parametrization
bartgol Jun 10, 2024
3deb588
EAMxx: create interface library eamxx_physics and use it in pyeamxx
bartgol Jun 10, 2024
42405c7
EAMxx: allow setting param list name in PyParamList
bartgol Jun 10, 2024
651cba6
EAMxx: moved pyeamxx out of libpyeamxx folder
bartgol Jun 10, 2024
253774d
EAMxx: renamed libpyeamxx_ext to pyeamxx
bartgol Jun 10, 2024
a27cd1c
EAMxx: make some tms sources PRIVATE
bartgol Jun 10, 2024
b745a81
EAMxx: make diagnostics available in pyeamxx
bartgol Jun 10, 2024
de48b9f
fixes to cmake to get standalone ml test working
AaronDonahue Jun 11, 2024
aa9b4ff
Fix bug in precip adjustment, add property check, to corrective-ML
AaronDonahue Jun 11, 2024
6d57c6b
Merge pull request #2835 from E3SM-Project/bartgol/upstream-merge-202…
jgfouca Jun 11, 2024
82fc3a6
EAMxx: fix PyField::get to reinstate view semantic
bartgol Jun 11, 2024
8d8e2af
EAMxx: add PyField::sync_to_dev interface
bartgol Jun 11, 2024
6418837
allows for computing qv_sat_ice when T < T_freeze for RH diagnostic
hassanbeydoun Jun 11, 2024
8cf5d38
EAMxx: add support for passing MPI comm from py to C in pyeamxx
bartgol Jun 11, 2024
0023fc1
Turns out that the MurphyKoop function only needs the ice flag to det…
hassanbeydoun Jun 11, 2024
9051d7e
EAMxx: enable kokkos bounds checks in full_debug standalone build
bartgol May 16, 2024
64b6ea4
EAMxx: do not make SP/FPE builds inherit DBG cmake args in test_facto…
bartgol May 16, 2024
7b2188d
EAMxx: fix OOB access in nudging unit test
bartgol May 16, 2024
686fb34
EAMxx: fix OOB access in aerocom_cld test
bartgol May 16, 2024
de71513
Update EKAT submodule
bartgol Jun 11, 2024
a15130c
Merge pull request #2785 from E3SM-Project/mjs/eamxx/fix-#1312
bartgol Jun 11, 2024
967dea7
EAMxx: add utility method to FieldLayout
bartgol May 10, 2024
5271c0a
EAMxx: refactor vertical interpolation
bartgol May 11, 2024
5d0cee7
EAMxx: fixes to coarsening/vertical remappers, related to masks
bartgol May 13, 2024
2783f00
Merge pull request #2863 from E3SM-Project/bartgol/eamxx/fix-nanobug-…
bartgol Jun 12, 2024
ea3a693
Fix uninitialized variable and a few Cuda compiler warnings.
overfelt Jun 12, 2024
b6dc164
minor fixes to some syntax in ml interface that wouldn't compile
AaronDonahue Jun 12, 2024
eb8daa8
Merge branch 'master' into beydoun/fix_rh_diag
hassanbeydoun Jun 12, 2024
b7f853c
Merge Pull Request #2830 from E3SM-Project/scream/bartgol/eamxx/kokko…
E3SM-Autotester Jun 13, 2024
c65c84e
Fix gptl include and remove Kokkos_ROOT settings
jgfouca Jun 13, 2024
7cd5e11
Update haero submodule
bartgol Jun 10, 2024
d58467b
Merge pull request #2794 from eagles-project/singhbalwinder/aci-rebas…
bartgol Jun 13, 2024
76cbb78
EAMxx: fix usage of code deprecated in Kokkos 4
bartgol Jun 11, 2024
ffee1d9
Merge pull request #2862 from E3SM-Project/bartgol/update-mam4xx-haer…
bartgol Jun 14, 2024
9e82d9d
EAMxx: fix relative humidity unit test
bartgol Jun 14, 2024
b30b5e0
Merge pull request #2821 from E3SM-Project/bartgol/eamxx/vert-interp-…
bartgol Jun 14, 2024
b7ba172
Merge pull request #2865 from E3SM-Project/beydoun/fix_rh_diag
bartgol Jun 14, 2024
83d015a
Update EKAT submodule
bartgol Jun 13, 2024
687dd31
Merge pull request #2867 from E3SM-Project/bartgol/eamxx/remove-warni…
jgfouca Jun 17, 2024
a59d502
EAMxx: add buildnml-time check for IC file and cmake option compatibi…
bartgol Jun 17, 2024
c7a803b
test-all-scream: Simplify the baseline model
jgfouca Jun 17, 2024
b99a465
Remove unnecessary upstream master merge
jgfouca Jun 17, 2024
5637a2f
Merge remote-tracking branch 'origin/master' into jgfouca/pm-cpu-fixes
jgfouca Jun 17, 2024
50acdfe
Fix baselines_to_be_generated
jgfouca Jun 17, 2024
aeb08b7
Merge Pull Request #2866 from E3SM-Project/scream/jgfouca/pm-cpu-fixes
E3SM-Autotester Jun 17, 2024
770c7d2
EAMxx: fix invocation of cime-nml-tests in jenkins script
bartgol Jun 17, 2024
fa70323
EAMxx: use special selector for cime scripts test
bartgol Jun 17, 2024
e4dab90
EAMxx: fix sneaky error when parsing string in buildnml
bartgol Jun 18, 2024
ad551e0
EAMxx: fix typo in dummy XML selector for scripts unit tests
bartgol Jun 18, 2024
a67c1ee
Addresses some suggestions in issue #2858.
overfelt Jun 18, 2024
02526e1
Merge Pull Request #2868 from E3SM-Project/scream/bartgol/eamxx/check…
E3SM-Autotester Jun 18, 2024
e31ec13
EAMxx: remove empty if statement in jenkins bash script
bartgol Jun 19, 2024
3b49065
Merge Pull Request #2869 from E3SM-Project/scream/jgfouca/tas_simplif…
E3SM-Autotester Jun 19, 2024
5e4a1ae
Updating to SCORPIO v1.6.4
jayeshkrishna Jun 20, 2024
4e2aaaa
Reduces buffer size by 1 for shoc small kernels
singhbalwinder Jun 20, 2024
4917fc8
Revert "EAMxx: add buildnml-time check for IC file and cmake option c…
bartgol Jun 20, 2024
d3ad0c4
Merge Pull Request #2873 from eagles-project/scream/singhbalwinder/re…
E3SM-Autotester Jun 21, 2024
e8a8ffd
Merge Pull Request #2874 from E3SM-Project/scream/revert-2868-bartgol…
E3SM-Autotester Jun 21, 2024
87c3d05
EAMxx: fix compiler warning
bartgol Jun 24, 2024
d93f14d
EAMxx: add timers to output manager on a per-yaml-file basis
bartgol Jun 24, 2024
d0bbf72
Merge Pull Request #2877 from E3SM-Project/scream/bartgol/eamxx/split…
E3SM-Autotester Jun 24, 2024
1bd69ad
EAMxx: bump micro version of pyeamxx
bartgol Jun 24, 2024
c65acf1
remove redundant operation, fix the python library path in ruby cmake
AaronDonahue Jun 25, 2024
3a0cee9
Merge Pull Request #2864 from E3SM-Project/scream/aarondonahue/correc…
E3SM-Autotester Jun 25, 2024
d5057ec
Merge Pull Request #2851 from E3SM-Project/scream/bartgol/eamxx/pyscream
E3SM-Autotester Jun 25, 2024
8e62989
Merge Pull Request #2871 from eagles-project/scream/jroverf/ACI_Issue…
E3SM-Autotester Jun 25, 2024
c02c9f5
Merge Pull Request #2872 from E3SM-Project/scream/jayeshkrishna/scorp…
E3SM-Autotester Jun 25, 2024
7011599
Merge remote-tracking branch 'downstream/master' into jgfouca/eamxx_d…
jgfouca Jun 26, 2024
7142dff
let's not lint files in components/eamxx for now
mahf708 Jun 26, 2024
62b9f87
Fixes for rrtmgp updates
jgfouca Jun 26, 2024
8002c3c
Update rrtmgp sub to remove netcdf include
jgfouca Jun 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/workflows/eamxx-gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,14 +53,14 @@ jobs:
run: |
echo "= The job was automatically triggered by a ${{github.event_name}} event."

- name: Set up Python 3.10
- name: Set up Python 3.11
uses: actions/setup-python@v5.1.0
with:
python-version: "3.10"
python-version: "3.11"

- name: Install Python deps
run: |
pip install mkdocs pymdown-extensions mkdocs-material mdutils
pip install mkdocs pymdown-extensions mkdocs-material mdutils mkdocs-bibtex

- name: Generate EAMxx params docs
working-directory: components/eamxx/scripts
Expand Down
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
*.la
*.a

# Shared libraries
*.so
*.so.*

# Executables
*.exe

Expand Down Expand Up @@ -41,3 +45,9 @@ site
components/eamxx/site/*
# Ignore auto-generated eamxx_params.md file
components/eamxx/docs/common/eamxx_params.md

# Python packaging
*.egg-info
components/eamxx/src/python/build
components/eamxx/src/python/build_src
components/eamxx/src/python/dist
8 changes: 5 additions & 3 deletions cime_config/machines/config_machines.xml
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,6 @@
<env name="BLA_VENDOR">Generic</env>
<env name="Albany_ROOT">$SHELL{if [ -z "$Albany_ROOT" ]; then echo /global/common/software/e3sm/mali_tpls/albany-e3sm-serial-release-gcc-cmake-fix; else echo "$Albany_ROOT"; fi}</env>
<env name="Trilinos_ROOT">$SHELL{if [ -z "$Trilinos_ROOT" ]; then echo /global/common/software/e3sm/mali_tpls/trilinos-e3sm-serial-release-gcc; else echo "$Trilinos_ROOT"; fi}</env>
<env name="Kokkos_ROOT">$SHELL{if [ -z "$Kokkos_ROOT" ]; then echo /global/common/software/e3sm/mali_tpls/trilinos-e3sm-serial-release-gcc; else echo "$Kokkos_ROOT"; fi}</env>
</environment_variables>
<environment_variables compiler="nvidia" mpilib="mpich">
<env name="ADIOS2_ROOT">$SHELL{if [ -z "$ADIOS2_ROOT" ]; then echo /global/cfs/cdirs/e3sm/3rdparty/adios2/2.9.1/cray-mpich-8.1.25/nvidia-22.7; else echo "$ADIOS2_ROOT"; fi}</env>
Expand Down Expand Up @@ -1444,7 +1443,7 @@
<command name="reset"></command>
<command name="load">PrgEnv-cray</command>
<command name="load">craype-accel-amd-gfx90a</command>
<command name="load">rocm/5.1.0</command>
<command name="load">rocm/5.4.0</command>
<command name="load">libunwind/1.6.2</command>
</modules>
<modules>
Expand Down Expand Up @@ -1483,6 +1482,10 @@
<env name="OMP_PROC_BIND">spread</env>
<env name="OMP_PLACES">threads</env>
</environment_variables>

<environment_variables compiler="crayclang-scream" mpilib="mpich">
<env name="ADIOS2_ROOT">$SHELL{if [ -z "$ADIOS2_ROOT" ]; then echo /lustre/orion/cli115/world-shared/frontier/3rdparty/adios2/2.9.1/cray-mpich-8.1.26/crayclang-scream-14.0.0; else echo "$ADIOS2_ROOT"; fi}</env>
</environment_variables>
</machine>

<!-- Skylake nodes of Stampede2 at TACC -->
Expand Down Expand Up @@ -2656,7 +2659,6 @@
<environment_variables compiler="gnu">
<env name="Albany_ROOT">$SHELL{if [ -z "$Albany_ROOT" ]; then echo /lcrc/group/e3sm/ac.jwatkins/LandIce/AlbanyBuilds/build-gcc-sfad12-e3sm/install; else echo "$Albany_ROOT"; fi}</env>
<env name="Trilinos_ROOT">$SHELL{if [ -z "$Trilinos_ROOT" ]; then echo /lcrc/group/e3sm/ac.jwatkins/LandIce/TrilinosBuilds/build-gcc-e3sm/install; else echo "$Trilinos_ROOT"; fi}</env>
<env name="Kokkos_ROOT">$SHELL{if [ -z "$Kokkos_ROOT" ]; then echo /lcrc/group/e3sm/ac.jwatkins/LandIce/TrilinosBuilds/build-gcc-e3sm/install; else echo "$Kokkos_ROOT"; fi}</env>
</environment_variables>
</machine>

Expand Down
7 changes: 4 additions & 3 deletions cime_config/machines/config_workflow.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
<template>template.case.test</template>
<prereq>$BUILD_COMPLETE and $TEST</prereq>
</job>
<job name="case.post_run_io">
<!--job name="case.post_run_io">
<template>template.post_run_io</template>
<dependency>case.run</dependency>
<prereq>case.get_value("PIO_TYPENAME_ATM") == 'adios' or \
Expand All @@ -53,11 +53,12 @@
<runtime_parameters>
<walltime>0:30:00</walltime>
</runtime_parameters>
</job>
</job-->
<job name="case.st_archive">
<template>template.st_archive</template>
<!-- If DOUT_S is true and case.run (or case.test) exits successfully then run st_archive-->
<dependency>(case.run and case.post_run_io) or case.test</dependency>
<!--dependency>(case.run and case.post_run_io) or case.test</dependency-->
<dependency>case.run or case.test</dependency>
<prereq>$DOUT_S</prereq>
<runtime_parameters>
<task_count>1</task_count>
Expand Down
1 change: 1 addition & 0 deletions cime_config/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -723,6 +723,7 @@
"time" : "01:00:00",
"tests" : (
"SMS_D_Ln5.ne4pg2_oQU480.F2010-SCREAMv1-MPASSI.scream-mam4xx-optics",
"SMS_D_Ln5.ne4pg2_oQU480.F2010-SCREAMv1-MPASSI.scream-mam4xx-aci",
)
},

Expand Down
8 changes: 4 additions & 4 deletions components/eam/src/dynamics/se/se_iop_intr_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -422,10 +422,6 @@ subroutine apply_iop_forcing(elem,hvcoord,hybrid,tl,n,t_before_advance,nets,nete
call outfld('QDIFF',qdiff_dyn,plon,begchunk)
endif

if (iop_coriolis) then
call iop_apply_coriolis(elem,t1,nelemd_todo,np_todo,dt)
endif

call outfld('TOBS',tobs,plon,begchunk)
call outfld('QOBS',qobs,plon,begchunk)
call outfld('DIVQ',divq,plon,begchunk)
Expand All @@ -441,6 +437,10 @@ subroutine apply_iop_forcing(elem,hvcoord,hybrid,tl,n,t_before_advance,nets,nete

enddo

if (iop_coriolis) then
call iop_apply_coriolis(elem,t1,nelemd_todo,np_todo,dt)
endif

if ((iop_nudge_tq .or. iop_nudge_uv) .and. dp_crm) then
! If running in a doubly periodic CRM mode, then nudge the domain
! based on the domain mean and observed quantities of T, Q, u, and v
Expand Down
2 changes: 1 addition & 1 deletion components/eam/src/physics/rrtmgp/external
Submodule external updated 55 files
+3 −0 .gitignore
+12 −5 cpp/CMakeLists.txt
+7 −5 cpp/examples/all-sky/CMakeLists.txt
+97 −19 cpp/examples/all-sky/mo_garand_atmos_io.cpp
+11 −2 cpp/examples/all-sky/mo_garand_atmos_io.h
+101 −1 cpp/examples/all-sky/mo_load_cloud_coefficients.cpp
+6 −4 cpp/examples/all-sky/mo_load_cloud_coefficients.h
+415 −37 cpp/examples/all-sky/rrtmgp_allsky.cpp
+185 −14 cpp/examples/mo_load_coefficients.cpp
+5 −0 cpp/examples/mo_load_coefficients.h
+539 −50 cpp/extensions/cloud_optics/mo_cloud_optics.h
+49 −2 cpp/extensions/fluxes_byband/mo_fluxes_byband.h
+22 −0 cpp/extensions/fluxes_byband/mo_fluxes_byband_kernels.cpp
+8 −0 cpp/extensions/fluxes_byband/mo_fluxes_byband_kernels.h
+480 −31 cpp/rrtmgp/kernels/mo_gas_optics_kernels.cpp
+94 −16 cpp/rrtmgp/kernels/mo_gas_optics_kernels.h
+32 −1 cpp/rrtmgp/kernels/mo_rrtmgp_util_reorder_kernels.h
+221 −36 cpp/rrtmgp/mo_gas_concentrations.h
+1,300 −129 cpp/rrtmgp/mo_gas_optics_rrtmgp.h
+12 −3 cpp/rrtmgp/mo_rrtmgp_util_reorder.cpp
+9 −2 cpp/rrtmgp/mo_rrtmgp_util_reorder.h
+32 −3 cpp/rrtmgp/mo_rrtmgp_util_string.h
+114 −3 cpp/rrtmgp_const.h
+1,262 −0 cpp/rrtmgp_conversion.h
+19 −0 cpp/rte/expand_and_transpose.cpp
+6 −1 cpp/rte/expand_and_transpose.h
+51 −0 cpp/rte/kernels/mo_fluxes_broadband_kernels.cpp
+11 −2 cpp/rte/kernels/mo_fluxes_broadband_kernels.h
+145 −18 cpp/rte/kernels/mo_optical_props_kernels.cpp
+144 −2 cpp/rte/kernels/mo_optical_props_kernels.h
+413 −73 cpp/rte/kernels/mo_rte_solver_kernels.cpp
+311 −16 cpp/rte/kernels/mo_rte_solver_kernels.h
+67 −5 cpp/rte/mo_fluxes.h
+439 −30 cpp/rte/mo_optical_props.h
+96 −0 cpp/rte/mo_rte_lw.h
+85 −3 cpp/rte/mo_rte_sw.h
+148 −17 cpp/rte/mo_source_functions.h
+20 −8 cpp/test/CMakeLists.txt
+3 −0 cpp/test/allsky_fortran_openacc/CMakeLists.txt
+1 −2 cpp/test/build/cmakeclean.sh
+28 −5 cpp/test/build/cmakescript.sh
+26 −0 cpp/test/build/compare_yk.sh
+33 −0 cpp/test/build/compare_yk_sep.sh
+23 −0 cpp/test/build/full_test.sh
+0 −16 cpp/test/build/machine_environment_files/FIXME_mappy.sh
+17 −0 cpp/test/build/machine_environment_files/mappy_cpu.sh
+23 −0 cpp/test/build/machine_environment_files/weaver_gpu.sh
+5 −3 cpp/test/build/run_test.sh
+4 −5 cpp/test/build/test_lw.sh
+10 −0 cpp/test/build/test_lw_perf.sh
+2 −3 cpp/test/build/test_lw_r.sh
+4 −4 cpp/test/build/test_sw.sh
+10 −0 cpp/test/build/test_sw_perf.sh
+2 −3 cpp/test/build/test_sw_r.sh
+0 −0 rrtmgp/mo_gas_concentrations.F90
20 changes: 18 additions & 2 deletions components/eamxx/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -203,13 +203,24 @@ if (NOT SCREAM_SMALL_KERNELS)
set(EKAT_DISABLE_WORKSPACE_SHARING TRUE CACHE STRING "")
endif()

# Add RRTMGP debug checks. Note, we might consider also adding RRTMGP_EXPENSIVE_CHECKS
# Add RRTMGP settings. Note, we might consider also adding RRTMGP_EXPENSIVE_CHECKS
# to turn on the RRTMGP internal checks here as well, via
# option (RRTMGP_EXPENSIVE_CHECKS "Turn on internal RRTMGP error checking" ${SCREAM_DEBUG})
# and then adding to scream_config.h:
# #cmakedefine RRTMGP_EXPENSIVE_CHECKS
option (SCREAM_RRTMGP_DEBUG "Turn on extra debug checks in RRTMGP" ${SCREAM_DEBUG})

option(SCREAM_RRTMGP_ENABLE_YAKL "Use YAKL under rrtmgp" TRUE)
option(SCREAM_RRTMGP_ENABLE_KOKKOS "Use Kokkos under rrtmgp" FALSE)
if (SCREAM_RRTMGP_ENABLE_YAKL)
add_definitions("-DRRTMGP_ENABLE_YAKL")
endif()

if (SCREAM_RRTMGP_ENABLE_KOKKOS)
add_definitions("-DRRTMGP_ENABLE_KOKKOS")
endif()


set(SCREAM_DOUBLE_PRECISION TRUE CACHE BOOL "Set to double precision (default True)")

# For now, only used in share/grid/remap/refining_remapper_rma.*pp
Expand Down Expand Up @@ -261,6 +272,12 @@ set(SCREAM_BASE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(SCREAM_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
set(SCREAM_BIN_DIR ${CMAKE_CURRENT_BINARY_DIR})

option (EAMXX_ENABLE_PYBIND "Whether to enable python interface to eamxx, via pybind11" OFF)
if (EAMXX_ENABLE_PYBIND)
# Pybind11 requires shared libraries
set (BUILD_SHARED_LIBS ON)
endif()

####################################################################
# Packs-related settings #
####################################################################
Expand Down Expand Up @@ -618,4 +635,3 @@ print_var(SCREAM_TEST_THREAD_INC)
print_var(SCREAM_TEST_MAX_RANKS)

message ("**************************************************")

40 changes: 40 additions & 0 deletions components/eamxx/cime_config/namelist_defaults_scream.xml
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,12 @@ be lost if SCREAM_HACK_XML is not enabled.
<Ckm type="real" doc="Eddy diffusivity coefficient for momentum">0.1</Ckm>
</shoc>

<!-- MAM4xx-ACI -->
<mam4_aci inherit="atm_proc_base">
<wsubmin type="real" doc="Minimum diagnostic sub-grid vertical velocity">0.001</wsubmin>
<top_level_mam4xx type="integer" doc="Top level for MAM4xx">6</top_level_mam4xx>
</mam4_aci>

<!-- CLD fraction -->
<cldFraction inherit="atm_proc_base"/>

Expand Down Expand Up @@ -481,6 +487,33 @@ be lost if SCREAM_HACK_XML is not enabled.
<surf_sens_flux >0.0</surf_sens_flux>
<surf_lw_flux_up >0.0</surf_lw_flux_up>
<surf_mom_flux type="array(real)">0.0,0.0</surf_mom_flux>
<!-- Note: MAM4xx-ACI needs dry aerosol diameter (dgnum), currently set to aitken model nominal diameter, remove it once all of MAM4xx is integrated -->
<dgnum type="real" doc="Dry aerosol particles diameter in meters">2.6e-08</dgnum>
<bc_c1 type="real">0.0</bc_c1>
<bc_c3 type="real">0.0</bc_c3>
<bc_c4 type="real">0.0</bc_c4>
<dst_c1 type="real">0.0</dst_c1>
<dst_c3 type="real">0.0</dst_c3>
<so4_c1 type="real">0.0</so4_c1>
<so4_c2 type="real">0.0</so4_c2>
<so4_c3 type="real">0.0</so4_c3>
<pom_c1 type="real">0.0</pom_c1>
<pom_c3 type="real">0.0</pom_c3>
<pom_c4 type="real">0.0</pom_c4>
<soa_c1 type="real">0.0</soa_c1>
<soa_c2 type="real">0.0</soa_c2>
<soa_c3 type="real">0.0</soa_c3>
<nacl_c1 type="real">0.0</nacl_c1>
<nacl_c2 type="real">0.0</nacl_c2>
<nacl_c3 type="real">0.0</nacl_c3>
<mom_c1 type="real">0.0</mom_c1>
<mom_c2 type="real">0.0</mom_c2>
<mom_c3 type="real">0.0</mom_c3>
<mom_c4 type="real">0.0</mom_c4>
<num_c1 type="real">0.0</num_c1>
<num_c2 type="real">0.0</num_c2>
<num_c3 type="real">0.0</num_c3>
<num_c4 type="real">0.0</num_c4>
<!-- default ne1024 initial condition files do not have these, so init to zero here -->
<!-- TODO: delete this once we can tell the AD that some fields can be inited by procs -->
<qc hgrid="ne256np4|ne1024np4">0.0</qc>
Expand All @@ -503,6 +536,7 @@ be lost if SCREAM_HACK_XML is not enabled.
<output_yaml_files type="array(string)"/>
<model_restart>
<filename_prefix>./${CASE}.scream</filename_prefix>
<iotype>default</iotype>
<output_control locked="true">
<Frequency>${REST_N}</Frequency>
<frequency_units>${REST_OPTION}</frequency_units>
Expand Down Expand Up @@ -551,6 +585,12 @@ be lost if SCREAM_HACK_XML is not enabled.
<iop_dosubsidence COMPSET=".*DYCOMSrf01">true</iop_dosubsidence>
<iop_srf_prop type="logical" doc="Use IOP file specified surface values in surface coupling importer.">false</iop_srf_prop>
<iop_srf_prop COMPSET=".*DYCOMSrf01">true</iop_srf_prop>
<iop_nudge_uv type="logical" doc="Nudge winds to those in the IOP file.">false</iop_nudge_uv>
<iop_nudge_tq type="logical" doc="Nudge thermodynamics to those in the IOP file.">false</iop_nudge_tq>
<iop_nudge_tq_low type="real" doc="Lowest layer to apply nudging for t and q (pressure in hPa).">1100</iop_nudge_tq_low>
<iop_nudge_tq_high type="real" doc="Highest layer to apply nudging for t and q (pressure in hPa).">0</iop_nudge_tq_high>
<iop_nudge_tscale type="real" doc="Time scale to nudge thermodynamics or winds to.">10800</iop_nudge_tscale>
<iop_coriolis type="logical" doc="Apply coriolis forcing to winds based on large scale winds in IOP file.">false</iop_coriolis>
</iop_options>

<!-- Homme control namelist -->
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@

#Default scream has 10 tracers, MAM4xx adds another 31 making a total of 41 tracer
#Set total number of tracers to 41. We are using append here as last entry wins while parsing xml options
./xmlchange --append SCREAM_CMAKE_OPTIONS="SCREAM_NUM_TRACERS 41"

#modify initial condition file to get aerosol species ICs
$CIMEROOT/../components/eamxx/scripts/atmchange initial_conditions::Filename='$DIN_LOC_ROOT/atm/scream/init/screami_mam4xx_ne4np4L72_c20240208.nc' -b

# Add spa as RRTMG needs spa
$CIMEROOT/../components/eamxx/scripts/atmchange physics::atm_procs_list="mac_aero_mic,spa,rrtmgp" -b

# Replace spa with mam4_aci to invoke mam4 aci scheme
$CIMEROOT/../components/eamxx/scripts/atmchange mac_aero_mic::atm_procs_list="tms,shoc,cldFraction,mam4_aci,p3" -b

#Set precribed ccn to false so that P3 uses input from ACI
$CIMEROOT/../components/eamxx/scripts/atmchange p3::do_prescribed_ccn=false -b

#Set predicted ccn to true so that P3 uses input from ACI
$CIMEROOT/../components/eamxx/scripts/atmchange p3::do_predict_nc=true -b




8 changes: 4 additions & 4 deletions components/eamxx/cmake/CompareNCFiles.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,19 @@ function(CompareNCFiles)
set (argsMv LABELS FIXTURES_REQUIRED)

cmake_parse_arguments(PARSE "${options}" "${args1v}" "${argsMv}" ${ARGN})
CheckMacroArgs(CompareNCFilesFamily PARSE "${options}" "${args1v}" "${argsMv}")
CheckMacroArgs(CompareNCFiles PARSE "${options}" "${args1v}" "${argsMv}")

# Sanity checks
if (NOT PARSE_TEST_NAME)
message ("Error! CompareNCFilesPair requires the keyword argument TEST_NAME")
message ("Error! CompareNCFiles requires the keyword argument TEST_NAME")
message (FATAL_ERROR "Aborting...")
endif()
if (NOT PARSE_SRC_FILE)
message ("Error! CompareNCFilesPair requires the keyword argument SRC_FILE")
message ("Error! CompareNCFiles requires the keyword argument SRC_FILE")
message (FATAL_ERROR "Aborting...")
endif()
if (NOT PARSE_TGT_FILE)
message ("Error! CompareNCFilesPair requires the keyword argument TGT_FILE")
message ("Error! CompareNCFiles requires the keyword argument TGT_FILE")
message (FATAL_ERROR "Aborting...")
endif()

Expand Down
36 changes: 36 additions & 0 deletions components/eamxx/cmake/Findmpi4py.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# - FindMPI4PY
# Find mpi4py includes
# This module defines:
# MPI4PY_INCLUDE_DIR, where to find mpi4py.h, etc.
# MPI4PY_FOUND

function (SetMpi4pyIncludeDir)
endfunction()

if (NOT TARGET mpi4py)
# If user provided an include dir, we will use that, otherwise we'll ask python to find it
if (NOT MPI4PY_INCLUDE_DIR)
execute_process(COMMAND
"${PYTHON_EXECUTABLE}" "-c" "import mpi4py; print (mpi4py.get_include())"
OUTPUT_VARIABLE OUTPUT
RESULT_VARIABLE RESULT
OUTPUT_STRIP_TRAILING_WHITESPACE)
if (RESULT)
set(MPI4PY_FOUND FALSE)
else ()
set (MPI4PY_INCLUDE_DIR ${OUTPUT} CACHE PATH "Path to mpi4py include directory" FORCE)
endif()
endif()

# If we still don't have an include dir, it means we have no mpi4py installed
if (NOT MPI4PY_INCLUDE_DIR)
set(MPI4PY_FOUND FALSE)
else ()
add_library(mpi4py INTERFACE)
target_include_directories(mpi4py INTERFACE SYSTEM ${MPI4PY_INCLUDE_DIR})
set(MPI4PY_FOUND TRUE)
endif()
endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(mpi4py DEFAULT_MSG MPI4PY_INCLUDE_DIR)
12 changes: 12 additions & 0 deletions components/eamxx/cmake/machine-files/anlgce.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
common_setup()

include (${EKAT_MACH_FILES_PATH}/kokkos/openmp.cmake)
include (${EKAT_MACH_FILES_PATH}/mpi/other.cmake)

# Remove this if you are using a resource manager (slurm etc)
set (EKAT_TEST_LAUNCHER_MANAGE_RESOURCES True CACHE BOOL "")

# EKAT MPI settings
set (EKAT_MPIRUN_EXE "mpiexec" CACHE STRING "mpiexec")
set (EKAT_MPI_NP_FLAG "-n" CACHE STRING "-n")
2 changes: 1 addition & 1 deletion components/eamxx/cmake/machine-files/compy.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ include (${EKAT_MACH_FILES_PATH}/kokkos/openmp.cmake)
include (${EKAT_MACH_FILES_PATH}/mpi/srun.cmake)

#Compy SLURM specific settings
set(EKAT_MPI_NP_FLAG "-p short -n" CACHE STRING "" FORCE)
set(EKAT_MPI_NP_FLAG "-p short --mpi=pmi2 -n" CACHE STRING "" FORCE)
2 changes: 2 additions & 0 deletions components/eamxx/cmake/machine-files/pm-gpu.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ endif()

include (${EKAT_MACH_FILES_PATH}/mpi/srun.cmake)

set(EKAT_MPI_EXTRA_ARGS "${EKAT_MPI_EXTRA_ARGS} --gpus-per-task=1" CACHE STRING "" FORCE)

#option(Kokkos_ARCH_AMPERE80 "" ON)
set(CMAKE_CXX_FLAGS "-DTHRUST_IGNORE_CUB_VERSION_CHECK" CACHE STRING "" FORCE)

Expand Down
3 changes: 1 addition & 2 deletions components/eamxx/cmake/machine-files/ruby-intel.cmake
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
include(${CMAKE_CURRENT_LIST_DIR}/ruby.cmake)
set(CMAKE_EXE_LINKER_FLAGS "-L/usr/tce/packages/mkl/mkl-2022.1.0/lib/intel64/ -qmkl" CACHE STRING "" FORCE)
set(PYTHON_EXECUTABLE "/usr/tce/packages/python/python-3.9.12/bin/python3" CACHE STRING "" FORCE)
set(PYTHON_LIBRARIES "/usr/lib64/libpython3.9.so.1.0" CACHE STRING "" FORCE)
option (SCREAM_ENABLE_ML_CORRECTION "Whether to enable ML correction parametrization" ON)
set(HDF5_DISABLE_VERSION_CHECK 1 CACHE STRING "" FORCE)
execute_process(COMMAND source /usr/WS1/e3sm/python_venv/3.9.2/screamML/bin/activate)
execute_process(COMMAND source /usr/WS1/climdat/python_venv/3.9.2/screamML/bin/activate)
11 changes: 11 additions & 0 deletions components/eamxx/cmake/tpls/Scorpio.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,17 @@ macro (CreateScorpioTargets)
option (PIO_ENABLE_FORTRAN "Enable the Fortran library builds" ON)

add_subdirectory (${E3SM_EXTERNALS_DIR}/scorpio ${CMAKE_BINARY_DIR}/externals/scorpio)

set (SCORPIO_Fortran_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/externals/scorpio/src/flib CACHE INTERNAL "SCORPIO Fortran include dirs")
set (C_INCLUDE_DIRS "${E3SM_EXTERNALS_DIR}/scorpio/src/clib")
list(APPEND C_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/externals/scorpio/src/clib")
set (SCORPIO_C_INCLUDE_DIRS "${C_INCLUDE_DIRS}" CACHE INTERNAL "SCORPIO C include dirs")

# Add GPTL from SCORPIO
if (NOT GPTL_PATH)
set (GPTL_PATH ${E3SM_EXTERNALS_DIR}/scorpio/src/gptl CACHE INTERNAL "Path to GPTL library")
endif ()

EkatDisableAllWarning(pioc)
EkatDisableAllWarning(piof)
EkatDisableAllWarning(gptl)
Expand Down
Loading
Loading