-
Notifications
You must be signed in to change notification settings - Fork 66
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
Expected time slice behavior? #2182
Comments
@pochedls Can you check that your time are exactly 1979-01-01T00:00:00 and 2016-12-01T00:00:00 on both files. You can use I am a bit puzzled by the |
@pochedls your file |
@dnadeau4 - thanks for looking at this. I see - so this is the expected behavior and opening monthly files in this way probably converts the '2016-12' to something like '2016-12-15'. I see now that I can get the full time series by specifying the day as well, i.e., It would be helpful to update the documentation (1.11 here). You could simply add something like:
under "or string representations could be used." As for the longitude warning - I think I get this message pretty frequently. |
I am actually refreshing the documentation using |
@dnadeau4 I'll provide input on the time issue shortly, but first the longitude warning message. The code that produces this is:
The main problem is that the message will always be produced if the domain spans about 360. and includes both negative and positive longitude values. The message should only be displayed if the values of the either of the bounds has been changed. The other point to be made is that I think the test (and possible corrections) should be made even when all longitude values are positive and all are negative, so the comment (about "... -180, 180 not needed if ...") is incorrect . One way to produce the correct behavior would be to replace
with
|
@doutriaux1 I think the CDMS assume the *beginning" of the month is meant if you leave off day (and beginning of the day is meant if you leave off hours-minutes-second), so 2016-12 is equivalent to 2016-12-01 00:00:00.0 You can further control which time-slices are selected using an "indicator" (defined in the mapIntervalExt specifications). Here is an example:
which you can find in the CDMS documentation at https://uvcdat.llnl.gov/documentation/cdms/cdms_2.html#2.3 . Here is what the CDMS documentation says about the "indicator" ('co'), but it isn't very clear so I will follow this quoted section with a reworded version: indicator is a two or three-character string, where the first character is
and the second character has the same meaning for the right-hand point. If present, the third character specifies how the interval should be intersected with the axis:
The default indicator is ‘ccn’, that is, the interval is closed, and nodes in the interval are selected. In the above "closed" means the interval includes the specified end point, whereas "open" means the end point is not included. I think the documentation of these characters will not be clear to most folks. I would reword part of this section as follows: If present, the third character specifies what criteria should be used in determining which axis elements will be included:
I am not absolutely sure I have the behavior correctly captured in the above, so we should check the relevant code (and look at some test examples). |
@dnadeau4 can we close this? |
I think, before closing someone should confirm that my definitions of n, e, b, and s are correct, and assuming they are, replace the section of the original documentation with the above. |
I wanted to see if something I am experiencing is expected behavior. I am using UVCDAT v2.10.
I am trying to load monthly surface temperature data over the same time range (01-1979 through 12-2016). Using the same command I get different length time series, though both have data over this entire record. One ends on 2016-12-1 and the other ends on 2016-11-15 (prematurely - at least compared to the behavior I expected).
I am using this syntax:
temp = f('air', time=('1979-01', '2016-12'))
The behavior I expected was that it would load data through the end of the month (they both start in 01-1979). This would make it very convenient for loading different datasets (e.g., various surface temperature datasets) with the same time axes.
If this is the expected behavior, is there an easy way to achieve this (or do I need to write something that carefully compares the time units and subsets the data appropriately)?
Example script loading NOAA GlobalTemp (lines 1 - 8) and GISTEMP data (lines 9 - 15). Notice that the record lengths and end months are different (despite using time=('1979-01', '2016-12') in both).
The text was updated successfully, but these errors were encountered: