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

Update CMEPS for postphases, ice sheets and glc->ocn dynamic mapping #28

Merged
merged 251 commits into from
Jan 12, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
251 commits
Select commit Hold shift + click to select a range
b14b314
add wind speed field for HAFS app
uturuncoglu Jun 26, 2020
4e7d049
change TFREEZE_SALTWATER_OPTION for MOM6
alperaltuntas Jul 1, 2020
82613c5
change of cice ice temperature to be consistent with nems
Jul 5, 2020
bd2ecee
more changes to be consistent with updates to nems
Jul 5, 2020
70593ad
additional changes needed for consistency with nems as well of cleanu…
Jul 5, 2020
a2b83a2
cleanup of med.F90
Jul 5, 2020
1173f58
addition of more comments for datainitialize sequence
Jul 6, 2020
d84d11e
updated pull request template
Jul 6, 2020
0573b7e
changes requested in the PR
Jul 7, 2020
644ca58
changes requested in PR
Jul 7, 2020
aa668e9
Merge pull request #72 from alperaltuntas/change_tfreeze_saltwater_op…
jedwards4b Jul 7, 2020
9ef8d65
fixed more PR issues
Jul 7, 2020
9376b87
Merge pull request #75 from ESCOMP/mvertens/nems_changes
jedwards4b Jul 7, 2020
72ac794
update verbosity and profiling attributes to match with ESMF requirem…
uturuncoglu Jul 20, 2020
eb20102
fix to use HAFS yaml field dictionary
uturuncoglu Jul 21, 2020
9a75154
make aoflux phase optional, default is still true
uturuncoglu Jul 21, 2020
59ac2c5
clean field exchange file for HAFS app
uturuncoglu Jul 21, 2020
fba6d60
fix for ESMF verbosity attribute
uturuncoglu Jul 21, 2020
2f70edb
do not need custom calculations for HAFS app
uturuncoglu Jul 21, 2020
55f8f98
remove newly added Sa_wspd from CESM field dictionary
uturuncoglu Jul 21, 2020
215cea7
remove newly added Sa_wspd from CESM field dictionary
uturuncoglu Jul 21, 2020
9037506
add HAFS specific field dictionary
uturuncoglu Jul 22, 2020
82712ad
Merge branch 'update_hafs' of https://github.com/ESCOMP/CMEPS into up…
uturuncoglu Jul 22, 2020
130ad41
more fix for CMEPS verbosity and profiling
uturuncoglu Jul 22, 2020
802dd3c
fix for ESMF verbosity and profiling
uturuncoglu Jul 22, 2020
98f365b
Merge branch 'master' into update_hafs
uturuncoglu Jul 24, 2020
c5309aa
put extra control to coupling mode
uturuncoglu Jul 24, 2020
58d78ba
add modify_via_xml to remaining verbosity and profiling variables
uturuncoglu Jul 24, 2020
2a653f3
the debug code is removed
uturuncoglu Jul 24, 2020
96053fb
fix run sequence for HAFS app
uturuncoglu Jul 24, 2020
8277b32
remove nems_orig from conditional
uturuncoglu Jul 27, 2020
be77a06
Merge pull request #81 from ESCOMP/update_hafs
uturuncoglu Jul 28, 2020
d1d06c1
add missing fields to CESM field dictionary to work with ERA5
uturuncoglu Jul 29, 2020
b20e191
fix for FB diagnose using wrong bundle
DeniseWorthen Aug 2, 2020
a914eb9
fix for char initialization
jedwards4b Aug 12, 2020
92ee47c
Merge remote-tracking branch 'escomp/master' into feature/updcmeps
DeniseWorthen Aug 14, 2020
a1f79f6
Merge branch 'bugfix/fbaccum' into feature/updcmeps
DeniseWorthen Aug 14, 2020
593c526
reset if flags for debugging
DeniseWorthen Aug 14, 2020
dd8022c
white space change
DeniseWorthen Aug 14, 2020
d1632af
Update med.F90
DeniseWorthen Aug 14, 2020
cc416c2
minor clode cleanup
DeniseWorthen Aug 14, 2020
46be10e
fix compile error
DeniseWorthen Aug 14, 2020
4346117
remove more chk_err statements after LogWrites
DeniseWorthen Aug 14, 2020
32a11a5
remove more chk_err statements after LogWrites
DeniseWorthen Aug 14, 2020
3e1bde7
Merge pull request #94 from DeniseWorthen/feature/updcmeps
mvertens Aug 15, 2020
7654038
fix pylint issues
jedwards4b Aug 18, 2020
8646008
Fix CPP ESMF_VERSION_MAJOR and ESMF_VERSION_MINOR definitions.
danrosen25 Sep 3, 2020
8793896
Merge pull request #99 from danrosen25/fix/esmfversion
jedwards4b Sep 4, 2020
07d3cab
remove custom merges for rain and snow
DeniseWorthen Sep 12, 2020
51b19ac
new aliases in fd_nems.yaml
DeniseWorthen Sep 13, 2020
f68a3d2
combine fields exchange for nems orig/data; make corresponding
DeniseWorthen Sep 13, 2020
54d8607
remove nems_data prep_ocn; make nems prep_ocn work for all nems modes
DeniseWorthen Sep 13, 2020
1438b9d
fix coupling_mode if statement
DeniseWorthen Sep 14, 2020
83bca27
prep ocn cleanup for datm
DeniseWorthen Sep 14, 2020
a6ece41
more consolidation in fields exchange
DeniseWorthen Sep 15, 2020
af0d961
white space
DeniseWorthen Sep 15, 2020
9c17146
change method to find CIMEROOT
jedwards4b Sep 18, 2020
ff917af
Merge remote-tracking branch 'escomp/master' into feature/prepocn_cle…
DeniseWorthen Sep 21, 2020
887c30e
fix hardcoded paths
jedwards4b Sep 21, 2020
3c79b2c
fix hardcoded paths in buildexe
jedwards4b Sep 21, 2020
32129aa
Merge pull request #103 from DeniseWorthen/feature/prepocn_cleanup
jedwards4b Sep 21, 2020
72fdeec
fix copling mode issue
uturuncoglu Sep 23, 2020
b36a949
support multiple coupling mode for nems
uturuncoglu Sep 23, 2020
01dfe9a
Merge pull request #104 from ESCOMP/fix_coupling_mode
uturuncoglu Sep 25, 2020
3183506
bug fix for creation of ocean and ice fractions on atm mesh
Sep 28, 2020
f69e39c
Create extbuild.yml
jedwards4b Sep 30, 2020
7b43058
cleanup of fix to map fractions
Sep 30, 2020
4ece277
more updates to fix nems problems
Sep 30, 2020
8ecdcc9
more updates for fraction calculation
Oct 1, 2020
e4b0b81
cmake and action without dir changes
jedwards4b Oct 1, 2020
66a6b8f
Merge branch 'master' into add_cmake_and_github_actions
jedwards4b Oct 1, 2020
b7770f4
whitespace error fix
jedwards4b Oct 1, 2020
c2184a6
whitespace error fix
jedwards4b Oct 1, 2020
513959e
fix path
jedwards4b Oct 1, 2020
6962be0
populate pio submodule
jedwards4b Oct 1, 2020
cd9c7b3
add cmake helpers
jedwards4b Oct 1, 2020
31e3c8d
fix error trapping in pylint script
jedwards4b Oct 1, 2020
5bc3f22
fix pylint issue
jedwards4b Oct 1, 2020
afe65f9
try again
jedwards4b Oct 1, 2020
3e858a9
fix whitespace
jedwards4b Oct 1, 2020
9c9eac3
find netcdf.h
jedwards4b Oct 1, 2020
715d7ba
remove python nightly - too extreme
jedwards4b Oct 1, 2020
5c85a24
Merge pull request #109 from jedwards4b/add_cmake_and_github_actions
jedwards4b Oct 1, 2020
b9d6283
Merge branch 'master' into mvertens/bugfix_fractions
jedwards4b Oct 1, 2020
5c79fb2
fix gnu compiler errors
jedwards4b Oct 1, 2020
9965df1
updates to fix rof problem
Oct 1, 2020
f649a03
correct esmf error message
jedwards4b Oct 1, 2020
42a992f
updates needed for nems
Oct 4, 2020
59a108a
updated med_fraction_mod to deal with I2000 bug
Oct 6, 2020
bfc2e9a
fixes to get I compset to work
Oct 6, 2020
c450625
improve error message
jedwards4b Oct 6, 2020
1a5d830
Merge pull request #110 from ESCOMP/mvertens/bugfix_fractions
mvertens Oct 7, 2020
298f84f
addition of water and energy global diagnostics
Jun 10, 2019
861e925
changes to get budgets working
Nov 21, 2019
a74c389
bug fixes and updates for cism
Dec 11, 2019
cf5da28
update of mvertens/newdiags
jedwards4b Aug 5, 2020
9f697d5
budget development
jedwards4b Aug 5, 2020
fb8b42d
remove unused prevtime
jedwards4b Aug 10, 2020
3515c71
add ocn budget for A compset
jedwards4b Sep 21, 2020
91fccdc
budget improvements
jedwards4b Sep 29, 2020
ee63d5c
remove debug print statement
jedwards4b Sep 30, 2020
04cf4d5
add netcdf to required for cmake
jedwards4b Oct 7, 2020
1fec2df
fix netcdf case in cmake
jedwards4b Oct 7, 2020
2b9a741
fix github build
jedwards4b Oct 7, 2020
c9a6b4e
fix github build
jedwards4b Oct 7, 2020
9e59f18
fix github build
jedwards4b Oct 7, 2020
263870e
fix github build
jedwards4b Oct 7, 2020
a9fc73a
fix github build
jedwards4b Oct 7, 2020
6d1ebac
use master med_time_mod, remove shr_sys_abort
jedwards4b Oct 7, 2020
0a28273
remove netcdf requirement from cmake build
jedwards4b Oct 7, 2020
c70410f
clean up wrt master
jedwards4b Oct 7, 2020
88bd1f7
add back mesh_info
jedwards4b Oct 7, 2020
c7cdf6a
add back mesh_info
jedwards4b Oct 7, 2020
9067ce0
more cleanup wrt master
jedwards4b Oct 7, 2020
118db68
fixed problem with stop alarm initialization
Oct 8, 2020
7165848
add B1850 test, list SourceMods dir first in build
jedwards4b Oct 9, 2020
3c1249a
Split esmFldsExchange_hafs_mod.F90 into advertise and initialize phases.
danrosen25 Aug 24, 2020
d390f6c
fix diags for c case
jedwards4b Oct 14, 2020
96684bc
Merge pull request #107 from ESCOMP/jedwards/newdiags
mvertens Oct 15, 2020
1bd8dd5
Merge pull request #114 from hafs-community/feature/hafs
uturuncoglu Oct 16, 2020
cc634da
add med_diag to Makefile
jedwards4b Oct 19, 2020
026a6e7
make diags optional in the config file
jedwards4b Oct 22, 2020
549616a
add error handling
jedwards4b Oct 22, 2020
60b2397
remove set part
jedwards4b Oct 23, 2020
176872c
dont get alarm options unless diags are set
jedwards4b Oct 23, 2020
5c3bd48
makefile fix
jedwards4b Oct 23, 2020
91fd48c
try this instead
jedwards4b Oct 23, 2020
db1869a
add interface
jedwards4b Oct 23, 2020
7d5496c
Merge pull request #117 from jedwards4b/diags_optional_in_configfile
jedwards4b Oct 23, 2020
61c7fde
fixed bug in mapping for flooding to ocn from river
Oct 26, 2020
bc6ced1
bug fixes
Oct 26, 2020
6aa22a1
fixed bug that was just introduced
Oct 27, 2020
a3790d5
remove albedo from the X compset
jedwards4b Oct 27, 2020
ac043a7
removed unneeded commented line
Oct 27, 2020
6934a89
Merge pull request #120 from ESCOMP/mvertens/fix_rofflooc
jedwards4b Oct 28, 2020
dda73e0
Merge pull request #119 from jedwards4b/remove_alb_xcompset
mvertens Oct 28, 2020
5e6fcef
update PIO and genf90 to support CDEPS
Oct 7, 2020
2ba14ea
make internal PIO initialization optional for different UFS apps
Oct 7, 2020
c9e4ecb
fix GTPL issue and optional internal PIO initialization
Oct 12, 2020
850ddb8
Merge pull request #121 from ESCOMP/feature/hafs_cdeps_fixed
mvertens Oct 29, 2020
4c23160
performance upgrade - primarily to med_merge_mod - on top of jedwards…
Oct 13, 2020
16962cd
updates to mapping to handle packed field bundles
Oct 14, 2020
237fd0f
major performance boosts for hard-wired packed redist
Oct 15, 2020
a05a7bb
updates to get packed field bundles for other mappings
Oct 18, 2020
2dac7b7
significantly improved the performance of the auto merge
Oct 19, 2020
2b82002
updates to have packed field bundles working in F compsets
Oct 19, 2020
6d0ccb6
fixes for f19_g17 F2000 tests
Oct 20, 2020
c3be8c6
more performance updates
Oct 20, 2020
bca5c05
introduced normalization routine that can also be reused in med_map_p…
Oct 21, 2020
ed7a721
hard-wired max profile for now
Oct 21, 2020
f696f41
updated mapping and med_phases_prep_rof_mod to using the new mapping …
Oct 21, 2020
a1b6b4a
updated med_map_prep_lnd_mod with new interface call for glc->lnd map…
Oct 22, 2020
38a9306
more updates to remove all references to old mapping
Oct 22, 2020
e59e71e
refactored now one normalization is handled
Oct 23, 2020
72ef815
updates to fix BMOM case
Oct 26, 2020
377a4cd
fixed bugs in testing
Oct 26, 2020
3690cb6
merge updates and cleanup of med_methods_mod
Oct 28, 2020
25a31da
undid debug settings that impacted performance
Oct 29, 2020
7540b4a
backed out some subname changes
Oct 29, 2020
c339bdc
made all local arrays initialized to null()
Oct 29, 2020
3d1e7df
removed DEBUG statements
Oct 30, 2020
f53d4bb
original code failed with rc2 error using gnu compiler
jedwards4b Oct 30, 2020
d093e64
Merge pull request #123 from jedwards4b/gnu_compiler_fix
mvertens Oct 30, 2020
3d30938
updates for refactor of med_map_mod
Oct 31, 2020
e8b4214
added option for uv mapping with cart3d
Nov 1, 2020
dc41eab
cleanup of med_methods_mod
Nov 1, 2020
2268e9a
fixed bug for nems_orig
Nov 2, 2020
73ab226
merge to master resolved a space issue
Nov 2, 2020
14d8f11
Merge pull request #122 from ESCOMP/mvertens/perf
jedwards4b Nov 2, 2020
7c22abe
backing out changes to med_io_mod.F90 should fix restart problem
Nov 4, 2020
8372158
Merge pull request #125 from ESCOMP/mvertens/fix_restart_bug
jedwards4b Nov 4, 2020
771eacd
update med_io_mod.F90 for latest fix
DeniseWorthen Nov 4, 2020
6770ed6
fixed the order of glc mapping and land merge - the calls were incorr…
Nov 6, 2020
fd5e23c
fixed bug in budget calculations
Nov 10, 2020
0315cae
Merge pull request #129 from ESCOMP/mvertens/fix_preplnd_bug
jedwards4b Nov 10, 2020
2082024
first set of changes to have multiple ice sheets
Nov 13, 2020
1270896
successfully completed a TG run with just 1 ice sheets - results were…
Nov 14, 2020
ec373dc
cleaned up interface for addmrg to remove 1 index
Nov 15, 2020
c45fa55
fixed compilation issue
Nov 15, 2020
f5146b2
more updates and fixes for multiple ice sheets
Nov 16, 2020
ab8b4fd
fix preplnd bug
Nov 16, 2020
51562ca
Merge pull request #99 from danrosen25/fix/esmfversion
jedwards4b Sep 4, 2020
a3d7345
updates to get I2000 compset identical to the nov15 baseline
Nov 16, 2020
7de506d
cleanup merge issue
jedwards4b Nov 17, 2020
f1b6425
Merge pull request #135 from jedwards4b/remerge_esmf_versioning
jedwards4b Nov 17, 2020
147e8a6
Merge pull request #134 from ESCOMP/mvertens/fixpreplnd
jedwards4b Nov 17, 2020
3810a7a
Call GLC at the end of the day rather than the start
Nov 21, 2020
f04a4fd
pass areag for smb normalization
Nov 24, 2020
a9483bb
more fixes for glc renormalization
Nov 24, 2020
df8c749
Merge commit 'a9483bb' into mvertens/fixprepglc
Nov 24, 2020
2f1edfc
Merge pull request #138 from ESCOMP/mvertens/fixglc_runseq
billsacks Nov 24, 2020
ce1148b
cleanup and refactor of testlist_drv.xml to include new tests and con…
Nov 25, 2020
0345e83
updates to changes for mvertens/fixpreglc
Nov 25, 2020
9043f00
new wrapper interfaces for readability for getting pointers to field …
Nov 26, 2020
607c38e
Add a comment about the areas used in the global sums
billsacks Nov 26, 2020
93b0da3
fix use statement
Nov 26, 2020
3eff0cb
Merge branch 'mvertens/fixprepglc' into mvertens/icesheets
Nov 26, 2020
34b67b6
udpates for PR #139
Nov 26, 2020
23896d4
bug fix
Nov 27, 2020
37bde42
replace mapconsf with mapconsd in prep_glc_mod.F90
Nov 27, 2020
8c1a42f
added med_phases_post_glc_mod.F90 which carries out the mapping for g…
Nov 28, 2020
b494a25
added med_phases_post_glc to run sequence
Nov 28, 2020
5c4e828
Merge pull request #139 from ESCOMP/mvertens/fixprepglc
mvertens Nov 28, 2020
6452bec
bug fixes in testing
Nov 30, 2020
5bc6ffa
aded a post rof phase
Nov 30, 2020
8f54ebe
merge to mvertens/icesheets
Nov 30, 2020
3786519
clarified comments
Nov 30, 2020
f520ad9
fix avgdt variable and add nthreads value to gcomp
jedwards4b Nov 30, 2020
e045da7
major performance update for I2000 compset
Dec 1, 2020
492569c
Merge pull request #140 from ESCOMP/mvertens/icesheets
mvertens Dec 1, 2020
59ec4d1
reworked how scalar data was set in med_phases_prep_lnd
Dec 1, 2020
bfd5ca7
more performance improvements
Dec 2, 2020
4589a19
fixed bug introduced in prep_ocn_mod with skipping wave mapping and a…
Dec 3, 2020
a722479
updates for mapping glc->ocn
Dec 4, 2020
bcd340c
Merge remote-tracking branch 'jedwards/fix_avgdt_add_nthreads_to_gcom…
Dec 4, 2020
de28293
removal of nems configuration - since nems driver is used in the future
Dec 4, 2020
7417a5a
fixed compile and restart problem for B compsets
Dec 5, 2020
f3e4d3a
Merge commit '7417a5a' into mvertens/postphases
Dec 5, 2020
7868fba
added post phases for ocn and atm
Dec 5, 2020
386e300
added med_phases_post_lnd
Dec 6, 2020
9ea5b94
added post wave phase
Dec 6, 2020
c310ff3
added post ice phase and fixed call to post atm phase
Dec 6, 2020
f2edb0f
more cleanup of post run phases
Dec 6, 2020
435bb52
unified merge and accum ocn phase and renamed ocn phases to be consis…
Dec 6, 2020
c570780
fixed problems encountered in PR testing
Dec 7, 2020
4a82768
update to pull request template
Dec 7, 2020
bb8214c
updated Makefile new post phase modules
Dec 7, 2020
94cde15
updated pr template to add HAFS
Dec 7, 2020
920bc97
updated module arrays to be initialized to null
Dec 7, 2020
ab8b90c
update med.F90 dependancies
jedwards4b Dec 7, 2020
70b5aac
update cmake file
jedwards4b Dec 7, 2020
c6b58ce
corrected file name
Dec 7, 2020
3a05967
add post_ocn_mod
jedwards4b Dec 7, 2020
0ccc872
Merge pull request #146 from ESCOMP/mvertens/postphases
jedwards4b Dec 8, 2020
8746b78
changes needed to transfer ocean to glc coupling - now just from pop
Dec 14, 2020
7cb568e
bug fixes
Dec 16, 2020
ee7c824
Merge branch 'emc/develop' into feature/updcmeps
DeniseWorthen Dec 17, 2020
69f714e
Merge remote-tracking branch 'escomp/master' into feature/updcmeps
DeniseWorthen Dec 17, 2020
9c8b94f
fix error when scalar_id is 0 (triggered in new datm debug test)
DeniseWorthen Dec 17, 2020
5e99e91
removed nems reference in buildnml
Dec 19, 2020
0e35a1b
bug fixes for ocn2glc coupling
Dec 21, 2020
0bdc342
fixed phrasing
Dec 22, 2020
aac5004
more phrasing fixes
Dec 22, 2020
b3b5995
Merge remote-tracking branch 'escomp/mvertens/ocn2glc_coupling' into …
DeniseWorthen Dec 23, 2020
56a5e44
fix mismatched subname/subroutines
DeniseWorthen Dec 23, 2020
c5e9426
restore files
DeniseWorthen Dec 30, 2020
be36b4f
Merge pull request #148 from ESCOMP/mvertens/ocn2glc_coupling
mvertens Jan 5, 2021
5754fac
Merge remote-tracking branch 'escomp/master' into feature/updcmeps
DeniseWorthen Jan 6, 2021
493e283
update med_io_mod for version currently in cmeps/master
DeniseWorthen Jan 7, 2021
1f67571
alternate fix for scalar_id=0 case
DeniseWorthen Jan 7, 2021
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
18 changes: 15 additions & 3 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,26 @@ Any User Interface Changes (namelist or namelist defaults changes)?
- [ ] No

Testing performed if application target is CESM:(either UFS-S2S or CESM testing is required):
Copy link
Collaborator

Choose a reason for hiding this comment

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

Do we want to change UFS-s2s to UFS coupled testing in the future since the UFS tests covers both weather and s2s?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Good point. I'll make a note; she said she has an upcoming PR also so she could do it then.

- [ ] (required) CIME_DRIVER=nuopc scripts_regression_tests.py
- [ ] (recommended) CIME_DRIVER=nuopc scripts_regression_tests.py
- machines:
- details (e.g. failed tests):
- [ ] (required) CESM testlist_drv.xml
- [ ] (recommended) CESM testlist_drv.xml
- machines and compilers:
- details (e.g. failed tests):
- [ ] (optional) CESM prealpha test
- machines and compilers
- details (e.g. failed tests):
- [ ] (other) please described in detail
- machines and compilers
- details (e.g. failed tests):

Testing performed if application target is UFS-S2S:
- [ ] (required) UFS-S2S testing
- [ ] (recommended) UFS-S2S testing
- description:
- details (e.g. failed tests):

Testing performed if application target is UFS-HAFS:
- [ ] (recommended) UFS-HAFS testing
- description:
- details (e.g. failed tests):

Expand All @@ -40,3 +48,7 @@ Hashes used for testing:
- repository to check out:
- branch:
- hash:
- [ ] UFS-HAFS, then umbrella repostiory to check out and associated hash:
- repository to check out:
- branch:
- hash:
48 changes: 48 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
cmake_minimum_required(VERSION 3.10)
include(ExternalProject)

if (DEFINED CIMEROOT)
message("Using CIME in ${CIMEROOT} with compiler ${COMPILER}")
include(${CASEROOT}/Macros.cmake)
if (${PIO_VERSION} LESS 2)
message( FATAL_ERROR "Version 2 of the PIO library required")
endif()
if (${MPILIB} STREQUAL "mpi-serial")
set(CMAKE_C_COMPILER ${SCC})
set(CMAKE_Fortran_COMPILER ${SFC})
set(CMAKE_CXX_COMPILER ${SCXX})
else()
set(CMAKE_C_COMPILER ${MPICC})
set(CMAKE_Fortran_COMPILER ${MPIFC})
set(CMAKE_CXX_COMPILER ${MPICXX})
endif()
set(CMAKE_Fortran_FLAGS "${FFLAGS} -I${LIBROOT}/include -I${LIBROOT}/finclude -I${LIBROOT}/nuopc/esmf/${NINST_VALUE}/include")
else()
set(BLD_STANDALONE TRUE)
endif()

project(CMEPS LANGUAGES Fortran VERSION 0.1)

list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)

message("CMAKE_MODULE_PATH is ${CMAKE_MODULE_PATH}")

find_package(ESMF REQUIRED)
if (DEFINED PIO)
set(PIO_PATH ${PIO})
else()
set(PIO_PATH $ENV{PIO})
endif()
find_package(PIO REQUIRED COMPONENT C Fortran PATH ${PIO_PATH})

