Dear Mark and all,
thanks for this discussion and the motion to approach udunits to advance
this issue. Reading through the posts on this, I have two comments, one
question, and one afterthought:
1. Why "no_unit" and not simply "none"? "no_unit" could also be "no_units" (in
fact the attribute name is unit*s*, so the missing "s" in "no_unit" may be
confusing). Being a Python fan, I like Python's concept of None as a value that
indicates that there is no value; just what we want here.
2. When you revise the respective section of the CF convention: in light of the
"CF 2" discussions we should think about making the units attribute mandatory.
Alternatively, I would suggest that a missing units attribute should mean
"none" rather than "1" and/or the units attribute should become mandatory for
numerical fields (a string array, for example of station names, may indeed not
require a units attribute).
3. Would you regard "" (empty string) as a valid alternative to "none"? [I
may have overlooked this in the previous discussions but wasn't sure if there
was a consensus view]
4. Coming back to the old "kg/kg" or "mole/mole" discussion: I guess it would
help if udunits would accept "terms that evaluate as '1' " with the
understanding that they ae equivalent to "1" as unit. Many (most) atmospheric
chemistry modelers are still operating in the grey zone with units attributes
of "nmole mole-1" which are a lot more readable than "1.e-9" and make a lot of
sense to them. Only if you enforce a CF checker on them they will abide, but
keep grunting. If one doesn't want to be too generic here, at least "kg/kg" and
"mole/mole" should be added to the udunits collection.
Best regards,
Martin
-----Original Message-----
From: CF-metadata [mailto:[email protected]] On Behalf Of
[email protected]
Sent: Tuesday, November 04, 2014 5:38 PM
To: [email protected]
Subject: CF-metadata Digest, Vol 139, Issue 4
Send CF-metadata mailing list submissions to
[email protected]
Message: 2
Date: Tue, 4 Nov 2014 16:38:12 +0000
From: "Hedley, Mark" <[email protected]>
To: Jim Biard <[email protected]>, "[email protected]"
<[email protected]>
Subject: Re: [CF-metadata] string valued coordinates
Message-ID:
<7819c496f4e10e47bcefbe74551aac9606f40...@exxcmpd1dag3.cmpd1.metoffice.gov.uk>
Content-Type: text/plain; charset="windows-1252"
Hello Jim
> A variable with no units attribute at all is also pretty unambiguously a
> marker for something that isn't intended to be a even a pure number.
If only this were the case. CF conventions state that:
Units are not required for dimensionless quantities. A variable with no units
attribute is assumed to be dimensionless. However, a units attribute specifying
a dimensionless unit may optionally be included.
http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#units
Thus, the absence of a unit is to be interpreted identically to a statement
that units = '1'
This is the current situation and it is likely that there is lots of data like
this around.
> Do we really need something more than a disambiguation of units = '1' vs no
> units attribute present?
Yes, I think we do: this situation is not ambiguous in CF, they are the same
thing.
What I believe we require is a udunits entity which is clearly 'there is no
unit of measure here, this is not dimensioned and not dimensionless'
The udunits value
''
delivers this functionality (I think), but it does not read very well, hence my
suggestion that we ask for a new entry in udunits, 'no_unit'
which is hopefully clear in its meaning and interpretation and which behaves
the same as '' : failing all udunits processing attempts and operating as 'not
a unit'
all the best
mark
________________________________
From: CF-metadata [[email protected]] on behalf of Jim Biard
[[email protected]]
Sent: 31 October 2014 15:18
To: [email protected]
Subject: Re: [CF-metadata] string valued coordinates
Mark,
I'm not clear on what you are suggesting that udunits do with 'no_unit' or '?'.
I had thought that the desire was to be able to differentiate between a pure
number (as you mention below) and a value (whether a string or a bit pattern)
that should not be interpreted as any number at all.
As the situation stands, a units value of '1' is pretty unambiguously a marker
for a pure number. We may need to modify docs to make this clearer, but I don't
think that poses a problem. A variable with no units attribute at all is also
pretty unambiguously a marker for something that isn't intended to be a even a
pure number. Again, we may need to modify docs to make this clearer. Because
these two concepts are somewhat conflated in the current documentation and
usage (area_type being an example), there is the issue of other places where
cleanup would be good going forward, but even if you have a units value of '1'
on a non-number, it doesn't hurt anything in practice.
Do we really need something more than a disambiguation of units = '1' vs no
units attribute present?
Grace and peace,
Jim
On 10/31/14, 11:04 AM, Hedley, Mark wrote:
Thank you for all the responses, it sounds like 'all of the above' is the
preferred response to my suggestions of plausible next steps. I will pursue
all of these.
Eizi's point about having no_unit in udunits is sound; I suggest we request
udunits use
'no_unit'
as a representation of
'?'
such that the behaviour is consistent; 'no_unit' should always raise an
exception when used in the udunits processing rules, exactly as '?' does.
With regard to meaning, I have found the wikipedia entry useful:
http://en.wikipedia.org/wiki/Dimensionless_quantity
`In dimensional analysis<http://en.wikipedia.org/wiki/Dimensional_analysis>, a
dimensionless quantity or quantity of dimension one is a
quantity<http://en.wikipedia.org/wiki/Quantity> without an associated physical
dimension<http://en.wikipedia.org/wiki/Dimensional_analysis>. It is thus a
"pure" number, and as such always has a dimension of
1.[1]<http://en.wikipedia.org/wiki/Dimensionless_quantity#cite_note-1>'
which it has sourced from
"1.8 (1.6) quantity of dimension one dimensionless
quantity"<http://www.iso.org/sites/JCGM/VIM/JCGM_200e_FILES/MAIN_JCGM_200e/01_e.html#L_1_8>.
International vocabulary of metrology ? Basic and general concepts and
associated terms (VIM).
ISO<http://en.wikipedia.org/wiki/International_Organization_for_Standardization>.
2008. Retrieved 2011-03-22.
This is a good enough source for me.
I will wait to give space for more comments, then, if people are content, I
will raise a change request with udunits.
Assuming this is accepted and processed I will raise a change request for CF to
add some text to 3.1.
Finally I will request a change for any standard_names which appear not to
follow this approach (I have only 'area_type' so far).
I hope this seems like a reasonable response.
[...]
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
Prof. Dr. Sebastian M. Schmidt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
_______________________________________________
CF-metadata mailing list
[email protected]
http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata