Replies: 4 comments 1 reply
-
@billsacks I appreciate the thought you've put into this project. One point of clarification, are we still at the "I need to focus on other projects and just want to record some notes on averaging" stage, or are you moving deeper into this work? Assuming it's the former I may be brief here. Using the I don't really have thoughts on particulars of initCold vs. other ways of setting zeros over particular landunits, but would be happy to talk this through if you're planning on moving ahead with this work. |
Beta Was this translation helpful? Give feedback.
-
Yes, this: I had a lot more thoughts floating around in my mind yesterday and I wanted to record them for the sake of others or my future self, whoever ends up working on this project. But I won't have time to work on it myself for a while. Thanks for sharing some brief thoughts. I'll be honest: The more I think about this, the more nervous I get about an approach like So I think the starting point for this discussion should maybe be the question of how important it is to have metadata on where fields are zero. If this is important, then we can discuss how much extra work (short-term and as a long-term maintenance cost) it's worth doing to get that metadata. If nobody feels it's too important to have that metadata, then we can go with a solution that doesn't provide that metadata. And I guess the latter would still leave the door open to something like |
Beta Was this translation helpful? Give feedback.
-
I tend to agree that InitCold is the most logical single place to set history fields to zero over certain landunits. Doing so would certainly clean up some of the code in the science subroutines where fields are set to zero, e.g., in LakeHydrologyMod.F90:
It would be nice to have metadata that describes over what landunits the field is set to zero but I don't think it's absolutely essential. Most of the fields that are currently set to zero over lakes for example intuitively make sense, e.g., photosynthesis (fpsn, fpsn_wc, fpsn_wj, fpsn_wp) and hydrology fields (snocan, liqcan). It wouldn't take long for someone to work out why photosynthesis or canopy water is low for a gridcell with lake. |
Beta Was this translation helpful? Give feedback.
-
Converting this to a discussion. It sounds like the decision here was that InitCold is preferred, if that's the case should we do anything in the code to improve this? |
Beta Was this translation helpful? Give feedback.
-
One outstanding question from the meeting a couple of weeks ago is: What is the preferred mechanism for setting a history field to 0 over certain landunits? Currently this can be done via:
My (weak) preference is to just use initCold for this purpose and do away with the set_* arguments. My rationale is:
However, I can see arguments for different mechanisms, such as:
I'd like to know what others think here. One important question is: How important do people feel it is to have metadata on where a given field is always 0? I have viewed this as less important than having metadata on where a field is completely undefined (i.e., which landunits an average is taken over), but maybe others see more importance in this?
If this metadata is important, then we could use a mechanism suggested by @djk2120 - in addition to a landunit_mask (formerly l2g_scale_type) argument to hist_addfld, we could also have an argument like landunit_zeros (not sure if that's the best name) which would specify which landunits are set to 0 in the averaging. The difference between this mechanism and the current set_* mechanism is that (in my mind) this mechanism would not actually set the field values, but instead would just dynamically insert 0 values when a history field is averaged up to the grid cell level. Referring to the numbered points in my rationale above, this mechanism would address these points to some extent. However, there are still possibilities for issues with this mechanism:
See also #1350
@djk2120 @danicalombardozzi @wwieder @dlawrenncar @olyson and others - I'd like to hear your thoughts on this.
Beta Was this translation helpful? Give feedback.
All reactions