Use of OpenEarthTools to make netCDF

Slides:



Advertisements
Similar presentations
The Live Access Server (Access to observational data) Jonathan Callahan (University of Washington) Steve Hankin (NOAA/PMEL – PI) Roland Schweitzer, Kevin.
Advertisements

SubVersion SubVersion svn.oss.deltares.nl. workflow.
Serving society Stimulating innovation Supporting legislation Meeting on OGC Sensor Observation Service (SOS) for INSPIRE Michel Grothe,
NCAR Aviation Facility Processing Software. Current System Architecture Raw Data Processor On The Ground In Flight netCDF file WINDS Display Display &
Datawarehouse Workflow: ETLP Extract Transform LoadProvide Make user- friendly formats Dynamic database Charts & Maps Tools & websites Archive native formats.
Data Formats: Using self-describing data formats Curt Tilmes NASA Version 1.0 Review Date.
Data Standards Workflow Raw dataScriptsDatabase Store raw data in subversion to keep track of history Stored files (netcdf) accessible through the web.
DataTools Models Data, models and tools: Dealing with any complex hydraulic engineering problem invariable use is made of: data, models and tools.
Kick-off meeting Delft, April FP – SPACE no Data Fast First step in data management – repository Gerrit Hendriksen Gerben.
/2829 November 2007 WDF-Presentation V Common Wind Tunnel Data Format.
The Model Output Interoperability Experiment in the Gulf of Maine: A Success Story Made Possible By CF, NcML, NetCDF-Java and THREDDS Rich Signell (USGS,
The NCAR Command Language (NCL) and the NetCDF Data Format Research Tools Presentation Matthew Janiga 10/30/2012.
OpenEarth OpenEarthTools = Open source management of Data, Models and Tools for marine & coastal science & technology.. and what about More information.
Summary previous session 1 3 D:\ tools models add meta information netCDF on web server transform to netCDF netCDF on OPeNDAP server data.
The Future of NetCDF Russ Rew UCAR Unidata Program Center Acknowledgments: John Caron, Ed Hartnett, NASA’s Earth Science Technology Office, National Science.
Contributing source code to CSDMS Albert Kettner.
Collaboration Tools and Techniques for ROMS Rich Signell,USGS Woods Hole, MA.
Development of a Community Hydrologic Information System Jeffery S. Horsburgh Utah State University David G. Tarboton Utah State University.
Chapter 1 Understanding the Web Design Environment
Активное распределенное хранилище для многомерных массивов Дмитрий Медведев ИКИ РАН.
Data Standards Workflow Raw dataScriptsDatabase Store raw data in subversion to keep track of history Stored files (netcdf) accessible through the web.
workflow. SubVersion Version control Quality control: “Something adheres to some criteria” Without a properly defined something there.
Product Retrieval Statistics Canada / Statistique Canada Chuck Humphrey ACCOLEDS/DLI Training December, 2001.
Chapter 1 Variables in the Web Design Environment
Creating a Simple Page: HTML Overview
Data Formats: Using Self-describing Data Formats Curt Tilmes NASA Version 1.0 February 2013 Section: Local Data Management Copyright 2013 Curt Tilmes.
EARTH SCIENCE MARKUP LANGUAGE “Define Once Use Anywhere” INFORMATION TECHNOLOGY AND SYSTEMS CENTER UNIVERSITY OF ALABAMA IN HUNTSVILLE.
Netcdf course Intro CF convention Netcdf excercises.
NetCDF-4 The Marriage of Two Data Formats Ed Hartnett, Unidata June, 2004.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Unidata’s TDS Workshop TDS Overview – Part II October 2012.
DM_PPT_NP_v01 SESIP_0715_AJ HDF Product Designer Aleksandar Jelenak, H. Joe Lee, Ted Habermann Gerd Heber, John Readey, Joel Plutchak The HDF Group HDF.
Learning Web Design: Chapter 4. HTML  Hypertext Markup Language (HTML)  Uses tags to tell the browser the start and end of a certain kind of formatting.
2 3 ROMS/COAWST NcML file 4 5 Exploiting IOOS: A Distributed, Standards-Based Framework and Software Stack for Searching, Accessing, Analyzing and.
U.S. Department of the Interior U.S. Geological Survey Management of Oceanographic time-series data at the Woods Hole Coastal and Marine Science Center.
Mid-Course Review: NetCDF in the Current Proposal Period Russ Rew
The netCDF-4 data model and format Russ Rew, UCAR Unidata NetCDF Workshop 25 October 2012.
NcBrowse A Graphical netCDF/OPeNDAP Browser Donald Denbo 1 & John Osborne 2 1 UW/JISAO-NOAA/PMEL, 2 OceanAtlas Software
IOOS Model Data Interoperability Design ROMS POM WW3 WRF ECOM NcML Common Data Model OPeNDAP+CF WCS NetCDF Subset THREDDS Data Server Standardized (CF)
Integrated Grid workflow for mesoscale weather modeling and visualization Zhizhin, M., A. Polyakov, D. Medvedev, A. Poyda, S. Berezin Space Research Institute.
DAP4 James Gallagher & Ethan Davis OPeNDAP and Unidata.
_______________________________________________________________CMAQ Libraries and Utilities ___________________________________________________Community.
Climate Data Formats Deniz Bozkurt
IOOS National Glider Data Assembly Center
1-2-3 February 2006 –Page 1 Mersea Integrated System How to improve Access/Downloading services ? How far do we go in terms of standardization ?
SWGData and Software Access - 1 UCB, Nov 15/16, 2006 THEMIS SCIENCE WORKING TEAM MEETING Data and Software Access Ken Bromund GST Inc., at NASA/GSFC.
The HDF Group Introduction to netCDF-4 Elena Pourmal The HDF Group 110/17/2015.
NetCDF-4: Software Implementing an Enhanced Data Model for the Geosciences Russ Rew, Ed Hartnett, and John Caron UCAR Unidata Program, Boulder
Distributed Data Servers and Web Interface in the Climate Data Portal Willa H. Zhu Joint Institute for the Study of Ocean and Atmosphere University of.
Rich Signell Roland Viger Curtis Price USGS Community for Data Integration Feb 15, 2012.
NetCDF: Data Model, Programming Interfaces, Conventions and Format Adapted from Presentations by Russ Rew Unidata Program Center University Corporation.
Update on Unidata Technologies for Data Access Russ Rew
NcBrowse: A Graphical netCDF File Browser Donald Denbo NOAA-PMEL/UW-JISAO
General Architecture of Retrieval Systems 1Adrienn Skrop.
TSDS (HPDE DAP). Objectives (1) develop a standard API for time series-like data, (2) develop a software package, TSDS (Time Series Data Server), that.
Unidata Infrastructure for Data Services Russ Rew GO-ESSP Workshop, LLNL
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
Data Are from Mars, Tools Are from Venus
NEMO – Reformating tool
Efficiently serving HDF5 via OPeNDAP
Product Retrieval Statistics Canada / Statistique Canada Title page
Access HDF5 Datasets via OPeNDAP’s Data Access Protocol (DAP)
HDF-EOS Workshop XXI / The 2018 ESIP Summer Meeting
Practical work on NetCDF - CFPOINT
ExPLORE Complex Oceanographic Data
NCL variable based on a netCDF variable model
Contributing source code to CSDMS
Web Application Development Using PHP
WPS 4 ODV: on-the-fly server-side plotting of data (in Google Earth)
Presentation transcript:

Use of OpenEarthTools to make netCDF Extract Transform Load Provide Subversion repository add meta information data netCDF on OPeNDAP server models transform to netCDF netCDF on web server tools 2 1 data providers = data users 3 D:\... 3 http://…

netCDF on OPeNDAP server Contents Extract Transform Load Provide 2a use tools > 2b read data 2c > save as netCDF add meta information data netCDF on OPeNDAP server models transform to netCDF netCDF on web server tools 1 data providers = data users 3 D:\... 3 http://…

OpenEarthTools Download and install TortoiseSVN Subversion client http://subversion.tigris.org/ Make a checkout of OpenEarthTools (full or just Matlab subset) Start Matlab and go to OpenEarthTools >> cd F:\checkouts\OpenEarthTools\matlab\ Add OpenEarth paths to Matlab: >> oetsettings Inspect OpenEarthTools When many people work on oen thing, we need a few basic rules Document your functions and toolboxes Exploit the clickable links to files + directories in new Matlab version >> help functionname % in path >> help directoryname % in path Displays: all H1 lines (first comment line in file) or displays help in contents.m Add crosslinks: with 3 crosslinks, 6 clicks connect 729 files ≈ size OpenEarthTools See also

OpenEarthTools documentation www links other m function other directories in path

OpenEarthTools documentation >> help applications OpenEarth applications rijkswaterstaat - data: rijkswaterstaat data types (donar) delft3d - delftd file formats knmi - read knmi wind and meteo timeseries swan - swan toolbox >> help rijkswaterstaat donar_read - read ASCII text file from www.waterbase.nl getwaterbase - get data from waterbase.nl getwaterbasestation - get stations names for parameter getwaterbaseparameter - get parameter from waterbase.nl hmcz_read - read meteo file from hmcz@ rws >> help donar_read DONAR_READ read ASCII text file from www.waterbase.nl DAT = donar_read(fname,<keyword,value>) See also: getwaterbase, www.waterbase.nl contents.m H1 line donar_read.m % DONAR_READ read ASCII text file from www.waterbase.nl % % DAT = donar_read(fname,<keyword,value>) % See also: getwaterbase, www.waterbase.nl

netCDF on OPeNDAP server Contents Extract Transform Load Provide 2a use tools > 2b read data 2c > save as netCDF add meta information data netCDF on OPeNDAP server models transform to netCDF netCDF on web server tools 1 data providers = data users 3 D:\... 3 http://…

Read a raw dataset Always read data into one struct Separate columns (Excel) into fieldnames Include as much meta-info as possible in the struct Use English names Use SI units Use documentation: cells are block starting with %% (~ chapters) Align

Read a raw dataset Dedicated matlab tools >> xlsread >> textscan >> csvread Dedicated OpenEarthTools www.waterbase.nl >> donar_read http://www.knmi.nl/klimatologie/onderzoeksgegevens/potentiele_wind/ >> KNMI knmi_potwind http://www.knmi.nl/klimatologie/daggegevens/download.html >> knmi_etmgeg www.NODC.nl / SeaDataNet profile data (CTD): >> odvread Dedicate yourselves by peeling the file & add to OpenEarthTools: >> oetnewfun, load_template >> fgetl, fscanf % ascii >> fread % binary

Read a raw data waterbase

Read a raw data KNMI wind

Read a raw data KNMI meteo

Read a raw data NODC ODV

Test with some raw data Test for yourselve some raw data with dedicated scripts, choose one. Find the associated matlab function using the help documentation. Rijkswaterstaat www.waterbase.nl KNMI http://www.knmi.nl/klimatologie/onderzoeksgegevens/potentiele_wind/ http://www.knmi.nl/klimatologie/daggegevens/download.html NODC www.NODC.nl / SeaDataNet profile data (CTD):

Inspect a raw dataset raw data file Different types of raw data Different structs for time series. Hmm. Waterbase KNMI wind KNMI meteo How to unify? No guidelines for structs International guidelines for netCDF! Idea: collaborate! Each BwN participant transforms raw data they use anyway into netCDF Everyone can readily access previously used data in a uniform manner No standards available raw data struct International standards available netCDF

netCDF on OPeNDAP server Contents Extract Transform Load Provide 2a use tools > 2b read data 2c > save as netCDF add meta information data netCDF on OPeNDAP server models transform to netCDF netCDF on web server tools 1 data providers = data users 3 D:\... 3 http://…

netCDF What is netCDF How to make netCDF Matlab netCDF interface Conventions (vocabularies): Standard meta-info: CF convention + GNU/CC/? standard quantities: CF convention Standard units: Unidata UD units Standard coordinate codes: EPSG Save script in repository OpenEarthRawData: for dedicated script OpenEarthTools: for more general script Inspect and plot netCDF

netCDF = linked dimensions, variables, attributes Self-describing file: meta-info never lost no manual needed open file format guarantees future access units standard_name comment fillvalue z = f(z) t =f(t) standard_name standard_name long_name long_name units units # = f(#) long_name t units z chlorophyll = f(t,z,#) standard_name long_name units title conventions # website institute disclaimer copyright

Let’s look at a basic netCDF file nc_cf_example2nc.nc (in OpenEarthTools checkout) >> nc_dump(‘nc_cf_example2nc.nc’) ncBrowse HDFview Hierarchical structure as file system Attributes Dimensions Variables

netCDF (1) Any amount of meta-data (Attributes) can be appended. Handles large datasets (file > 4GB allowed with in 64-bit offset mode). Scaleable for future applications (divide data over multiple files). Open source specifications and interfaces. Fast data storage and retrieval (direct access binary). Small data storage (binary is small + internal zip option). Simple yet robust. “Following examination by 20 reviewers, NASA's Earth Science Data Systems Standards Process Group has concluded that netCDF classic should be adopted as a recommended standard. A major strength of netCDF classic, according to the reviewers, was that it has fostered data interoperability and exchange through its self-describing file format, platform independent architecture, and robust access methods. Additionally, its overall file format and metadata attributes were simple enough to be easily understood and applied yet robust enough to describe and store multidimensional data of different types in the same file” (source: Unidata news)

netCDF (2) 2 independent implementations of NetCDF interface (C & Java): reliable redundant Generally used, so there’s always someone who can offer help available. netCDF is de facto standard for coastal ocean circulation models (GOTM, ROMS, ECOM-SED and in the near future also Delft3D-FLOW). Lots of simple and free tools on the web that operate on NetCDF files: ncBrowse (NOAA) NCO Panoply (NASA) ncview (linux) Implemented in numerous commercial tools too Quickplot (Delft3D)

netCDF (3) Interfaces to sophisticated scientific data manipulation languages: C-interface Java-interface Fortran Python IDL Matlab Through java-interface (in OET) mexcdf for C-interface (in OET) Native matlab interface (since release 2008b) Merged with OPeNDAP-interface Handle netCDF file on web as if it on your own PC. Additional, widely accepted conventions for NetCDF implemented in main NetCDF viewers CF meta data convention

Creating a netCDF file See : nc_cf_example2nc.m Now step by step walking through Use nc_cf_example2nc.nc as template when doing it yourselves

>> nc_create_empty % 1 units standard_name comment fillvalue z = f(z) t =f(t) standard_name standard_name long_name long_name units units # = f(#) long_name t units z chlorophyll = f(t,z,#) standard_name long_name units title conventions # website institute disclaimer copyright

>> nc_create_empty % 0 Web-sources (waterbase, knmi) Read directly from web Or download to local cache Your own data: Save raw data in repository OpenEarthRawData with INSPIRE XML meta-data Then read data in Matlab and create empty netCDF file

>> nc_attput % 1 z = f(z) t =f(t) # = f(#) t z units standard_name comment fillvalue z = f(z) t =f(t) standard_name standard_name long_name long_name units units # = f(#) long_name t units z chlorophyll = f(t,z,#) standard_name long_name units title conventions # website institute disclaimer copyright

>> nc_attput % 1 See CF meta-data conventions: http://cf-pcmdi.llnl.gov/ OpenEarth conventions: disclaimer + terms_for_use $Headurl$

>> nc_add_dimension % 2 units standard_name comment fillvalue z = f(z) t =f(t) standard_name standard_name long_name long_name units units # = f(#) long_name t units z chlorophyll = f(t,z,#) standard_name long_name units title conventions # website institute disclaimer copyright

>> nc_add_dimension % 2

>> nc_addvar % 3 z = f(z) t =f(t) # = f(#) t z units standard_name comment fillvalue z = f(z) t =f(t) standard_name standard_name long_name long_name units units # = f(#) long_name t units z chlorophyll = f(t,z,#) standard_name long_name units title conventions # website institute disclaimer copyright

>> nc_addvar % 3

>> nc_varput % 4 CF convention vocabulary of quantities

>> nc_varput % 4 UNIDATA UD units package vocabulary of units

>> nc_varput % 4 z = f(z) t =f(t) # = f(#) t z units standard_name comment fillvalue z = f(z) t =f(t) standard_name standard_name long_name long_name units units # = f(#) long_name t units z chlorophyll = f(t,z,#) standard_name long_name units title conventions # website institute disclaimer copyright

>> nc_varput % 4

>> nc_dump % 5 z = f(z) t =f(t) # = f(#) t z units standard_name comment fillvalue z = f(z) t =f(t) standard_name standard_name long_name long_name units units # = f(#) long_name t units z chlorophyll = f(t,z,#) standard_name long_name units title conventions # website institute disclaimer copyright

>> nc_dump % 5

>> nc_dump % 5

Plot netCDF in free ncBrowse

Plot netCDF in free ncBrowse

Plot netCDF in Matlab

Plot netCDF in ArcGis ArcGIS ArcGis also reads and writes netcdf files. ArcGIS

Check netCDF in your own text editor (xml) xml representation of a netcdf file XML

Check netCDF in … IDV NCO JAVA netCDF tools Not so stable. Very useful #diff ncdiff -v time file1.nc file2.nc #compression & packingncpdq -4 -L 9 in.nc out.nc # Deflated packing (~80% lossy compression) #selecting variables by regex ncks -v '^Q..' in.nc # Q01--Q99, QAA--QZZ, etc. Useful JAVA netCDF tools Web hyperslabs, cool!

Summary current session Extract Transform Load Provide 2a use tools > 2b read data 2c > save as netCDF add meta information data netCDF on OPeNDAP server models transform to netCDF netCDF on web server tools 1 data providers = data users 3 D:\... 3 http://…

Next session: using netCDF from others Extract Transform Load Provide add meta information data netCDF on OPeNDAP server models transform to netCDF netCDF on web server tools 2 1 data providers = data users 3 D:\... 3 http://…

Read a raw data very large example WATERBASE returns 400 Mb ASCII files for water levels Has incomplete meta-info (no location code) Mixture of Amersfoort, (lat,lon), UTM31 coordinates

Read a raw data example Get ASCII wind file from KNMI website Read ASCII wind files as if they were one Transform to Delft3D standards (time in minutes): W2 = f(W) Write as Delft3D *.wnd file