if (NOT DEFINED MPILIB OR NOT ${MPILIB} STREQUAL "mpi-serial")
find_package(MPI REQUIRED)
endif()

if(BLD_STANDALONE)
add_subdirectory(nems/util)
list(APPEND EXTRA_LIBS cmeps_share)
list(APPEND EXTRA_INCLUDES "${CMAKE_BINARY_DIR}/nems/util")
endif()

add_subdirectory(mediator)
6 changes: 1 addition & 5 deletions cime_config/buildnml
Original file line number Diff line number Diff line change
Expand Up @@ -399,8 +399,6 @@ def _create_runseq(case, coupling_times, valid_comps):
from runseq_D import gen_runseq
elif (comp_lnd == 'dlnd' and comp_glc == "cism"):
from runseq_TG import gen_runseq
elif (comp_atm == 'ufsatm' and comp_ocn == "mom" and comp_ice == 'cice'):
from runseq_NEMS import gen_runseq
else:
from runseq_general import gen_runseq

Expand Down Expand Up @@ -571,10 +569,8 @@ def buildnml(case, caseroot, component):
filename = os.path.join(fd_dir,"fd_cesm.yaml")
elif coupling_mode == 'hafs':
filename = os.path.join(fd_dir,"fd_hafs.yaml")
elif 'nems' in coupling_mode:
filename = os.path.join(fd_dir,"fd_nems.yaml")
else:
expect(False, "coupling mode currently only supports cesm, hafs and nems")
expect(False, "coupling mode currently only supports cesm")
shutil.copy(filename, os.path.join(rundir, "fd.yaml"))

###############################################################################
Expand Down
198 changes: 189 additions & 9 deletions cime_config/namelist_definition_drv.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,6 @@
</values>
</entry>

<entry id="Profiling@driver_attributes" modify_via_xml="ESMF_PROFILING_LEVEL">
<type>char</type>
<category>nuopc</category>
<group>DRIVER_attributes</group>
<values>
<value>$ESMF_PROFILING_LEVEL</value>
</values>
</entry>

<entry id="Verbosity@med_attributes" modify_via_xml="ESMF_VERBOSITY_LEVEL">
<type>char</type>
<category>nuopc</category>
Expand Down Expand Up @@ -393,6 +384,15 @@
<!-- All components orbital attributes -->
<!-- =========================================== -->

<entry id="Profiling" modify_via_xml="ESMF_PROFILING_LEVEL">
<type>char</type>
<category>nuopc</category>
<group>ALLCOMP_attributes</group>
<values>
<value>$ESMF_PROFILING_LEVEL</value>
</values>
</entry>

<entry id="orb_mode">
<type>char</type>
<category>orbital</category>
Expand Down Expand Up @@ -768,6 +768,31 @@
</values>
</entry>

<entry id="ocn2glc_coupling">
<type>logical</type>
<category>flds</category>
<group>ALLCOMP_attributes</group>
<desc>
.true. if ocean sends fields at multiple ocean levels to the land-ice component
</desc>
<values>
<value>.false.</value>
</values>
</entry>

<entry id="ocn2glc_levels">
<type>char</type>
<category>flds</category>
<group>ALLCOMP_attributes</group>
<desc>
if the ocean component sends fields at multiple ocean levels to the
land-ice component, these are the colon deliminted level indices
</desc>
<values>
<value>1:10:19:26:30:33:35</value>
</values>
</entry>

<entry id="tfreeze_option" modify_via_xml="TFREEZE_SALTWATER_OPTION">
<type>char</type>
<category>control</category>
Expand Down Expand Up @@ -826,6 +851,161 @@
<!-- MED general attributes -->
<!-- =========================================== -->

<entry id="atm_nx" modify_via_xml="ATM_NX">
<type>integer</type>
<category>control</category>
<group>MED_attributes</group>
<desc>
number of atm cells in i direction
</desc>
<values>
<value>$ATM_NX</value>
</values>
</entry>
<entry id="atm_ny" modify_via_xml="ATM_NY">
<type>integer</type>
<category>control</category>
<group>MED_attributes</group>
<desc>
number of atm cells in j direction
</desc>
<values>
<value>$ATM_NY</value>
</values>
</entry>
<entry id="ice_nx" modify_via_xml="ICE_NX">
<type>integer</type>
<category>control</category>
<group>MED_attributes</group>
<desc>
number of ice cells in i direction
</desc>
<values>
<value>$ICE_NX</value>
</values>
</entry>
<entry id="ice_ny" modify_via_xml="ICE_NY">
<type>integer</type>
<category>control</category>
<group>MED_attributes</group>
<desc>
number of ice cells in j direction
</desc>
<values>
<value>$ICE_NY</value>
</values>
</entry>
<entry id="glc_nx" modify_via_xml="GLC_NX">
<type>integer</type>
<category>control</category>
<group>MED_attributes</group>
<desc>
number of glc cells in i direction
</desc>
<values>
<value>$GLC_NX</value>
</values>
</entry>
<entry id="glc_ny" modify_via_xml="GLC_NY">
<type>integer</type>
<category>control</category>
<group>MED_attributes</group>
<desc>
number of glc cells in j direction
</desc>
<values>
<value>$GLC_NY</value>
</values>
</entry>
<entry id="lnd_nx" modify_via_xml="LND_NX">
<type>integer</type>
<category>control</category>
<group>MED_attributes</group>
<desc>
number of lnd cells in i direction
</desc>
<values>
<value>$LND_NX</value>
</values>
</entry>
<entry id="lnd_ny" modify_via_xml="LND_NY">
<type>integer</type>
<category>control</category>
<group>MED_attributes</group>
<desc>
number of lnd cells in j direction
</desc>
<values>
<value>$LND_NY</value>
</values>
</entry>
<entry id="ocn_nx" modify_via_xml="OCN_NX">
<type>integer</type>
<category>control</category>
<group>MED_attributes</group>
<desc>
number of ocn cells in i direction
</desc>
<values>
<value>$OCN_NX</value>
</values>
</entry>
<entry id="ocn_ny" modify_via_xml="OCN_NY">
<type>integer</type>
<category>control</category>
<group>MED_attributes</group>
<desc>
number of ocn cells in j direction
</desc>
<values>
<value>$OCN_NY</value>
</values>
</entry>
<entry id="rof_nx" modify_via_xml="ROF_NX">
<type>integer</type>
<category>control</category>
<group>MED_attributes</group>
<desc>
number of rof cells in i direction
</desc>
<values>
<value>$ROF_NX</value>
</values>
</entry>
<entry id="rof_ny" modify_via_xml="ROF_NY">
<type>integer</type>
<category>control</category>
<group>MED_attributes</group>
<desc>
number of rof cells in j direction
</desc>
<values>
<value>$ROF_NY</value>
</values>
</entry>
<entry id="wav_nx" modify_via_xml="WAV_NX">
<type>integer</type>
<category>control</category>
<group>MED_attributes</group>
<desc>
number of wav cells in i direction
</desc>
<values>
<value>$WAV_NX</value>
</values>
</entry>
<entry id="wav_ny" modify_via_xml="WAV_NY">
<type>integer</type>
<category>control</category>
<group>MED_attributes</group>
<desc>
number of wav cells in j direction
</desc>
<values>
<value>$WAV_NY</value>
</values>
</entry>

