WPS Processes

We describe here the WPS processes available in Hummingbird.

WPS Capabilities

Using the default Hummingbird installation the GetCapabilities request is as follows:

http://localhost:8092/wps?service=WPS&version=1.0.0&request=GetCapabilities

The XML response of the WPS service is the following document:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?xml version="1.0" encoding="utf-8"?>
<wps:Capabilities service="WPS" version="1.0.0" xml:lang="en-CA" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsGetCapabilities_response.xsd" updateSequence="1">
	<ows:ServiceIdentification>
		<ows:Title>Hummingbird</ows:Title>
		<ows:Abstract>WPS processes for general tools used in the climate science community like cdo</ows:Abstract>
		<ows:Keywords>
			<ows:Keyword>WPS</ows:Keyword>
			<ows:Keyword>PyWPS</ows:Keyword>
		</ows:Keywords>
		<ows:ServiceType>WPS</ows:ServiceType>
		<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>
		<ows:Fees>None</ows:Fees>
		<ows:AccessConstraints>None</ows:AccessConstraints>
	</ows:ServiceIdentification>
	<ows:ServiceProvider>
		<ows:ProviderName></ows:ProviderName>
		<ows:ServiceContact>
			<ows:ContactInfo>
				<ows:HoursOfService>0:00-24:00</ows:HoursOfService>
				<ows:ContactInstructions>None</ows:ContactInstructions>
			</ows:ContactInfo>
		</ows:ServiceContact>
	</ows:ServiceProvider>
	<ows:OperationsMetadata>
		<ows:Operation name="GetCapabilities">
			<ows:DCP>
				<ows:HTTP>
					<ows:Get xlink:href="http://localhost:8092/wps?"/>
					<ows:Post xlink:href="http://localhost:8092/wps"/>
				</ows:HTTP>
			</ows:DCP>
		</ows:Operation>
		<ows:Operation name="DescribeProcess">
			<ows:DCP>
				<ows:HTTP>
					<ows:Get xlink:href="http://localhost:8092/wps?"/>
					<ows:Post xlink:href="http://localhost:8092/wps"/>
				</ows:HTTP>
			</ows:DCP>
		</ows:Operation>
		<ows:Operation name="Execute">
			<ows:DCP>
				<ows:HTTP>
					<ows:Get xlink:href="http://localhost:8092/wps?"/>
					<ows:Post xlink:href="http://localhost:8092/wps"/>
				</ows:HTTP>
			</ows:DCP>
		</ows:Operation>
	</ows:OperationsMetadata>
	<wps:ProcessOfferings>
		<wps:Process wps:processVersion="0.1">
			<ows:Identifier>cdo_sinfo</ows:Identifier>
			<ows:Title>CDO sinfo</ows:Title>
			<ows:Abstract>Apply CDO sinfo on NetCDF File.</ows:Abstract>
                        <ows:Metadata xlink:title="CDO" xlink:href="https://code.zmaw.de/projects/cdo" />
		</wps:Process>
		<wps:Process wps:processVersion="0.1">
			<ows:Identifier>cdo_operation</ows:Identifier>
			<ows:Title>CDO Operation</ows:Title>
			<ows:Abstract>Apply CDO Operation like monmax on NetCDF File.</ows:Abstract>
                        <ows:Metadata xlink:title="CDO" xlink:href="https://code.zmaw.de/projects/cdo" />
		</wps:Process>
		<wps:Process wps:processVersion="0.1">
			<ows:Identifier>cfchecker</ows:Identifier>
			<ows:Title>CF Checker</ows:Title>
			<ows:Abstract>The cfchecker checks NetCDF files for compliance to the CF standard.</ows:Abstract>
		</wps:Process>
	</wps:ProcessOfferings>
	<wps:Languages>
		<wps:Default>
			<ows:Language>en-CA</ows:Language>
		</wps:Default>
		<wps:Supported>
			<ows:Language>en-CA</ows:Language>
		</wps:Supported>
	</wps:Languages>
	<wps:WSDL xlink:href="http://localhost:8092/wps?WSDL"/>
</wps:Capabilities>

SpotChecker

Spot Checker checks a single dataset (NetCDF or OpenDAP) against a variety of compliance standards. Available compliance standards are the Climate and Forecast conventions (CF) and project specific rules for CMIP6 and CORDEX.

CFChecker

The cfchecker checks NetCDF files for compliance to the Climate Forcast Conventions (CF) standard.

The process expects one or more NetCDF files which should be checked and an optional parameter for the CF version.

WPS process description

Using the default Hummingbird installation the DescribeProcess request is as follows:

http://localhost:8092/wps?service=WPS&version=1.0.0&request=DescribeProcess&identifier=cfchecker

The XML response of the WPS service is the following document:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?xml version="1.0" encoding="utf-8"?>
<wps:ProcessDescriptions xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsDescribeProcess_response.xsd" service="WPS" version="1.0.0" xml:lang="en-CA">
    <ProcessDescription wps:processVersion="0.1" storeSupported="true" statusSupported="true">
        <ows:Identifier>cfchecker</ows:Identifier>
        <ows:Title>CF Checker</ows:Title>
        <ows:Abstract>The cfchecker checks NetCDF files for compliance to the CF standard.</ows:Abstract>
        <DataInputs>
            <Input minOccurs="1" maxOccurs="1000">
                <ows:Identifier>resource</ows:Identifier>
                <ows:Title>NetCDF File</ows:Title>
                <ows:Abstract>NetCDF File</ows:Abstract>
                <ComplexData>
                    <Default>
                        <Format>
                            <MimeType>application/x-netcdf</MimeType>
                        </Format>
                    </Default>
                    <Supported>
                        <Format>
                            <MimeType>application/x-netcdf</MimeType>
                        </Format>
                    </Supported>
                </ComplexData>
            </Input>
            <Input minOccurs="0" maxOccurs="1">
                <ows:Identifier>cf_version</ows:Identifier>
                <ows:Title>CF version</ows:Title>
                <ows:Abstract>CF version to check against, use auto to auto-detect the file version.</ows:Abstract>
                <LiteralData>
                    <ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#string">string</ows:DataType>
                    <ows:AllowedValues>
                            <ows:Value>auto</ows:Value>
                            <ows:Value>1.6</ows:Value>
                            <ows:Value>1.5</ows:Value>
                            <ows:Value>1.4</ows:Value>
                            <ows:Value>1.3</ows:Value>
                            <ows:Value>1.2</ows:Value>
                            <ows:Value>1.1</ows:Value>
                    </ows:AllowedValues>
                    <DefaultValue>auto</DefaultValue>
                </LiteralData>
            </Input>
        </DataInputs>
        <ProcessOutputs>
            <Output>
                <ows:Identifier>output</ows:Identifier>
                <ows:Title>CF Checker Report</ows:Title>
                <ComplexOutput>
                    <Default>
                        <Format>
                            <MimeType>text/plain</MimeType>
                        </Format>
                    </Default>
                    <Supported>
                        <Format>
                            <MimeType>text/plain</MimeType>
                        </Format>
                    </Supported>
                </ComplexOutput>
            </Output>
        </ProcessOutputs>
    </ProcessDescription>
</wps:ProcessDescriptions>

The WPS Parameters are:

resource
Is the input parameter to provide one or more URLs (http://, file://) to NetCDF files. It is a WPS ComplexData type with MIME-type application/x-netcdf.
cf_version
Is an optional input parameter to provide the CF version to check against. It is a WPS LiteralData type with a set of allowed values (1.1, 1.2, …, auto).
output
Is the output parameter to provide the report of the CF check as text document. It is a WPS ComplexData type with MIME-type text/plain.

WPS process execution

An example execution of the cfchecker process with public available data:

http://localhost:8092/wps?service=WPS&version=1.0.0&request=Execute&identifier=cfchecker&DataInputs=resource=http://www.esrl.noaa.gov/psd/thredds/fileServer/Datasets/ncep/vwnd.sfc.2015.nc&RawDataOutput=output

The process is called with key/value parameters, synchronously and with direct output (RawDataOutput).

The resulting text document of the cfchecker report looks like the following:

CDO

to be continued …