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

Sync with ESCOMP/CDEPS (2024-10-07) #66

Open
wants to merge 219 commits into
base: develop
Choose a base branch
from

Conversation

NickSzapiro-NOAA
Copy link
Collaborator

@NickSzapiro-NOAA NickSzapiro-NOAA commented Oct 7, 2024

Description of changes

Merge authoritative ESCOMP into EMC fork (+cmake includes for new files)

Specific notes

Contributors other than yourself, if any: N/A

CDEPS Issues Fixed (include github issue #): #65

Are there dependencies on other component PRs (if so list): No

Are changes expected to change answers (bfb, different to roundoff, more substantial): bfb except for character dimension increase to CX

Any User Interface Changes (namelist or namelist defaults changes): No

Testing performed (e.g. aux_cdeps, CESM prealpha, etc): UFS RT suite + preceding ESCOMP/CDEPS tests

Hashes used for testing: See UFS PR (todo)

alperaltuntas and others added 30 commits December 18, 2022 18:54
in this initial commit, it is just a copy of CORE2-NYF.
Update stream definitions for new coupler history file format

### Description of changes

Modify stream_definition_datm.xml to generate a streams file (datm.streams.xml) with the new coupler history file format.

### Specific notes

Changes to accommodate new coupler history file names.
Change offset for solar stream from 2700 to -900 to accommodate changes due to time stamps.
These changes work in conjunction with CDEPS PR ESCOMP#224 and CDEPS PR ESCOMP#222 .
Note that I did not change the file names for ndep, or remove that stream. See ESCOMP#230

Contributors other than yourself, if any: @billsacks 

CDEPS Issues Fixed (include github issue #):  N/A

Are there dependencies on other component PRs (if so list):  No

Are changes expected to change answers (bfb, different to roundoff, more substantial):  Yes, in coupler history mode.

Any User Interface Changes (namelist or namelist defaults changes): No

Testing performed (e.g. aux_cdeps, CESM prealpha, etc):  I have conducted a pair of cases, an F-case to generate coupler history files, and an I-case to read those files, using the new file name convention, and compared the forcing output variables from clm history files between the two cases.  @billsacks and I reviewed these differences and found them to be acceptable.

@billsacks ran SMS_D_Ld1.ne30pg3_t061.I1850Clm50BgcSpinup.cheyenne_intel.clm-cplhist in the context of ESCOMP/CTSM#1999

Hashes used for testing:  N/A
update github to make cdeps ext build an action
Update SST files for historical configurations
Enable build with ESMX and introduce export_all
@NickSzapiro-NOAA
Copy link
Collaborator Author

Maybe it is a good time to fix ufs-community/ufs-weather-model#1548 ?

@uturuncoglu
Copy link
Collaborator

@NickSzapiro-NOAA Sorry for late response. Yes, it would be nice to work on ufs-community/ufs-weather-model#1548. I'll also try to review the PR. I think this PR also sync with ESCOMP. Right?

@NickSzapiro-NOAA
Copy link
Collaborator Author

Thanks in advance for review, @uturuncoglu! Yes, this sync PR is a git merge of ESCOMP/CDEPS into EMC fork

For consistent keys, it seems straightforward to just copy the xml keys (they seem more concise...)

stream_info  <-- stream_info
taxmode <-- taxmode
tintalgo <-- tInterpAlgo
readmode <-- readMode
mapalgo <-- mapalgo
dtlimit <-- dtlimit
yearFirst <-- yearFirst
yearLast <-- yearLast
yearAlign <-- yearAlign
vectors <-- stream_vectors
meshfile <-- stream_mesh_file
lev_dimname <-- stream_lev_dimname
datafiles <-- stream_data_files
datavars <-- stream_data_variables
offset <-- stream_offset

But how deep into the component source code does this impact? These are explicitly in CICE for example in a section using CDEPS inline:
https://github.com/NOAA-EMC/CICE/blob/develop/cicecore/drivers/nuopc/cmeps/ice_prescribed_mod.F90#L98-L107
If for other components too, there is a bigger cost to cleaning this up

@uturuncoglu
Copy link
Collaborator

@NickSzapiro-NOAA Yes, making those configuration files consistent would be great but I am not sure about its downstream effect. The workflows etc. (recently I implemented CDEPs driver in UWtools side) might also need to have changes. I am not sure how it will be handled. Any idea?

@NickSzapiro-NOAA
Copy link
Collaborator Author

Given the downstream impact, it's not so friendly to break backwards compatibility without a clear need. One option is to treat both sets of attribute labels as vaild synonyms in shr_stream_init_from_esmfconfig, with the "xml keys" taking precedence if present...

@uturuncoglu
Copy link
Collaborator

@NickSzapiro-NOAA I agree. Anyway, let me know if you need any help in my end.

@NickSzapiro-NOAA
Copy link
Collaborator Author

Thanks for review and discussion, @uturuncoglu ! Then, we'll proceed with this sync and separate issue of resolving divergent keys

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.