Re: [CF-metadata] new standard name proposal for total ozone in DU

2012-12-06 Thread Christophe Lerot

Hi Alison and Roy,

I think that the solution you proposed is suitable to the O3 community.

Having the canonical unit (mol/m-2) for the O3 columns in  the 
vocabulary server is fine as long as it is not a problem to use a 
different unit (Dobson Unit) in the NetCDF files. The important point is 
that the variables are expressed in the commonly used units so that the 
users can understand the file content at a glance.


Best regards,
Christophe

On 5/12/2012 11:30, alison.pamm...@stfc.ac.uk wrote:

Dear Roy and Christophe,

As Roy says, we usually use SI units for the canonical unit in the standard 
name table. There are a few exceptions, for example, age_of_sea_ice has units 
of year and age_of_surface_snow has units of day, whereas the SI unit for both 
quantities would be the second. Also, we allowed some of the recently added 
salinity names to have canonical units of g kg-1 which I'm not sure adheres 
strictly to SI. I think the reason for having the exceptions was simply that 
they are the units that are always used with the named quantities.

For Christophe's ozone name, atmosphere_mole_content_of_ozone, the proposed definition is ' 
Content indicates a quantity per unit area. The atmosphere content of a quantity 
refers to the vertical integral from the surface to the top of the atmosphere. For the content between 
specified levels in the atmosphere, standard names including content_of_atmosphere_layer are used. The 
construction atmosphere_mole_content_of_X means the vertically integrated number of moles of X 
above a unit area. The chemical formula for ozone is O3.' Whatever we decide about the units, I think we 
should add the sentence 'atmosphere_mole_content_of_ozone is usually measured in Dobson Units which are 
equivalent to 446.2 micromoles m-2'.

Roy's proposed solution of having canonical units of mol m-2 while using Dobson 
Units in the data files is certainly consistent with the CF conventions.  As 
long as UDUNITS knows how to convert the units in the file to the canonical 
units there is no problem. Christophe, would that be acceptable to the ozone 
community?

Roy, is there any technical reason why we couldn't map to Dobson Units in the 
vocabulary server if that were the preferred solution?

Best wishes,
Alison

--
Alison Pamment  Tel: +44 1235 778065
NCAS/British Atmospheric Data CentreEmail: alison.pamm...@stfc.ac.uk
STFC Rutherford Appleton Laboratory
R25, 2.22
Harwell Oxford, Didcot, OX11 0QX, U.K.




-Original Message-
From: Lowry, Roy K. [mailto:r...@bodc.ac.uk]
Sent: 04 December 2012 10:23
To: Christophe Lerot
Cc: Pamment, Alison (STFC,RAL,RALSP); cf-metadata@cgd.ucar.edu
Subject: RE: [CF-metadata] new standard name proposal for total ozone in
DU

Hello Cristophe,

To be absolutely clear, I'm saying the data should be stored in the NetCDF in
Dobson Units, that the units parameter attribute in the NetCDF file should
be Dobson Units, but that the canonical unit in the Standard Names List and
therefore the units mapped in our server should be moles per square
metre.

Cheers, Roy.


From: Christophe Lerot [christophe.le...@aeronomie.be]
Sent: 04 December 2012 10:20
To: Lowry, Roy K.
Cc: alison.pamm...@stfc.ac.uk; cf-metadata@cgd.ucar.edu
Subject: Re: [CF-metadata] new standard name proposal for total ozone in
DU

Dear Roy,

Do you mean that the total ozone values should be given in moles per
square metre in the NetCDF files themselves? Or do you mean that I
should simply add a specific comment in the unit parameter attribute to
make clear that the values are provided in Dobson Unit?
The Dobson Unit is quite common for total ozone users and I'd prefer to
stay with this unit if possible.

Cheers,
Christophe

On 3/12/2012 15:39, Lowry, Roy K. wrote:

Hello Alison,

Surely the canonical unit for Dobson Units would be moles per square

metre, with Dobson Units appearing as the scaled unit in the units
parameter attribute. Making Dobson Units the canonical unit would be like
having cm/s rather than m/s as a canonical unit.

Cheers, Roy.

From: CF-metadata [cf-metadata-boun...@cgd.ucar.edu] On Behalf Of

alison.pamm...@stfc.ac.uk [alison.pamm...@stfc.ac.uk]

Sent: 03 December 2012 14:18
To: cf-metadata@cgd.ucar.edu
Subject: Re: [CF-metadata] new standard name proposal for total ozone in

DU

Dear Christophe and Jonathan,

I also support this proposal. We don't currently have any standard names

that use Dobson Units - I think UDUnits1 didn't support it. However, since it
is defined in UDunits2 I don't see any problem with adding it.

Best wishes,
Alison

--
Alison Pamment  Tel: +44 1235 778065
NCAS/British Atmospheric Data CentreEmail:

alison.pamm...@stfc.ac.uk

STFC Rutherford Appleton Laboratory
R25, 2.22
Harwell Oxford, Didcot, OX11 0QX, U.K.




-Original Message-
From: CF-metadata 

Re: [CF-metadata] inclusion of GridSpec in CF?

2012-12-06 Thread Cecelia DeLuca

Hi Alex,

Our current GridSpec input file implementation is minimal at best, 
because we just did
a single tile and anything distinctly GridSpeccian comes in with 
multiple tiles.  It's as

much intention as implementation at this point.

Still, we have had to worry about multiple GridSpec flavors already.  
ESMF also
supports the Common Information Model (CIM) grids package, a slightly 
different version
of GridSpec, as a metadata output format.  This is part of our general 
CIM XML output
support.  That's a pain, but not unworkable: the distinctions in our 
software could be
made clearly, if we had versioned reference documents.  We do on the CIM 
side.


It's problematic for us to use the libCF implementation as a kind of 
substitute for a
specification of the GridSpec convention.  The convention needs to be 
able to
evolve, and to support multiple reference implementations.  Using libCF 
could be terrific
and valuable for us (and something to talk more about offline) but 
unfortunately it

doesn't address the problem at hand.

We could say in our documentation that we support the version of 
GridSpec approved last
May, but without a version number or static doc, and without a path to 
evolve the

convention forward, the solution feels pretty shaky.

I think there's an awkward question that needs to be answered about 
whether your team

wants to keep managing and evolving the specification on your wiki -
that evolution needs to be done somewhere.  Or maybe the expectation is 
that the whole

text will be incorporated into the main CF document and evolved there?
There already seem to be some ideas, with respect to UGRID  and 
staggering, about

how GridSpec might grow or change.

For GridSpec in CF it might make the most sense to resolve the question 
about where
the thing lives (in a perfect world, the approach might be consistent 
for GridSpec,
UGRID, and discrete geometries), and wherever that is, put an initial 
GridSpec version
on it and generate a static doc, and then sit back and think about 
evolution.


Best,
- Cecelia


On 12/6/2012 9:10 AM, Alexander Pletzer wrote:

Hi Cecelia,

Great to hear that ESMF is implementing gridspec. We're in the same 
boat, we had to settle on some specifics before implementing gridspec 
into libCF. Like Bert, I'm a little worried about a proliferation of 
gridspec flavours, even with versions attached. Another concern is 
that our funding for this particular work has stopped, we will not be 
able to provide continuous support for gridspec ad infinitum, in the 
short term this means fixing small things. The good news is the 
specification has been accepted by the CF committee in its present 
form, although suggestions for further improvement have since come, 
particularly in view of consolidating the syntax between ugrid and 
gridspec.


This leaves a couple of options for ESMF: use libCF to handle the 
gridspec aggregation. We made an effort to make libCF compatible with 
the specification. The library is pure C so should be easy to link 
against and it is hosted on sourceforge. Or state that ESMF implements 
the gridspec approved by the committee last May. On our side, we can 
try to highlight any changes on the wiki.


Cheers,

--Alex





On 12/05/2012 05:16 PM, Cecelia DeLuca wrote:


Steve, I agree that solutions may be different in the near term and 
long term,
that seems reasonable - and Alex, I understand about coordinating 
with Jeff.


I still worry about maintaining versions on a wiki ... I think to work in
practice it would need to be set up with some attention to navigation.
Some more background...

ESMF is already building versioned software based on UGRID and (sort of,
in a single tile way) GridSpec.  We need to cite distinct
and static versions of the conventions for both developers and users, 
since

our software may not work, or our documentation may be wrong, if the
conventions evolve.  Further, since we're committed to supporting ESMF
versions for up to three years, we expect, at any given time, to have 
access

to multiple static versions of these conventions.

For the last couple ESMF releases, we used the URL of the UGRID wiki with
an associated date as the version reference, but that's not the 
greatest solution.


Hence the request for static versioned documents, but I know they are 
a pain
to produce.  At a minimum, if GridSpec and UGRID stay on wikis, it 
would be
helpful to have a version table with links on the front wiki page so 
that someone
who ended up there could quickly see and navigate to other versions.  
Does

that make sense?

Thanks,
- Cecelia


On 12/5/2012 2:17 PM, Steve Hankin wrote:

Cecelia et. al.,

An important and somewhat awkward topic.  I like your suggestion, 
myself.  I might suggest slightly different terminology to describe 
it, though.  I think we are proposing that _for the present_ 
*gridspec *and/or *ugrid *(there need not be the same answer for 
both) ought to be published as independent standards, and 

Re: [CF-metadata] FW: Standard_name for cloud-cover by phenomenon

2012-12-06 Thread Cameron-smith, Philip
Hi Alison,

This is now fine with me.  Thank you for being so thorough :-).

Philip

---
Dr Philip Cameron-Smith, p...@llnl.gov, Lawrence Livermore National Lab.
---



 -Original Message-
 From: alison.pamm...@stfc.ac.uk [mailto:alison.pamm...@stfc.ac.uk]
 Sent: Thursday, December 06, 2012 4:26 AM
 To: cf-metadata@cgd.ucar.edu
 Cc: heiko.kl...@met.no; Cameron-smith, Philip
 Subject: RE: [CF-metadata] FW: Standard_name for cloud-cover by phenomenon
 
 Dear Heiko, Philip, All,
 
 Earlier this year Heiko Klein proposed the following three standard names for
 cloud:
 high_type_cloud_area_fraction
 medium_type_cloud_area_fraction
 low_type_cloud_area_fraction
 which received a considerable amount of discussion regarding both the names
 and their definitions.
 
  Towards the end of the discussion (16th May) Philip Cameron-Smith asked two
 questions:
 
  Are there any other visual classification schemes in common use other than
 the current SYNOP one?
 
  Is the current SYNOP scheme likely to change significantly?
 
  This isn't my field, so I don't know the answers. If the answer to both 
  questions
 is 'no', then I will drop all my objections.
 
 No one responded directly to Philip's questions and Heiko asked on 11th June
 whether we could regard the names as accepted. I have now reviewed the full
 discussion and note that Eizi Toyoda stated
 (http://mailman.cgd.ucar.edu/pipermail/cf-metadata/2012/055649.html)  that
 the SYNOP scheme has remained unchanged since 1975 and was unlikely to do
 so in the near future, so I think we can take that as a 'no' to Philip's 
 second
 question. Regarding Philip's first question, I note that Bruce Wright 
 expressed
 the view (http://mailman.cgd.ucar.edu/pipermail/cf-
 metadata/2012/055642.html) that the classification scheme is sufficiently
 widely used that it doesn't need to be attributed to any particular 'owner'. 
 I have
 also confirmed with Heiko (offlist) that there isn't any 'competitor' to the 
 SYNOP
 classification, so I think we can also answer 'no' to the first question.
 
 As there are no further outstanding objections to these names, they are now
 accepted for addition to the standard name table.
 
 Based on the definition of the existing cloud_area_fraction name and the
 discussion of the proposed names I have written definitions as follows:
 
 high_type_cloud_area_fraction: ' High type clouds are: Cirrus, Cirrostratus,
 Cirrocumulus. X_area_fraction means the fraction of horizontal area occupied
 by X. Cloud area fraction is also called cloud amount and cloud cover.
 X_type_cloud_area_fraction is determined on the basis of cloud type and not on
 the vertical location of the cloud.'
 
 medium_type_cloud_area_fraction: 'Middle type clouds are: Altostratus,
 Altocumulus, Nimbostratus. X_area_fraction means the fraction of horizontal
 area occupied by X. Cloud area fraction is also called cloud amount and 
 cloud
 cover. X_type_cloud_area_fraction is determined on the basis of cloud type
 and not on the vertical location of the cloud.'
 
 low_type_cloud_area_fraction: ' Low type clouds are: Stratus, Stratocumulus,
 Cumulus, Cumulonimbus. X_area_fraction means the fraction of horizontal
 area occupied by X. Cloud area fraction is also called cloud amount and 
 cloud
 cover. X_type_cloud_area_fraction is determined on the basis of cloud type
 and not on the vertical location of the cloud.'
 
 These names and definitions will be added at the next update of the standard
 name table.
 
 Best wishes,
 Alison
 
 --
 Alison Pamment  Tel: +44 1235 778065
 NCAS/British Atmospheric Data CentreEmail: alison.pamm...@stfc.ac.uk
 STFC Rutherford Appleton Laboratory
 R25, 2.22
 Harwell Oxford, Didcot, OX11 0QX, U.K.
 
 
 
  -Original Message-
  From: CF-metadata [mailto:cf-metadata-boun...@cgd.ucar.edu] On Behalf
  Of Heiko Klein
  Sent: 11 June 2012 09:41
  To: Cameron-smith, Philip
  Cc: cf-metadata@cgd.ucar.edu
  Subject: Re: [CF-metadata] FW: Standard_name for cloud-cover by
  phenomenon
 
  Hi All,
 
  after 3 weeks of silence on this subject, I assume there was no-one
  who answered with 'yes' to Philips questions, and there are no longer
  objections on using the standardard-names:
 
  low_type_cloud_area_fraction
  medium_type_cloud_area_fraction
  high_type_cloud_area_fraction
 
 
  Can I hope for these standard-names to appear in the next version of
  standard-names?
 
  Best regards,
 
  Heiko
 
  On 2012-05-16 19:08, Cameron-smith, Philip wrote:
   Hi All,
  
   I just refreshed my memory of ISCCP, and I should not have been
   using it as an example in the way that I did (my apologies).
  
   Are there any other visual classification schemes in common use
   other than the current SYNOP one?
  
   Is the current SYNOP scheme likely to change significantly?
  
   This isn't my 

Re: [CF-metadata] [netcdf-java] problem with times in PSD dataset

2012-12-06 Thread John Caron

Hi Cecelia:

Thanks for this information. A few questions:

* So you are not supporting standard Gregorian calendar even though 
thats the CF default?


* Do modelers need to match historical dates? If so, what calendar do 
they use?


* Is the time library suitable to be released seperate from the ESMF 
code, eg as standalone C++?


John

On 12/5/2012 3:01 PM, Cecelia DeLuca wrote:

Hi John and all,

ESMF has a mature time management library with calendars that are commonly
used in climate/weather/related modeling. It supports the following: 360
day,
no leap, Gregorian (proleptic), Julian, Julian day, modified Julian day,
and custom
(including custom calendars that may change the length of days). ESMF,
like CESM,
doesn't support the standard Gregorian calendar because it doesn't make
sense for modeling groups who may need to cross the Julian/Gregorian
weirdness line (we've never gotten a request to support standard
Gregorian from
modelers).  ESMF has calendar, time, time interval, clock, and alarm
constructs,
can run time forward or backward, and prints times and time intervals in
ISO8601
format. CESM/CAM, NASA, NOAA, Navy and other codes use it.

The most complete interface to the time lib is Fortran, and there are
some basic
time functions exposed in C (the lib is actually written in C++).
However, we could
wrap the time functions in Python and include them in ESMP, which is
currently a
set of ESMF regridding functions wrapped in Python. We could probably do
that
in the late/winter spring timeframe, with some guidance on what
functions were
desired and a pass through our prioritization board.

Best,
-- Cecelia


On 12/5/2012 12:25 PM, John Caron wrote:

Hi all:

Its probably the right thing to do to make gregorian (Mixed
Gregorian/Julian calendar) the default calendar for COARDS/CF, for
backwards compatibility. However, CDM may leave proleptic_gregorian
(ISO8601) as its default.

And I would strongly suggest that data writers stop using time since
1-1-1. Ive never seen a dataset where time since 1-1-1 using the
mixed gregorian calendar was actually needed. If any one has a real
example, Id like to hear about it.

If you really need historical accuracy, then put in an ISO8601
formatted string, and an explicit calendar attribute. CDM handles
those ok. CF should be upgraded to allow ISO strings also. time since
reference date is not good for very large ranges of time.

Ill just add that udunits never wanted to be a calendaring library,
and shouldnt be used anymore for that. Im relying on joda-time (and
its successor threeten) to be the expert in calendering, so i dont
have to. I think the netcdf-C library now uses some CDAT (?) code for
its calendaring, but Im sure theres other standard libraries that
could be used. Anyone have candidate libraries in C or Python for
robust calendering

In short, we should rely on clear encoding standards (eg ISO8601) with
reference software, rather than implementations like udunits that
eventually go away.

John

PS: I think ill cross post to cf, just to throw some gasoline on the
fire ;), and maybe some broader viewpoints.

On 12/5/2012 10:24 AM, Don Murray (NOAA Affiliate) wrote:

Hi Gerry-

On 12/5/12 9:42 AM, Gerry Creager - NOAA Affiliate wrote:

There are other datasets with reference to 1-1-1. I've seen them most
recently in some ocean models.


And the ESRL/PSD NCEP reanalysis datasets use it.

Don


On Wed, Dec 5, 2012 at 10:16 AM, Don Murray (NOAA Affiliate)
don.mur...@noaa.gov mailto:don.mur...@noaa.gov wrote:

John-

I meant to send this to support-netcdf-java, but perhaps others on
the list might have the same problem.


On 12/4/12 4:51 PM, John Caron wrote:

On 12/4/2012 4:09 PM, Don Murray (NOAA Affiliate) wrote:

Hi-

I was just trying to access the NOAA/ESRL/PSD Outgoing
Longwave
Radiation (OLR) data using netCDF-Java 4.3 ToolsUI and
noticed that the
times are wrong.  If you open:


dods://www.esrl.noaa.gov/psd/__thredds/dodsC/Datasets/__uninterp_OLR/olr.day.mean.nc



http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/uninterp_OLR/olr.day.mean.nc





in the ToolsUI grid viewer, the last time in the file is
shown as
2012-12-04 00Z.  However, the last time in the file is
actually
2012-12-02 00Z.  Here is the time variable in that file:

 double time(time=3989);
   :units = hours since 1-1-1 00:00:0.0;
   :long_name = Time;
   :actual_range = 1.7540448E7, 1.763616E7; // double
   :delta_t = -00-01 00:00:00;
   :avg_period = -00-01 00:00:00;
   :standard_name = time;
   :axis = T;

netCDF-Java 4.2 and ncdump -t -v time (C version) show the
correct
date/times.


hours from 1-1-1 is rather problematic, since you are crossing
the

Re: [CF-metadata] [netcdf-java] problem with times in PSD dataset

2012-12-06 Thread Cecelia DeLuca


Hi John and all,


Thanks for this information. A few questions:

* So you are not supporting standard Gregorian calendar even though 
thats the CF default?
Correct, the climate modelers that we work with don't use it.  AFAIK the 
decision of
CESM was to reject the CF default as unreasonable for modeling and use 
proleptic

Gregorian.  GFDL might support it, I don't know.

We could probably add standard Gregorian as a new calendar if people on the
data side needed it.  However, we would be happier to join Steve in putting
a stake in its heart!


* Do modelers need to match historical dates? If so, what calendar 
do they use?
I think the calendar used would depend on what was supported by the 
model and
configuration, as well as the form of the date.  If you wanted to 
represent the date
of something like a volcanic eruption you could probably make it work 
with most

of the calendars.



* Is the time library suitable to be released seperate from the ESMF 
code, eg as standalone C++?

The time library can be used apart from other ESMF interfaces, and some
modeling groups do use it that way.  I don't think we'd be willing to 
extract that

part and support a separate build.   We did that years ago and it was a pain
to maintain.  (We could try to isolate the documentation though, so users
didn't have to wade through the whole reference manual to find the API.)

With ESMP(ython), the scope of the interface is much smaller than
ESMF proper and I think Ryan could set time functions up nicely.  It might
make sense to represent it as a separate python package in that approach.
Would python work for you, or would you really prefer C?

- Cecelia



John

On 12/5/2012 3:01 PM, Cecelia DeLuca wrote:

Hi John and all,

ESMF has a mature time management library with calendars that are 
commonly

used in climate/weather/related modeling. It supports the following: 360
day,
no leap, Gregorian (proleptic), Julian, Julian day, modified Julian day,
and custom
(including custom calendars that may change the length of days). ESMF,
like CESM,
doesn't support the standard Gregorian calendar because it doesn't make
sense for modeling groups who may need to cross the Julian/Gregorian
weirdness line (we've never gotten a request to support standard
Gregorian from
modelers).  ESMF has calendar, time, time interval, clock, and alarm
constructs,
can run time forward or backward, and prints times and time intervals in
ISO8601
format. CESM/CAM, NASA, NOAA, Navy and other codes use it.

The most complete interface to the time lib is Fortran, and there are
some basic
time functions exposed in C (the lib is actually written in C++).
However, we could
wrap the time functions in Python and include them in ESMP, which is
currently a
set of ESMF regridding functions wrapped in Python. We could probably do
that
in the late/winter spring timeframe, with some guidance on what
functions were
desired and a pass through our prioritization board.

Best,
-- Cecelia


On 12/5/2012 12:25 PM, John Caron wrote:

Hi all:

Its probably the right thing to do to make gregorian (Mixed
Gregorian/Julian calendar) the default calendar for COARDS/CF, for
backwards compatibility. However, CDM may leave proleptic_gregorian
(ISO8601) as its default.

And I would strongly suggest that data writers stop using time since
1-1-1. Ive never seen a dataset where time since 1-1-1 using the
mixed gregorian calendar was actually needed. If any one has a real
example, Id like to hear about it.

If you really need historical accuracy, then put in an ISO8601
formatted string, and an explicit calendar attribute. CDM handles
those ok. CF should be upgraded to allow ISO strings also. time since
reference date is not good for very large ranges of time.

Ill just add that udunits never wanted to be a calendaring library,
and shouldnt be used anymore for that. Im relying on joda-time (and
its successor threeten) to be the expert in calendering, so i dont
have to. I think the netcdf-C library now uses some CDAT (?) code for
its calendaring, but Im sure theres other standard libraries that
could be used. Anyone have candidate libraries in C or Python for
robust calendering

In short, we should rely on clear encoding standards (eg ISO8601) with
reference software, rather than implementations like udunits that
eventually go away.

John

PS: I think ill cross post to cf, just to throw some gasoline on the
fire ;), and maybe some broader viewpoints.

On 12/5/2012 10:24 AM, Don Murray (NOAA Affiliate) wrote:

Hi Gerry-

On 12/5/12 9:42 AM, Gerry Creager - NOAA Affiliate wrote:

There are other datasets with reference to 1-1-1. I've seen them most
recently in some ocean models.


And the ESRL/PSD NCEP reanalysis datasets use it.

Don


On Wed, Dec 5, 2012 at 10:16 AM, Don Murray (NOAA Affiliate)
don.mur...@noaa.gov mailto:don.mur...@noaa.gov wrote:

John-

I meant to send this to support-netcdf-java, but perhaps 
others on

the list might have the same problem.


On 12/4/12 

[CF-metadata] CF calendars (was: problem with times in PSD dataset)

2012-12-06 Thread John Caron

Hi Steve, Cecelia:

I agree we should move to a better default calendar, probably 
proleptic_gregorian. We are stuck with mixed Gregorian for previous CF 
versions.


I think we just need a proposal that says As of version X, the default 
calender is proleptic_gregorian. You should explicitly add the calendar 
attribute for clarity. Udunits is no longer considered to be the 
reference software for date/time.


It would be nice to add advice to the user about calendar tradeoffs and 
how to do historical date matching for modelers, assuming we have useful 
things to say.


I wonder if allowing ISO formatted strings in place of / in addition to 
the time since reference date form might be useful for historical time 
matching?


Arguably having calendar reference libraries in Python and Java would be 
sufficient, possibly Python is preferable even to one in C.


John

On 12/6/2012 1:45 PM, Cecelia DeLuca wrote:


Hi John and all,


Thanks for this information. A few questions:

* So you are not supporting standard Gregorian calendar even though
thats the CF default?

Correct, the climate modelers that we work with don't use it.  AFAIK the
decision of
CESM was to reject the CF default as unreasonable for modeling and use
proleptic
Gregorian.  GFDL might support it, I don't know.

We could probably add standard Gregorian as a new calendar if people on the
data side needed it.  However, we would be happier to join Steve in putting
a stake in its heart!


* Do modelers need to match historical dates? If so, what calendar
do they use?

I think the calendar used would depend on what was supported by the
model and
configuration, as well as the form of the date.  If you wanted to
represent the date
of something like a volcanic eruption you could probably make it work
with most
of the calendars.



* Is the time library suitable to be released seperate from the ESMF
code, eg as standalone C++?

The time library can be used apart from other ESMF interfaces, and some
modeling groups do use it that way.  I don't think we'd be willing to
extract that
part and support a separate build.   We did that years ago and it was a
pain
to maintain.  (We could try to isolate the documentation though, so users
didn't have to wade through the whole reference manual to find the API.)

With ESMP(ython), the scope of the interface is much smaller than
ESMF proper and I think Ryan could set time functions up nicely.  It might
make sense to represent it as a separate python package in that approach.
Would python work for you, or would you really prefer C?

- Cecelia



John

On 12/5/2012 3:01 PM, Cecelia DeLuca wrote:

Hi John and all,

ESMF has a mature time management library with calendars that are
commonly
used in climate/weather/related modeling. It supports the following: 360
day,
no leap, Gregorian (proleptic), Julian, Julian day, modified Julian day,
and custom
(including custom calendars that may change the length of days). ESMF,
like CESM,
doesn't support the standard Gregorian calendar because it doesn't make
sense for modeling groups who may need to cross the Julian/Gregorian
weirdness line (we've never gotten a request to support standard
Gregorian from
modelers).  ESMF has calendar, time, time interval, clock, and alarm
constructs,
can run time forward or backward, and prints times and time intervals in
ISO8601
format. CESM/CAM, NASA, NOAA, Navy and other codes use it.

The most complete interface to the time lib is Fortran, and there are
some basic
time functions exposed in C (the lib is actually written in C++).
However, we could
wrap the time functions in Python and include them in ESMP, which is
currently a
set of ESMF regridding functions wrapped in Python. We could probably do
that
in the late/winter spring timeframe, with some guidance on what
functions were
desired and a pass through our prioritization board.

Best,
-- Cecelia


On 12/5/2012 12:25 PM, John Caron wrote:

Hi all:

Its probably the right thing to do to make gregorian (Mixed
Gregorian/Julian calendar) the default calendar for COARDS/CF, for
backwards compatibility. However, CDM may leave proleptic_gregorian
(ISO8601) as its default.

And I would strongly suggest that data writers stop using time since
1-1-1. Ive never seen a dataset where time since 1-1-1 using the
mixed gregorian calendar was actually needed. If any one has a real
example, Id like to hear about it.

If you really need historical accuracy, then put in an ISO8601
formatted string, and an explicit calendar attribute. CDM handles
those ok. CF should be upgraded to allow ISO strings also. time since
reference date is not good for very large ranges of time.

Ill just add that udunits never wanted to be a calendaring library,
and shouldnt be used anymore for that. Im relying on joda-time (and
its successor threeten) to be the expert in calendering, so i dont
have to. I think the netcdf-C library now uses some CDAT (?) code for
its calendaring, but Im sure theres other standard libraries that

Re: [CF-metadata] CF calendars

2012-12-06 Thread Steve Hankin


On 12/6/2012 1:37 PM, John Caron wrote:

Hi Steve, Cecelia:

I agree we should move to a better default calendar, probably 
proleptic_gregorian. We are stuck with mixed Gregorian for previous CF 
versions.


I think we just need a proposal that says As of version X, the 
default calender is proleptic_gregorian. You should explicitly add the 
calendar attribute for clarity. Udunits is no longer considered to be 
the reference software for date/time.


You've about nailed it here.   Perhaps adding that a zero-reference date 
that lies this side of 1500 AD can ensure that this confusion does not 
effect your files.


It would be nice to add advice to the user about calendar tradeoffs 
and how to do historical date matching for modelers, assuming we have 
useful things to say.
We could even point them to the Wikipedia discussion of the mess: 
https://en.wikipedia.org/wiki/Gregorian_calendar


I wonder if allowing ISO formatted strings in place of / in addition 
to the time since reference date form might be useful for historical 
time matching?


I suspect that the historical matching is never going to be a 
well-posed problem.  If we regard the date-time as nothing more than a 
piece of metadata attached to an XYZ grid, then matching is a 
well-posed problem of finding the cross walk between different metadata 
vocabularies.  But if we regard time as a continuous coordinate variable 
and date-time as a way to express that coordinate in ASCII, then 
matching is a pathological problem, because the blended Gregorian-Julian 
calendar has an 11 day discontinuity ... and the time of the 
discontinuity varies depending on what country the event occurred in.  
Not worth the trouble imho.


- Steve



Arguably having calendar reference libraries in Python and Java would 
be sufficient, possibly Python is preferable even to one in C.






John

On 12/6/2012 1:45 PM, Cecelia DeLuca wrote:


Hi John and all,


Thanks for this information. A few questions:

* So you are not supporting standard Gregorian calendar even though
thats the CF default?

Correct, the climate modelers that we work with don't use it. AFAIK the
decision of
CESM was to reject the CF default as unreasonable for modeling and use
proleptic
Gregorian.  GFDL might support it, I don't know.

We could probably add standard Gregorian as a new calendar if people 
on the
data side needed it.  However, we would be happier to join Steve in 
putting

a stake in its heart!


* Do modelers need to match historical dates? If so, what calendar
do they use?

I think the calendar used would depend on what was supported by the
model and
configuration, as well as the form of the date.  If you wanted to
represent the date
of something like a volcanic eruption you could probably make it work
with most
of the calendars.



* Is the time library suitable to be released seperate from the ESMF
code, eg as standalone C++?

The time library can be used apart from other ESMF interfaces, and some
modeling groups do use it that way.  I don't think we'd be willing to
extract that
part and support a separate build.   We did that years ago and it was a
pain
to maintain.  (We could try to isolate the documentation though, so 
users

didn't have to wade through the whole reference manual to find the API.)

With ESMP(ython), the scope of the interface is much smaller than
ESMF proper and I think Ryan could set time functions up nicely.  It 
might
make sense to represent it as a separate python package in that 
approach.

Would python work for you, or would you really prefer C?

- Cecelia



John

On 12/5/2012 3:01 PM, Cecelia DeLuca wrote:

Hi John and all,

ESMF has a mature time management library with calendars that are
commonly
used in climate/weather/related modeling. It supports the 
following: 360

day,
no leap, Gregorian (proleptic), Julian, Julian day, modified Julian 
day,

and custom
(including custom calendars that may change the length of days). ESMF,
like CESM,
doesn't support the standard Gregorian calendar because it doesn't 
make

sense for modeling groups who may need to cross the Julian/Gregorian
weirdness line (we've never gotten a request to support standard
Gregorian from
modelers).  ESMF has calendar, time, time interval, clock, and alarm
constructs,
can run time forward or backward, and prints times and time 
intervals in

ISO8601
format. CESM/CAM, NASA, NOAA, Navy and other codes use it.

The most complete interface to the time lib is Fortran, and there are
some basic
time functions exposed in C (the lib is actually written in C++).
However, we could
wrap the time functions in Python and include them in ESMP, which is
currently a
set of ESMF regridding functions wrapped in Python. We could 
probably do

that
in the late/winter spring timeframe, with some guidance on what
functions were
desired and a pass through our prioritization board.

Best,
-- Cecelia


On 12/5/2012 12:25 PM, John Caron wrote:

Hi all:

Its probably the right thing to do to make 

Re: [CF-metadata] [netcdf-java] problem with times in PSD dataset

2012-12-06 Thread Cathy Smith (NOAA Affiliate)
John
There is some meteorological data that is available pre-Gregorian
calendar (paleo data, some temperature datasets) and of course there are
other scientific fields where data is pre-1500 (e.g. astronomy,
archeology) . Given that netCDF files with data dates spanning ~1550 probably 
already exist and the large number of preexisting files that
use the 1-1-1 base (we have over 2000), it doesn't seem reasonable to
request that files be changed to accommodate what is essentially a bug;
the date values we store are correct. We started using the 1-1-1 base in the mid
1990's (almost 20 years ago) as part of the COARDS (now CF) agreed upon 
standard.
It is reasonable for us to consider future changes but I don't think it 
reasonable for us to have to change our files because the Java interface is not 
backwards compatible.

Cathy Smith
NOAA/ESRL PSD

On 12/5/12 12:25 PM, John Caron wrote:
 Hi all:

 Its probably the right thing to do to make gregorian (Mixed
 Gregorian/Julian calendar) the default calendar for COARDS/CF, for
 backwards compatibility. However, CDM may leave proleptic_gregorian
 (ISO8601) as its default.

 And I would strongly suggest that data writers stop using time since
 1-1-1. Ive never seen a dataset where time since 1-1-1 using the
 mixed gregorian calendar was actually needed. If any one has a real
 example, Id like to hear about it.

 If you really need historical accuracy, then put in an ISO8601
 formatted string, and an explicit calendar attribute. CDM handles
 those ok. CF should be upgraded to allow ISO strings also. time since
 reference date is not good for very large ranges of time.

 Ill just add that udunits never wanted to be a calendaring library,
 and shouldnt be used anymore for that. Im relying on joda-time (and
 its successor threeten) to be the expert in calendering, so i dont
 have to. I think the netcdf-C library now uses some CDAT (?) code for
 its calendaring, but Im sure theres other standard libraries that
 could be used. Anyone have candidate libraries in C or Python for
 robust calendering

 In short, we should rely on clear encoding standards (eg ISO8601) with
 reference software, rather than implementations like udunits that
 eventually go away.

 John

 PS: I think ill cross post to cf, just to throw some gasoline on the
 fire ;), and maybe some broader viewpoints.

 On 12/5/2012 10:24 AM, Don Murray (NOAA Affiliate) wrote:
 Hi Gerry-

 On 12/5/12 9:42 AM, Gerry Creager - NOAA Affiliate wrote:
 There are other datasets with reference to 1-1-1. I've seen them most
 recently in some ocean models.

 And the ESRL/PSD NCEP reanalysis datasets use it.

 Don

 On Wed, Dec 5, 2012 at 10:16 AM, Don Murray (NOAA Affiliate)
 don.mur...@noaa.gov mailto:don.mur...@noaa.gov wrote:

 John-

 I meant to send this to support-netcdf-java, but perhaps  others on
 the list might have the same problem.


 On 12/4/12 4:51 PM, John Caron wrote:

 On 12/4/2012 4:09 PM, Don Murray (NOAA Affiliate) wrote:

 Hi-

 I was just trying to access the NOAA/ESRL/PSD  Outgoing
 Longwave
 Radiation (OLR) data using netCDF-Java 4.3 ToolsUI and
 noticed that the
 times are wrong.  If you open:


 dods://www.esrl.noaa.gov/psd/__thredds/dodsC/Datasets/__uninterp_OLR/olr.day.mean.nc



 http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/uninterp_OLR/olr.day.mean.nc





 in the ToolsUI grid viewer, the last time in the file is
 shown as
 2012-12-04 00Z.  However, the last time in the file is
 actually
 2012-12-02 00Z.  Here is the time variable in that file:

  double time(time=3989);
:units = hours since 1-1-1 00:00:0.0;
:long_name = Time;
:actual_range = 1.7540448E7, 1.763616E7; // double
:delta_t = -00-01 00:00:00;
:avg_period = -00-01 00:00:00;
:standard_name = time;
:axis = T;

 netCDF-Java 4.2 and ncdump -t -v time (C version) show the
 correct
 date/times.


 hours from 1-1-1 is rather problematic, since you are crossing
 the
 julian/gregorian weirdness line (i think thats the technical
 term ;)

 Im guessing the trouble lies here:

 Default calendar: for udunits, and therefore for CF, the
 default
 calendar is gregorian (Mixed Gregorian/Julian calendar). For
 CDM, the
 default calendar is proleptic_gregorian (ISO8601 standard).
 This
 only
 matters for dates before 1582.


 Joda time supports the GJ calendar (Historically accurate calendar
 with Julian followed by Gregorian) which seems it would be backward
 compatible with the CF/udunits.  Perhaps that should be the default
 for backward compatibility.


 I have to say relying uncritically on a calendar
 implementation 

Re: [CF-metadata] new standard name proposal for total ozone in DU

2012-12-06 Thread Cameron-smith, Philip
Hi All,

After considerable thought, I do support addition of this std_name, but 
recommend that we add a comment to the description (as described below).

The problem is that 

atmosphere_mole_content_of_ozone (proposed, units = moles/m2, typically 
expressed in DU)

and

equivalent_thickness_at_stp_of_atmosphere_ozone_content (already in CF, units = 
m, typically expressed in DU)

are essentially the same. Although they have nominally different units, the 
usual unit used in both cases is Dobson Units (DU).  1 DU was originally 
defined as 10 micrometers of ozone at STP (ie a unit of distance), but can 
equivalently defined as 446.2... micromoles/m2 (ie, related to 'moles/m2'), see 
http://en.wikipedia.org/wiki/Dobson_unit.  The conversion is trivially done 
through the ideal gas law.

A user putting ozone column data into CF is just as likely to use one std_name 
as the other, and use DU for the units in either case.  It would be appropriate 
to compare the data directly (with no unit conversion if both are put in as 
DU).  

Hence, different datasets may contain the same data using different std_names, 
which isn't ideal.

On the other hand, the official units are different, and we have a related 
issue where we have separate std_names for quantities in 'moles' and 'mass', 
which are often trivial to convert between in many cases.

If these were the only aspects to consider then I would be against the new 
std_name.  However, there are many more species than ozone, and ozone is the 
only one that I see expressed as equivalent thickness.  This means that we will 
surely end up wanting atmosphere_mole_content for other species, so it makes 
sense to have it for ozone too.  For me, this tips the balance in favor of 
accepting the proposed std_name.

Unfortunately, I don't think we can mitigate the problems using an alias 
because the std_names have different official units.

Hence, I propose that we simply add a note at the end of the descriptions for 
atmosphere_mole_content_of_ozone and 
equivalent_thickness_at_stp_of_atmosphere_ozone_content alerting users to the 
existence of the other std_name:

Note: Ozone columns can be stored in either 
equivalent_thickness_at_stp_of_atmosphere_ozone_content or 
atmosphere_mole_content_of_ozone.

Best wishes,

 Philip

---
Dr Philip Cameron-Smith, p...@llnl.gov, Lawrence Livermore National Lab.
---

 -Original Message-
 From: CF-metadata [mailto:cf-metadata-boun...@cgd.ucar.edu] On Behalf Of
 alison.pamm...@stfc.ac.uk
 Sent: Thursday, December 06, 2012 5:33 AM
 To: christophe.le...@aeronomie.be
 Cc: victoria.benn...@stfc.ac.uk; cf-metadata@cgd.ucar.edu
 Subject: Re: [CF-metadata] new standard name proposal for total ozone in DU
 
 Dear Christophe and Roy,
 
 Thank you for the discussion; I think we are agreed! The name will go into the
 standard name table as follows:
 
 atmosphere_mole_content_of_ozone; mol m-2
 Definition: '  Content indicates a quantity per unit area. The atmosphere
 content of a quantity refers to the vertical integral from the surface to 
 the top
 of the atmosphere. For the content between specified levels in the atmosphere,
 standard names including content_of_atmosphere_layer are used. The
 construction atmosphere_mole_content_of_X means the vertically integrated
 number of moles of X above a unit area. The chemical formula for ozone is O3.
 atmosphere_mole_content_of_ozone is usually measured in Dobson Units (DU)
 which are equivalent to 446.2 micromoles m-2.'
 
 This name is accepted for inclusion in the standard name table and will be 
 added
 at the next update.
 
 Best wishes,
 Alison
 
 --
 Alison Pamment  Tel: +44 1235 778065
 NCAS/British Atmospheric Data CentreEmail: alison.pamm...@stfc.ac.uk
 STFC Rutherford Appleton Laboratory
 R25, 2.22
 Harwell Oxford, Didcot, OX11 0QX, U.K.
 
 
 
  -Original Message-
  From: Christophe Lerot [mailto:christophe.le...@aeronomie.be]
  Sent: 06 December 2012 12:48
  To: Pamment, Alison (STFC,RAL,RALSP)
  Cc: cf-metadata@cgd.ucar.edu
  Subject: Re: [CF-metadata] new standard name proposal for total ozone
  in DU
 
  Hi Alison and Roy,
 
  I think that the solution you proposed is suitable to the O3 community.
 
  Having the canonical unit (mol/m-2) for the O3 columns in  the
  vocabulary server is fine as long as it is not a problem to use a
  different unit (Dobson Unit) in the NetCDF files. The important point
  is that the variables are expressed in the commonly used units so that
  the users can understand the file content at a glance.
 
  Best regards,
  Christophe
 
  On 5/12/2012 11:30, alison.pamm...@stfc.ac.uk wrote:
   Dear Roy and Christophe,
  
   As Roy says, we usually use SI units for the canonical unit in the
   standard
  name table. There are a few exceptions, for example, age_of_sea_ice
  has 

Re: [CF-metadata] [netcdf-java] problem with times in PSD dataset

2012-12-06 Thread John Caron

Hi Cathy:

There no question that CF currently defaults to mixed gregorian 
calendar. The discussion is whether thats the best choice (probably 
not), and to advise users not to cross the discontinuity (eg store 
modern dates starting from 1-1-1).


Im curious as to how you generate the dates that you store? That is, how 
do you know that they are correct?


John

On 12/6/2012 4:34 PM, Cathy Smith (NOAA Affiliate) wrote:

John
There is some meteorological data that is available pre-Gregorian
calendar (paleo data, some temperature datasets) and of course there are
other scientific fields where data is pre-1500 (e.g. astronomy,
archeology) . Given that netCDF files with data dates spanning ~1550 probably 
already exist and the large number of preexisting files that
use the 1-1-1 base (we have over 2000), it doesn't seem reasonable to
request that files be changed to accommodate what is essentially a bug;
the date values we store are correct. We started using the 1-1-1 base in the mid
1990's (almost 20 years ago) as part of the COARDS (now CF) agreed upon 
standard.
It is reasonable for us to consider future changes but I don't think it 
reasonable for us to have to change our files because the Java interface is not 
backwards compatible.

Cathy Smith
NOAA/ESRL PSD

On 12/5/12 12:25 PM, John Caron wrote:

Hi all:

Its probably the right thing to do to make gregorian (Mixed
Gregorian/Julian calendar) the default calendar for COARDS/CF, for
backwards compatibility. However, CDM may leave proleptic_gregorian
(ISO8601) as its default.

And I would strongly suggest that data writers stop using time since
1-1-1. Ive never seen a dataset where time since 1-1-1 using the
mixed gregorian calendar was actually needed. If any one has a real
example, Id like to hear about it.

If you really need historical accuracy, then put in an ISO8601
formatted string, and an explicit calendar attribute. CDM handles
those ok. CF should be upgraded to allow ISO strings also. time since
reference date is not good for very large ranges of time.

Ill just add that udunits never wanted to be a calendaring library,
and shouldnt be used anymore for that. Im relying on joda-time (and
its successor threeten) to be the expert in calendering, so i dont
have to. I think the netcdf-C library now uses some CDAT (?) code for
its calendaring, but Im sure theres other standard libraries that
could be used. Anyone have candidate libraries in C or Python for
robust calendering

In short, we should rely on clear encoding standards (eg ISO8601) with
reference software, rather than implementations like udunits that
eventually go away.

John

PS: I think ill cross post to cf, just to throw some gasoline on the
fire ;), and maybe some broader viewpoints.

On 12/5/2012 10:24 AM, Don Murray (NOAA Affiliate) wrote:

Hi Gerry-

On 12/5/12 9:42 AM, Gerry Creager - NOAA Affiliate wrote:

There are other datasets with reference to 1-1-1. I've seen them most
recently in some ocean models.


And the ESRL/PSD NCEP reanalysis datasets use it.

Don


On Wed, Dec 5, 2012 at 10:16 AM, Don Murray (NOAA Affiliate)
don.mur...@noaa.gov mailto:don.mur...@noaa.gov wrote:

 John-

 I meant to send this to support-netcdf-java, but perhaps  others on
 the list might have the same problem.


 On 12/4/12 4:51 PM, John Caron wrote:

 On 12/4/2012 4:09 PM, Don Murray (NOAA Affiliate) wrote:

 Hi-

 I was just trying to access the NOAA/ESRL/PSD  Outgoing
Longwave
 Radiation (OLR) data using netCDF-Java 4.3 ToolsUI and
 noticed that the
 times are wrong.  If you open:


dods://www.esrl.noaa.gov/psd/__thredds/dodsC/Datasets/__uninterp_OLR/olr.day.mean.nc



http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/uninterp_OLR/olr.day.mean.nc





 in the ToolsUI grid viewer, the last time in the file is
 shown as
 2012-12-04 00Z.  However, the last time in the file is
actually
 2012-12-02 00Z.  Here is the time variable in that file:

  double time(time=3989);
:units = hours since 1-1-1 00:00:0.0;
:long_name = Time;
:actual_range = 1.7540448E7, 1.763616E7; // double
:delta_t = -00-01 00:00:00;
:avg_period = -00-01 00:00:00;
:standard_name = time;
:axis = T;

 netCDF-Java 4.2 and ncdump -t -v time (C version) show the
 correct
 date/times.


 hours from 1-1-1 is rather problematic, since you are crossing
the
 julian/gregorian weirdness line (i think thats the technical
term ;)

 Im guessing the trouble lies here:

 Default calendar: for udunits, and therefore for CF, the
default
 calendar is gregorian (Mixed Gregorian/Julian calendar). For
 CDM, the
 default calendar is proleptic_gregorian (ISO8601 standard).

Re: [CF-metadata] [netcdf-java] problem with times in PSD dataset

2012-12-06 Thread Steve Hankin


On 12/6/2012 4:09 PM, John Caron wrote:

Hi Cathy:

There no question that CF currently defaults to mixed gregorian 
calendar. The discussion is whether thats the best choice (probably 
not), and to advise users not to cross the discontinuity (eg store 
modern dates starting from 1-1-1).


Im curious as to how you generate the dates that you store? That is, 
how do you know that they are correct?




Hi Cathy,

A question to add to John's:

 * If a user made a time series plot of paleo data across the
   Julian-Gregorian discontinuity, what expectations would he/she have
   about how the time axis was labelled?  Do you know of software that
   will correctly label the time axis across a mixed Julian-Gregorian
   time series?

- Steve


John

On 12/6/2012 4:34 PM, Cathy Smith (NOAA Affiliate) wrote:

John
There is some meteorological data that is available pre-Gregorian
calendar (paleo data, some temperature datasets) and of course there are
other scientific fields where data is pre-1500 (e.g. astronomy,
archeology) . Given that netCDF files with data dates spanning ~1550 
probably already exist and the large number of preexisting files that

use the 1-1-1 base (we have over 2000), it doesn't seem reasonable to
request that files be changed to accommodate what is essentially a bug;
the date values we store are correct. We started using the 1-1-1 base 
in the mid
1990's (almost 20 years ago) as part of the COARDS (now CF) agreed 
upon standard.
It is reasonable for us to consider future changes but I don't think 
it reasonable for us to have to change our files because the Java 
interface is not backwards compatible.


Cathy Smith
NOAA/ESRL PSD

On 12/5/12 12:25 PM, John Caron wrote:

Hi all:

Its probably the right thing to do to make gregorian (Mixed
Gregorian/Julian calendar) the default calendar for COARDS/CF, for
backwards compatibility. However, CDM may leave proleptic_gregorian
(ISO8601) as its default.

And I would strongly suggest that data writers stop using time since
1-1-1. Ive never seen a dataset where time since 1-1-1 using the
mixed gregorian calendar was actually needed. If any one has a real
example, Id like to hear about it.

If you really need historical accuracy, then put in an ISO8601
formatted string, and an explicit calendar attribute. CDM handles
those ok. CF should be upgraded to allow ISO strings also. time since
reference date is not good for very large ranges of time.

Ill just add that udunits never wanted to be a calendaring library,
and shouldnt be used anymore for that. Im relying on joda-time (and
its successor threeten) to be the expert in calendering, so i dont
have to. I think the netcdf-C library now uses some CDAT (?) code for
its calendaring, but Im sure theres other standard libraries that
could be used. Anyone have candidate libraries in C or Python for
robust calendering

In short, we should rely on clear encoding standards (eg ISO8601) with
reference software, rather than implementations like udunits that
eventually go away.

John

PS: I think ill cross post to cf, just to throw some gasoline on the
fire ;), and maybe some broader viewpoints.

On 12/5/2012 10:24 AM, Don Murray (NOAA Affiliate) wrote:

Hi Gerry-

On 12/5/12 9:42 AM, Gerry Creager - NOAA Affiliate wrote:

There are other datasets with reference to 1-1-1. I've seen them most
recently in some ocean models.


And the ESRL/PSD NCEP reanalysis datasets use it.

Don


On Wed, Dec 5, 2012 at 10:16 AM, Don Murray (NOAA Affiliate)
don.mur...@noaa.gov mailto:don.mur...@noaa.gov wrote:

 John-

 I meant to send this to support-netcdf-java, but perhaps  
others on

 the list might have the same problem.


 On 12/4/12 4:51 PM, John Caron wrote:

 On 12/4/2012 4:09 PM, Don Murray (NOAA Affiliate) wrote:

 Hi-

 I was just trying to access the NOAA/ESRL/PSD  Outgoing
Longwave
 Radiation (OLR) data using netCDF-Java 4.3 ToolsUI and
 noticed that the
 times are wrong.  If you open:


dods://www.esrl.noaa.gov/psd/__thredds/dodsC/Datasets/__uninterp_OLR/olr.day.mean.nc 





http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/uninterp_OLR/olr.day.mean.nc 







 in the ToolsUI grid viewer, the last time in the file is
 shown as
 2012-12-04 00Z.  However, the last time in the file is
actually
 2012-12-02 00Z.  Here is the time variable in that file:

  double time(time=3989);
:units = hours since 1-1-1 00:00:0.0;
:long_name = Time;
:actual_range = 1.7540448E7, 1.763616E7; // 
double

:delta_t = -00-01 00:00:00;
:avg_period = -00-01 00:00:00;
:standard_name = time;
:axis = T;

 netCDF-Java 4.2 and ncdump -t -v time (C version) 
show the

 correct
 date/times.


 hours from 1-1-1 

Re: [CF-metadata] CF calendars (was: problem with times in PSD dataset)

2012-12-06 Thread Dave Allured - NOAA Affiliate
All,

I agree that the current calendar definitions and usage have a lot of
problems.  Following are some proposals that are geared towards both
accuracy and backward compatibility.

1.  Please, NO default calendar.  Starting with the next CF version,
the calendar attribute should be required on all time coordinate
variables.

2.  Define a new and unique name for the mixed Julian/Gregorian
calendar.  My favorite would be julian-gregorian.  I could tolerate
mixed julian-gregorian.

3.  Recommend that mixed Julian/Gregorian never be used, except (a) in
genuine historical data sets that properly need to span the crossover;
and (b) to facilitate backward compatibility in existing data sets.

4.  Redefine gregorian to mean ONLY the proper Gregorian calendar
starting on the crossover date 1582 October 15.   Add the formal
constraint on this calendar, that any usage with dates earlier than
the crossover is prohibited.  Note that many existing data sets are
automatically compatible with this constraint, with no changes needed.

5.  Recommend gregorian, NOT proleptic_gregorian, as the CF preferred
calendar for dates associated with the modern era.

6.  Stop using standard as a calendar name.  Please be explicit.

--Dave

