Visualize Climate data with Panoply netCDF viewer
OverviewQuestions:Objectives:
How to start Panoply interactive environment in Galaxy?
How to inspect netCDF data?
How to make a plot with Panoply?
Where to save your plots in Panoply?
How to customize plots in Panoply?
How to generate animation in Panoply?
Requirements:
Learn to use Panoply in Galaxy to visuallize netCDF geo-referenced data
Learn how Panoply plots are exported to Galaxy
Time estimation: 1 hourSupporting Materials:Published: Mar 5, 2020Last modification: Nov 9, 2023License: Tutorial Content is licensed under Creative Commons Attribution 4.0 International License. The GTN Framework is licensed under MITpurl PURL: https://gxy.io/GTN:T00046rating Rating: 5.0 (0 recent ratings, 2 all time)version Revision: 16
The practical aims at familiarzing you with the Panoply Galaxy interactive environment. Panoply is among the most popular tool to visualize geo-referenced data stored in Network Common Data Form (netCDF). It provides a graphical interface for inspecting (show metadata) and visualizing netCDF data. It supports many features to customize your plots and we will introduce some of them in this lesson.
CommentThis tutorial is significantly based on the Panoply documentation “Quick View Data with Panoply” section.
In this tutorial, you will learn to:
- Plot geo-referenced latitude-longitude, latitude-vertical, longitude-vertical, time-latitude or time-vertical arrays.
- Use any of numerous color tables for the scale colorbar
- Save plots to GIF, JPEG, PNG or TIFF bitmap images or as PDF or PostScript graphics files.
- Export animations as MOV or AVI videos
AgendaIn this tutorial, we will cover:
Comment: BackgroundThere are many online services to get climate data, and it is often difficult to know which ones are up-to date and which resources to trust. Different services provide different Application Programming Interfaces (API), use different terminologies, different file formats etc., which make it difficult for new users to master them all. Therefore in this tutorial, we will be focusing on the usage of Climate data in Network Common data Form (netCDF) because it is the most common data format for storing Climate data. We will be using a freely available dataset containing Essential Climate Variables (sea ice area fraction, surface temperature) from Copernicus Climate Data Store. We will learn to use panoply to visualize the sea ice area fraction over the poles (southern and northern poles) and surface temperatures for two different years (1979 and 2018).
NetCDF format
NetCDF data format is a binary format and to be able to read or visualize it, we would need to use dedicated software or libraries that can handle this “special” format. It is self-describing and machine-independent data format that supports the creation, access, and sharing of array-oriented scientific data. NetCDF files usually have the extension .nc or .netcdf.
For climate and forecast data stored in NetCDF format there are (non-mandatory) conventions on metadata (CF Convention).
In this tutorial, we will be using data from the Copernicus Climate Data Store and more precisely a reanalysis ERA5-Land monthly averaged dataset for 2019. Data from Copernicus Climate Data Store is freely available but may require free registration and license agreement.
Get data
Hands-on: Data upload
Create a new history for this tutorial. If you are not inspired, you can name it Panoply for example…
To create a new history simply click the new-history icon at the top of the history panel:
Import the file from Zenodo or from the shared data library
https://zenodo.org/record/3697454/files/ecv_1979.nc https://zenodo.org/record/3697454/files/ecv_2018.nc
- Copy the link location
Click galaxy-upload Upload Data at the top of the tool panel
- Select galaxy-wf-edit Paste/Fetch Data
Paste the link(s) into the text field
Press Start
- Close the window
As an alternative to uploading the data from a URL or your computer, the files may also have been made available from a shared data library:
- Go into Data (top panel) then Data libraries
- Navigate to the correct folder as indicated by your instructor.
- On most Galaxies tutorial data will be provided in a folder named GTN - Material –> Topic Name -> Tutorial Name.
- Select the desired files
- Click on Add to History galaxy-dropdown near the top and select as Datasets from the dropdown menu
In the pop-up window, choose
- “Select history”: the history you want to import the data to (or create a new one)
- Click on Import
Check that the datatype is netcdf
Files you uploaded are in netcdf format. In Galaxy, Datatypes are, by default, automatically guessed. Here, as netcdf is a derivative of the h5 format, Galaxy automatically affect the h5 datatype to netcdf files. To cope with that, one can change the datatype manually, once datasets uploaded (as shown below) OR you can directly specify datatype on the upload tool form so Galaxy will not try to automatically guess it.
- Click on the galaxy-pencil pencil icon for the dataset to edit its attributes
- In the central panel, click galaxy-chart-select-data Datatypes tab on the top
- In the galaxy-chart-select-data Assign Datatype, select
datatypes
from “New type” dropdown
- Tip: you can start typing the datatype into the field to filter the dropdown menu
- Click the Save button
Rename Datasets
As “https://zenodo.org/record/3697454/files/ecv_1979.nc” is not a beautiful name and can give errors for some tools, it is a good practice to change the dataset name by something more meaningfull. For example by removing
https://zenodo.org/record/3697454/files/
to obtainecv_1979.nc
andecv_2018.nc
, respectively.
- Click on the galaxy-pencil pencil icon for the dataset to edit its attributes
- In the central panel, change the Name field
- Click the Save button
Add a tag to the dataset corresponding to
copernicus
Datasets can be tagged. This simplifies the tracking of datasets across the Galaxy interface. Tags can contain any combination of letters or numbers but cannot contain spaces.
To tag a dataset:
- Click on the dataset to expand it
- Click on Add Tags galaxy-tags
- Add tag text. Tags starting with
#
will be automatically propagated to the outputs of tools using this dataset (see below).- Press Enter
- Check that the tag appears below the dataset name
Tags beginning with
#
are special!They are called Name tags. The unique feature of these tags is that they propagate: if a dataset is labelled with a name tag, all derivatives (children) of this dataset will automatically inherit this tag (see below). The figure below explains why this is so useful. Consider the following analysis (numbers in parenthesis correspond to dataset numbers in the figure below):
- a set of forward and reverse reads (datasets 1 and 2) is mapped against a reference using Bowtie2 generating dataset 3;
- dataset 3 is used to calculate read coverage using BedTools Genome Coverage separately for
+
and-
strands. This generates two datasets (4 and 5 for plus and minus, respectively);- datasets 4 and 5 are used as inputs to Macs2 broadCall datasets generating datasets 6 and 8;
- datasets 6 and 8 are intersected with coordinates of genes (dataset 9) using BedTools Intersect generating datasets 10 and 11.
Now consider that this analysis is done without name tags. This is shown on the left side of the figure. It is hard to trace which datasets contain “plus” data versus “minus” data. For example, does dataset 10 contain “plus” data or “minus” data? Probably “minus” but are you sure? In the case of a small history like the one shown here, it is possible to trace this manually but as the size of a history grows it will become very challenging.
The right side of the figure shows exactly the same analysis, but using name tags. When the analysis was conducted datasets 4 and 5 were tagged with
#plus
and#minus
, respectively. When they were used as inputs to Macs2 resulting datasets 6 and 8 automatically inherited them and so on… As a result it is straightforward to trace both branches (plus and minus) of this analysis.More information is in a dedicated #nametag tutorial.
Panoply
Opening up Panoply
Hands-on: Launch PanoplyPanoply is available as a Galaxy interactive environment and may not be available on all Galaxy servers.
Currently Panoply in Galaxy is available on useGalaxy.eu instance, on the “Interactive tools” tool panel section or, as all interactive tools, from the dedicated usGalaxy.eu subdomain: Live.useGalaxy.eu
- Open the Panoply on UseGalaxy.eu
- Check ecv_1979.nc dataset selected in the netcdf input field
- Click Run Tool
- The tool will start running and will stay running permanently
- Click on the “User” menu at the top and go to “Active Interactive Tools” and locate the Panoply instance you started.
- Click on your Panoply instance
- Click on ecv_1979.nc dataset
Inspect metadata
Hands-on: Inspect dataset
Inspect dataset content
Here you can look at the dataset (ecv_1979.nc) and related variables (
latitude
,longitude
,number
,siconc
, etc)Questionwhat is the unit of the
sea ice area fraction
variable (siconc) variable?The unit of siconc is (0-1) e.g. a real value between 0 (no ice) and 1 (fully coverted by ice).
Inspect the surface temperature (t2m) variable
Questionwhat is the unit of this variable and its shape?
The unit of t2m is Kelvin (K). t2m is a 3D array (time, latitude, longitude).
Create Geo-referenced Longitude-Latitude plot
Hands-on: geographical map
- Double click on the variable t2m and click on Create
Question
- What does it show?
- What is the date of the generated plot?
- Can you plot other dates?
- The plot represent the surface temperature over the entire world.
The date of the default plot is 1st January 1979 at 00:00:00.
- To plot another date, change either:
- Initial time of forecast (give a value between 1 and 12, corresponding to each month of year 1979.
- Click on the date and scroll down to select the date of your choice.
- Save your plot
- Click on the tab File (from your plot window) to store your plot by selecting Save Image As
- Double click on the folder outputs to enter this folder and save your plot. You need to make sure to save all your plot in the outputs folder otherwise you can loose all your plots once to close panoply.
- Change colormap Always make sure you use color blind friendly palettes.
- To change the default colormap, click on tab “Scale” (bottom of your plot window) and select another “Color Table” (you can scroll down to go through all the different available colormap).
- Save your plot using Save Image As and make sure to choose another name to avoid overwritting your preceding plot.
Changing map projection
Hands-on: Change projection
From your previous plot window, click on Tab Map and change Projection. Try a few of them and save each of your plot with File –> Save Image As.
Create another plot window for sea ice area fraction (siconc) and make a new geo-referenced map
Question
- What kind of colormap could you use to highlight the extent of sea-ice?
- What projection would be best to use for showing the extent of sea-ice over the two poles?
- Any colormap that shows low values (close to 0) in light color so we can focus on values that are close to 1. For instance, CP_PuBu_08.cpt.
- Using Orthographic projection is best for showing the northern and southern poles. One advantage is that you can choose to center the plot over 90 degrees latitude. To have both the northern and southern poles at the same time, choose Stereographic (Two hemispheres).
Export Animation
Hands-on: Export animation
- From your previous plot window, click on File and select Export Animation. Save your plot using either MOV or AVI format. It goes through each plot e.g. for each month and create an animation where you can see the evolution of sea-ice extent from January 1979 to December 1979. You will be able to download the resulting movie from Galaxy once you quit Panoply.
Create timeseries
Hands-on: Create 1D plot
- Double click on the variable t2m, click on Create and select Create horizontal line plot along time axis (make sure to switch to time).
Question
- What was the maximum temperature in Oslo (latitude: 60 degrees North, longitude: 10.75 East) in 1979?
- Which month was the warmest in Oslo?
- The maximum temperature is about 288 K so about 15 degrees Celsius (
288 - 273.15
).- The warmest month in 1979 was July.
Quit Panoply
Hands-on: Quit Panoply to keep your plots
- To make sure all your plots stored in outputs folder get exported to Galaxy, you need to quit panoply: File –> Quit Panoply.
- Go back to your current Galaxy history and you should find Panoply outputs
Conclusion
We have now learnt how to analyze climate data using Panoply. We only use one of the two datasets so we strongly encourage you to do the same exercises with the second dataset ecv_2018.nc. Please note that when comparing surface temperature or sea-ice area fraction from 1979 and 2018, you would not be able to conclude anything regarding climate change. For any climate studies, long term timeseries (between 20 to 30 years) are necessary to establish climate trends.