<entry id="coupling_mode" modify_via_xml="COUPLING_MODE">
<type>char</type>
<category>control</category>
Expand Down
46 changes: 26 additions & 20 deletions cime_config/runseq/runseq_D.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,32 +31,38 @@ def gen_runseq(case, coupling_times):

runseq.enter_time_loop(ocn_cpl_time, newtime=((ocn_cpl_time)))

runseq.add_action("MED med_phases_prep_ocn_accum_avg", med_to_ocn)
runseq.add_action("MED -> OCN :remapMethod=redist" , med_to_ocn)
runseq.add_action("MED med_phases_prep_ocn_avg" , med_to_ocn)
runseq.add_action("MED -> OCN :remapMethod=redist" , med_to_ocn)

runseq.enter_time_loop(atm_cpl_time, newtime=((atm_cpl_time < ocn_cpl_time)))

runseq.add_action ("MED med_phases_prep_ocn_map" , med_to_ocn)
runseq.add_action ("MED med_phases_aofluxes_run" , run_ocn and run_atm and (med_to_ocn or med_to_atm))
runseq.add_action ("MED med_phases_prep_ocn_merge" , med_to_ocn)
runseq.add_action ("MED med_phases_prep_ocn_accum_fast" , med_to_ocn)
runseq.add_action ("MED med_phases_ocnalb_run" , med_to_ocn)
runseq.add_action ("MED med_phases_prep_ice" , med_to_ice)
runseq.add_action ("MED -> ICE :remapMethod=redist" , med_to_ice)
runseq.add_action ("ICE" , run_ice)
runseq.add_action ("ROF" , run_rof)
runseq.add_action ("ATM" , run_atm)
runseq.add_action ("ICE -> MED :remapMethod=redist" , run_ice)
runseq.add_action ("MED med_fraction_set" , run_ice)
runseq.add_action ("ROF -> MED :remapMethod=redist" , run_rof)
runseq.add_action ("ATM -> MED :remapMethod=redist" , run_atm)
runseq.add_action ("MED med_phases_history_write" , atm_cpl_time == ocn_cpl_time)
runseq.add_action ("MED med_phases_aofluxes_run" , run_ocn and run_atm and (med_to_ocn or med_to_atm))
runseq.add_action ("MED med_phases_prep_ocn_accum" , med_to_ocn)
runseq.add_action ("MED med_phases_ocnalb_run" , med_to_ocn)

runseq.add_action ("MED med_phases_prep_ice" , med_to_ice)
runseq.add_action ("MED -> ICE :remapMethod=redist" , med_to_ice)

runseq.add_action ("ICE" , run_ice)
runseq.add_action ("ROF" , run_rof)
runseq.add_action ("ATM" , run_atm)

runseq.add_action ("ICE -> MED :remapMethod=redist" , run_ice)
runseq.add_action("MED med_phases_post_ice" , run_ice)

runseq.add_action ("ROF -> MED :remapMethod=redist" , run_rof)
runseq.add_action("MED med_phases_post_rof" , run_rof)

runseq.add_action ("ATM -> MED :remapMethod=redist" , run_atm)
runseq.add_action ("MED med_phases_history_write" , atm_cpl_time == ocn_cpl_time)
runseq.add_action ("MED med_phases_post_atm" , run_atm)

runseq.leave_time_loop(run_rof and (atm_cpl_time < ocn_cpl_time))

runseq.add_action ("OCN", run_ocn)
runseq.add_action ("OCN -> MED :remapMethod=redist" , run_ocn)
runseq.add_action ("MED med_phases_history_write" , atm_cpl_time < ocn_cpl_time)
runseq.add_action ("OCN" , run_ocn)
runseq.add_action ("OCN -> MED :remapMethod=redist" , run_ocn)
runseq.add_action ("MED med_phases_history_write" , atm_cpl_time < ocn_cpl_time)
runseq.add_action ("MED med_phases_post_ocn" , run_ocn)

runseq.leave_time_loop(True)

Expand Down
Loading