On Thu, Dec 6, 2012 at 2:37 PM, John Caron ca...@unidata.ucar.edu wrote:
 Hi Steve, Cecelia:

 I agree we should move to a better default calendar, probably
 proleptic_gregorian. We are stuck with mixed Gregorian for previous CF
 versions.

 I think we just need a proposal that says As of version X, the default
 calender is proleptic_gregorian. You should explicitly add the calendar
 attribute for clarity. Udunits is no longer considered to be the reference
 software for date/time.

 It would be nice to add advice to the user about calendar tradeoffs and how
 to do historical date matching for modelers, assuming we have useful things
 to say.

 I wonder if allowing ISO formatted strings in place of / in addition to the
 time since reference date form might be useful for historical time
 matching?

 Arguably having calendar reference libraries in Python and Java would be
 sufficient, possibly Python is preferable even to one in C.

 John

 On 12/6/2012 1:45 PM, Cecelia DeLuca wrote:


 Hi John and all,


 Thanks for this information. A few questions:

 * So you are not supporting standard Gregorian calendar even though
 thats the CF default?

 Correct, the climate modelers that we work with don't use it.  AFAIK the
 decision of
 CESM was to reject the CF default as unreasonable for modeling and use
 proleptic
 Gregorian.  GFDL might support it, I don't know.

 We could probably add standard Gregorian as a new calendar if people on
 the
 data side needed it.  However, we would be happier to join Steve in
 putting
 a stake in its heart!


 * Do modelers need to match historical dates? If so, what calendar
 do they use?

 I think the calendar used would depend on what was supported by the
 model and
 configuration, as well as the form of the date.  If you wanted to
 represent the date
 of something like a volcanic eruption you could probably make it work
 with most
 of the calendars.


 * Is the time library suitable to be released seperate from the ESMF
 code, eg as standalone C++?

 The time library can be used apart from other ESMF interfaces, and some
 modeling groups do use it that way.  I don't think we'd be willing to
 extract that
 part and support a separate build.   We did that years ago and it was a
 pain
 to maintain.  (We could try to isolate the documentation though, so users
 didn't have to wade through the whole reference manual to find the API.)

 With ESMP(ython), the scope of the interface is much smaller than
 ESMF proper and I think Ryan could set time functions up nicely.  It might
 make sense to represent it as a separate python package in that approach.
 Would python work for you, or would you really prefer C?

 - Cecelia


 John

 On 12/5/2012 3:01 PM, Cecelia DeLuca wrote:

 Hi John and all,

 ESMF has a mature time management library with calendars that are
 commonly
 used in climate/weather/related modeling. It supports the following: 360
 day,
 no leap, Gregorian (proleptic), Julian, Julian day, modified Julian day,
 and custom
 (including custom calendars that may change the length of days). ESMF,
 like CESM,
 doesn't support the standard Gregorian calendar because it doesn't make
 sense for modeling groups who may need to cross the Julian/Gregorian
 weirdness line (we've never gotten a request to support standard
 Gregorian from
 modelers).  ESMF has calendar, time, time interval, clock, and alarm
 constructs,
 can run time forward or backward, and prints times and time intervals in
 ISO8601
 format. CESM/CAM, NASA, NOAA, Navy and other codes use it.

 The most complete interface to the time lib is Fortran, and there are
 some basic
 time functions exposed in C (the lib is actually written in C++).
 However, we could
 wrap the time functions in Python and include them in 

Re: [CF-metadata] new standard name proposal for total ozone in DU

2012-12-06 Thread Schultz, Martin
Dear all,

  I would also like to support this proposal. And I thank Philip for his 
careful thinking.

 If these were the only aspects to consider then I would be against the new 
 std_name.  However, there
 are many more species than ozone, and ozone is the only one that I see 
 expressed as equivalent thickness.
 This means that we will surely end up wanting atmosphere_mole_content for 
 other species, so it makes
 sense to have it for ozone too.  For me, this tips the balance in favor of 
 accepting the proposed std_name.

 Wouldn't this even call for recommending the use of 
atmosphere_mole_content as preferred option? Since both quantities are 
essentially the same and both are reported in DU, it will be merely a naming 
thing in practice. The advantage being that it will be easier for outsiders to 
understand that an atmosphere_mole_content of ozone is the same concept as an 
atmosphere_mole_content of some other species, whereas this gets lost if the 
default for ozone is equivalent_thickness_at_stp_of_atmosphere_ozone_content 
while all other compounds use atmosphere_mole_content.

Should we even go as far as to deprecate the use of 
equivalent_thickness_at_stp_of_atmosphere_ozone_content?

Philip also raises a good point with respect to alias names: has it been 
stated clearly that they must refer to exactly the same quantity? I believe 
they should, because if we allow trivial unit conversions to count as 
aliases, then even wavelength and frequency could be considered of aliases, 
which surely no one would want.

Best regards,

Martin


Date: Thu, 6 Dec 2012 23:41:16 +
From: Cameron-smith, Philip cameronsmi...@llnl.gov
To: alison.pamm...@stfc.ac.uk alison.pamm...@stfc.ac.uk,
christophe.le...@aeronomie.be christophe.le...@aeronomie.be
Cc: victoria.benn...@stfc.ac.uk victoria.benn...@stfc.ac.uk,
cf-metadata@cgd.ucar.edu cf-metadata@cgd.ucar.edu
Subject: Re: [CF-metadata] new standard name proposal for total ozone
in DU
Message-ID:
298f51abd432da4288ce6b8c469a2afc338...@prdexmbx-04.the-lab.llnl.gov
Content-Type: text/plain; charset=us-ascii

Hi All,

After considerable thought, I do support addition of this std_name, but 
recommend that we add a comment to the description (as described below).

The problem is that

atmosphere_mole_content_of_ozone (proposed, units = moles/m2, typically 
expressed in DU)

and

equivalent_thickness_at_stp_of_atmosphere_ozone_content (already in CF, units = 
m, typically expressed in DU)

are essentially the same. Although they have nominally different units, the 
usual unit used in both cases is Dobson Units (DU).  1 DU was originally 
defined as 10 micrometers of ozone at STP (ie a unit of distance), but can 
equivalently defined as 446.2... micromoles/m2 (ie, related to 'moles/m2'), see 
http://en.wikipedia.org/wiki/Dobson_unit.  The conversion is trivially done 
through the ideal gas law.

A user putting ozone column data into CF is just as likely to use one std_name 
as the other, and use DU for the units in either case.  It would be appropriate 
to compare the data directly (with no unit conversion if both are put in as DU).

Hence, different datasets may contain the same data using different std_names, 
which isn't ideal.

On the other hand, the official units are different, and we have a related 
issue where we have separate std_names for quantities in 'moles' and 'mass', 
which are often trivial to convert between in many cases.

If these were the only aspects to consider then I would be against the new 
std_name.  However, there are many more species than ozone, and ozone is the 
only one that I see expressed as equivalent thickness.  This means that we will 
surely end up wanting atmosphere_mole_content for other species, so it makes 
sense to have it for ozone too.  For me, this tips the balance in favor of 
accepting the proposed std_name.

Unfortunately, I don't think we can mitigate the problems using an alias 
because the std_names have different official units.

Hence, I propose that we simply add a note at the end of the descriptions for 
atmosphere_mole_content_of_ozone and 
equivalent_thickness_at_stp_of_atmosphere_ozone_content alerting users to the 
existence of the other std_name:

Note: Ozone columns can be stored in either 
equivalent_thickness_at_stp_of_atmosphere_ozone_content or 
atmosphere_mole_content_of_ozone.

Best wishes,

 Philip

---
Dr Philip Cameron-Smith, p...@llnl.gov, Lawrence Livermore National Lab.
---




Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498