Code Monkey home page Code Monkey logo

ocean-iso-metadata's People

Contributors

rsignell-usgs avatar tarankalra1 avatar zafdef avatar zdefne-usgs avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

ocean-iso-metadata's Issues

udunits

I think we have already captured this somewhere in this repository but cannot seem to find it now:

I believe my plan was to have one master Udunits file: udunits2_combined_whmsc.xml

and a trail of versioned Udunit files (e.g. udunits2_combined_whmsc_v3.xml)

The meaning of _v2, _v3, etc:
The higher version number means most recent. And the master file should be the same as the highest version. Master file is the one that should be copied to the same location with a user's NCML file. This is the default location in used coded in our custom XSL file that is used by ncISO.

This issue should stay open once I verify that we have all the versions of Udunits file in the Units folder and the master file is same with the highest version.

defining horizontal and vertical coordinate reference systems (CRS)

Horizontal (geospatial_bounds_crs)

The coordinate reference system (CRS) of the point coordinates in the geospatial_bounds attribute. This CRS may be 2-dimensional or 3-dimensional, but together with geospatial_bounds_vertical_crs, if that attribute is supplied, must match the dimensionality, order, and meaning of point coordinate values in the geospatial_bounds attribute. If geospatial_bounds_vertical_crs is also present then this attribute must only specify a 2D CRS. EPSG CRSs are strongly recommended. If this attribute is not specified, the CRS is assumed to be EPSG:4326. Examples: 'EPSG:4979' (the 3D WGS84 CRS), 'EPSG:4047'.

In ISO 19115-2: The MD_CRS from ISO 19111 is not included in ISO 19115

Vertical (geospatial_bounds_vertical_crs)

The vertical coordinate reference system (CRS) for the Z axis of the point coordinates in the geospatial_bounds attribute. This attribute cannot be used if the CRS in geospatial_bounds_crs is 3-dimensional; to use this attribute, geospatial_bounds_crs must exist and specify a 2D CRS. EPSG CRSs are strongly recommended. There is no default for this attribute when not specified. Examples: 'EPSG:5829' (instantaneous height above sea level), "EPSG:5831" (instantaneous depth below sea level), or 'EPSG:5703' (NAVD88 height).

In ISO 19115-2: /gmi:MI_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:extent/gmd:EX_Extent/gmd:verticalElement/gmd:EX_VerticalExtent/gmd:verticalCRS

Reviewer feed back

These need to be included in the final checks to make sure the USGS data releases are complete:

  1. The reviewers should catch most things, but these are some of the things that I am spot checking:
  2. The metadata date in gmd:dateStamp. This should be pretty recent to when the data release is checked, not 2 years ago.
  3. An FSP distribution liability statement in gmd:MD_LegalConstraints.
  4. Present and valid USGS Thesaurus terms in gmd:descriptiveKeywords.
  5. If the data are released by ScienceBase, then the distributor should be ScienceBase in gmd:distributionInfo
  6. I'm also checking to see if the element gmd:metadataMaintenance is present. Folks usually put in there what was used to create the metadata. And then we can further use that element when edits are made to the metadata to act as sort of a revision history.

name and description for applicationProfile needs to be automatically filled in.

Should reflect the info for the staff pages, and the distributor info page.

<gmd:protocol>
     <gco:CharacterString>WWW:LINK</gco:CharacterString>
</gmd:protocol>
<gmd:applicationProfile>
    <gco:CharacterString>web browser</gco:CharacterString>
</gmd:applicationProfile>
<gmd:name>
    <gco:CharacterString>
        <xsl:value-of select="$urlName"/>
    </gco:CharacterString>
</gmd:name>
<gmd:description>
    <gco:CharacterString>
        <xsl:value-of select="$urlDescription"/>
    </gco:CharacterString>
</gmd:description>

yaml file

yaml (add a comment for include and exclude)

things to add to yaml2ncml

  • license:
    to be used for "Please cite this as..."
                    <xsl:if test="count($license)">
                        <gmd:resourceConstraints>
                            <gmd:MD_LegalConstraints>
                                <gmd:useLimitation>
                                    <gco:CharacterString>
                                        <xsl:value-of select="$license[1]"/>
                                    </gco:CharacterString>
                                </gmd:useLimitation>
                            </gmd:MD_LegalConstraints>
                        </gmd:resourceConstraints>
                    </xsl:if>
  • CMG_Portal additional info (link, description, protocol etc..)
  • crosReference a sciencePaper
  • verticalExtent
  • institution to handle organisationName
	<gmd:organisationName>
		<gco:CharacterString>U.S. Geological Survey, Woods Hole Coastal and Marine Science Center</gco:CharacterString>
	</gmd:organisationName>
  • add fields for principalInvestigator?

differences in ISO xml when generated with ncISO and Thredds

Based on the comparison with the xml generated with ufncISO:
java -Xms1024m -Xmx1024m -jar ncISO-2.3.5.jar -ts http://geoport-dev.whoi.edu/thredds/sand/usgs/Projects/BBLEH/run071tRX/catalog.xml -num 1 -depth 20 -iso true

1
There are a couple of major differences between the ISO metadata generated with the Thredds ISO service and the ISO metadata generated with the ncISO, such as the fileIdentifier and the dimensions.

As reading the recommendations looks like one should combine the naming authority and the id to put back into the id field. The combination of the "naming authority" and the "id" should be a globally unique identifier for the dataset. It is recommended that the combination should be unique, but they are separate fields. ncISO does not do it either (or is it because Thredds server already automatically combine the two to get the unique identifier?).

2
Treatment of dimensions has changed in ncISO. See Dimension_Information. In addition to the temporal, vertical and topoloigcal dimensions there are now dimensions for column, row, tracers, boundary, xi-, eta- (rho, psi) and s-(w, rho).

3
Thredds netcdf http service is missing in ncISO and the netcdf subset service definition is simplified (has less fields). The solution may be using ncISO, but need find out why http service is not described.

4
However, in neither of them MD_Georeferenceable spatial representation is not automatically generated.

publication vs revision

the xml was coding as a "revision" not "publication". Is this hard coded? Is there something I could have done besides changing it by hand in the xml?

coverage_content_type is correct

not content_coverage_type

yaml2ncml need to be updated to change the wrong entries:

    <ncml:attribute name="content_coverage_type" value="modelResult" />

custom style sheet

Is the .xsl stylesheet the most updated version? I got another copy from John Warner today and wanted to make sure they were the same on this page. Just wanted to help update this utility.

xsl stylesheet update for spatial representation info vertical and temporal

I find that the axisDimensionProperties always misses the vertical resolution for my dataset.

     <gmd:axisDimensionProperties>
        <gmd:MD_Dimension>
           <gmd:dimensionName>
              <gmd:MD_DimensionNameTypeCode codeList="http://www.ngdc.noaa.gov/metadata/published/xsd/schema/resources/Codelist/gmxCodelists.xml#MD_DimensionNameTypeCode"codeListValue="vertical">vertical</gmd:MD_DimensionNameTypeCode>
           </gmd:dimensionName>
           <gmd:dimensionSize>
              <gco:Integer>16</gco:Integer>
           </gmd:dimensionSize>
           <gmd:resolution gco:nilReason="missing"/>.   <------MISSING
        </gmd:MD_Dimension>
     </gmd:axisDimensionProperties>

so I hardcoded it into my version of the xsl stylesheet (around line 300)

<xsl:if test="count($verticalVariableName)">
<xsl:call-template name="writeDimension">
<xsl:with-param name="dimensionType" select="'vertical'"/>
<xsl:with-param name="dimensionUnits" select="'meter'"/> <---HERE



<xsl:with-param name="dimensionResolution" select=" '0.01' "/>. <--- HERE
<xsl:with-param name="dimensionSize" select="/nc:netcdf/nc:dimension[contains(@name,$verticalVariableName)]/@Length"/>
</xsl:call-template>
</xsl:if>

I did the same thing for the temporal dimension

                        <xsl:if test="count($timeVariableName)">
                            <xsl:call-template name="writeDimension">
                                <xsl:with-param name="dimensionType" select="'time'"/>
                                <!--<xsl:with-param name="dimensionUnits" select="$temporalUnits[1]"/>-->
                                <xsl:with-param name="dimensionUnits" select="'seconds'"/>
                                <xsl:with-param name="dimensionResolution" select=" '3600' "/>
                                <!--<xsl:with-param name="dimensionResolution" select="$timeResolution[1]"/-->>
                                <xsl:with-param name="dimensionSize" select="/nc:netcdf/nc:dimension[contains(@name,$timeVariableName)]/@length"/>
                            </xsl:call-template>
                        </xsl:if>

I imagine this could be hard coded into the yaml file, however I am finding it hard to figure out the workflow for the spatial representation info.

file structure for nc/ncml file

I think it would be good to include within the /project_name/ folder where the .ncml and .nc files should be so that the command line for ncml -> iso works as intended. This should also include where the units stylesheet should go.

Links for unit descriptions

Links for unit descriptions do not work properly. Used a combination of following links t o fix.
8 occurrences of:
https://www.unidata.ucar.edu/software/udunits/udunits-2.2.25/udunits/udunits2-base.xml
16 occurrences of:
https://www.unidata.ucar.edu/software/udunits/udunits-current/udunits/udunits2-common.xml
3 occurrences of:
https://www.unidata.ucar.edu/software/udunits/udunits-2.2.25/udunits/udunits2-derived.xml
1 occurrence of:
https://www.unidata.ucar.edu/software/udunits/udunits-2.2.25/udunits/udunits2-accepted.xml
11 occurrences of:
http://www.xml-cml.org/unit/si/
15 occurrences of:
http://www.xml-cml.org/unit/nonSi/

However, rubric does not like the links that do not refer to an xml file.

Most recent version of units file udunits

Where to keep the most recent version of the udunits.xml file? It is probably the best to have it versioned _v1, _v2, etc and added to the Units folder in this repo? I thought I'd already decided on this. Maybe I did and decided that was not the best option, need to think about it again. Right now each data release has a copy of the latest version in the thredds folder for that specific run

udunits2_combined_CMHRP.xml

Add place keywords

Maybe include place keywords from USGS Thesaurus in addition to ISO keywords?

updating to new yaml

  • Can we please update to latest yaml file for example ?
  • Replace staff link url

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.