Wednesday, May 8, 2013

Tutorial: GrADS Hovmöller diagram

Hovmöller diagrams are very useful for determining the speed of various atmospheric disturbances, as it contours a variable in both time and space.  Typically, the spatial variable is on the x-axis and the time variable on the y-axis.

It's very easy to plot a simple Hovmöller diagram in GrADS.  To do this, you only need to set your varying dimensions to longitude and time.  The axes will arrange longitude on x, and time on y.  In this tutorial, the example will be a Hovmöller diagram of 500mb meridonal wind from the GFS model.  The block of code below will set up and plot this data.


    'set parea 1.5 10.0 0.5 8.0'

    'set lat 35'
    'set lon -135 -60'
    'set lev 500'
    'set gxout shaded'
    'set display color white'
    'set t 1 33'
    'set yflip on'
    'd vgrdprs'

A few things to note about this block of code:
  1. Both latitude and Height are fixed.  This allows for longitude and time to vary
  2. The command 'set yflip' flips the y-axis around so that time starts at the top, rather than the bottom of the plot (normal Hovmöller display).
  3. The first number in the 'set parea' command is 1.5 giving the left side of the plot a large margin in order to contain the labeled dates on the y-axis.  A smaller margin will cut these off.
The above block of code will create this image:

Hovmöller Diagram of meridional wind at 500mb

Notice, that you can easily track the speed and frequency of the atmosphere disturbances as they propagate across the domain by taking the slope of the wind packets.

Download this script


  1. Hi thanks for your tutorials those are very useful for me. I was wondering if I can do a hovmoeller diagram with adiagonal cross section, because I've had some trouble trying to make a plot for that in a cross section of the coastal line. I do Know making hov. graphics on a straight line way,though, in a diagonal way another history. Thanks in advance.

    1. You could probably get this to work by using the grid2stn and coll2grid functions, these functions essentially allow you to take gridded data from grads at a set lat/lon point and organize them into a grid, so you could take points along your diagonal, or coastline and then do a hovmuller using these points.

      I have a tutorial on how to do this for an arbitrary cross section, I think you could modify these to work for a time/distance plot as well.

      also, good documentation on how to use these functions here:

    2. Thank you so much for answering me quickly. I checked out your advice, but I am still having some trouble since it does not permit a time/distance section plot with a cross section. I do know that those kinds of plots are easily done by using Matlab or GMT, but personally speaking I do prefer using GrADS. I'll be looking forward to seeing more information about.

    3. This information is very good, but Could anyone tell me how to draw the Dobson diagram on grads?

  2. Thank you so much for sharing this knowledge, it's help me a lot

  3. Is there a way to draw a diagonal line on the positive values between 130W to 85 W in the figure above?