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

Different levels of "active" for history fields #528

Open
ekluzek opened this issue Oct 2, 2018 · 14 comments
Open

Different levels of "active" for history fields #528

ekluzek opened this issue Oct 2, 2018 · 14 comments
Assignees
Labels
enhancement new capability or improved behavior of existing capability

Comments

@ekluzek
Copy link
Collaborator

ekluzek commented Oct 2, 2018

The following fields should be default inactive, as they are in the cmip6_output user-mods directory:

'PCT_CFT', 'PCT_GLC_MEC', 'SOIL1C_vr', 'SOIL1N_vr', 'SOIL2C_vr', 'SOIL2N_vr', 'SOIL3C_vr', 'SOIL3N_vr', 'CWDC_vr',
'LITR1C_vr', 'LITR2C_vr', 'LITR3C_vr', 'LITR1N_vr', 'LITR2N_vr', 'LITR3N_vr','CWDN_vr',
'PCT_NAT_PFT','SMIN_NO3_vr','CONC_O2_UNSAT', 'CONC_O2_SAT','SMIN_NH4_vr','SMINN_vr'

@ekluzek ekluzek added priority: high High priority to fix/merge soon, e.g., because it is a problem in important configurations type: enhance - science labels Oct 2, 2018
@ekluzek ekluzek self-assigned this Oct 2, 2018
@ekluzek
Copy link
Collaborator Author

ekluzek commented Oct 2, 2018

The c13 and c14 versions should also be turned off for: 'SOIL1C_vr', 'SOIL1N_vr', 'SOIL2C_vr', 'SOIL2N_vr', 'SOIL3C_vr', 'SOIL3N_vr', 'CWDC_vr',

@dlawrenncar
Copy link
Contributor

dlawrenncar commented Oct 2, 2018 via email

@ekluzek
Copy link
Collaborator Author

ekluzek commented Oct 2, 2018

In that case the list to exclude would be...

'SMIN_NO3_vr','CONC_O2_UNSAT', 'CONC_O2_SAT','SMIN_NH4_vr','SMINN_vr'

@ekluzek
Copy link
Collaborator Author

ekluzek commented Oct 2, 2018

I think we should be able to have more than one default output file (this would allow there to be default yearly output files). The user could change the output frequencies and details, but we could setup the default to be what we want. So we make the default output be a series of file streams at specific default output frequencies and such. I think this wouldn't be hard to do. If we really want it to be the standard default it might be best to have in the code. This would somewhat overlap with #529, but they can work together.

@wwieder
Copy link
Contributor

wwieder commented Oct 2, 2018 via email

@billsacks
Copy link
Member

@ekluzek regarding this comment:

I think we should be able to have more than one default output file (this would allow there to be default yearly output files). The user could change the output frequencies and details, but we could setup the default to be what we want. So we make the default output be a series of file streams at specific default output frequencies and such. I think this wouldn't be hard to do. If we really want it to be the standard default it might be best to have in the code. This would somewhat overlap with #529, but they can work together.

The more I think about this, the more I like the proposal in #529 rather than having this in code: I feel like, having a user_nl file set up with a starting point makes it easier for the user to add / change things, and makes it more likely that the end result of user modifications will be correct. I'm thinking about a few specific points:

  1. Adding / removing fields from a stream is easier if you have the default list laid out in front of you (in the user_nl_clm file)

  2. If you want to add, say, a field with daily frequency, gridcell average, this is again easier if you have hist_nhtfrq and related variables laid out in front of you (in the user_nl_clm file that you're editing). Otherwise it takes more work to determine which list the variable should be added to.

  3. Perhaps the most important: Having the code say something like, "field FOO should be on by default on hist stream 2" doesn't feel like what we want, since the user can change the meaning of hist stream 2. For example, what if a user decides they just want two hist streams: the default monthly stream and a second stream that gives output every time step. They probably won't want the fields that were listed as active by default on hist stream 2 under the assumption that hist stream 2 is monthly average subgrid. So it seems like, if we go with your suggestion, we'd have to recommend to users that, if they change hist_dov2xy or hist_nhtfrq, then they should also set hist_empty_htapes (which would then need to be expanded to be a vector like the other hist_* variables). This seems to make things even harder for users to get right. Alternatively, we could have a more complex mechanism for specifying what's active by default, e.g., saying, "this field should be active on a history stream that is monthly average subgrid, if such a stream exists" – but it seems like that would be challenging to implement.

@billsacks
Copy link
Member

However: I'm happy to defer to what users want here: if the people who need to use the model are happy not having this stuff in the default user_nl_clm, but instead having it set automatically, then I'm fine with it, too.

@dlawrenncar
Copy link
Contributor

dlawrenncar commented Oct 2, 2018 via email

@ekluzek
Copy link
Collaborator Author

ekluzek commented Oct 2, 2018

Yeah, I'm for going with whatever users think makes the most sense. The thing I don't like about the #529 approach is that you have to have at least three configuration options. Right now we see, "sp", "bgc", and "crop", but in the future there could end up being others.

I've been thinking about how to implement this, and I envision having active flags like the following:

'active'
'active_yearly'
'active_yearly_1d_land' .
'active_yearly_REQUIRED'

'active_yearly' fields would go out to any 2D yearly output files (or not output if you don't have any yearly 2D output history files).
'active_yearly_REQUIRED' would be the same as above, except if you don't have any 2D yearly output files that would flag an error.

Two advantages of this are, first you don't worry about different lists for different configurations, and second when new fields are added you add it to the appropriate list. So you don't have to add the fortran code and then also add it one of the user_nl_clm lists.

It doesn't give the user the full list of all fields that will be output -- which I do see as both an advantage and as a headache.

@ekluzek
Copy link
Collaborator Author

ekluzek commented Oct 2, 2018

So @dlawrenncar when is our next CLM Science meeting that I could present the two options at? I think it actually still makes sense to pursue both at the same time. But, work on this one would make #529 simpler. So we still do #529, but if we do this it's implementation would become simpler. That said we should still check with Sheri about how the cylc stuff works.

@dlawrenncar
Copy link
Contributor

dlawrenncar commented Oct 2, 2018 via email

@billsacks
Copy link
Member

In discussion with @dlawrenncar @ekluzek and @olyson , @ekluzek 's recent idea has grown on us.

@dlawrenncar suggests an additional idea (at least long-term): Having an xml variable that turns on/off vector output. This would control the hist_nhtfrq / hist_dov2xy lists.

@billsacks
Copy link
Member

Moving over a comment that used to be its own issue: #6 ("For history fields, change 'active' terminology"):

I am adding 'active' flags saying: 'should computations be done here?' This leads to overloading of the term 'active' in histFileMod, which can lead to confusion. Erik suggests that we should eventually rename 'active' as it applies to history fields, perhaps to something like default_on.

We'll address this when putting in tiered output

I don't feel strongly about whether we should do this, but I wanted to mention this here.

@billsacks billsacks added enhancement new capability or improved behavior of existing capability and removed type: enhance - science labels May 24, 2019
@billsacks billsacks removed the priority: high High priority to fix/merge soon, e.g., because it is a problem in important configurations label Jul 15, 2019
@billsacks billsacks added the next this should get some attention in the next week or two. Normally each Thursday SE meeting. label Jul 15, 2019
@billsacks
Copy link
Member

Title no longer matches what needs to be done. @ekluzek will edit.

@ekluzek ekluzek changed the title History fields to make default inactive Different levels of "active" for history fields Jul 29, 2019
@billsacks billsacks removed the next this should get some attention in the next week or two. Normally each Thursday SE meeting. label Jul 29, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement new capability or improved behavior of existing capability
Projects
None yet
Development

No branches or pull requests

4 participants