Last modified:

HAO NCL Tutorial

zp/Height vs. Latitude



zplat_1.ncl: Default black and white plot.


gsn_csm_contour is the plot interface that creates a contour plot.

cnLineLabelPlacementMode = "constant", is one of the three methods for controlling contour labels. the constant method is the only one in which the label becames part of the line.

ZeroNegDashLineContour is the special shea_util.shtml function that will take contours and make the zero line double thickness, and the negative lines dashed. There are many other contour effects you can use.

There are four title strings you can use to label a plot. The gsnLeftString is automatically labeled with the long_name of the data, and gsnRightString is labeled with the units of the data. These can both be overwritten, or turned off (by setting them to ""). There is also gsnCenterString and the plot title tiMainString.
zplat_2.ncl: Adds color, turns on line labels, and adds a height axis.


cnFillOn = True, turns on a color plot.
cnLinesLabelsOn = Turn, turns on the contour line labels.
gsnSpreadColors is a special resource that tell the plot template to use the full range of the colormap.

There are many built-in colormaps to choose from and many ways of specifying the color of a plot.

axis.ncl contains all the functions used to put a height axis on the HAO master scripts. We have used one of these functions here (h_axis). To use this function, you need to load axis.ncl at the top of your script.
zplat_3.ncl: Demonstrates manually setting contour intervals

cnLevelSelectionMode = "ManualLevels"
cnMinLevelValF
cnMaxLevelValF
cnLevelSpacingF
are the resources that manually sets the contour levels.

vpWidthF and vpHeightF will allow you to stretch a plot.

zplat_4.ncl: Demonstrates a panel plot. There are too many nuances associated with panelling. Please review the CCSM panel example page for details.


The NCL built-in function dim_avg is useful for calculating zonal averages. You should be aware, however of the consequences on meta data of any computation. Because of this we have chosen to use the wrapper version of the function.
zplat_5.ncl: How to add the min/max to a plot and stretch its aspect ratio.


The NCL built-in functions min and max allow you to take the min and max of the data.

trYMinF will limit the lower bounds of the y-axis.There is also a trYMaxF
zplat_6.ncl: Interpolates to height.


hao_contrib.ncl contains the the function (zplev_to_height) used to interpolate a variable on the HAO master scripts. To use this function, you need to load hao_contrib.ncl at the top of your script.

This functions requires that you set a bottom and top height level to interpolate to and the interval between the top and bottom.