Dan,
How about that? I'm working on similar products. We haven't even
considered standard names for them.
I went ahead and used 'days since YYYY-MM-DD 00:00:00' for my first and
last frost dates, since they are valid dates. My files are structured as
(example for first frost date):
dimensions:
time = UNLIMITED ; // (56 currently)
lon = 960 ;
lat = 490 ;
bnds = 2 ;
variables:
double time(time) ;
time:standard_name = "time" ;
time:long_name = "time" ;
time:axis = "T" ;
time:units = "days since 1900-01-01 00:00:00" ;
time:calendar = "gregorian" ;
time:bounds = "time_bounds" ;
double time_bounds(time, bnds) ;
double lon(lon) ;
lon:standard_name = "longitude" ;
lon:long_name = "longitude" ;
lon:units = "degrees_east" ;
lon:modulo = 360. ;
lon:axis = "X" ;
lon:bounds = "lon_bounds" ;
double lon_bounds(lon, bnds) ;
double lat(lat) ;
lat:standard_name = "latitude" ;
lat:long_name = "latitude" ;
lat:units = "degrees_north" ;
lat:axis = "Y" ;
lat:bounds = "lat_bounds" ;
double lat_bounds(lat, bnds) ;
float first_freeze_date(time, lat, lon) ;
first_freeze_date:_FillValue = 1.e+20f ;
first_freeze_date:missing_value = 1.e+20f ;
first_freeze_date:comment = "Date of the first day
with a minimum temperature at or below 0 degrees C over the 9 month
period starting Aug 1 of each year." ;
first_freeze_date:flag_meanings =
"No_Freeze_Following" ;
first_freeze_date:long_name = "First freeze date" ;
first_freeze_date:valid_min = 0. ;
first_freeze_date:flag_values = -2. ;
first_freeze_date:units = "days since 1900-01-01
00:00:00" ;
first_freeze_date:calendar = "standard" ;
with the time bounds reflecting 1 Aug to 1 May for each year.
On 3/15/17 1:50 PM, Hollis, Dan wrote:
Hi Jon,
I’d be interested to know how to tackle this problem too. I’ve
recently been generating some datasets of “date of first frost” and
“date of last frost” and have no idea how to describe them in a
CF-compliant way.
Jim’s suggestion of ‘day_of_year’ is better than just ‘days’, however
this doesn’t capture what the “something” is that has happened, nor
that is the first/last/Nth occurrence of that event. What sort of
events are you looking at?
In my application I’m just looking at UK data, hence my “year” runs
from 1^st July to 30^th June (to span the N Hemisphere winter). It’s
easy enough to use the bounds to indicate this, but I’m then not sure
what values to store in the data array. Number of days since 1^st July
maybe? Or ordinal date (1^st Jan = 1, 31^st Dec = 365)?
Dan
PS I have a whole bunch of other metrics that I’m looking at e.g.
length of the longest spell, number of spells greater then N days etc.
These seem even more complicated to describe using CF. Something for
another post I think...
*From:*CF-metadata [mailto:[email protected]] *On
Behalf Of *Jim Biard
*Sent:* 15 March 2017 16:28
*To:* [email protected]
*Subject:* Re: [CF-metadata] Recording "day of year on which something
happens"
Jon,
I agree that a cell_methods attribute doesn't seem to be necessary. A
new standard_name like 'day_in_year' or 'day_of_year' would likely
make things clearer.
Jim
On 3/15/17 11:22 AM, Jon Blower wrote:
Thanks Jim, that’s very helpful. Is cell_methods necessary in this
case (for the time axis bounds) – probably not since this isn’t a
statistical quantity like an average, but a value that’s
“representative” of the year.
I seem to remember from a while back that there was a proposal to
allow time axes to use “calendar years since X” (as opposed to
“years since X”, which uses a fixed-length UDUNITS year), which
might handle this use case. I have been out of the loop for a
while, but I can’t find mention of that in the CF spec, so maybe
that didn’t go through.
I might consider requesting a new standard name – “days” is good,
but I wonder if a more specific one would be helpful.
Best wishes,
Jon
*From: *CF-metadata <[email protected]>
<mailto:[email protected]> on behalf of Jim Biard
<[email protected]> <mailto:[email protected]>
*Date: *Tuesday, 14 March 2017 15:12
*To: *"[email protected]" <mailto:[email protected]>
<[email protected]> <mailto:[email protected]>
*Subject: *Re: [CF-metadata] Recording "day of year on which
something happens"
Jon,
1) I'd use 'days'. It is a valid standard name apart from the
'days since date' formalism. It's not perfect, but it's legal. You
could, alternatively, request a new standard name.
2) Use a time_bounds variable. I would tend to set the time to be
July 1 at midnight for each year, and set the bounds for each year
to Jan 1 of that year and Jan 1 of the next year.
Grace and peace,
Jim
On 3/14/17 10:43 AM, Jon Blower wrote:
Hi all,
We need to structure a NetCDF file that will hold a variable that
represents the day of the year on which an event happened (integers from 0 to
366). This value is recorded every year for a number of years. I have a couple
of questions about how best to do this:
1. What is the best standard name to use for the day of the year? I
didn’t find anything in the standard name table, although I might have missed
it.
2. What would be the best way to define the time axis? Each point along
the axis would represent a whole year, rather than an instant in time. I could
simply pick an arbitrary instant (e.g. midnight on 1st Jan) to represent the
year, but is there a better way?
Thanks in advance for any help!
Jon
_______________________________________________
CF-metadata mailing list
[email protected] <mailto:[email protected]>
http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata
--
*ICS-NC* <http://www.cicsnc.org/>Visit us on
*Facebook * <http://www.facebook.com/cicsnc>
*Jim Biard*
*Research Scholar*
*Cooperative Institute for Climate and Satellites NC *
<http://cicsnc.org/>
*North Carolina State University * <http://ncsu.edu/>
*NOAA National Centers for Environmental Information *
<http://ncdc.noaa.gov/>
/formerly NOAA’s National Climatic Data Center/
151 Patton Ave, Asheville, NC 28801
e: [email protected] <mailto:[email protected]>
o: +1 828 271 4900
/Connect with us on Facebook for climate
<https://www.facebook.com/NOAANCEIclimate> and ocean and
geophysics <https://www.facebook.com/NOAANCEIoceangeo>
information, and follow us on Twitter at @NOAANCEIclimate
<https://twitter.com/NOAANCEIclimate> and @NOAANCEIocngeo
<https://twitter.com/NOAANCEIocngeo>. /
--
*CICS-NC* <http://www.cicsnc.org/>Visit us on
*Facebook * <http://www.facebook.com/cicsnc>
*Jim Biard*
*Research Scholar*
*Cooperative Institute for Climate and Satellites NC *
<http://cicsnc.org/>
*North Carolina State University * <http://ncsu.edu/>
*NOAA National Centers for Environmental Information *
<http://ncdc.noaa.gov/>
/formerly NOAA’s National Climatic Data Center/
151 Patton Ave, Asheville, NC 28801
e: [email protected] <mailto:[email protected]>
o: +1 828 271 4900
/Connect with us on Facebook for climate
<https://www.facebook.com/NOAANCEIclimate> and ocean and geophysics
<https://www.facebook.com/NOAANCEIoceangeo> information, and follow us
on Twitter at @NOAANCEIclimate <https://twitter.com/NOAANCEIclimate>
and @NOAANCEIocngeo <https://twitter.com/NOAANCEIocngeo>. /
--
CICS-NC <http://www.cicsnc.org/> Visit us on
Facebook <http://www.facebook.com/cicsnc> *Jim Biard*
*Research Scholar*
Cooperative Institute for Climate and Satellites NC <http://cicsnc.org/>
North Carolina State University <http://ncsu.edu/>
NOAA National Centers for Environmental Information <http://ncdc.noaa.gov/>
/formerly NOAA’s National Climatic Data Center/
151 Patton Ave, Asheville, NC 28801
e: [email protected] <mailto:[email protected]>
o: +1 828 271 4900
/Connect with us on Facebook for climate
<https://www.facebook.com/NOAANCEIclimate> and ocean and geophysics
<https://www.facebook.com/NOAANCEIoceangeo> information, and follow us
on Twitter at @NOAANCEIclimate <https://twitter.com/NOAANCEIclimate> and
@NOAANCEIocngeo <https://twitter.com/NOAANCEIocngeo>. /
_______________________________________________
CF-metadata mailing list
[email protected]
http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata