Preparation. Login to mirage[0,1,2].ucar.edu with X terminal. siliu% > ssh X

Size: px
Start display at page:

Download "Preparation. Login to mirage[0,1,2].ucar.edu with X terminal. siliu% > ssh X"

Transcription

1 Preparation Login to mirage[0,1,2].ucar.edu with X terminal siliu% > ssh X username@mirage1.ucar.edu Run an X application o mirage1> xclock o mirage1> xeyes Copy the examples to your directory mirage1>scp r /glade/home/siliu/ncl mydir

2 Introduction to NCL Si Liu Consulting Services Group NCAR/CISL/OSD/USS May 25, 2012

3 Outline Introduction to NCL NCL basic syntax Data processing File input and output NCL Graphics (visualization) Learn more in the future How to get help

4 Introduction to NCL

5 What is NCL NCAR Command Language (NCL) a product of the CISL at NCAR and sponsored by the NSF A free interpreted language designed specifically for scientific data processing and visualization Base on netcdf variable model

6 NCL The power and utility of the language are evident in three main areas: Data analysis File input and output Visualization

7 NCL features Features common to modern programming languages: types, variables, operators, expressions, conditional statements, loops, and functions Support array operations and procedures Manipulation of metadata Configuration of the visualizations Import of data from a variety of data formats

8 Download and installation A one-time registration is needed at Earth System Grid website. Download binaries or source code for various UNIX systems on Earth System Grid website. Install the compiled binaries recommended way Build from the source code not trivial on some platforms Available on CISL machines (Bluefire, Mirage)

9 Run NCL on mirage Logon to mirage1.ucar.edu with X terminal siliu% > ssh X username@mirage1.ucar.edu Run NCL in interactive mode or batch mode o Interactive Mode mirage1:siliu% >ncl ncl > ncl command here o Batch Mode ncl my_script.ncl

10 Variable model NCL is based on netcdf variable model Values: Scalar or array Meta data (useful in NCL) Attributes Coordinate variables _FillValue attribute (missing_value)

11 What is netcdf? NetCDF (Network Common Data Form) Developed at the Unidata Program Center A set of interfaces for array-oriented data access A freely-distributed collection of data access libraries Supported by many libraries and languages o C/C++, Fortran, Java, o NCL, IDL, Matlab, Ferret GrADS o NCO, CDO

12 netcdf features Self-Describing Portable Scalable Appendable Sharable Archivable

13 netcdf Coordinate Variable Single-dimension arrays. The dimension must be named. Dimension name is the same as the variable name. Monotonically increasing or decreasing. Example: time, longitude, latitude, etc.

14 Accessing netcdf file ncdump(unidata utility) o ncdump data_file o ncdump h data_file ncview ncl_filedump ncl_convert2nc

15 Example mirage1:siliu% > ncdump h input.nc mirage1:siliu% > nvview input.nc mirage1:siliu% > ncl_filedump input.nc mirage1:siliu% > ncl_convert2nc hdfdata.hdf Start ncl mirage1:siliu% >ncl ncl > file1=addfile("input.nc","r") ;Open data file ncl >TS=file1->TS ;import variables via addfile function ncl >printvarsummary(ts) ;Mot useful command!

16 NCL syntax

17 Data Types Basic numeric types float, double int64, uint64, Integer, uint long, ulong short, ushortr byte, ubyte Non-numeric types string character graphic file logical list More details about: NCL data types

18 Logical Expressions Greater than Greater than or equal to Less than Less than or equal to Equal to Not equal to And Or Not Exclusive or.gt..ge..lt..le..eq..ne..and..or..not..xor.

19 Algebraic Operators Plus + Work for string concatenation Minus and Negation - Multiply * Divide / Exponentiation ^ Modulus % Matrix Multiply # Greater than selection (clipping) > T=T>E where (T.lt.E) T=E Less than selection (clipping) < T=T<E where(t.gt.e) T=E

20 Syntax symbols ; comment -> use to (im/ex)port variables via addfile reference/create attributes! reference/create named dimension & reference/create coordinate variable { } coordinate subscripting $ enclose strings when import/export variables via addfile (/ /) array construction (variable); remove meta data [/ /] list construction; [:] all elements of a list : array syntax separator for named dimensions \ continue character :: syntax for external shared objects (fortran, C, etc.)

21 Create and Assign Coordinate Variables ; create 1D array: time, lon, lat time = (/ 2006,2007,2008,2009,2010, 2011/) lon = ispan(0, 360, 5) lat = ispan(-180, 180, 10) ; create 3D variable Q with named dimensions ;! reference/create named dimension Q!0 = time Q!1 = lon Q!2 = lat ;Assign coordinate variables to x ; & reference/create coordinate variable Q&time = time Q&lon = lon Q&lat = lat ;Assign value to Q Q=.

22 Array 0-based, row major o left dimension varies slowest; right varies fastest o dimension numbering left to right [0,1,..] Whole array operators o similar to f90/f95 Subscripts o Q(0,100,100) o Q(3:4, {180:360:10}, 30:50:5 )

23 Array example I_integer = (/1,2,3,4,5,6,7,8,9/) F_float = (/ 2.3, 4.3, 2.3, 4.3, 4.3 /) S_string = (/ Tom, Steve, Peter /) M_matrix = (/ (/1,2,3/), (/4,5,6/), (/7,8,9/) /) pretty-print 2D array (table) to standard out write_matrix (M_matrix, I5, Option)

24 Control Structure If-then-end if Do loop if (a.eq.b) then statements else statements end if Do while (N.gt.0) statements end do break and continue

25 Functions and Procedures Many Powerful Built-in functions and procedures o all, any, conform, ind, ind_resolve, dimsizes o fspan, ispan o ndtooned, onedtond, o mask, ismissing, where o system, systemfunc o dim_avg_n dimsizes User defined functions and procedures o Similar to Fortran and C

26 Meta data Read values only and _FillValue a = (/ file1->a /) Read variable and all meta data a = file1->a Computation causes loss of meta data b = a+5 Built-in functions cause loss of meta data Tavg = dim_avg_n(t, 0) Variable to variable transfer b = a b = b+5 Use wrapper functions Tavg = dim_avg_n_wrap(t, 0)

27 NCL file I/O

28 NCL File Input/Output Supported formats o netcdf (network Common Data Form) o HDF4/H5 (Hierarchical Data Format) o HDF-EOS (Earth Observing System) o GRIB-1/2 (Grid in Binary) o More Binary and ASCII o Sequential, direct

29 Reading and Writing Binary/ASCII data fbinrecread: reads multiple unformatted sequential records fbinnumrec: returns the number of unformatted sequential records fbindirread: reads specified record from a Fortran direct access file fbinread: same as fbinrecread but reads only one ieee rec fbinrecwrite: write unformatted fortran sequential recs fbindirwrite: write specified record; fortran direct access fbinwrite: write a binary file containing a single record

30 File I/O f = addfile (file.ext, status ) o fin = addfile ( my_input_file.nc", "r") o fout = addfile ( my_output_file.nc", "c") o fio = addfile ( /home/myncl/result.nc", "w") io_ex1.ncl file1=addfile("input.nc","r") ;open data file TS=file1->TS fout = addfile ( output.nc", c") fout@title = Output Example" fout->q = TS ;import variables via addfile function

31 Efficient netcdf Creation NCL functions to predefine a netcdf/hdf file: ; create global attributes, specify entering define mode fileatt = True fileattdef (fout, fileatt) ; predefine coordinate variables dimnames = (/ " time", "lat", "lon"/) dimsizes = (/ -1, nlat, mlon/) ; -1 means unknown dimunlim = (/ True, False, False/) filedimdef (fout, dimnames, dimsizes, dimunlim) ; predefine variable names, type, and dimensions filevardef (fout, "time", typeof(time), getvardims(time)) filevardef (fout, "lat", typeof(lat), getvardims(lat) ) filevardef (fout, "lon", typeof(lon), getvardims(lon) ) filevardef (fout, "Q", typeof(ts), getvardims( TS) ) ; create var attributes for each variable filevarattdef (fout, "Q ", TS) ; output data values only [use (/ /) to strip meta data] fout->time = (/ time /) fout->lat = (/ lat /) fout->lon = (/ lon /) fout->q = (/ TS /)

32 What else can NCL do Functions and procedures Command line options Using external codes (f77,f90, C) NCL as a scripting language More

33 NCL Graphics

34 Graphics interfaces Over 40 plotting interfaces Contours plot(over maps) Maps Streamlines plot(over maps) Primitives Vectors plot (over maps) XY plots Many highly specialized Polygon Histograms Bar charts Pie chart Skew-T Table Wind roses Taylor diagrams Plenty of application examples

35

36

37

38 CCSM conventions recognized by gsn_csm scripts _FillValue attribute recognized as missing value ( missing_value is NOT) Data attributes such as long_name and units may be used for plot titles Coordinate arrays used for axes values If data has 1D coordinate arrays and plotting over a map, then units attribute of degrees_east or degrees_north expected

39 NCL script structure Load all necessary libraries Data input Data processing Open a workstation Create/choose a proper color table Create/set resources Realize the visualization Date output

40 xy_ex1.ncl load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl" x = ispan(0,100,1) ; 201 points (-100,-99,...,99,100) y = cos(0.0628*x) wks = gsn_open_wks("x11","xy_ex1") res = False plot = gsn_csm_xy(wks,x,y,res) ; Call the gsn_csm function for drawing the curve.

41 Libraries Load the following two libraries in order. $NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl $NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl gsn_code.ncl: generic interfaces and supplemental routines gsn_csm.ncl: interfaces that look for CCSM conventions Loading order is important!

42 Color Table Set the color map before drawing to the frame. If you use the same color map a lot, can put in.hluresfile file (show it later) Can use one of the other 130+ color maps, or create your own.

43 example: coloratable1.ncl load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" begin wks = gsn_open_wks( x11","color") ;Open a works station (xwindow) ;wks = gsn_open_wks("ps","color) ; Open color.ps PostScript file ;gsn_define_colormap(wks,"rainbow") ; Change color map gsn_draw_colormap(wks) ; Draw color map. end

44 example: coloratable2.ncl colortable2.ncl ; Define a color map using named colors. cmap = (/"PeachPuff","BlueViolet","Burlywood3","Chartreuse","HotPink",\ "LightSteelBlue","Peru","Gray25","Khaki","Black","Yellow"/) coloratable3.ncl ; Change the color map using RGB triplets. cmap = (/(/0.,0.,0./), (/1.,1.,1./), \ (/1.,0.,0./), (/0.,1.,0./), \ (/0.,0.,1./), (/1.,0.,1./), \ (/1.,1.,0./), (/0.,1.,1./), \ (/.2,.2,.2/), (/.8,.8,.8/)/) gsn_define_colormap(wks,cmap) ; Set this new color map.

45 Resource types am annotation manager lb label bar tm tickmark app app lg legends tr transformation ca coordinate array mp maps tx text cn contour pm plot manager vc vectors ct coordinate array table pr primitives vf vector field dc data comm sf scalar field cp view port err error st streamline wk workstation gs graphic style tf transform ws workspace gsn gsn high-level interfaces ti title xy xy plots

46 xy example2 (demo) x = ispan(-100,100) ; 201 points (-100,99,...,99,100) y = cos(0.0628*x) wks = gsn_open_wks("x11","xy_ex1") res = True ; Create a variable to hold plot resources. res@xylinecolor = "Red" ; Line color (case insensitive) res@xylinethicknessf = 2 ; 2x as thick as default res@xydashpattern = 0 ; Line dash pattern 0 is default (solid) res@timainstring = "This is xy example 1" ; Main title res@tixaxisstring = "X Values" ; X axis title res@tiyaxisstring = "Y Values" ; Y axis title res@tryminf = min(y) ; Set axes limits for Y axis res@trymaxf = max(y) res@trxminf = min(x) ; Set axes limits for Y axis res@trxmaxf = max(x) plot = gsn_csm_xy(wks,x,y,res)

47 Contour example (demo) tf = addfile("meccatemp.cdf","r") T = tf->t(0,:,:) ; T will have metadata attached. wks = gsn_open_wks("x11","contour2d") gsn_define_colormap(wks,"rainbow") ; Change color map res = True ; Set some plot options res@gsnaddcyclic = False ; Don't add a cyclic point res@cnfillon = True ; Turn on contour fill res@cnlineson = False ; Turn off contour lines res@gsnspreadcolors = True ; Span full color map plot = gsn_csm_contour_map(wks,t,res) ; Call the gsn_csm function for

48 Vector example(demo) a = addfile("atmos.nc","r") ; Read in first time step u = a->u(0,15,:,:) ; and 15th level of v = a->v(0,15,:,:) ; atmospheric data. wks = gsn_open_wks("x11", "vector") gsn_define_colormap(wks,"rainbow") ; Change color map res = True ; Plot mods desired res@gsnpolar = "NH ; Northern hemisphere res@gsnleftstring = "Zonal Wind" ; Left subtitle res@gsnrightstring = "meters/second" ; Right subtitle res@vcrefmagnitudef = 20 ; Vector magnitude res@vcreflengthf = 0.09 ; Size of ref vector res@vcmindistancef = 0.02 ; Thins arrows near pole res@vcglyphstyle = "CurlyVector" ; Turns on curly vectors res@vcmonolinearrowcolor = False ; Multi-colored vectors res@gsnspreadcolors = True ; Span full color map plot = gsn_csm_vector_map(wks,u,v,res)

49 Want to learn more NCL website NCL Resources NCL functions NCL application examples NCL workshop 4 days long, 2 times a year June 12-15, 2012 Oct 9-12, 2012

50 Need help Send to CISL help Subscribe to NCL and NCAR Graphics lists and send a message to: ncl-install@ucar.edu ncl-talk@ucar.edu ncarg-talk@ucar.edu

51 References NCL Workshop Presentations (Dennis Shea, Mary Haley) NCL reference pages NCL Mini-Language Reference Manual NCL Mini Graphics Manual

Preparation. Login to yellowstone.ucar.edu with -X. my-machine> ssh X Run an X application to test your X forwarding

Preparation. Login to yellowstone.ucar.edu with -X. my-machine> ssh X Run an X application to test your X forwarding Preparation Login to yellowstone.ucar.edu with -X my-machine> ssh X username@yellowstone.ucar.edu Run an X application to test your X forwarding yslogin> xclock yslogin> xeyes Copy the examples to your

More information

File IO. Shapefiles Vis5D. Dennis Shea National Center for Atmospheric Research. NCAR is sponsored by the National Science Foundation

File IO. Shapefiles Vis5D. Dennis Shea National Center for Atmospheric Research. NCAR is sponsored by the National Science Foundation File IO pdf png Shapefiles Vis5D Dennis Shea National Center for Atmospheric Research NCAR is sponsored by the National Science Foundation I/O formats Supported formats [ need not know structure of file]

More information

Introduction to NCL File I/O

Introduction to NCL File I/O NetCDF 3/4 HDF-EOS 2/5 HDF 4/5 GRIB 1/2 Shapefile ASCII CCM Binary NCAR Command Language An Integrated Processing Environment Input Compute Fortran / C Output X11 PS EPS PDF SVG PNG NetCDF 3/4 HDF ASCII

More information

NCL variable based on a netcdf variable model

NCL variable based on a netcdf variable model NCL variable based on a netcdf variable model netcdf files self describing (ideally) all info contained within file no external information needed to determine file contents portable [machine independent]

More information

Introduction to NCL Graphics

Introduction to NCL Graphics Introduction to NCL Graphics Part 1 in a series September 26, 2014 Mary Haley Sponsored by the National Science Foundation Notes First in a series of lectures on NCL Graphics Don t know yet how many in

More information

Workshop Overview Objective comfortable with NCL; minimize learning curve workshop will not make you an expert access, process and visualize data

Workshop Overview Objective comfortable with NCL; minimize learning curve workshop will not make you an expert access, process and visualize data Introduction Dennis Shea NCAR is sponsored by the National Science Foundation Workshop Overview Objective comfortable with NCL; minimize learning curve workshop will not make you an expert access, process

More information

Workshop Overview Objective comfortable with NCL minimize learning curve access, process and visualize your data workshop will not make you an expert

Workshop Overview Objective comfortable with NCL minimize learning curve access, process and visualize your data workshop will not make you an expert Introduction Dennis Shea & Rick Brownrigg NCAR is sponsored by the National Science Foundation Workshop Overview Objective comfortable with NCL minimize learning curve access, process and visualize your

More information

Introduction to NCL Graphics. Mark Branson steals from Mary Haley and Dennis Shea

Introduction to NCL Graphics. Mark Branson steals from Mary Haley and Dennis Shea Introduction to NCL Graphics Mark Branson steals from Mary Haley and Dennis Shea My goals for this FAPCRD Familiarize you with the structure of an NCL graphics script Get you started with understanding

More information

NCL Regridding using ESMF

NCL Regridding using ESMF NCL Regridding using ESMF Version: 2018/10/18 Contact: Karin Meier-Fleischer Deutsches Klimarechenzentrum (DKRZ) Bundesstrasse 45a D-20146 Hamburg Germany Email: meier-fleischer@dkrz.de http://www.dkrz.de/

More information

PyNGL & PyNIO Geoscience Visualization & Data IO Modules

PyNGL & PyNIO Geoscience Visualization & Data IO Modules PyNGL & PyNIO Geoscience Visualization & Data IO Modules SciPy 08 Dave Brown National Center for Atmospheric Research Boulder, CO Topics What are PyNGL and PyNIO? Quick summary of PyNGL graphics PyNIO

More information

Data Processing. Dennis Shea National Center for Atmospheric Research. NCAR is sponsored by the National Science Foundation

Data Processing. Dennis Shea National Center for Atmospheric Research. NCAR is sponsored by the National Science Foundation Data Processing Dennis Shea National Center for Atmospheric Research NCAR is sponsored by the National Science Foundation Data Processing: Meta Data Know Your Data: most important rule in data processing

More information

Adapting Software to NetCDF's Enhanced Data Model

Adapting Software to NetCDF's Enhanced Data Model Adapting Software to NetCDF's Enhanced Data Model Russ Rew UCAR Unidata EGU, May 2010 Overview Background What is netcdf? What is the netcdf classic data model? What is the netcdf enhanced data model?

More information

Part VII. Caption and Annotation. Exercises and Tasks

Part VII. Caption and Annotation. Exercises and Tasks Part VII Caption and Annotation Exercises and Tasks Caption and Annotations NCL Workshop Exercises and Tasks Map annotations NCL Workshop Exercises and Tasks Map annotations (1/4) load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"

More information

Day 3: Diagnostics and Output

Day 3: Diagnostics and Output Day 3: Diagnostics and Output Adam Phillips Climate Variability Working Group Liaison CGD/NCAR Thanks to Dennis Shea, Andrew Gettelman, and Christine Shields for their assistance Outline Day 3: Diagnostics

More information

Introduction to NCL Graphics Paneling Plots

Introduction to NCL Graphics Paneling Plots Introduction to NCL Graphics Paneling Plots Part IV in the series November 18, 2014 Mary Haley Sponsored by the National Science Foundation You may want to bookmark this link http://www.ncl.ucar.edu/training/webinars/ncl_graphics/paneldemo/

More information

The Soil Database of China for Land Surface modeling

The Soil Database of China for Land Surface modeling Table of content Introduction Data description Data usage Citation Reference Contact 1. Introduction The Soil Database of China for Land Surface modeling A comprehensive and high-resolution gridded soil

More information

PAW: Physicist Analysis Workstation

PAW: Physicist Analysis Workstation PAW: Physicist Analysis Workstation What is PAW? A tool to display and manipulate data. Learning PAW See ref. in your induction week notes. Running PAW: 2 Versions:- PAW: 2 windows: A terminal window for

More information

GrADS for Beginners. Laura Mariotti

GrADS for Beginners. Laura Mariotti GrADS for Beginners Laura Mariotti mariotti@ictp.it Outline n What is GrADS and how do I get it? n GrADS essentials n Getting started n Gridded data sets n Displaying data n Script language n Saving your

More information

There is also a more in-depth GUI called the Curve Fitting Toolbox. To run this toolbox, type the command

There is also a more in-depth GUI called the Curve Fitting Toolbox. To run this toolbox, type the command Matlab bootcamp Class 4 Written by Kyla Drushka More on curve fitting: GUIs Thanks to Anna (I think!) for showing me this. A very simple way to fit a function to your data is to use the Basic Fitting GUI.

More information

NetCDF-4: : Software Implementing an Enhanced Data Model for the Geosciences

NetCDF-4: : Software Implementing an Enhanced Data Model for the Geosciences NetCDF-4: : Software Implementing an Enhanced Data Model for the Geosciences Russ Rew, Ed Hartnett, and John Caron UCAR Unidata Program, Boulder 2006-01-31 Acknowledgments This work was supported by the

More information

Mini-Language Reference Manual

Mini-Language Reference Manual NCAR Command Language (NCL) Mini-Language Reference Manual NCL Version 6.4.0 February 2017 This manual includes a brief description of the NCL language, file IO, printing, data processing, command line

More information

NCL on Yellowstone. Mary Haley October 22, 2014 With consulting support from B.J. Smith. Sponsored in part by the National Science Foundation

NCL on Yellowstone. Mary Haley October 22, 2014 With consulting support from B.J. Smith. Sponsored in part by the National Science Foundation Mary Haley October 22, 2014 With consulting support from B.J. Smith Sponsored in part by the National Science Foundation Main goals Demo two ways to run NCL in yellowstone environment Point you to useful

More information

SECTION 1: INTRODUCTION. ENGR 112 Introduction to Engineering Computing

SECTION 1: INTRODUCTION. ENGR 112 Introduction to Engineering Computing SECTION 1: INTRODUCTION ENGR 112 Introduction to Engineering Computing 2 Course Overview What is Programming? 3 Programming The implementation of algorithms in a particular computer programming language

More information

MATLAB 7. The Language of Technical Computing KEY FEATURES

MATLAB 7. The Language of Technical Computing KEY FEATURES MATLAB 7 The Language of Technical Computing MATLAB is a high-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, and numerical

More information

The netcdf- 4 data model and format. Russ Rew, UCAR Unidata NetCDF Workshop 25 October 2012

The netcdf- 4 data model and format. Russ Rew, UCAR Unidata NetCDF Workshop 25 October 2012 The netcdf- 4 data model and format Russ Rew, UCAR Unidata NetCDF Workshop 25 October 2012 NetCDF data models, formats, APIs Data models for scienbfic data and metadata - classic: simplest model - - dimensions,

More information

The ncvar Package. October 8, 2004

The ncvar Package. October 8, 2004 The ncvar Package October 8, 2004 Version 1.0-3 Date 2004-10-08 Title High-level R Interface to NetCDF Datasets Author Maintainer Depends R (>= 1.7), RNetCDF This package provides

More information

Contents. Table of Contents. Table of Contents... iii Preface... xvii. Getting Started iii

Contents. Table of Contents. Table of Contents... iii Preface... xvii. Getting Started iii Contents Discovering the Possibilities... iii Preface... xvii Preface to the First Edition xvii Preface to the Second Edition xviii Getting Started... 1 Chapter Overview 1 Philosophy Behind this Book 1

More information

Introduction to Matlab. Summer School CEA-EDF-INRIA 2011 of Numerical Analysis

Introduction to Matlab. Summer School CEA-EDF-INRIA 2011 of Numerical Analysis Introduction to Matlab 1 Outline What is Matlab? Matlab desktop & interface Scalar variables Vectors and matrices Exercise 1 Booleans Control structures File organization User defined functions Exercise

More information

Appendix A. Introduction to MATLAB. A.1 What Is MATLAB?

Appendix A. Introduction to MATLAB. A.1 What Is MATLAB? Appendix A Introduction to MATLAB A.1 What Is MATLAB? MATLAB is a technical computing environment developed by The Math- Works, Inc. for computation and data visualization. It is both an interactive system

More information

Computing Seminar Introduction Oct

Computing Seminar Introduction Oct Computing Seminar Introduction Oct 6 2010 Outline today Programming/computing basics terminology, high level concepts (variables, control flow, input/output) Before next week... Make sure you can login

More information

7C.2 EXPERIENCE WITH AN ENHANCED NETCDF DATA MODEL AND INTERFACE FOR SCIENTIFIC DATA ACCESS. Edward Hartnett*, and R. K. Rew UCAR, Boulder, CO

7C.2 EXPERIENCE WITH AN ENHANCED NETCDF DATA MODEL AND INTERFACE FOR SCIENTIFIC DATA ACCESS. Edward Hartnett*, and R. K. Rew UCAR, Boulder, CO 7C.2 EXPERIENCE WITH AN ENHANCED NETCDF DATA MODEL AND INTERFACE FOR SCIENTIFIC DATA ACCESS Edward Hartnett*, and R. K. Rew UCAR, Boulder, CO 1 INTRODUCTION TO NETCDF AND THE NETCDF-4 PROJECT The purpose

More information

Uniform Resource Locator Wide Area Network World Climate Research Programme Coupled Model Intercomparison

Uniform Resource Locator Wide Area Network World Climate Research Programme Coupled Model Intercomparison Glossary API Application Programming Interface AR5 IPCC Assessment Report 4 ASCII American Standard Code for Information Interchange BUFR Binary Universal Form for the Representation of meteorological

More information

IDL Primer - Week 1 John Rausch

IDL Primer - Week 1 John Rausch IDL Primer - Week 1 John Rausch 3 December 2009 A distillation of a CSU class 1 What is IDL? Interactive Data Language Like MATLAB, IDL is a high level computing language and visualization tool. It allows

More information

JME Language Reference Manual

JME Language Reference Manual JME Language Reference Manual 1 Introduction JME (pronounced jay+me) is a lightweight language that allows programmers to easily perform statistic computations on tabular data as part of data analysis.

More information

NetCDF and Scientific Data Durability. Russ Rew, UCAR Unidata ESIP Federation Summer Meeting

NetCDF and Scientific Data Durability. Russ Rew, UCAR Unidata ESIP Federation Summer Meeting NetCDF and Scientific Data Durability Russ Rew, UCAR Unidata ESIP Federation Summer Meeting 2009-07-08 For preserving data, is format obsolescence a non-issue? Why do formats (and their access software)

More information

Writing NetCDF Files: Formats, Models, Conventions, and Best Practices. Overview

Writing NetCDF Files: Formats, Models, Conventions, and Best Practices. Overview Writing NetCDF Files: Formats, Models, Conventions, and Best Practices Russ Rew, UCAR Unidata June 28, 2007 1 Overview Formats, conventions, and models NetCDF-3 limitations NetCDF-4 features: examples

More information

2D LINE PLOTS... 1 The plot() Command... 1 Labeling and Annotating Figures... 5 The subplot() Command... 7 The polarplot() Command...

2D LINE PLOTS... 1 The plot() Command... 1 Labeling and Annotating Figures... 5 The subplot() Command... 7 The polarplot() Command... Contents 2D LINE PLOTS... 1 The plot() Command... 1 Labeling and Annotating Figures... 5 The subplot() Command... 7 The polarplot() Command... 9 2D LINE PLOTS One of the benefits of programming in MATLAB

More information

Introduction to MatLab. Introduction to MatLab K. Craig 1

Introduction to MatLab. Introduction to MatLab K. Craig 1 Introduction to MatLab Introduction to MatLab K. Craig 1 MatLab Introduction MatLab and the MatLab Environment Numerical Calculations Basic Plotting and Graphics Matrix Computations and Solving Equations

More information

Day 15: Science Code in Python

Day 15: Science Code in Python Day 15: Science Code in Python 1 Turn In Homework 2 Homework Review 3 Science Code in Python? 4 Custom Code vs. Off-the-Shelf Trade-offs Costs (your time vs. your $$$) Your time (coding vs. learning) Control

More information

Python: Working with Multidimensional Scientific Data. Nawajish Noman Deng Ding

Python: Working with Multidimensional Scientific Data. Nawajish Noman Deng Ding Python: Working with Multidimensional Scientific Data Nawajish Noman Deng Ding Outline Scientific Multidimensional Data Ingest and Data Management Analysis and Visualization Extending Analytical Capabilities

More information

Dynamics of the Atmosphere GEMPAK Supplementary Handout

Dynamics of the Atmosphere GEMPAK Supplementary Handout Dynamics of the Atmosphere GEMPAK Supplementary Handout Vertical coordinates PRES Pressure TROP Tropopause level FRZL Freezing level CLDT Cloud-top level CLDL Cloud-base level HGHT Height above the ground

More information

WRF Post-Processing and Visualization

WRF Post-Processing and Visualization NCAR Earth System Laboratory National Center for Atmospheric Research NCAR is Sponsored by NSF and this work is partially supported by the Willis Research Network and the Research Partnership to Secure

More information

JSynoptic. Nicolas Brodu, October /18

JSynoptic. Nicolas Brodu, October /18 JSynoptic Nicolas Brodu, October 2006 1/18 JSynoptic A monitoring tool Prepare activity domain views on a system. Power Flight control Attitude XXX.YYY Speed A.B.C Reserve 10000 Command Move on Thermal

More information

WRF Utilities. Cindy Bruyère

WRF Utilities. Cindy Bruyère WRF Utilities Cindy Bruyère Overview Graphical Tools WRF Model Domain Design Intermediate Files netcdf GRIB1 / GRIB2 Verification Tools Domain Wizard Graphics Graphics NCL Graphical package WRF-ARW Only

More information

Golden Software, Inc.

Golden Software, Inc. Golden Software, Inc. Only $299! The most sophisticated graphing package available, providing the professional quality you need with the flexibility you want. Create one of the more than 30 different graph

More information

Parallel I/O and Portable Data Formats I/O strategies

Parallel I/O and Portable Data Formats I/O strategies Parallel I/O and Portable Data Formats I/O strategies Sebastian Lührs s.luehrs@fz-juelich.de Jülich Supercomputing Centre Forschungszentrum Jülich GmbH Jülich, March 13 th, 2017 Outline Common I/O strategies

More information

NetCDF and HDF5. NASA Earth Science Data Systems Working Group October 20, 2010 New Orleans. Ed Hartnett, Unidata/UCAR, 2010

NetCDF and HDF5. NASA Earth Science Data Systems Working Group October 20, 2010 New Orleans. Ed Hartnett, Unidata/UCAR, 2010 NetCDF and HDF5 NASA Earth Science Data Systems Working Group October 20, 2010 New Orleans Ed Hartnett, Unidata/UCAR, 2010 Unidata Mission: To provide the data services, tools, and cyberinfrastructure

More information

7 Control Structures, Logical Statements

7 Control Structures, Logical Statements 7 Control Structures, Logical Statements 7.1 Logical Statements 1. Logical (true or false) statements comparing scalars or matrices can be evaluated in MATLAB. Two matrices of the same size may be compared,

More information

Magics support in CDO

Magics support in CDO Magics support in CDO Creating of contour, vector and graph plots January 2016 Kameswarrao Modali, Ralf Müller, Uwe Schulzweida Max Planck Institute for Meteorology Contents 1 Introduction 3 2 Building

More information

STIPlotDigitizer. User s Manual

STIPlotDigitizer. User s Manual STIPlotDigitizer User s Manual Table of Contents What is STIPlotDigitizer?... 3 Installation Guide... 3 Initializing STIPlotDigitizer... 4 Project GroupBox... 4 Import Image GroupBox... 5 Exit Button...

More information

03-Creating_NetCDF. Stephen Pascoe. 1 Creating NetCDF data in Python. 1.1 NetCDF Model Revision. 1.2 Creating/Opening/Closing a netcdf file

03-Creating_NetCDF. Stephen Pascoe. 1 Creating NetCDF data in Python. 1.1 NetCDF Model Revision. 1.2 Creating/Opening/Closing a netcdf file 03-Creating_NetCDF Stephen Pascoe March 17, 2014 1 Creating NetCDF data in Python This notebook is based on the Tutorial for the netcdf4-python module documented at http://netcdf4- python.googlecode.com/svn/trunk/docs/netcdf4-module.html

More information

Programming. Dr Ben Dudson University of York

Programming. Dr Ben Dudson University of York Programming Dr Ben Dudson University of York Outline Last lecture covered the basics of programming and IDL This lecture will cover More advanced IDL and plotting Fortran and C++ Programming techniques

More information

EMERALD: Radar/Lidar Visualization and Manipulation Tool for MATLAB. User s Guide

EMERALD: Radar/Lidar Visualization and Manipulation Tool for MATLAB. User s Guide EMERALD: Radar/Lidar Visualization and Manipulation Tool for MATLAB User s Guide For version 20150326 March 31, 2015 Author: Affiliation: Dr. Gregory Meymaris University Corporation for Atmospheric Research

More information

MATLAB Introduction to MATLAB Programming

MATLAB Introduction to MATLAB Programming MATLAB Introduction to MATLAB Programming MATLAB Scripts So far we have typed all the commands in the Command Window which were executed when we hit Enter. Although every MATLAB command can be executed

More information

Basic Plotting. All plotting commands have similar interface: Most commonly used plotting commands include the following.

Basic Plotting. All plotting commands have similar interface: Most commonly used plotting commands include the following. 2D PLOTTING Basic Plotting All plotting commands have similar interface: y-coordinates: plot(y) x- and y-coordinates: plot(x,y) Most commonly used plotting commands include the following. plot: Draw a

More information

Chapter 1 Introduction to MATLAB

Chapter 1 Introduction to MATLAB Chapter 1 Introduction to MATLAB 1.1 What is MATLAB? MATLAB = MATrix LABoratory, the language of technical computing, modeling and simulation, data analysis and processing, visualization and graphics,

More information

Quick. Efficient. Versatile. Graphing Software for Scientists and Engineers.

Quick. Efficient. Versatile. Graphing Software for Scientists and Engineers. Quick. GrapherTM 3 Efficient. Versatile. Graphing Discover the easy-to-use and powerful capabilities of Grapher 3! Your graphs are too important not to use the most superior graphing program available.

More information

Transition Guide NCL à PyNGL

Transition Guide NCL à PyNGL Transition Guide NCL à PyNGL Version 1.1 February 2019 Karin Meier-Fleischer, DKRZ Table of Contents 1 Introduction... 4 2 Basics of the Languages NCL and Python... 5 3 Arithmetic Functions... 9 4 Read

More information

An Introduction to MATLAB

An Introduction to MATLAB An Introduction to MATLAB Day 1 Simon Mitchell Simon.Mitchell@ucla.edu High level language Programing language and development environment Built-in development tools Numerical manipulation Plotting of

More information

Programming Language Basics

Programming Language Basics Programming Language Basics Lecture Outline & Notes Overview 1. History & Background 2. Basic Program structure a. How an operating system runs a program i. Machine code ii. OS- specific commands to setup

More information

IPSL Boot Camp Part 5:

IPSL Boot Camp Part 5: IPSL Boot Camp Part 5: CDO and NCO Sabine Radanovics, Jérôme Servonnat March 24, 2016 1 / 33 Group exercise Suppose... We have Tasks 30 years climate model simulation 1 file per month, 6 hourly data netcdf

More information

Graphical Presentation of Data

Graphical Presentation of Data Graphical Presentation of Data Dr Steve Woodhead Supporting your argument Introducing Matlab Graph plotting in Matlab Matlab demonstrations Lecture Overview Lab two The assignment part two Next week Lecture

More information

netcdf Operators [NCO]

netcdf Operators [NCO] [NCO] http://nco.sourceforge.net/ 1 Introduction and History Suite of Command Line Operators Designed to operate on netcdf/hdf files Each is a stand alone executable Very efficient for specific tasks Available

More information

ENVI Tutorial: Introduction to ENVI

ENVI Tutorial: Introduction to ENVI ENVI Tutorial: Introduction to ENVI Table of Contents OVERVIEW OF THIS TUTORIAL...1 GETTING STARTED WITH ENVI...1 Starting ENVI...1 Starting ENVI on Windows Machines...1 Starting ENVI in UNIX...1 Starting

More information

Ordinary Differential Equation Solver Language (ODESL) Reference Manual

Ordinary Differential Equation Solver Language (ODESL) Reference Manual Ordinary Differential Equation Solver Language (ODESL) Reference Manual Rui Chen 11/03/2010 1. Introduction ODESL is a computer language specifically designed to solve ordinary differential equations (ODE

More information

Interpreting JULES output

Interpreting JULES output Interpreting JULES output E m m a Ro b i n s o n, C E H JULES Short Course L a n c a s t e r, J u n e 2 9 th 2016 Interpreting JULES output Dump files Contain enough information to fully describe model

More information

The Generic Earth Observation Metadata Standard (GEOMS) QA/QC Checks

The Generic Earth Observation Metadata Standard (GEOMS) QA/QC Checks The Generic Earth Observation Metadata Standard (GEOMS) QA/QC Checks Version 2.1 March 30, 2017 Author(s) Ian Boyd, BC Scientific Consulting LLC Co-author(s) Ann Mari Fjaeraa, NILU Martine De Mazière,

More information

Supercomputing and Science An Introduction to High Performance Computing

Supercomputing and Science An Introduction to High Performance Computing Supercomputing and Science An Introduction to High Performance Computing Part VII: Scientific Computing Henry Neeman, Director OU Supercomputing Center for Education & Research Outline Scientific Computing

More information

Introduction to NetCDF

Introduction to NetCDF Introduction to NetCDF NetCDF is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. First released in 1989.

More information

CITS2401 Computer Analysis & Visualisation

CITS2401 Computer Analysis & Visualisation FACULTY OF ENGINEERING, COMPUTING AND MATHEMATICS CITS2401 Computer Analysis & Visualisation SCHOOL OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING Topic 3 Introduction to Matlab Material from MATLAB for

More information

GMT. Generic Mapping Tools or Gravity, Magnetics and Topography. Lecture #1 Mapping and Plotting with GMT

GMT. Generic Mapping Tools or Gravity, Magnetics and Topography. Lecture #1 Mapping and Plotting with GMT GMT Generic Mapping Tools or Gravity, Magnetics and Topography Lecture #1 Mapping and Plotting with GMT GMT World Domination GMT Began as a set of subroutines to write Postscript commands Grew with Paul

More information

The HDF-EOS5 Tutorial. Ray Milburn L3 Communciations, EER Systems Inc McCormick Drive, 170 Largo, MD USA

The HDF-EOS5 Tutorial. Ray Milburn L3 Communciations, EER Systems Inc McCormick Drive, 170 Largo, MD USA The HDF-EOS5 Tutorial Ray Milburn L3 Communciations, EER Systems Inc. 1801 McCormick Drive, 170 Largo, MD 20774 USA Ray.Milburn@L-3com.com What is HDF-EOS? HDF (Hierarchical Data Format) is a disk-based

More information

Using the Matplotlib Library in Python 3

Using the Matplotlib Library in Python 3 Using the Matplotlib Library in Python 3 Matplotlib is a Python 2D plotting library that produces publication-quality figures in a variety of hardcopy formats and interactive environments across platforms.

More information

Dr Richard Greenaway

Dr Richard Greenaway SCHOOL OF PHYSICS, ASTRONOMY & MATHEMATICS 4PAM1008 MATLAB 3 Creating, Organising & Processing Data Dr Richard Greenaway 3 Creating, Organising & Processing Data In this Workshop the matrix type is introduced

More information

What is KNIME? workflows nodes standard data mining, data analysis data manipulation

What is KNIME? workflows nodes standard data mining, data analysis data manipulation KNIME TUTORIAL What is KNIME? KNIME = Konstanz Information Miner Developed at University of Konstanz in Germany Desktop version available free of charge (Open Source) Modular platform for building and

More information

Common Multi-dimensional Remapping Software CoR (Common Remap) V1.0 User Reference Manual

Common Multi-dimensional Remapping Software CoR (Common Remap) V1.0 User Reference Manual Common Multi-dimensional Remapping Software CoR (Common Remap) V1.0 User Reference Manual Li Liu, Guangwen Yang, Bin Wang liuli-cess@tsinghua.edu.cn Ministry of Education Key Laboratory for Earth System

More information

Constraint-based Metabolic Reconstructions & Analysis H. Scott Hinton. Matlab Tutorial. Lesson: Matlab Tutorial

Constraint-based Metabolic Reconstructions & Analysis H. Scott Hinton. Matlab Tutorial. Lesson: Matlab Tutorial 1 Matlab Tutorial 2 Lecture Learning Objectives Each student should be able to: Describe the Matlab desktop Explain the basic use of Matlab variables Explain the basic use of Matlab scripts Explain the

More information

JHDF5 (HDF5 for Java) 14.12

JHDF5 (HDF5 for Java) 14.12 JHDF5 (HDF5 for Java) 14.12 Introduction HDF5 is an efficient, well-documented, non-proprietary binary data format and library developed and maintained by the HDF Group. The library provided by the HDF

More information

Computational Modelling 102 (Scientific Programming) Tutorials

Computational Modelling 102 (Scientific Programming) Tutorials COMO 102 : Scientific Programming, Tutorials 2003 1 Computational Modelling 102 (Scientific Programming) Tutorials Dr J. D. Enlow Last modified August 18, 2003. Contents Tutorial 1 : Introduction 3 Tutorial

More information

HERIOT-WATT UNIVERSITY DEPARTMENT OF COMPUTING AND ELECTRICAL ENGINEERING. B35SD2 Matlab tutorial 1 MATLAB BASICS

HERIOT-WATT UNIVERSITY DEPARTMENT OF COMPUTING AND ELECTRICAL ENGINEERING. B35SD2 Matlab tutorial 1 MATLAB BASICS HERIOT-WATT UNIVERSITY DEPARTMENT OF COMPUTING AND ELECTRICAL ENGINEERING Objectives: B35SD2 Matlab tutorial 1 MATLAB BASICS Matlab is a very powerful, high level language, It is also very easy to use.

More information

KaleidaGraph Quick Start Guide

KaleidaGraph Quick Start Guide KaleidaGraph Quick Start Guide This document is a hands-on guide that walks you through the use of KaleidaGraph. You will probably want to print this guide and then start your exploration of the product.

More information

MATLAB Tutorial. Digital Signal Processing. Course Details. Topics. MATLAB Environment. Introduction. Digital Signal Processing (DSP)

MATLAB Tutorial. Digital Signal Processing. Course Details. Topics. MATLAB Environment. Introduction. Digital Signal Processing (DSP) Digital Signal Processing Prof. Nizamettin AYDIN naydin@yildiz.edu.tr naydin@ieee.org http://www.yildiz.edu.tr/~naydin Course Details Course Code : 0113620 Course Name: Digital Signal Processing (Sayısal

More information

Python Development Technical Note 4

Python Development Technical Note 4 Python Development Technical Note 4 Peter Higgins, October 1, 2018 Introduction Programmed data analysis, and resultant presentation graphics (especially done by me) needs to be accomplished without using

More information

TRINITAS. a Finite Element stand-alone tool for Conceptual design, Optimization and General finite element analysis. Introductional Manual

TRINITAS. a Finite Element stand-alone tool for Conceptual design, Optimization and General finite element analysis. Introductional Manual TRINITAS a Finite Element stand-alone tool for Conceptual design, Optimization and General finite element analysis Introductional Manual Bo Torstenfelt Contents 1 Introduction 1 2 Starting the Program

More information

Implementing a new suite of remapping functions within NCL

Implementing a new suite of remapping functions within NCL Implementing a new suite of remapping functions within NCL Mohammad Abouali SIPARCS Intern at CISL/NCAR, 2011 Computational Science Ph.D. Student at Joint Program between SDSU & CGU Mentor: David Brown

More information

Making data access easier with OPeNDAP. James Gallapher (OPeNDAP TM ) Duan Beckett (BoM) Kate Snow (NCI) Robert Davy (CSIRO) Adrian Burton (ARDC)

Making data access easier with OPeNDAP. James Gallapher (OPeNDAP TM ) Duan Beckett (BoM) Kate Snow (NCI) Robert Davy (CSIRO) Adrian Burton (ARDC) Making data access easier with OPeNDAP James Gallapher (OPeNDAP TM ) Duan Beckett (BoM) Kate Snow (NCI) Robert Davy (CSIRO) Adrian Burton (ARDC) Outline Introduction and trajectory (James Gallapher) OPeNDAP

More information

COS 140: Foundations of Computer Science

COS 140: Foundations of Computer Science COS 140: Foundations of Computer Science Variables and Primitive Data Types Fall 2017 Introduction 3 What is a variable?......................................................... 3 Variable attributes..........................................................

More information

Lecturer: Keyvan Dehmamy

Lecturer: Keyvan Dehmamy MATLAB Tutorial Lecturer: Keyvan Dehmamy 1 Topics Introduction Running MATLAB and MATLAB Environment Getting help Variables Vectors, Matrices, and linear Algebra Mathematical Functions and Applications

More information

A flow chart is a graphical or symbolic representation of a process.

A flow chart is a graphical or symbolic representation of a process. Q1. Define Algorithm with example? Answer:- A sequential solution of any program that written in human language, called algorithm. Algorithm is first step of the solution process, after the analysis of

More information

Numerical Methods in Engineering Sciences

Numerical Methods in Engineering Sciences Numerical Methods in Engineering Sciences Lecture 1: Brief introduction to MATLAB Pablo Antolin pablo.antolinsanchez@unipv.it October 29th 2013 How many of you have used MATLAB before? How many of you

More information

STAT/MATH 395 A - PROBABILITY II UW Winter Quarter Matlab Tutorial

STAT/MATH 395 A - PROBABILITY II UW Winter Quarter Matlab Tutorial STAT/MATH 395 A - PROBABILITY II UW Winter Quarter 2016 Néhémy Lim Matlab Tutorial 1 Introduction Matlab (standing for matrix laboratory) is a high-level programming language and interactive environment

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB Zhiyu Zhao (sylvia@cs.uno.edu) The LONI Institute & Department of Computer Science College of Sciences University of New Orleans 03/02/2009 Outline What is MATLAB Getting Started

More information

MATLAB Tutorial EE351M DSP. Created: Thursday Jan 25, 2007 Rayyan Jaber. Modified by: Kitaek Bae. Outline

MATLAB Tutorial EE351M DSP. Created: Thursday Jan 25, 2007 Rayyan Jaber. Modified by: Kitaek Bae. Outline MATLAB Tutorial EE351M DSP Created: Thursday Jan 25, 2007 Rayyan Jaber Modified by: Kitaek Bae Outline Part I: Introduction and Overview Part II: Matrix manipulations and common functions Part III: Plots

More information

Introduction to Matlab

Introduction to Matlab Introduction to Matlab Matlab (MATrix LABoratory) will be the programming environment of choice for the numerical solutions developed in this textbook due to its wide availability and its ease of use.

More information

IDL DISCOVER WHAT S IN YOUR DATA

IDL DISCOVER WHAT S IN YOUR DATA IDL DISCOVER WHAT S IN YOUR DATA IDL Discover What s In Your Data. A key foundation of scientific discovery is complex numerical data. If making discoveries is a fundamental part of your work, you need

More information

Operators. Java operators are classified into three categories:

Operators. Java operators are classified into three categories: Operators Operators are symbols that perform arithmetic and logical operations on operands and provide a meaningful result. Operands are data values (variables or constants) which are involved in operations.

More information

Chapter 2 (Part 2) MATLAB Basics. dr.dcd.h CS 101 /SJC 5th Edition 1

Chapter 2 (Part 2) MATLAB Basics. dr.dcd.h CS 101 /SJC 5th Edition 1 Chapter 2 (Part 2) MATLAB Basics dr.dcd.h CS 101 /SJC 5th Edition 1 Display Format In the command window, integers are always displayed as integers Characters are always displayed as strings Other values

More information

Parallel I/O Libraries and Techniques

Parallel I/O Libraries and Techniques Parallel I/O Libraries and Techniques Mark Howison User Services & Support I/O for scientifc data I/O is commonly used by scientific applications to: Store numerical output from simulations Load initial

More information

MATLAB & Practical Applications on Climate Variability Studies tutorial

MATLAB & Practical Applications on Climate Variability Studies tutorial MATLAB & Practical Applications on Climate Variability Studies tutorial B.Aires, 20-24/02/06 Centro de Investigaciones del Mar y la Atmosfera & Department of Atmospheric and Oceanic Sciences (UBA) E.Scoccimarro,

More information

MATLAB BASICS. < Any system: Enter quit at Matlab prompt < PC/Windows: Close command window < To interrupt execution: Enter Ctrl-c.

MATLAB BASICS. < Any system: Enter quit at Matlab prompt < PC/Windows: Close command window < To interrupt execution: Enter Ctrl-c. MATLAB BASICS Starting Matlab < PC: Desktop icon or Start menu item < UNIX: Enter matlab at operating system prompt < Others: Might need to execute from a menu somewhere Entering Matlab commands < Matlab

More information