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

Introduce MOAB coupler interfaces and update moab driver #5979

Merged
merged 502 commits into from
Dec 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
502 commits
Select commit Hold shift + click to select a range
76074bc
comment out aream exchange
iulian787 Jan 3, 2023
673bc86
wrong src context for a2l maps
iulian787 Jan 3, 2023
a69b3e3
add rest of domain tags to comp land model
iulian787 Jan 3, 2023
f9d0411
big typo in setting intx_mbid
iulian787 Jan 3, 2023
dab9670
Move all MOAB map logic together at the end of the map routine; copy/…
vijaysm Jan 3, 2023
ff21a67
Turn off domain check and add log msgs
rljacob Jan 4, 2023
8963258
Change VECT_MAP default to none
rljacob Jan 4, 2023
2509d59
Abort if iMOAB has error in mapping
rljacob Jan 4, 2023
1515057
send initial data with comp_exchange_moab
iulian787 Jan 4, 2023
75fe49d
mapper_Va2o is not used anyway
iulian787 Jan 4, 2023
a894a8e
increase number used to count moab steps
iulian787 Jan 4, 2023
98c0194
Add moab parts to mapper_SFo2i
rljacob Jan 4, 2023
5e92c34
need trim for seq_flds_dom_fields
iulian787 Jan 5, 2023
abdfc44
initial state export
iulian787 Jan 5, 2023
07c9b65
Comment out abort in moab seq_map_map
rljacob Jan 6, 2023
0863ef4
Adjust num_moab_export values
rljacob Jan 9, 2023
0baab0f
Add a FlxAlb2Atm h5m file for MOABDEBUG
rljacob Jan 9, 2023
f5f496c
read rof scrip file instead of migrating point cloud rof
iulian787 Jan 9, 2023
a3e89e6
Move Debug h5m in seq_frac_init
rljacob Jan 9, 2023
c35ca3e
Fix some mapping in seq_frac_init
rljacob Jan 9, 2023
e50a6f2
add more checks in cime for moab driver
sarich Jan 9, 2023
86e1120
fixed type in cime branch
sarich Jan 9, 2023
34a2700
Merge branch 'sarich/use-moab-driver' into sarich/moab/merge-attempt
sarich Jan 9, 2023
5ad42f3
Add mappers for fluxes
rljacob Jan 10, 2023
e04a5eb
Use new flux mappers
rljacob Jan 10, 2023
49b4211
no mbintxofa needed
iulian787 Jan 10, 2023
b1e2ca2
context for mbofxid
iulian787 Jan 10, 2023
de3161a
need to update rof app
iulian787 Jan 10, 2023
2c5b439
Set lfrac on atmosphere for MOAB
rljacob Jan 11, 2023
2b8ca05
Merge branch 'iulian787/rof_scrip' into iulian787/atm_import
iulian787 Jan 11, 2023
110be66
add r2o 2 hop logic
iulian787 Jan 11, 2023
8dd28fc
Fix seq_frac_set for MOAB
rljacob Jan 11, 2023
5bc9c16
local changes need to be merged back
iulian787 Jan 11, 2023
642abc6
Merge branch 'iulian787/local_rof_changes' into iulian787/atm_import
iulian787 Jan 11, 2023
43e6b06
add Sr2a and Fr2a moab mappers
iulian787 Jan 11, 2023
c590510
Update albedos in MOAB
rljacob Jan 11, 2023
34ee4b4
Change when FlxAlb2 file is written
rljacob Jan 11, 2023
7c75ec5
Merge branch 'iulian787/r2a_maps' into iulian787/atm_import
iulian787 Jan 11, 2023
42ae27c
zero out x2z_am before merge
iulian787 Jan 11, 2023
85633ee
fix bad relics from merge
sarich Jan 11, 2023
07eb3af
lSize needs to be saved
iulian787 Jan 12, 2023
afe425b
Merge branch 'iulian787/atm_import' into rljacob/moab-driver-cw
rljacob Jan 12, 2023
bd11b86
change in seq_map_map for receiving mbid
iulian787 Jan 12, 2023
7b6c263
wrong map identifier
iulian787 Jan 12, 2023
ac4d835
clarify comment on mbofxid
iulian787 Jan 12, 2023
198f08d
get/set shared values between xao and ocean instances
iulian787 Jan 12, 2023
2ae22cf
read land on coupler from processed h5m file
iulian787 Jan 13, 2023
5776ebe
failed to save before
iulian787 Jan 13, 2023
e5ba721
need to update mesh app on land
iulian787 Jan 13, 2023
7fa0152
put the files in iulian's directory
iulian787 Jan 13, 2023
89ef8c7
need to do atm river, not river atm
iulian787 Jan 13, 2023
b56cdf4
land to river map l2r
iulian787 Jan 13, 2023
d836b43
do not validate land to river map and fractions on river
iulian787 Jan 13, 2023
614d361
typo, need to use lnd not river
iulian787 Jan 13, 2023
d202459
river to land map in prep_lnd
iulian787 Jan 13, 2023
f263934
land merge in moab does just documentation
iulian787 Jan 13, 2023
58b98db
land import
iulian787 Jan 14, 2023
3356d40
finish land import
iulian787 Jan 14, 2023
645d4b7
rof merge and comparison with mct
iulian787 Jan 15, 2023
24253ce
rof import moab
iulian787 Jan 15, 2023
2654e47
Add moab version of ice merge
rljacob Jan 15, 2023
663ce58
Merge branch 'rljacob/add-ice-merge' into rljacob/moab-driver-cw
iulian787 Jan 15, 2023
95fe1c8
typo orderS -> orderT
iulian787 Jan 15, 2023
17bc741
typo in orderS -> orderT
iulian787 Jan 15, 2023
d3de5a2
Merge branch 'rljacob/moab-driver-cw' of github.com:sarich/E3SM into …
iulian787 Jan 15, 2023
edb421a
define seq_flds_a2x_fields and seq_flds_r2x_fields on ice
iulian787 Jan 15, 2023
3cae677
Use rof_c2_ice in ice_mrg_moab
rljacob Jan 15, 2023
aacd722
Fix coupler to river moab exchange
rljacob Jan 16, 2023
9d90474
moab ocean import; not called yet
iulian787 Jan 16, 2023
6aaccbe
Add moab version of ice_import
rljacob Jan 16, 2023
1de7178
zero out r2x fields
iulian787 Jan 16, 2023
4d6bb7d
zero out the moab tags
iulian787 Jan 16, 2023
bec136a
Merge branch 'rljacob/add-ice-imp' into rljacob/moab-driver-cw
iulian787 Jan 17, 2023
4c530a1
Make the call to import_moab in seaice
rljacob Jan 17, 2023
c598557
Merge branch 'rljacob/add-ice-imp' into rljacob/moab-driver-cw
rljacob Jan 17, 2023
4e4fe8d
add seq_comm_compare_mb_mct to seq_comm module
iulian787 Jan 17, 2023
27921a7
activate ice import too
iulian787 Jan 17, 2023
5a8b24f
Merge branch 'iulian787/ice_import' into rljacob/moab-driver-cw
iulian787 Jan 17, 2023
3b5fbaf
Merge branch 'rljacob/moab-driver-cw' into sarich/moab/use-moab-driver
sarich Jan 17, 2023
5500e8e
fix lnd_import call in merge
sarich Jan 17, 2023
0f68ca6
update chrysalis machine files
sarich Jan 17, 2023
4fe745f
add serwal76spack cmake file
iulian787 Feb 7, 2023
15ed4e5
change chrysalis machine info to openmpi 4.1.1 software stack
sarich Feb 7, 2023
69120aa
Update submodules to match master
rljacob Feb 9, 2023
7e3ef77
Merge branch 'rljacob/moab/update-subs'
rljacob Feb 10, 2023
ddeaebe
moab path for anlgce machine (ubuntu 20)
iulian787 Feb 15, 2023
973ac32
add anlgce.cmake
iulian787 Feb 15, 2023
0f9b931
Add and fix a few comments
rljacob Feb 15, 2023
3fa89d4
Add many comments to explain workflow.
rljacob Feb 15, 2023
b18b9f1
need to guard this file writing
iulian787 Jan 18, 2023
711556b
review comments
iulian787 Feb 16, 2023
c01220b
fix machine files for anlgce (ubuntu 20)
sarich Feb 20, 2023
077c17a
Merge branch 'rljacob/moab/add-comments' (PR sarich/E3SM#11)
rljacob Feb 20, 2023
a46fabd
Add namelist variable for mesh to mosart
rljacob Feb 18, 2023
d66322b
read new mesh variable in Mosart
rljacob Feb 18, 2023
ccc4f5c
Get new mesh variable from Rtmini and pass to infodata
rljacob Feb 18, 2023
b510ec4
Add variables for lnd domain and rtm mesh in infodata
rljacob Feb 18, 2023
28aded8
Pass infodata to cplcomp_moab_Init, get rtm mesh
rljacob Feb 18, 2023
68f173a
Add bcast of rof_mesh in infodata
rljacob Feb 20, 2023
4b97780
Add fatmlndfrc to infodata
rljacob Feb 21, 2023
1489390
Broadcast the land domain
rljacob Feb 21, 2023
376eeb6
use the domain reader branch fix
iulian787 Feb 21, 2023
754f438
Add infodata commnets
rljacob Feb 21, 2023
863d22e
add debugging compare calls after ice and lnd merge
iulian787 Feb 23, 2023
5068fb4
zero out moab tags in sea ice init
rljacob Feb 24, 2023
387afef
remove cam_moab_export and introduce MOABCOMP
iulian787 Feb 24, 2023
c7e9c25
MOABCOMP instead of MOABDEBUG
iulian787 Feb 24, 2023
1695662
Remove debugging prints
rljacob Feb 24, 2023
3a71503
Fix modStr and some comments
rljacob Feb 24, 2023
9c27b2d
Remove some debugging output from moab coupler
rljacob Feb 24, 2023
3c67dd1
define mct_ debug tags only the first_time
iulian787 Feb 25, 2023
a7d3a3c
use validate=0 for compute weights
iulian787 Feb 25, 2023
8b40659
add normalization weight to coupler meshes
rljacob Feb 27, 2023
4b487c1
Add normalization to MOAB mapping
rljacob Feb 27, 2023
f917cf1
ocean change MOABDEBUG -> MOABCOMP
iulian787 Feb 27, 2023
8ac09da
Fix fldlist_moab setting and error messages. Turn on norm in moab
rljacob Feb 27, 2023
2e14071
use actual target app for tgt_mbid
iulian787 Feb 28, 2023
5522d8d
introduce an extra arg for map from file
iulian787 Mar 1, 2023
4fc0926
need to add another attribute to map type
iulian787 Mar 1, 2023
4c08529
add norm8wt field to moab rof coupler instance
iulian787 Mar 1, 2023
0e989d9
source context for Fa2r should be atm(1)cplcompid
iulian787 Mar 1, 2023
10e635c
Change init of skip_match, add output
rljacob Mar 1, 2023
91d5490
Force new map for Fof2a
rljacob Mar 1, 2023
ac20de7
Reduce a log message in seq_map
rljacob Mar 3, 2023
dc6cf7b
Merge branch 'rljacob/moab/norm-map' into sarich/moab/update-moab-driver
iulian787 Mar 3, 2023
b381e2c
add compute weights lnd-atm case
iulian787 Mar 7, 2023
914b862
tri-grid case
iulian787 Mar 7, 2023
e812073
whitespace change to check automated jenkins build
sarich Mar 10, 2023
3f0acf8
samegrid land rof
iulian787 Mar 13, 2023
4895057
set numco and tagtype
iulian787 Mar 13, 2023
5a2167a
orderT needs to be set, not only orderS
iulian787 Mar 13, 2023
92b17ec
if tri-grid, compute graph for cells, not for vertices
iulian787 Mar 21, 2023
dd7523f
land mesh type
iulian787 Mar 21, 2023
3c332be
need to initialize mpi group
iulian787 Mar 21, 2023
9170da2
Merge branch 'iulian787/samegrid_lndrof' into sarich/moab/update-moab…
iulian787 Mar 21, 2023
3df4de8
set ofrac on second ocean instance
iulian787 Mar 23, 2023
33dcd43
add cime change for using existing kokkos build
sarich Mar 23, 2023
0dae013
project directly on unit sphere mpas mesh
iulian787 Mar 24, 2023
208aea7
comment out aream on comp side
iulian787 Mar 24, 2023
26538e6
compute area correction factors, and store them
iulian787 Mar 31, 2023
ee617fc
add factor method for area corrections
iulian787 Mar 31, 2023
922a162
zero out the output matrix x2o_om
iulian787 Apr 19, 2023
18c6a21
switch back to using cime master so we don't need to maintain our
sarich Apr 25, 2023
2a078e4
Merge branch 'jayeshkrishna/cime_config/add_adios_conv_job' (PR #5530)
jayeshkrishna Mar 24, 2023
7b226d1
Merge branch 'sarich/moab/reset-to-cime-master' into sarich/moab/upda…
sarich Apr 27, 2023
bb89767
reset buildlib.kokkos to use the one from E3SM master
sarich Apr 27, 2023
c99220d
ocean accumulation
iulian787 Apr 26, 2023
2d31637
be more selective when zeroing out merge fields
iulian787 Apr 28, 2023
9261250
be more selective when zeroing out merge fields
iulian787 Apr 28, 2023
8a3d0a1
rof accumulation
iulian787 Apr 28, 2023
1bae0c8
comment out
iulian787 Apr 29, 2023
7a8df61
finish rof accumulating
iulian787 Apr 30, 2023
4ff0cda
Merge branch 'iulian787/accum_ocn_rof' into sarich/moab/update-moab-d…
iulian787 Apr 30, 2023
e9e22d9
Update MOAB drivers to use the new API that takes a FV method paramet…
vijaysm Mar 23, 2023
57695fe
Add bilinear mapping weights generation for some scalar fields
vijaysm Apr 7, 2023
bb2620c
retrieve x2o_om before using it for accumulation
iulian787 May 1, 2023
e2ba64b
for atm, zero out only non-shared fields
iulian787 May 12, 2023
c6f9bf8
Merge branch 'vijaysm/bilinear-maps' into sarich/moab/update-moab-driver
iulian787 May 14, 2023
31eb427
reset the initial source tags after normalization
iulian787 May 15, 2023
b998d20
bilinear maps generated with tr
iulian787 May 20, 2023
4fe42da
ne30 bilin new map
iulian787 May 22, 2023
0f6b2a9
more debug to track faxa_lwdn
iulian787 Jun 1, 2023
3cd2389
prove that ocn merging modifies Faxa_lwdn
iulian787 Jun 2, 2023
e28809c
major reversion
iulian787 Jun 2, 2023
b59ff48
better messages for coupling
iulian787 Jun 13, 2023
306a2e0
cleanup starts
iulian787 Jun 18, 2023
83466e3
clean atm component
iulian787 Jun 18, 2023
cb8e112
cleanup land component
iulian787 Jun 18, 2023
a3c5458
clean rof comp
iulian787 Jun 18, 2023
367b905
rename mpas_moab_instance to init_moab_mpas
iulian787 Jun 18, 2023
bd69f1c
more debug to track fractions on atm and ice
iulian787 Jul 12, 2023
239ba89
expose mct only in debug mode
iulian787 Jul 14, 2023
46998ba
fix compile error when MOABDEBUG not defined
iulian787 Jul 17, 2023
16900eb
another more serious issue, found only by test case
iulian787 Jul 17, 2023
2bdeb5a
force new Si2a map
iulian787 Jul 22, 2023
5122e5b
force new map for ice-ocn
iulian787 Jul 23, 2023
ce7a5a2
add serwal for ubuntu 20
iulian787 Aug 22, 2023
dd9b1f6
write restart with moab driver
iulian787 Aug 26, 2023
86ac353
comment out land and write accumulated rof ocn
iulian787 Aug 27, 2023
ab603b3
add ocean and land writing
iulian787 Aug 28, 2023
23a841f
add ice and river
iulian787 Aug 28, 2023
11bf4a5
reorder based on dofs
iulian787 Aug 29, 2023
2ad08cf
global id tag need to be added explicitly
iulian787 Aug 29, 2023
343c2e3
add matrix optional argument
iulian787 Aug 30, 2023
ecf981d
add rof l2racc_lm l2racc_lx
iulian787 Aug 30, 2023
f42c653
add prototype for read moab tags
iulian787 Aug 30, 2023
a2ea147
do not overwrite the name of the restart file
iulian787 Aug 31, 2023
00a105d
avoid rewriting rpointer.drv file
iulian787 Sep 1, 2023
37ded93
finish off reading restart moab driver
iulian787 Sep 1, 2023
5412552
more fixes
iulian787 Sep 8, 2023
c6e2e0b
replace om with ox in reading too
iulian787 Sep 8, 2023
7c3c8a9
add pm-cpu on gnu compiler
iulian787 Sep 21, 2023
8b08bc5
initialize moab atm meshes always
iulian787 Sep 22, 2023
9fa94e0
import moab last
iulian787 Jun 25, 2023
4392296
Remove whitespace only
rljacob Oct 2, 2023
a1a2f94
Remove some commented out code
rljacob Oct 2, 2023
8129b1b
Merge branch 'sarich/moab/update-moab-driver' into rljacob/driver-moa…
rljacob Oct 3, 2023
0ded494
Update driver-moab with cime_config developments
rljacob Oct 3, 2023
4366d53
Add more rof_sed and dust mods to driver-moab
rljacob Oct 3, 2023
e9191e8
Add MOAB_ROOT for chrysalis
rljacob Oct 5, 2023
612f02e
Add find_package for MOAB and cpp
rljacob Oct 5, 2023
4b8c026
Change MOAB_PATH for chrysalis
rljacob Oct 5, 2023
d755958
Merge remote-tracking branch 'upstream/master' into rljacob/driver-mo…
rljacob Oct 5, 2023
12dd046
Fixes for moab
jgfouca Oct 5, 2023
23d0efc
Update module name in moab subroutines
rljacob Oct 9, 2023
a4fa625
Add MOAB include dirs to coupler target
rljacob Oct 10, 2023
2caaa6e
Add nlmaps_verbosity to moab infodata
rljacob Oct 10, 2023
7280a6b
increase tagname size
rljacob Oct 10, 2023
717a22c
Add fields to export moab
rljacob Oct 10, 2023
a048199
Change vect_map default to none in moab driver
rljacob Oct 11, 2023
84fde90
cherry-pick branch compare_restart_states
iulian787 Oct 11, 2023
1fcc42d
Merge branch 'iulian787/moab-driver/compare_restart' into rljacob/dri…
iulian787 Oct 11, 2023
26139d1
add MOAB_ROOT on anlgce machine
iulian787 Oct 12, 2023
a62b553
Update MOAB locations on chrysalis
rljacob Oct 14, 2023
68bf4ff
Remove Sa_topo from MOAB coupler
rljacob Oct 17, 2023
8622d5d
Set Sa_uovern in moab export routine
rljacob Oct 17, 2023
ce9b5cc
remove serwal cmake files
iulian787 Oct 17, 2023
cb83021
replace array references
iulian787 Oct 19, 2023
258d4f7
Merge branch 'iulian787/array_references' into rljacob/driver-moab/ad…
iulian787 Oct 19, 2023
6a8d6fb
Introduce new variables for moab latv,lonv
rljacob Oct 20, 2023
7679680
Remove CPL_BYPASS from moab import. Use moab latv,lonv
rljacob Oct 20, 2023
f878e78
fix compile error when MOABCOMP defined
iulian787 Oct 23, 2023
7528057
define stack rlimit for anlgce machine
iulian787 Oct 26, 2023
48808a4
atm moab import needed during restart
iulian787 Oct 28, 2023
059bddb
Remove debugging prints from cmake
rljacob Oct 30, 2023
09c347c
add surface atm restart file for moab
iulian787 Oct 31, 2023
593f56d
mixup in send/receive
iulian787 Nov 1, 2023
cb2f6d1
write to the moab restart file the moab counter
iulian787 Nov 2, 2023
9ef740a
bilinear maps generated with tr
iulian787 May 20, 2023
a0d1b67
ne30 bilin new map
iulian787 May 22, 2023
1ae8338
mark the After and Before files with step counter
iulian787 Nov 15, 2023
f159df1
write moab state after surface restart and before atm import
iulian787 Nov 22, 2023
55c4a00
write moab state before importing
iulian787 Nov 22, 2023
bf3e23a
write atm comp moab instance before creating the surface restart
iulian787 Nov 28, 2023
be0f6f0
export uses the component clock step number
iulian787 Nov 29, 2023
370f8b2
more debugging during flux albedo calc
iulian787 Nov 30, 2023
8f64651
more debug in prep rof averages
iulian787 Dec 2, 2023
2e983e8
big error in not reading accumulation counter for lnd to rof
iulian787 Dec 2, 2023
3b7f6d0
fix restart!!!!
iulian787 Dec 4, 2023
e7b6ea1
Revert "bilinear maps generated with tr"
iulian787 Dec 4, 2023
5ae8398
Revert "ne30 bilin new map"
iulian787 Dec 4, 2023
0483ee9
Update moab driver config settings
rljacob Dec 9, 2023
6ae2db2
Remove extra MOABDEBUG blocks
rljacob Dec 9, 2023
0c2ea15
Add FAN coupler pieces
rljacob Dec 9, 2023
690f9ed
bug in defining norm8wt tag
iulian787 Dec 14, 2023
0482d03
Add fix to surface pressure coupling in moab
rljacob Dec 18, 2023
5f624a5
Update salt flux in moab sea-ice export
rljacob Dec 18, 2023
b26a1a5
Update driver-moab with main developments
rljacob Dec 19, 2023
b98b6d2
Update ocn_export_moab with removal of ssh filtering
rljacob Dec 19, 2023
2772250
Define frivinp_mesh for USRDAT Mosart tests
rljacob Dec 20, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions cime_config/machines/cmake_macros/gnu_anlgce-ub18.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ if (NOT DEBUG)
endif()
string(APPEND SLIBS " -lblas -llapack")
set(ZLIB_PATH "$ENV{ZLIB_PATH}")
set(MOAB_PATH "$ENV{MOAB_PATH}")
1 change: 1 addition & 0 deletions cime_config/machines/cmake_macros/gnu_anlgce.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ if (NOT DEBUG)
endif()
string(APPEND SLIBS " -lblas -llapack")
set(ZLIB_PATH "$ENV{ZLIB_PATH}")
set(MOAB_PATH "$ENV{MOAB_PATH}")
1 change: 1 addition & 0 deletions cime_config/machines/cmake_macros/gnu_chrysalis.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@ if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY")
endif()
set(PIO_FILESYSTEM_HINTS "gpfs")
set(MOAB_PATH "/lcrc/soft/climate/moab/chrysalis/gnu")
string(APPEND SLIBS " -Wl,--start-group $ENV{MKLROOT}/lib/intel64/libmkl_gf_lp64.a $ENV{MKLROOT}/lib/intel64/libmkl_sequential.a $ENV{MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group -lpthread -lm -ldl")
string(APPEND CXX_LIBS " -lstdc++")
1 change: 1 addition & 0 deletions cime_config/machines/cmake_macros/intel_chrysalis.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ if (NOT DEBUG)
string(APPEND FFLAGS " -O3 -qno-opt-dynamic-align")
endif()
set(PIO_FILESYSTEM_HINTS "gpfs")
set(MOAB_PATH "/lcrc/soft/climate/moab/chrysalis/intel")
string(APPEND SLIBS " -mkl")
string(APPEND LDFLAGS " -static-intel")
if (MPILIB STREQUAL impi)
Expand Down
4 changes: 4 additions & 0 deletions cime_config/machines/config_machines.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1804,6 +1804,8 @@
<env name="HDF5_PATH">/nfs/gce/projects/climate/software/linux-ubuntu20.04-x86_64/hdf5/1.12.1/mpich-4.0/gcc-11.1.0</env>
<env name="NETCDF_PATH">/nfs/gce/projects/climate/software/linux-ubuntu20.04-x86_64/netcdf/4.8.0c-4.3.1cxx-4.5.3f-parallel/mpich-4.0/gcc-11.1.0</env>
<env name="PNETCDF_PATH">/nfs/gce/projects/climate/software/linux-ubuntu20.04-x86_64/pnetcdf/1.12.2/mpich-4.0/gcc-11.1.0</env>
<env name="MOAB_ROOT">$SHELL{if [ -z "$MOAB_ROOT" ]; then echo /nfs/gce/projects/climate/software/moab/devel/mpich-4.0/gcc-11.1.0; else echo "$MOAB_ROOT"; fi}</env>
<env name="MOAB_PATH">/nfs/gce/projects/climate/software/moab/devel/mpich-4.0/gcc-11.1.0</env>
</environment_variables>
<environment_variables mpilib="openmpi">
<!-- We currently don't have modules for HDF5, NetCDF & PnetCDF -->
Expand Down Expand Up @@ -2240,9 +2242,11 @@
</environment_variables>
<environment_variables compiler="intel" mpilib="openmpi">
<env name="ADIOS2_ROOT">$SHELL{if [ -z "$ADIOS2_ROOT" ]; then echo /lcrc/group/e3sm/3rdparty/chrysalis/adios2/2.8.3.patch/openmpi-4.1.3/intel-20.0.4; else echo "$ADIOS2_ROOT"; fi}</env>
<env name="MOAB_ROOT">$SHELL{if [ -z "$MOAB_ROOT" ]; then echo /lcrc/soft/climate/moab/chrysalis/intel; else echo "$MOAB_ROOT"; fi}</env>
</environment_variables>
<environment_variables compiler="gnu" mpilib="openmpi">
<env name="ADIOS2_ROOT">$SHELL{if [ -z "$ADIOS2_ROOT" ]; then echo /lcrc/group/e3sm/3rdparty/chrysalis/adios2/2.8.3.patch/openmpi-4.1.3/gcc-9.2.0; else echo "$ADIOS2_ROOT"; fi}</env>
<env name="MOAB_ROOT">$SHELL{if [ -z "$MOAB_ROOT" ]; then echo /lcrc/soft/climate/moab/chrysalis/gnu; else echo "$MOAB_ROOT"; fi}</env>
</environment_variables>
<environment_variables compiler="intel" mpilib="impi">
<env name="ADIOS2_ROOT">$SHELL{if [ -z "$ADIOS2_ROOT" ]; then echo /lcrc/group/e3sm/3rdparty/chrysalis/adios2/2.8.3.patch/intel-mpi-2019.9.304/intel-20.0.4; else echo "$ADIOS2_ROOT"; fi}</env>
Expand Down
5 changes: 5 additions & 0 deletions components/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,11 @@ endif()

project(E3SM C CXX Fortran)

if (COMP_INTERFACE STREQUAL "moab")
set(USE_MOAB True)
set(CPPDEFS "${CPPDEFS} -DHAVE_MOAB")
endif()

if(USE_CUDA)
enable_language(CUDA)
elseif(USE_HIP)
Expand Down
2 changes: 1 addition & 1 deletion components/cice/bld/config_files/definition.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<config_definition>

<entry id="comp_intf" valid_values="MCT,ESMF" value="MCT">
<entry id="comp_intf" valid_values="MCT,ESMF,MOAB" value="MOAB">
CICE build directory; contains .o and .mod files.
</entry>

Expand Down
7 changes: 7 additions & 0 deletions components/cmake/build_model.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,9 @@ function(build_model COMP_CLASS COMP_NAME)
target_link_libraries(${TARGET_NAME} ${ITEM})
endif()
endforeach()
if (USE_MOAB)
target_include_directories(${TARGET_NAME} PRIVATE ${MOAB_INCLUDE_DIRS})
endif()

foreach(ITEM IN LISTS ALL_LIBS_LIST)
target_link_libraries(${TARGET_NAME} ${ITEM})
Expand All @@ -243,6 +246,10 @@ function(build_model COMP_CLASS COMP_NAME)
add_library(${TARGET_NAME})
target_sources(${TARGET_NAME} PRIVATE ${REAL_SOURCES})
target_link_libraries(${TARGET_NAME} PRIVATE csm_share)
if (USE_MOAB)
target_link_libraries(${TARGET_NAME} PRIVATE ${MOAB_LIBRARIES})
target_include_directories(${TARGET_NAME} PRIVATE ${MOAB_INCLUDE_DIRS})
endif()
if (COMP_NAME STREQUAL "eam")
if (USE_YAKL)
target_link_libraries(${TARGET_NAME} PRIVATE yakl)
Expand Down
4 changes: 4 additions & 0 deletions components/cmake/find_dep_packages.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ if (USE_ALBANY OR USE_TRILINOS)
find_package(Trilinos REQUIRED)
endif()

if (USE_MOAB)
find_package(MOAB REQUIRED)
endif()

if (USE_ALBANY)
find_package(Albany REQUIRED)
endif()
Expand Down
4 changes: 2 additions & 2 deletions components/eam/bld/config_files/definition.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ are specified as a comma separated list with no embedded white space.
<entry id="ccsm_seq" valid_values="0,1" value="0">
Switch specifies whether CAM is being built by the CCSM sequential scripts. 0 => no, 1 => yes.
</entry>
<entry id="comp_intf" valid_values="mct,esmf" value="mct">
Component interfaces: mct or esmf. Default: mct.
<entry id="comp_intf" valid_values="mct,esmf,moab" value="mct">
Component interfaces: mct, esmf, or moab. Default: mct.
</entry>
<entry id="dyn" valid_values="eul,sld,fv,homme,se" value="">
Dynamics package: eul, sld, fv, or se.
Expand Down
2 changes: 1 addition & 1 deletion components/eam/bld/configure
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ OPTIONS
clubb_single_prec (Run CLUBB in single precision)
-co2_cycle This option is meant to be used with the -ccsm_seq option. It modifies the
EAM configuration by increasing the number of advected constituents by 4.
-comp_intf Specify the component interfaces [mct | esmf] (default: mct).
-comp_intf Specify the component interfaces [mct | esmf | moab] (default: mct).
-cppdefs <string> A string of user specified CPP defines. Appended to
Makefile defaults. E.g. -cppdefs '-DVAR1 -DVAR2'
-dyn <name> Build EAM with specified dynamical core [eul | sld | fv | se].
Expand Down
1 change: 1 addition & 0 deletions components/eam/cime_config/buildnml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ def buildnml(case, caseroot, compname):
comp = ""
if comp_interface == "mct": comp = "mct"
if comp_interface == "esmf": comp = "esmf"
if comp_interface == "moab": comp = "moab"

cam_lib_dirs = "-cosp_libdir {}/atm/obj/cosp".format(exeroot) if "cosp" in cam_config_opts else ""

Expand Down
Loading