Add a shareable generic datamode#412
Conversation
…figuration yet in InitializeAdvertise
|
This seems to be working now. One test is that it is bit-for-bit in UFS instead of "GEFS" datm datamode tests, as no variables need to be calculated/diagnosed. I'm not sure how to test in CESM setups. |
|
Thank you for this contribution, @NickSzapiro-NOAA . I am overloaded right now so I'm not sure when I'll get a chance to review this myself.
Thank you for acknowledging the contribution of Gemini to this PR. To help determine our next steps here, can you please comment on how carefully you have reviewed and come to understand the Gemini-produced code yourself? |
|
Thanks for letting me know I would say pair programming with Gemini AI on this ended up being more trouble than it was worth, subroutine hallucinations and all. The github CI was helpful though. I am responsible for these code changes |
Okay, thanks – that's helpful to know! I want to chat with @mvertens about this and then will get back to you. |
|
@mvertens and I have looked at this and talked about it. We appreciate your work on this - it seems like this could add some useful functionality and we appreciate your taking the time to contribute this. We have a few questions and requests. But before getting into the details, we want to note that both @mvertens and I are swamped with finalizing CESM3 and NorESM3. We'd really like to engage with you on this, but unfortunately neither of us has time right now to do the review and testing needed to integrate this into ESCOMP/CDEPS. Once those models are released, we can return to this. At that point, we'll want the following to be addressed before integrating this: (1) Can you provide a use case for this generic datamode – in particular: What would the config look like? Can you provide example forcing data? (2) We'd like to have one or more tests that cover this datamode. For CESM/NorESM, we have CDEPS tests that invoke each of the datamodes (using the CIME testing infrastructure). We'd need to have a test using that datamode using sample forcing data. (We're not sure what CDEPS testing looks like for UFS... it's possible that a test could initially be written for the UFS testing infrastructure and then migrated to the CESM/NorESM testing infrastructure.) We realize this means that it could be a while before this is integrated. Please let us know if this is a critical blocker for UFS development efforts. |
|
Best wishes on finalizing the implementations! There is no particular urgency with this PR. For 1/2, it should be straightforward for your cplhist tests to use the "generic" datamode instead. The +/- here is that user gets the stream variables as in the input data (made offline). |
Description of changes
Adds a "generic" datamode to copy user-specified variables in streams for export
Specific notes
Started by adding just to datm, as that is the intended use in UFS
For the stream_variables to be available in InitializeAdvertise, refactored shr_strdata_init_from_config into advertise (stream config) and realize (on a mesh)
Contributors other than yourself, if any: Gemini AI
CDEPS Issues Fixed (include github issue #): #411
Are there dependencies on other component PRs (if so list): N/A
Are changes expected to change answers (bfb, different to roundoff, more substantial): bfb
Any User Interface Changes (namelist or namelist defaults changes): Adds a generic datamode, initially just to atm
Testing performed (e.g. aux_cdeps, CESM prealpha, etc): In progress. UFS regression tests pass
Hashes used for testing: TODO