Skip to main content
  • Home
  • Documentation
  • FAQ
  • Downloads
  • Support
  • Current Release Notes
  • Ferret Users Guide
    • Users Guide Index
    • Commands Reference
    • 1. Introduction
    • 2. Data Set Basics
    • 3. Variables & Expressions
    • 4. Grids & Regions
    • 5. Animations & Gif Images
    • 6. Customizing Plots
    • 7. Handling String Data Symbols
    • 8. Working with Special Data Sets
    • 9. Computing Environment
    • 10. Converting to NetCDF
    • 11. Writing External Functions
    • Glossary
    • Appendix A: Functions
    • Appendix B: PPLUS Guide
    • Appendix C: Ferret-Specific PPLUS Enhancements
  • Previous Release Notes
  • Tutorials and Demos
    • Ferret Tour
    • DSG files: Discrete Sampling Geometries Demo
    • Ferret sorting demo
    • Fast Fourier Transforms demo
    • Empirical Orthogonal Functions demo
    • Ferret objective analysis demo
    • Ferret Palette Demo
    • Map projections
    • Ferret polygon vector demo
    • Ferret Graticules demo
    • Ferret Polytube Demo
    • Ferret Polymark Demo
    • Ferret Constant-Array demo
    • Ferret land_detail demo
    • COADS Tour
    • Levitus Tour
    • Use OPeNDAP
    • Ferret binary read demo
  • PyFerret
    • PyFerret Downloads and Install
    • What is PyFerret?
    • Why use PyFerret?
    • PyFerret for the Ferret user
    • PyFerret command syntax: quick-start notes
    • PyFerret for the Python user
    • Graphics in PyFerret ?
    • New Ferret functionality
    • PyFerret Python functions and constants
    • PyFerret Python objects and methods
    • Ferret external functions in Python
    • Ferret Fortran external functions
    • PyFerret metadata-and-data dictionaries
  • OPeNDAP
    • OPeNDAP usage in Ferret
    • Use OPeNDAP Demo
    • Test OPeNDAP

Version 7.4.2 Release Notes

New features and bug fixes in Ferret and PyFerret v7.4.2

July 26, 2018

This is primarily a bug fix release, but it also includes a few new features.  In particular see Bug 1 below: affected Ferret versions have been returning incorrect results. All of the items listed here apply to both Ferret and PyFerret unless otherwise noted.

     

    New Features in Ferret v7.4.2

    1. A new regridding transformation: The @IIN regridding transformation computes the indefinite integral. The integration is the weighted sum of the source variable from the start of the first cell specified on the source axis, to each coordinate value on the destination axis. When the destination axis for the regridding is the same as the source axis, the result of is 0 at the bottom of the first grid cell, and is equal to the definite integral at the top of the uppermost grid cell.This takes care of the shifted result of the @IIN transformation.

    2. When defining an ensemble on the fly, global attributes are promoted to variables of the ensemble dataset, so they may be easily accessed and used. See examples in the ENSEMBLE documentation.

    3. For all of the DEFINE DATA aggregations (ensembles, timeseries, FMRC, and unions), the syntax

    yes? use myagg.agg

    will run a Ferret script containing an aggregation definition, so that the commands in the file myagg.agg.  (In effect "use" is interpreted to mean "go" when the file extension is .agg.)  With Ferret v7.4.2, a minor change is made so that the the file extension .agg is added to the default extensions so that .agg is not required; and Ferret will check in the data directories listed in FER_DATA for the file.

    yes? use myagg
    yes? use nonexistent
    **TMAP ERR: non-existent or not on line
    Searched $FER_DESCR and $FER_DATA for nonexistent(.nc ,.cdf,.des,.agg)
    

    4. Starting with version 7.4.2, when defining a Forecast Model Run Collection (FMRC) aggregation, a change is made to the time/forecast definitions. Ferret will, by default, find a common regular axis for the forecast initialization; calendar times (TF_CAL_F) and the forecasted calender times (TF_CAL_T), and then define the elapsed time axes TF_LAG_T and TF_LAG_F in terms of this calendar axis. This is discussed in the FMRC documentation.

     

    Bug Fixes for Version 7.4.2

    1. For the transformations that operate in multiple dimensions including @AVE and @DIN, a bug was introduced in version 7.1.1.  If the region specified for the transformation does not align with the grid cells, then the partial grid boxes on the ends were not taken into account.  So, if the average starts a third of a grid cell from the edge of the first grid box, the average incorrectly weighted that first value with the size of the entire grid box.  This is now fixed. 

    2. A bug was reported on the Ferret Users List, appending data to netCDF files in the Ensemble direction on an abstract axis. This is fixed.

    3. (Applies only to Ferret not to PyFerret). A very large number of points plotted with PLOT/VS/SYMBOL=dot could cause Ferret to hang.  This is fixed.

    4. When an expression defines regridding to the same axis, Ferret has always just done nothing, returning the original data. For some regridding transformations this is incorrect. Changes are made so that:

    • @NGD returns the count of good data, i.e. 1 or 0
    • @NBIN returns 1 where data is valid, 0 otherwise
    • @VAR returns 0 where data is valid, missing otherwise
    • @MODNBD, MODNBD (for data on a modulo axis) returns the count of good or bad data, i.e. 1 or 0
    • @MODVAR (for data on a modulo axis) returns 0 where data is valid, missing otherwise

    5. When transformations are applied to scalar variables, Ferret has always done nothing, returning the original value. This is not correct for all transformations. Now, for a scalar, @NBD and @NGD will return 1 or 0 depending on whether the data is valid; @SUM and @AVE return the value itself, and other transformations return an error. e.g. it doesn't make sense to apply a shift or fill to a single value.

    6. When appending time steps to a file that does not contain bounds for the time axis, Ferret tried to append with bounds if the time axis is irrregularly spaced.  This is fixed. Now the bounds are not written in this case.

    7. Improvements are made to the precision of labels drawn along a contour line. For single-level contours the values were rounded off when they should not have been.