Skip to content
Derrick Snowden edited this page Jan 6, 2014 · 54 revisions

NcSOS adds a OGC SOS service to your existing THREDDS server.

You will need a working THREDDS installation of a least 4.3.16 to run NcSOS.

Quick Links

  1. Mailing list: https://groups.google.com/forum/#!forum/ncsos
  2. Documentation wiki: https://github.com/asascience-open/ncSOS/wiki
  3. Source repository: https://github.com/asascience-open/ncSOS/
  4. Issues and Ideas: https://github.com/asascience-open/ncSOS/issues?state=open
  5. Get source/installers: https://github.com/asascience-open/ncSOS/releases

Installation

  1. Download ncSOS.zip (RC7-SNAPSHOT)

  2. Extract ncSOS.zip into a local directory

  3. Copy the ncSOS.jar into your $TOMCAT_HOME/webapps/thredds/WEB-INF/lib directory.

  4. Copy the sos-servlet.xml configuration file into the $TOMCAT_HOME/webapps/thredds/WEB-INF directory.

  5. Add two new servlet mappings to your $TOMCAT_HOME/webapps/thredds/WEB-INF/web.xml file:

    <servlet>
        <servlet-name>sos</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>sos</servlet-name>
        <url-pattern>/sos/*</url-pattern>
    </servlet-mapping>
  6. Add the following service definition to enable SOS in your THREDDS catalog XML files:

    <service name="sos" serviceType="SOS" base="/thredds/sos/" />
  7. Restart the web application server.

Alternatively, you can download a THREDDS war file that is pre-setup with NcSOS (bypassing the above installation steps) here.

Supported Datasets

NcSOS works with datasets that can be loaded as an ANY_POINT FeatureType using the NetCDF-Java library. A mapping from CF-1.6 Discrete Sampling Geometries to NetCDF-Java Point Feature Types to NcSOS offerings is below.

Note: NetCDF-Java added support for the CF-1.6 Discrete Sampling Geometries in version 4.3. Any version prior to 4.3 will not work with NcSOS.

CF-1.6 NetCDF-Java What NcSOS Offers
Point PointFeature Point
Many Points PointFeatureCollection Many Points
Profile ProfileFeature Profile
Many Profiles ProfileFeatureCollection Many Profiles
Timeseries StationTimeSeriesFeature Timeseries
Many Timeseries StationTimeSeriesFeatureCollection Many Timeseries
TimeseriesProfile StationProfileFeature TimeseriesProfile
Many TimeseriesProfiles StationProfileFeatureCollection Many TimeseriesProfiles
Trajectory TrajectoryFeature Trajectory
Many Trajectories TrajectoryFeatureCollection Many Trajectories
TrajectoryProfile SectionFeature Trajectory with a profile of data (ranging Z) at each point
Many TrajectoryProfiles SectionFeatureCollection Many Trajectories with a profile of data (ranging Z) at each point

Compatible Templates

Working NetCDF templates for all types of the CF-1.6 Discrete Sampling Geometries are available for reference when creating files for NcSOS to serve. Each of these templates aligns with a corresponding CF-1.6 example. Each template folder has a description of the type of data used in each file and when to use such an encoding.

One or more parameters measured at a point in time and space.

Example: You went out on a boat one day and measured a few parameters. Some unrelated time in the future, you went out to a completely different point and measured a few parameters. The measurements have nothing in common. This could be represented as a CF-1.6 Point dataset containing two points.

Templates: https://github.com/asascience-open/CFPointConventions/tree/master/point

One or more parameters measured at a point space with varying time.

Example: Two wind sensors measuring wind speed and wing gust every 6 minutes for a year. The sensors did not move from their geographic location during the year. This could be represented as a CF-1.6 Timeseries dataset containing two 'stations'.

Templates: https://github.com/asascience-open/CFPointConventions/tree/master/timeSeries

A set of data points along a vertical line.

Example: The timeseries produced from bottom mounted ADCP.

Templates: https://github.com/asascience-open/CFPointConventions/tree/master/timeSeriesProfile

A set of data points along a 1D curve in time and space.

Example: A glider moving through the water column in the x,y, and z dimentions, and taking readings at its location.

Templates: https://github.com/asascience-open/CFPointConventions/tree/master/trajectory

Profiles taken along a trajectory.

Example: A glider moving through the water column in the x,y, and z dimentions, making water column profiles as it moves.

Templates: https://github.com/asascience-open/CFPointConventions/tree/master/trajectoryProfile

Will my dataset work?

If you already have your dataset in a THREDDS server, you can test if it will work with NcSOS by using the ToolsUI program from the NetCDF-Java library. You can Webstart the ToolsUI application here: ToolsUI JNLP Webstart.

Enter your OPeNDAP Data endpoint from THREDDS OPeNDAP Link

Into the ToolsUI FeatureTypes / PointFeature tab and press enter: Enter DAP URL into ToolsUI

If you see a row of data here, you are in good shape so far!

Working file!

Clicking through rows!

Supported Output Formats

OOSTethys SWE ("text/xml; subtype='om/1.0.0'")

GetCapabilities

DescribeSensor

GetObservation

Setup for Developing ncSOS

Clone this wiki locally