-
-
Notifications
You must be signed in to change notification settings - Fork 15
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
Consider updating EML’s unitDictionary list #289
Comments
Other things to consider:
|
@mobb agreed on all counts in your last two comments. I particularly like the addition of a |
Yes, while STMML is not widely used or maintained, we widely use it and maintain the fork as Matt said. I'm in favor of considering a replacement, but only if it is a superset of the functionality and expressivity of STMML, and does have wide use and maintenance. Replacing STMML will also involve a bunch of client software refactoring so that's something to consider. Did you have a replacement in mind @mobb, or were just noting how STMML kind of dead-ended from a maintenance/improvement perspective? |
@csjx - nope - no replacement in mind. Just pointing out that to the best of my knowledge, we are the only ones using it. |
For reference, the NCEAS data team has been investigating the |
👍 for Unidata units. (The library also has nice R bindings). It also looks like it would be straight-forward to generate STMML unitList definitions from the the Unidata udunits2 XML library |
As information managers increasingly use R and tools like ropensci::EML to generate metadata, an approach/framework that would allow for a tighter integration between R and services/packages that would aid documenting units would be very welcome. |
Re udunits2: The mapping between these are probably best placed in the EML-unit dictionary; to do so in udunits2 would be a major fork. I am not quite clear on their use of unit system. I think it maps to stmml unit type -- in that it represents a unique group of base units that a defined unit belongs to, so that conversions are not allowed between units in different systems. So the STMML unit type amountOfSubstanceConcentration is equivalent to the udunit system that is a quotient of [mole, volume]. Both volume quantities (quart, liter) and length^3 will work. I just can’t quite tell where these systems are defined. But if we simply include the mapping at the unit level, (per the above), udunit2 will take care of it. I think we are better off not generating a list of STMML units from udunits, though. For a couple of reasons:
That is debatable, of course. But unless someone has a good argument (and wants to do the coding), I will continue with the plan to vet the units in the LTER DB, and export the STMML from that. There may be other units we want to add to EML’s list, but the LTER DB is already backward compatible (with EML 2.1) and is a good representation of what is commonly used now. Regarding a nascent stmml-1.2, there are now two candidates for optional attributes for a unit:
|
Udunits understands symbolic units. So synonym_udunit2 would just be the EML abbreviation I believe. |
that occurred to me too - that abbreviation could hold this (be the synonym). but we have to watch out for character sets. using a dedicated attribute might make it more explicit. |
The character encoding for udunits2 is "US-ASCII". If there was a problem with characters, the dedicated attribute would then likely have to be the symbolic form of the unit spelled out with care to have numeric exponents... e.g. "meters3 per second". |
Hi folks! I am attaching a doc with the plan for EML2.2 units (it's a txt, because git won't accept markdown in attachments) A few highlights:
The plan in brief:Each unit has 5 important attributes (in xml, 4 attributes and 1 element):
If we promote the udunits package, then this group is no longer needed: unit/@unittype: We should talk about unit/@unittype, and whether it is important. There are some issues with the way these are currently named, and units assigned. unit/@unittype may be useful for grouping units. Still to do:
|
Hello,
I would love to help with this further developing any component of the unit list as needed. Cheers, |
Sorry to be so verbose, but I have one more thought. There is no mention of |
Hi Mitchell -
Thanks for the offer to help! There are a couple of areas:
|
I like this proposal, and think it will help with making units more effective.
|
Hello, I am attaching a preliminary draft (in tabular form) of the candidate LTER units and some ADC candidate units that I processed. Hopefully these are useful as a starting point. |
In doing a diff of the original
|
A couple of things:
A test doc containing an attribute with every unit from the 2.1 dictionary ought to work for assessing the backward compatibility of 2.2. |
See comment in issue #291 (comment) for discussion of unitTypes. |
Hello, |
Thanks, mm - maybe we should talk. are you editing manually? or do you have a way to reorganize the xml doc with a script or stylesheet? |
Hello, I have been mostly using |
reviewed @maier-m s additions; added the aforementioned 'unique' units, and corrected a few copy-paste errors. Updated many definitions (based on wikipedia info). pushing up the eml-unitDictionary.xml file. It would be great if someone else could review it. |
There are several issues logged which relate to the list of units built into EML. It would help constructors to have these cleaned up. The LTER created a unit resource so that constructors can reuse custom units created by other LTER sites, and see examples. It is a RDB (interface at http://unit.lternet.edu) containing both the built-in units and units contributed by many LTER sites. LTER also created guidelines for units best practice (for both their dictionary and EML), but these have not yet been routinely applied to the dictionary.
EDI needs a unit list for its own EML construction, and the LTER unit dictionary is a candidate. A “clean” list of units from the LTER-dictionary may be a good candidate for EML as well. So the following tasks benefit both groups.
Steps:
Related to issues: #139, #140, #115, #284, #285, #286, #287
The text was updated successfully, but these errors were encountered: