-
Notifications
You must be signed in to change notification settings - Fork 313
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
Don't allow instantaneous fields and averaged fields to be on the same history file, time is different for each #1059
Comments
@ekluzek thanks for opening this issue. Ideally we'll coordinate with CAM developers (@gold2718, @brian-eaton and others) on the user interface so we have consistency between CAM and CTSM. My initial thinking was that we'd get rid of the ability to have a ":I" designation and instead have a new |
There, actually already is a variable that sets the averaging type per stream "hist_avgflag_pertape". And the only thing that you can't have is ":I" fields with the other averaging types (:A, :X, :M). So it's actually ok to have A, X, and M mixed up on one stream. So it seems like the current user interface is fine, we just need additional checking to make sure I type averaging isn't mixed up with any of the other types. |
Thanks for pointing out |
So allow :A, :M, and :X, but disallow :I (it that tape isn't instantaneous). That does make sense. That would still keep the current interface and just add additional checking to make sure it was correct. |
Copying some notes from https://docs.google.com/document/d/1r1WUXONjEKjKqECDkML72gtQnpj-EjGQE1_a6EryhY8 . These notes were from 2020-06-19, so a few days before this issue was opened:
|
One thing we'll need to consider is how to deal with the cmip6 user mods. @olyson can help with this. |
As per ESCOMP/CESM#194 (comment) - time_bounds can / should be left off of files that just have instantaneous values. |
See also discussion here ESCOMP/CESM#194 (comment) about possible naming of the different streams. |
Particularly if we are going to rename the streams (e.g., "ha1", "ha2"; "hi1", "hi2" - as per some ongoing discussion in ESCOMP/CESM#194 ) – would this also be a good time to rename our "clm2" output files to "ctsm" (or at least drop the "2" from "clm2")? |
As @phillips-ad noted in ESCOMP/CAM#159 (comment), there are a few other date fields on CTSM as well as CAM output that should be changed to stay consistent with the centered time for the :X :M :X field streams: in CAM these are date and datesec; it looks like in CTSM they are mcdate and mcsec; maybe also mdcur, mscur and nstep? Does anyone know enough about the use of these different time fields to be able to say definitively which ones should be changed to be consistent with the centered time? |
Another averaging type that will require new handling for time is the Lxxxxx: averages that came in not too long ago. They should be on their own files and should be the closest local time to the center of the interval that is used in the average. There could be two such times and in that case I suppose the first one should be used. |
I'm tentatively assigning this issue to myself based on this morning's conversation. Assignment may change after we meet with @billsacks |
From discussion today: @slevis-lmwg 's initial feeling is to keep history-related namelist flags as they currently are, relying on hist_avgflag_pertape. But if that starts to feel confusing, then we could revisit the idea of having a separate set of namelist variables for instantaneous files. |
How I see the order of tasks:
Also, @billsacks you mentioned communication with the CAM group. Maybe I keep Cecile in the loop? |
Sounds great. The similar CAM issue is ESCOMP/CAM#159. In addition to Cecile, I would reach out to some of the CAM SEs - at least Cheryl Craig and Jesse Nusbaumer and maybe Courtney Peverley for starters - to see if they have been thinking any more about this. |
From a first look at the code: |
Wrapping my head around what the code does now and how I can best use the existing infrastructure. This is my current plan of first steps in this PR, which may differ from what we agreed above, though I'm pretty sure it's close. Comments always welcome:
Update: Plan hasn't changed. I just wanted to correct the above statement about SNOW_PERSISTENCE. Turns out there are also five inactive fields set to 'I'. |
CAM just completed this work. So now we are free to copy Courtney's work in CAM divides it into hXi and hXa files. |
This is linked to the discussion on the issue in CAM where we should implement the same solution.
ESCOMP/CAM#159
For averaged (or min, max, or sum) fields time should be the middle of the averaging interval. And time_bounds should have the start and end of the time interval.
For instantaneous fields time should be the time of the output. time_bounds should be the start and end of the time-step.
Because the time axis will be different for each, this means you can't have ":I" fields on the same history output stream as other fields.
The text was updated successfully, but these errors were encountered: