- Data product Viewing and Downloading service
- Dynamic Timeseries visualizations and requests for graphs
- CDI Data Discovery and Access service
Data product Viewing and Downloading service
The analysed field generated by DIVA (Data-Interpolating Variational Analysis) can be visualised using the WMS protocol which supports the following requests:
This request is used to provide all layers of the map server. To every parameter and to every region corresponds a different WMS layer. An example of such a request would be:http://ec.oceanbrowser.net/emodnet/Python/web/wms?request=GetCapabilities&service=WMS&version=1.3.0
This request allows to extract a horizontal section of the 4D NetCDF file at the specified depth and time ( Example URL ).
Per default, the axis are not displayed on a map. This can be activated by setting the parameter DECORATED to true ( Example URL ).
The GetMap can also be used to extract a vertical section ( Example URL). The path of the section is encoded in the SECTION parameter: the longitude and latitude are separated by a comma and the coordinates by the pipe-symbol (|). The x-axis corresponds to the distance in arc degrees along the section (the first point is the origin) and the y-axis in the depth in meters. The parameter RATIO defines the aspect ratio of the vertical section.
Images can be returned in raster (PNG) and vector image formats (SVG, EPS, PDF). They can also be saved as a KML file so that the current layer can be visualized in programs like Google Earth and combined with other information imported in such programs. By providing multiple time instances, the web map server can also return animation in the WebM or MP4 format using this GetMap request (Example URL ). As the animation are generated dynamically, it usually takes a couple of minutes to create them. The frame rate of the animation is controlled through the parameter rate.
This request returns a simple XML file with the underlying value of the analysed field ( Example URL).
However, the WMS standards (in version 1.1.1 and 1.3.0) is not completely adequate for ocean analyses. A WMS allows to represent a data set according a list of different styles. A legend is attributed to each style which for scalar is colorbar. The legend for a given style is represented by a link to an image. A single legend is used for entire data set (for all depth layers and time instances in particular). However the ocean is strongly stratified and unique legend does not provide sufficient contrast because the ocean properties at depth are often very different from the properties near the surface. The solution is to make the legend dynamic so that it can be adjusted based on a range of value at a specified depth and time.
Dynamic Timeseries visualizations and requests for graphs
OceanBrowser uses three different services to enable end users to select, display and evaluate time series and profiles of data of a certain kind of parameter. OceanBrowser uses the OGC Web Services WFS and WPS for this purpose. These three services are:
- WFS - Get parameters request
- WFS - Get locations and features
- WPS - Get time series and plot in graph
http://EMODnet02.cineca.it/geoserver/wfs?service=WFS&request=GetCapabilities yields a capabilities document from the web feature service, or in other words all functionality provided by the services.
DescribeFeatureType describes all features described. In this case 2 services are available. The result of http://EMODnet02.cineca.it/geoserver/wfs?service=WFS&request=DescribeFeatureType http://EMODnet02.cineca.it/geoserver/wfs?service=WFS&request=DescribeFeatureType is displayed in the figure below. This information can be used to get a certain feature via the GetFeature statement. This GetFeature statement can be completed with a query to filter on geometry and all other available entities (columns in a database) of the type names available.
For instance http://emodnet02.cineca.it/geoserver/wfs?service=WFS&version=1.0.0&request=GetFeature&typeName=emodnet:p35_used&filter=<PropertyIsEqualTo><PropertyName>emodnet:p35_id</PropertyName><Literal>EPC00005</Literal></PropertyIsEqualTo> gives the contents of P35_ID EPC00005
Above is used for the first 2 services used by OceanBrowser
The first WFS is a very basic process that returns a table in xml with the list of available parameters. This table is used by OceanBrowser and displayed as follows:
The Add layer button lets OceanBrowser constructs a GetMap request on WMS layer which returns the data distribution.
The base URL of the WMS server for the data distribution is http://ec.oceanbrowser.net/emodnet/Python/web/wpswms
For example a full request would be:
The legend for the data distribution is a separate request. The colour represents the number of data points at the corresponding location.
Plot time series of certain location
This is done by the OGC WPS that Deltares created to be able to extract data directly from the database. WPS stands for Web Processing Service and acts as middle ware between client side software and server side software. In this case, WPS acts between OceanBrowser and a database with all observations. The above described WFS processes are used to extract information end-users are interested in. By selecting a location, data and metadata extracted from the database can be visualised in the form of a graph. WPS also makes use of:
GetCapabilities (what can you do for me, what processes are available)
Gives the list of processes available:
DescribeProcess (how does a process work)
This describes the available processes of the WPS, including the inputs required, their allowable formats, and the outputs that can be produced.http://EMODnet02.cineca.it/wps?service=wps&version=1.0.0&request=describeProcess&identifier=bbox_plot_timeseries
Execute (execute a process)
The execute process is built-up on the user choice which can be found on the right hand side of the OceanBrowser portal. OceanBrowser constructs the entire HTML including the ExecuteProcess statement which triggers the WPS.
The ExecuteProcess takes a number of input arguments specified by the user. The request looks like the following:http://EMODnet02.cineca.it/wps?DataInputs=[z=ADEPZZ01;zlim1=10;bbox=11.8750340184,11.9848973101,57.6323448275,57.742208087;starttime=2000-01-01T00:00:00Z;endtime=2001-01-01T00:00:00Z;parameter=EPC00007;zlim0=0;log10=0;markersize=12.0;alpha=1]&service=wps&request=Execute&Identifier=bbox_plot_timeseries&version=1.0.0
and it returns the graph and a list of pairs [EDMO code, Local_CDI] and links to the data shopping of the used observation is provided.
Eventually, end-users would like to gain insight in observation distribution for a certain location. OceanBrowser executes the process like the above example and retrieves a timeseries like the above picture.
For the same observation, different flavours can be given (from OceanBrowser). The following is a profile request, triggered from the OceanBrowser:http://EMODnet02.cineca.it/wps?DataInputs=[z=ADEPZZ01;zlim1=10;bbox=11.8750340184,11.9848973101,57.6323448275,57.742208087;starttime=2000-01-01T00:00:00Z;endtime=2001-01-01T00:00:00Z;parameter=EPC00007;zlim0=0;log10=0;markersize=12.0;alpha=1]&service=wps&request=Execute&Identifier=bbox_plot_profile&]version=1.0.0
and it returns a profile as in the image above.
In the example above, the EDMO codes and LOCAL_CDI’s generated and shown in OceanBrowser for the profile above looks like the following:
- EDMO code: 729 - local CDI: Vand_111095
- EDMO code: 729 - local CDI: Vand_111096
- EDMO code: 729 - local CDI: Vand_111097
- EDMO code: 729 - local CDI: Vand_111121
CDI Data Discovery and Access service
The CDI service has WMS and WFS services which are used primarily internally and by the OceanBrowser service for providing a layer of CDI entries and option for retrieving CDI metadata:
WMS and WFS service: http://geoservice.maris2.nl/wms/seadatanet/EMODnet_chemistry
Note: GetCapabilites indicates what is available. In CDI case it is both WMS and WFS. Implementing WFS is depending on the client and needs programming. We provide WFS request through WMS:
with BBox as LON,LAT,LON,LAT for the layer points.
OPeNDAP allows one to download and subset gridded datasets. The OPeNDAP product is nowadays included in the netCDF library so that most programs able to read netCDF files can also access remote datasets over OPeNDAP and download only the actual required data subset. OPeNDAP service is located at: http://ec.oceanbrowser.net:8081/data/emodnet-domains/. The following example uses Julia language. However, OPeNDAP is widely used (R, Python, etc.). A Jupyter notebook illustrates the use of an EMODnet Chemistry data product using OPeNDAP.