The NCAR Command Language (NCL) and the NetCDF Data Format Research Tools Presentation Matthew Janiga 10/30/2012.

Slides:



Advertisements
Similar presentations
GCSE Computing Lesson 5.
Advertisements

/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,
Streaming NetCDF John Caron July What does NetCDF do for you? Data Storage: machine-, OS-, compiler-independent Standard API (Application Programming.
The Future of NetCDF Russ Rew UCAR Unidata Program Center Acknowledgments: John Caron, Ed Hartnett, NASA’s Earth Science Technology Office, National Science.
McIDAS-V McIDAS-V The 5 th Generation of McIDAS by Tom Whittaker Space Science and Engineering Center University of Wisconsin-Madison USA with contributions.
Working with JavaScript. 2 Objectives Introducing JavaScript Inserting JavaScript into a Web Page File Writing Output to the Web Page Working with Variables.
Collaboration Tools and Techniques for ROMS Rich Signell,USGS Woods Hole, MA.
XP 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties Tutorial 10.
An Object-Oriented Approach to Programming Logic and Design Chapter 7 Arrays.
Chapter 3 Software Two major types of software
Computer Software.
HDF 1 NCSA HDF XML Activities Robert E. McGrath Mike Folk National Center for Supercomputing Applications.
Computer for Health Sciences
Chapter 9 Interactive Multimedia Authoring with Flash - Introduction to Programming “Computers and Creativity” Richard D. Webster, COSC 109 Instructor.
The NCAR Command Language (NCL) Ethan Alpert Visualization and Enabling Technologies Section, SCD, NCAR.
A First Program Using C#
1 of 14 Substituting HDF5 tools with Python/H5py scripts Daniel Kahn Science Systems and Applications Inc. HDF HDF-EOS Workshop XIV, 28 Sep
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Learning Objectives Data and Information Six Basic Operations Computer Operations Programs and Programming What is Programming? Types of Languages Levels.
Netcdf course Intro CF convention Netcdf excercises.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
Unidata’s TDS Workshop TDS Overview – Part II October 2012.
Higher Computing Computer Systems S. McCrossan 1 Higher Grade Computing Studies 1. Data Representation Data Representation – Why do we use binary? simplicity,
Unidata TDS Workshop TDS Overview – Part I XX-XX October 2014.
Development of ORBIT Data Generation and Exploration Routines G. Shelburne K. Indireshkumar E. Feibush.
NcML Aggregation vs Feature Collections. NcML functionality 1.Modify the objects found in CDM files – Especially Attributes – Don’t have to rewrite the.
Mid-Course Review: NetCDF in the Current Proposal Period Russ Rew
XP Tutorial 10New Perspectives on Creating Web Pages with HTML, XHTML, and XML 1 Working with JavaScript Creating a Programmable Web Page for North Pole.
EARTH SCIENCE MARKUP LANGUAGE Why do you need it? How can it help you? INFORMATION TECHNOLOGY AND SYSTEMS CENTER UNIVERSITY OF ALABAMA IN HUNTSVILLE.
DHTML AND JAVASCRIPT Genetic Computer School LESSON 5 INTRODUCTION JAVASCRIPT G H E F.
Eurostat Expression language (EL) in Eurostat SDMX - TWG Luxembourg, 5 Jun 2013 Adam Wroński.
Robert Crawford, MBA West Middle School.  Explain how the binary system is used by computers.  Describe how software is written and translated  Summarize.
Term 2, 2011 Week 1. CONTENTS Problem-solving methodology Programming and scripting languages – Programming languages Programming languages – Scripting.
Accessing Remote Datasets using the DAP protocol through the netCDF interface. Dr. Dennis Heimbigner Unidata netCDF Workshop August 3-4, 2009.
_______________________________________________________________CMAQ Libraries and Utilities ___________________________________________________Community.
240-Current Research Easily Extensible Systems, Octave, Input Formats, SOA.
Climate Data Formats Deniz Bozkurt
XP Tutorial 10New Perspectives on HTML and XHTML, Comprehensive 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties Tutorial.
Remote Data Access with OPeNDAP Dr. Dennis Heimbigner Unidata netCDF Workshop October 25, 2012.
Introduction Copyright © Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See
Introduction Copyright © Software Carpentry This work is licensed under the Creative Commons Attribution License See
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
The HDF Group Introduction to netCDF-4 Elena Pourmal The HDF Group 110/17/2015.
Comments from User Services C. Boquist/Code 423 The HDF Group Meeting 1 April 2009.
20081 Converting workspaces and using SALT & subversion to maintain them. V1.02.
SCD User Briefing NCL and PyNGL Visualization for the Geosciences Don Middleton with presentation material developed by Luca Cinquini, Mary Haley, Fred.
Chapter 11: Advanced Inheritance Concepts. Objectives Create and use abstract classes Use dynamic method binding Create arrays of subclass objects Use.
The Functions and Purposes of Translators Translators, Interpreters and Compilers - High Level Languages.
1 CSC160 Chapter 1: Introduction to JavaScript Chapter 2: Placing JavaScript in an HTML File.
Chapter 6: Modifying and Combining Data Sets  The SET statement is a powerful statement in the DATA step DATA newdatasetname; SET olddatasetname;.. run;
XP Tutorial 10New Perspectives on HTML, XHTML, and DHTML, Comprehensive 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties.
Update on Unidata Technologies for Data Access Russ Rew
Part 1 The Basics of Information Systems. Purpose of Information Systems Information systems ◦ Collects, stores and organizes information ◦ Retrieves.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Computer Language
Operating System Interface between a user and the computer hardware
Learning to Program D is for Digital.
CSCI-235 Micro-Computer Applications
Matlab Training Session 4: Control, Flow and Functions
Introduction to FERRET
National Scientific Library at Tbilisi State University
Tom Rink Tom Whittaker Paolo Antonelli Kevin Baggett.
Unit# 8: Introduction to Computer Programming
Chapter 10 Programming Fundamentals with JavaScript
NetCDF and Scientific Data Standard
HDF-EOS Workshop XXI / The 2018 ESIP Summer Meeting
NCL variable based on a netCDF variable model
Chapter 1 Introduction to Programming
Presentation transcript:

The NCAR Command Language (NCL) and the NetCDF Data Format Research Tools Presentation Matthew Janiga 10/30/2012

Where Can I Learn More?

Where Can I Learn More?

What is NCL? NCL is a complete language with types, variables, operators, expressions, conditional statements, loops, and functions and procedures. NCL can read many data formats: NetCDF, HDF, GRIB, ascii and csv, binary, WRF output, and more. – With some additional work it can read GEMPAK, McIDAS AREA, and others. NCL like MATLAB is an array based language. Arrays can be sent to functions (100s and growing) which perform computations, plotting functions (dozens and growing), or files (typically NetCDF but also ascii and binary).

What is NetCDF? NetCDF is a data format for storing arrays. Unlike ascii it also stores information describing the arrays. – Attributes: strings or numbers storing: units, source locations, references, methodology, etc…. – Dimension coordinates: Arrays which describe the dimensions: lat, lon, time, level, etc. Dimensions coordinates can have their own attributes. – NetCDF files are EASILY examined using GUIs (NCVIEW, IDV, Panopoly, etc.) or command line programs (ncdump, ncl_filedump). – NetCDF files can also be created, read, or manipulated by functions in libraries written for Fortran, C, Java, and more! How difficult is say… compiling a Fortran program that uses NetCDF? – Just type "nc-config --libs“ on the command line and all flags will be given to you! NetCDF is also fairly easy to read into programs other than NCL: R, MATLAB, etc. –

NetCDF Java The NetCDF Java is a jar file opened from the web that can convert many formats to NetCDF. / NetCDF Operator An efficient command line program for merging, splicing, and otherwise editing NetCDF files. I’ve found NCL to be much easier to use and powerful but this is another option.

NCVIEW NCVIEW is a simple GUI that lets you explore a NetCDF file: examine slices, time series, animate, and more. Look at the data you’ve generated before spending time to make a plot! e/netcdf/software.html NCVIEW is one of MANY programs that do this.

Advantages of NCL Free, stable, and extremely well documented. NCL is a fully fledged programming language not calls to compiled programs. Code yourself don’t “trick”. NCL allows you to read in large amounts of data into memory (64-bit vars > 2GB) and perform computations there instead of constantly reading and writing to disk. Creating your own procedures to call externally is exactly the same as writing a script (no Fortran or shell scripting necessary). Handles many vertical and horizontal projections and conversions from one to the other. NCL is very flexible, it can analyze any array of any dimension, type, with any coordinate description. – Store and process: trajectories, tracks, hovmollers, time series, polar orbit swaths and other non-uniform projections, radar data, geostationary satellite data, surface obs, profiler data, radiosondes, and pretty much anything you can think of.

Disadvantages of NCL NCL has a bit of a learning curve. Learning how to fully utilize it and code using arrays takes time. For some plots (plan plots and cross-sections) GEMPAK may be able to produce a similar plot with less code (assuming data is already in GEMPAK format). GEMPAK is still heavily used in operations. While there are lots of mathematical functions and procedures MATLAB has more types and variants. Similarly R has more statistical tools.

NCL Eye Candy

And more…..

What’s Else can NCL Do? OPeNDAP: The ability to grab what you want out of datasets directly from a server. Makes some local storage of data obsolete. – Available for many datasets and reanalyses. system and systemfunc – avail_files = systemfunc("ls -1") – time = systemfunc("date +'%s'") – system(“convert img.ps img.png &”) Use WRAPIT to send information to and from pre-compiled user-created or commercial Fortran or C programs – ols/WRAPIT.shtml ols/WRAPIT.shtml NCL for EMACS

More Features… ParNCL - Parallel version of NCL for analyzing large datasets. Earth System Modeling Framework (ESMF) regridding software. Earth System Modeling Framework NetCDF 4 – Ability to store and read groups “object-orientated variables”. MJO CLIVAR Diagnostics – MATLAB still more flexible.

The Example Page Documentation! The NCL webpage has 100s of examples each containing a picture of the plot and the code required to make it.

Function Documentation Every function has an exhaustive documentation page showing how to use it, describing how the calculation is performed, and providing examples.

The Example Code Libraries: NCLs and your own. Read data Perform the calculation

A Simple Plot

Code to make this plot