![Page 1: Mitglied in der Helmholtz-Gemeinschaft WCS Server for CF-NetCDF An Overview AQCoP Meeting, August 2011 | M. Decker, M. Schultz, K. Hoijarvi, R.B. Husar](https://reader034.vdocuments.us/reader034/viewer/2022051819/55162694550346a2308b5bfd/html5/thumbnails/1.jpg)
Mitg
lied
in d
er H
elm
holtz
-Gem
eins
chaf
t
WCS Server for CF-NetCDF An Overview
AQCoP Meeting, August 2011 | M. Decker, M. Schultz, K. Hoijarvi, R.B. Husar
![Page 2: Mitglied in der Helmholtz-Gemeinschaft WCS Server for CF-NetCDF An Overview AQCoP Meeting, August 2011 | M. Decker, M. Schultz, K. Hoijarvi, R.B. Husar](https://reader034.vdocuments.us/reader034/viewer/2022051819/55162694550346a2308b5bfd/html5/thumbnails/2.jpg)
Mitg
lied
in d
er H
elm
holtz
-Gem
eins
chaf
t
Functioning software package that implements a WCS compliant data server delivering NetCDF files Based on Python Runs on Windows and Linux Supports WCS 1.1.2 Protocol Supports NetCDF 3 and NetCDF 4 large file formats Supports station data from SQL database
10. April 2023 2
Introduction
![Page 3: Mitglied in der Helmholtz-Gemeinschaft WCS Server for CF-NetCDF An Overview AQCoP Meeting, August 2011 | M. Decker, M. Schultz, K. Hoijarvi, R.B. Husar](https://reader034.vdocuments.us/reader034/viewer/2022051819/55162694550346a2308b5bfd/html5/thumbnails/3.jpg)
Mitg
lied
in d
er H
elm
holtz
-Gem
eins
chaf
t
Metadata about... the service available datasets
Extraction of... a rectangular area (boundingbox) individual variables (fields) individual points or ranges in time (subsetting of other dimensions)
...the foundation for using interoperable web applications
10. April 2023 3
WCS gives you...
![Page 4: Mitglied in der Helmholtz-Gemeinschaft WCS Server for CF-NetCDF An Overview AQCoP Meeting, August 2011 | M. Decker, M. Schultz, K. Hoijarvi, R.B. Husar](https://reader034.vdocuments.us/reader034/viewer/2022051819/55162694550346a2308b5bfd/html5/thumbnails/4.jpg)
Mitg
lied
in d
er H
elm
holtz
-Gem
eins
chaf
t
10. April 2023 4
High-Level view of WCS
![Page 5: Mitglied in der Helmholtz-Gemeinschaft WCS Server for CF-NetCDF An Overview AQCoP Meeting, August 2011 | M. Decker, M. Schultz, K. Hoijarvi, R.B. Husar](https://reader034.vdocuments.us/reader034/viewer/2022051819/55162694550346a2308b5bfd/html5/thumbnails/5.jpg)
Mitg
lied
in d
er H
elm
holtz
-Gem
eins
chaf
t
10. April 2023 5
Example metadata response (GetCapabilities)
![Page 6: Mitglied in der Helmholtz-Gemeinschaft WCS Server for CF-NetCDF An Overview AQCoP Meeting, August 2011 | M. Decker, M. Schultz, K. Hoijarvi, R.B. Husar](https://reader034.vdocuments.us/reader034/viewer/2022051819/55162694550346a2308b5bfd/html5/thumbnails/6.jpg)
Mitg
lied
in d
er H
elm
holtz
-Gem
eins
chaf
t
10. April 2023 6
Software Dependencies
Operating system Windows (>= XP) GNU/Linux
Python >= 2.6 (but not 3 - yet)
Python web framework web.py (http://webpy.org/)
Python XML parser Lxml (http://lxml.de/)
Python numerical package NumPy (http://numpy.scipy.org/)
Logging Backend for web.py (optional)
WsgiLog (http://pypi.python.org/pypi/wsgilog/)
Python netcdf interface [currently part of server package]
PyNIO
(http://www.pyngl.ucar.edu/Nio.shtml
)More??
![Page 7: Mitglied in der Helmholtz-Gemeinschaft WCS Server for CF-NetCDF An Overview AQCoP Meeting, August 2011 | M. Decker, M. Schultz, K. Hoijarvi, R.B. Husar](https://reader034.vdocuments.us/reader034/viewer/2022051819/55162694550346a2308b5bfd/html5/thumbnails/7.jpg)
Mitg
lied
in d
er H
elm
holtz
-Gem
eins
chaf
t
10. April 2023 7
Server Concept
![Page 8: Mitglied in der Helmholtz-Gemeinschaft WCS Server for CF-NetCDF An Overview AQCoP Meeting, August 2011 | M. Decker, M. Schultz, K. Hoijarvi, R.B. Husar](https://reader034.vdocuments.us/reader034/viewer/2022051819/55162694550346a2308b5bfd/html5/thumbnails/8.jpg)
Mitg
lied
in d
er H
elm
holtz
-Gem
eins
chaf
t
10. April 2023 8
Server Directory Structure
OWS
web
static
datafed
testprovider
...
cache
NetCDF interface code
web interface code
web home (index.html, ...)
temp dir
example data dir
other data dirs
![Page 9: Mitglied in der Helmholtz-Gemeinschaft WCS Server for CF-NetCDF An Overview AQCoP Meeting, August 2011 | M. Decker, M. Schultz, K. Hoijarvi, R.B. Husar](https://reader034.vdocuments.us/reader034/viewer/2022051819/55162694550346a2308b5bfd/html5/thumbnails/9.jpg)
Mitg
lied
in d
er H
elm
holtz
-Gem
eins
chaf
t
Code is OpenSource under The MIT License Collaboration Tools:
Esipfed-Wiki: documentation SourceForge project page: forum, bugtracker DARCS distributed version control system: code
(currently) two main repositories: WUSTL and FZ Juelich easy to set up your own full-featured repository further information available on the SourceForge project page
Test-driven development process unit tests: OWS/test/unit.py integration tests: OWS/test/integ.py
10. April 2023 9
Development
![Page 10: Mitglied in der Helmholtz-Gemeinschaft WCS Server for CF-NetCDF An Overview AQCoP Meeting, August 2011 | M. Decker, M. Schultz, K. Hoijarvi, R.B. Husar](https://reader034.vdocuments.us/reader034/viewer/2022051819/55162694550346a2308b5bfd/html5/thumbnails/10.jpg)
Mitg
lied
in d
er H
elm
holtz
-Gem
eins
chaf
t
install 3rd party software (see dependencies)
get WCS server archive from SourceForge project page Windows: win32-ows-*.zip Linux: linux-ows-*.tar.gz
put archive contents into sensible location for server operation for example /usr/local/ows (Linux) or C:\ows (Windows)
add server dir to PYTHONPATH environment variable
10. April 2023 10
Getting Started I: Installation
![Page 11: Mitglied in der Helmholtz-Gemeinschaft WCS Server for CF-NetCDF An Overview AQCoP Meeting, August 2011 | M. Decker, M. Schultz, K. Hoijarvi, R.B. Husar](https://reader034.vdocuments.us/reader034/viewer/2022051819/55162694550346a2308b5bfd/html5/thumbnails/11.jpg)
Mitg
lied
in d
er H
elm
holtz
-Gem
eins
chaf
t
example data dir included: testprovider contains example files (index.html, wcs_capabilities.conf)
that you can adapt for your own data
create NetCDF test cubes call web/static/testprovider/create_all.py
extract metadata for operation: call web/owsadmin.py wcs_prepare testprovider
start the server: web/ows.py 1080
check if it works: http://localhost:1080/testprovider
10. April 2023 11
Getting Started II: test it
![Page 12: Mitglied in der Helmholtz-Gemeinschaft WCS Server for CF-NetCDF An Overview AQCoP Meeting, August 2011 | M. Decker, M. Schultz, K. Hoijarvi, R.B. Husar](https://reader034.vdocuments.us/reader034/viewer/2022051819/55162694550346a2308b5bfd/html5/thumbnails/12.jpg)
Mitg
lied
in d
er H
elm
holtz
-Gem
eins
chaf
t
create a data directory in web/static/ populate it with (CF-compliant) NetCDF files configure metadata
create wcs_capabilities.conf create human-readable index.html(optional, but encouraged) you can use the example files from testprovider
run metadata extractor: owsadmin.py wcs_prepare <data dir name> needs to be re-run after data dir content has been updated
also adapt the global index.html in web/static
10. April 2023 12
Getting Started III: serving your data (NetCDF)
![Page 13: Mitglied in der Helmholtz-Gemeinschaft WCS Server for CF-NetCDF An Overview AQCoP Meeting, August 2011 | M. Decker, M. Schultz, K. Hoijarvi, R.B. Husar](https://reader034.vdocuments.us/reader034/viewer/2022051819/55162694550346a2308b5bfd/html5/thumbnails/13.jpg)
Mitg
lied
in d
er H
elm
holtz
-Gem
eins
chaf
t
10. April 2023 13
Getting Started IV: serving station data (SQL) create a data directory in web/static/ create SQL views to:
location data: loc_code, lat, lon + optional parameter data: loc_code, lat, lon, datetime, parameter, flags
edit configuration: SQL database connection location SQL view name + fields time periodicity for each coverage SQL data view name + fields for each parameter
configure metadata as with NetCDF dataThe real work is done inside the SQL database when creatring SQL views, the rest is just listing the names!
![Page 14: Mitglied in der Helmholtz-Gemeinschaft WCS Server for CF-NetCDF An Overview AQCoP Meeting, August 2011 | M. Decker, M. Schultz, K. Hoijarvi, R.B. Husar](https://reader034.vdocuments.us/reader034/viewer/2022051819/55162694550346a2308b5bfd/html5/thumbnails/14.jpg)
Mitg
lied
in d
er H
elm
holtz
-Gem
eins
chaf
t
start the standalone server: ows.py [port number] (default port: 1080)
data will be available via WCS at http://localhost:<port>/<data dir>?...
10. April 2023 14
Getting Started V: running the server
![Page 15: Mitglied in der Helmholtz-Gemeinschaft WCS Server for CF-NetCDF An Overview AQCoP Meeting, August 2011 | M. Decker, M. Schultz, K. Hoijarvi, R.B. Husar](https://reader034.vdocuments.us/reader034/viewer/2022051819/55162694550346a2308b5bfd/html5/thumbnails/15.jpg)
Mitg
lied
in d
er H
elm
holtz
-Gem
eins
chaf
t
10. April 2023 15
Thank you for your attention!
![Page 16: Mitglied in der Helmholtz-Gemeinschaft WCS Server for CF-NetCDF An Overview AQCoP Meeting, August 2011 | M. Decker, M. Schultz, K. Hoijarvi, R.B. Husar](https://reader034.vdocuments.us/reader034/viewer/2022051819/55162694550346a2308b5bfd/html5/thumbnails/16.jpg)
Mitg
lied
in d
er H
elm
holtz
-Gem
eins
chaf
t
10. April 2023 16