Metview's documentation is now on readthedocs!

Full documentation on NetCDF functionality in Metview is here.


Navigate into the 4_netcdf folder within Metview where you will find some data files and other icons.

Examine and visualise a geomatrix style netCDF file

Right-click on the file and choose examine to see the structure of the file:

For more complete information, click on the NcDump tab.

You will need to tell Metview how to visualise this data, as there are multiple variables. Create a new NetCDF Visualiser icon, edit it and set the following parameters:

Netcdf DataDrop the icon into this box
Netcdf Plot TypeGeomatrix
Netcdf Latitude Variablelatitude
Netcdf Longitude Variablelongitude
Netcdf Value Variablet2m

Save the icon and visualise it. For fun, drop the supplied icons contour_t2m and mollweide into the plot window to obtain the following:

Examine and visualise a geopoints style netCDF file

Examine the file We will plot the temperature variable. As you can see, there are 1-dimensional variables for temperature, latitude and longitude. Create a copy of your previous NetCDF Visualiser icon and edit it as follows:

Netcdf DataRight-click/remove the existing netCDF file from there, then drop into this box
Netcdf Plot TypeGeo Points
Netcdf Latitude Variablelatitude
Netcdf Longitude Variablelongitude
Netcdf Value Variabletemperature

Visualise it to get a default plot. In the solutions folder is a script called, which converts from Kelvin to Celcius and adds some stying to the plot (generated as PDF - simply remove the mv.setoutput() command to get an on-screen visualisation).

Extract data and convert to pandas

Have a look in the solutions folder and edit and run the script This shows how to extract some metadata from the previous netCDF file, and also some value arrays and convert into a pandas dataframe. The code is also here:

import metview as mv
import pandas as pd

nc ="")

# print some global fields
print('Variables: \n', nc.variables())
print('Global attributes: \n', nc.global_attributes())

# extract certain variables - setcurrent() followed by values()
lats = nc.values()
lons = nc.values()
temps = nc.values()
print('temperature attributes: \n', nc.attributes())

# create a dictionary in order to convert to pandas
pddict = {'latitude'    : lats,
          'longitude'   : lons,
          'temperature' : temps}

df = pd.DataFrame(pddict)
print('Dataframe: \n', df)
print('temperature describe: \n', df.temperature.describe())