NCL > What's New

What's coming up in the next release of NCL

Version 5.0.1 - No scheduled release date yet.


New functions

area_hi2lores, area_hi2lores_Wrap
Interpolates from high resolution grids to low resolution grids using local area averaging.

cfftb, cfftf, cfftf_frq_reorder
These functions perform forward/backward complex fourier transforms and reorder returned output to span -0.5 to 0.5.

conform_dims
This function is basically identical to conform except that you pass in the dimension sizes of the new array size that you want to conform to, rather than the array itself. This method is preferable because you don't need to create the array before using this function.

numeric2int
Convert any numeric type to integer with options for rounding or truncation.

gsn_blank_plot
This function creates a blank plot. This can be useful if you just need a canvas to draw on, or if you need to further annotate an existing plot.

gsn_csm_attach_zonal_means
This function attaches a zonal means plot to the given map plot. This function is basically the equivalent of setting the special resource gsnZonalMean to True when calling gsn_csm_contour_map, so you don't need to call this function unless you want to attach a zonal means plot to a plot that wasn't created with gsn_csm_contour_map.

utm2latlon, latlon2utm
Functions for converting between UTM and lat/lon coordinates.

wk_smooth121
Specialized 1-2-1 smoother associated with Wheeler-Kiladis space-time spectra.

wmvect, wmvectmap, wmvlbl
These are basic functions primarily for use with non-gridded data. For gridded data then you could use a vector plot with vcGlyphStyle set to one of the appropriate styles.

wrf_overlays, wrf_map_overlays
Functions to overlay multiple plots, created from other ARW WRF plot functions. These functions replace the soon-to-be-obsolete wrf_overlay and wrf_map_overlay procedures.

yyyymmdd_time
Creates a one-dimensional array containing year-month-day [yyyymmdd] values.


New functionality

conform
This function was updated to allow string input.

Support added for GRIB2 files from NWS National Digital Forecast Database
These files are available from http://www.weather.gov/ndfd/anonymous_ftp.htm. (Thanks to Jennifer Adams for bringing them to our attention.)

New GRIB 1 and 2 file option TimePeriodSuffix
A new file option for GRIB 1 and 2 files allows the user to suppress the time period suffix consisting of a numerical quantity and a units indicator (e.g. '6h', meaning a 6 hour time period) from the ends of statistically-processed varables. This allows a user to concatenate variables from different files that for reasons too complicated to go into here differ in the time period suffix, even though they are in fact simply different forecast times of the same variable. By default the value of this option is True, meaning that the suffix appears. Use setfileoption to set it False, which causes the time period suffix to be removed from all statistically-processed variables in NCL's representation of the file. The part of the suffix that indicates the type of statistical processing (e.g. '_acc', meaning accumulation) remains. Be aware that setting this option False can in some cases cause name collisions between variables that should be considered distinct. In this case, variable names after the first instance have an incrementing numerical suffix, beginning with '_1', appended to disambiguate the names.

New option to ncl_filedump and ncl_convert2nc to support GRIB 1 and 2 option TimePeriodSuffix
The option TimePeriodSuffix described above is supported in the NCL tools ncl_convert2nc and ncl_filedump as option
[-tps]
The default value is True -- setting this option causes the time period suffix to be removed, as noted above.

Suffixes ".gr", ".gr1", and ".gr2" now recognized as GRIB 1 and 2 suffixes.

gsn_histogram
New attribute "BinLocs" is returned, which is an array of the bin locations on the X axis.

Support added for a convention of setting GRIB1 subcenter octet to 98 (the ECMWF center number)
The French Weather Service apparently uses a convention of setting the GRIB1 subcenter octet to the ECMWF center number to indicate that even though the file is not generated by ECMWF it uses ECMWF parameter tables and local definitions. NCL adds knowledge of this convention to allow certain FWS files to be interpreted correctly. The convention is additionally honored for for all ECMWF-associated countries and organizations on the theory that, even if it is only used in France, it is unlikely that the subcenter octet will be set to the value 98 for any other reason.

PopLatLon
This function was updated to recognize the grid destination (grd_dst) "1.9x2.5".


New color tables


New resources

gsnAboveYRefLineBarFillScales / gsnBelowYRefLineBarFillScales
If gsnYRefLine is set, gsnXYBarChart is set to True, and gsnAboveYRefLineBarPatterns and/or gsnBelowYRefLineBarPatterns are set, then this resource indicates what fill scales to use for the fill patterns. Values less than 1.0 give you a more dense pattern.

gsnPanelScalePlotIndex
This resource allows you to specify which plot being passed to gsn_panel is to be used to determine the scale factor for resizing all the plots. This is useful if the first plot is smaller than of the other plots in the list.

This resource will not be useful if your plots are very different in size.

gsnPolarTime / gsnPolarUT
These resources allow you to turn on labeling using local time instead of longitude labels, for plots generated by one of the gsn_csm_xxxx_polar functions.

gsnZonalMean
If this resource is set to True, then a zonal mean XY plot will be drawn next to a contour/map plot. This resource has been around for awhile for the gsn_csm_contour_map_ce function, and it now works for the gsn_csm_contour_map function (polar plots excepted).


Bug fixes

dpres_plevel
Fixed a bug which occurred when the surface pressure was exactly 1000hPa or 100000Pa.

eofunc_varimax_reorder
This function is actually called "eof_varimax_reorder" in versions 4.3.1 and 5.0.0. It was supposed to be "eofunc_varimax_reorder"; this has been fixed in 5.0.1.

gsn_csm routines that overlay vectors/streamlines and contours on the same plot.

Fixed a problem where the gsnAddCyclic resource was not always being set correctly in gsn_csm functions that overlay both contours and vectors in a single plot (gsn_csm_streamline_contour_map, gsn_csm_vector_scalar, gsn_csm_vector_scalar_map_ce, etc).

RasterFill contour mode
Fixed a bug that sometimes resulted in the data cells being slightly misaligned when plotted over a global map when in raster fill mode without smoothing. Also fixed a problem that caused irregular coordinates to be treated as regularly spcaed when they were close (but not close enough) to a regular spacing.

GRIB 1 reader
  1. Fixed a bug that resulted in incorrect coordinates being generated for Lambert Conformal grids over the Southern hemisphere.
  2. In order to fix a problem reading WRF GRIB files, if a GRIB record has the grid number octet set to 0, it is treated as meaning the same as if it were set to 255. Both these values are now assumed to mean that the grid is defined in the GDS (Grid Description Section) part of the GRIB record. This change will be visible to users: it will result in changes to the names of dimensions, coordinate variables, and regular variables. Note that the developers of the WRF GRIB output code have a agreed that setting this octet to 0 is an error on their part and that in the future it will be set to 255. This change to NCL ensures that current and future WRF GRIB files will have the same naming scheme when opened in NCL.
  3. Modified the scaling of certain instances of the 'Dx' and 'Dy' coordinate variable attributes to ensure that the units for these values can uniformly be assumed to be in meters. Prior to the change, in a few cases the units were kilometers.
  4. Fixed a problem that resulted in a core dump when the record representing the first horizontal slice of a variable array was missing.

GRIB 2 reader
  1. Modified the way the GRIB2 codetable path is determined. Now if the NIO_GRIB2_CODETABLES environment variable is set it takes precedence over the common path found through NCARG_ROOT.
  2. Fixed a problem that resulted in a core dump when the record representing the first horizontal slice of a variable array was missing.

NetCDF reader/writer
Fixed a problem that occurred when a single execution of NCL results in more than 32767 separate NetCDF file opens and closes. The id returned by the NetCDF library can become a negative value in this case. NCL was treating this condition as an error when it is actually legitimate.

OPeNDAP-enabled versions of NCL
Fixed a bug that resulted in the following error when exiting NCL after opening any local NetCDF file or any remote file served by OPeNDAP:
ncclose: ncid 0: NetCDF: Not a valid ID
If a local file is opened for writing this error could result in loss of data in the file. The workaround for earlier versions of NCL is either to ensure that all NCL file variables are deleted before exiting, or, to use setfileoption to set both the options DefineMode and SuppressClose to False.

Problem involving files with very large dimensions (larger than around 10 million elements)
Fixed a bug that resulted in the return of incorrect data when requesting a variable subset from a file where one of the dimensions has more than around 10 million elements.