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.5 Release Notes

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

What's new in Ferret and PyFerret v7.5

April 25, 2019

  • Version 7.5 of PyFerret and Ferret are linked with netCDF 4.6.3.  This version of the netCDF library resolves failures when using earlier library versions in using some OPeNDAP url's pointing to large datasets.
     
  • In v7.44, the default color-palette was changed from rainbow to viridis. 

New Features and enhancements

  • As announced via email, the default color-palette for Ferrert/PyFerret was changed with Ferret/PyFerret v7.44.  The new default colormap is "viridis", which is a Perceptually uniform colormap. An additional set of the Perceptually Uniform Colormap palettes are also added.

    See the FAQ's for more discussion of color palettes, in particular Ferret Color Palettes.

    You can always change your color palette in any of these ways:

      1) For a single command, with the /PALETTE qualifier: 
          SHADE/PALETTE=centered_diff wind_speed

      2) For the current session with the PALETTE command: 
            PALETTE rnb2  ! use rnb2 for subsequent commands unless /palette qualifier is used

      3) For all your PyFerret or Ferret sessions, by putting a PALETTE command into a .ferret startup file.

     

  • There is a new option to write date strings in ISO-1086 date format, the new MODE MODE DATE_FORMAT. Turn on this feature by setting this mode with the value ISO. This affects each command where time-coordinates are converted to date-strings, such as SHOW AXIS, LIST, he TAX_DATESTRING function, and dates shown in labels on plots (but not date labels along the time axis of plots).
    yes? set mode date_format:iso
     
    yes? list/i=100/j=40/k=1/l=1:4/nohead temp
    1982-08-17 12  / 1:  26.20
    1982-08-23 14  / 2:  26.30
    1982-08-29 16  / 3:  26.45
    1982-09-04 18  / 4:  26.66
     
    yes? cancel mode date_format  ! return to the default
    
  • When defining a Time aggregation on the fly with TSERIES (DEFINE DATA/AGGREGATE/T), a new qualifier /TAXIS= allows the user to specify a time axis to use. This allows for missing timesteps in the data being aggregated or even to define a different axis than what's represented by the timesteps in the member files.

    yes? DEFINE DATA /AGGREGATE /HIDE /T /TAXIS=myax timeagg = aggfiles
    
  • For TSERIES aggregations a second new option /TOVERLAP specifies that if time steps overlap between files, those overlaps will be listed and skipped over. This is used in conjunction with /TAXIS=
    yes? DEFINE DATA /AGG /T /TAXIS=aggtime/toverlap myagg = data2009.nc, data2010.nc , data2011.nc
    *** NOTE: Ignored last 1 timesteps of data2009.nc due to overlap with data2010.nc
    *** NOTE: Ignored last 3 timesteps of data2010.nc due to overlap with data2011.nc
    *** NOTE: Time axis coordinates matched using @XACT
  • A new function SAMPLEXYZT joins the suite of sample functions, picking out data from a grid at a set of lon,lat,z,and time points.
    yes? show function samplexyzt
    SAMPLEXYZT(DAT_TO_SAMPLE,XPTS,YPTS,ZPTS,TPTS)
        Returns data sampled at a set of points in X,Y,Z,T, using linear interpolation
        DAT_TO_SAMPLE: variable (x,y,z,t,e,f) to sample
        XPTS: X values of sample points
        YPTS: Y values of sample points
        ZPTS: Z values of sample points
        TPTS: T values of sample points
    
  • The functions SAMPLE*_MULTI are updated for all 6 dimensions,
    yes? show function sample*_multi
    SAMPLEI_MULTI(DAT_TO_SAMPLE,I_INDICES)
        Returns data sampled according to I indices which may vary in JKLMN
        DAT_TO_SAMPLE: data to sample using I indices
        I_INDICES: ordered indices
    ...
    

Bug fixes

  • A bug is fixed involving transformations along modulo axes and re-using data previously loaded into memory.
     
  • For some time axes, 2-D plots such as time-depth plots yielded a blank plot. This is fixed.
     
  • The output of list/precision= now behaves in the same way as precision specified in a grave-accent expression evaluation.  If the precision is given as a negative integer, that controls the number of decimal places after the decimal point. Previously a negative value in LIST/PRECISION=  returned no fractional part. The change also applies to LIST commands given after a global SET LIST/PRECISION=

    yes? let a = 54.13482
     
    ! these have always been evaluated as follows
    yes? say `a,prec=4`
    54.13
    yes? say `a,prec=-4`
    54.1348
     
    !  The second of these previously returned 54.
    yes? list/noheader/prec=3 a
              54.1
    yes? list/noheader/prec=-3 a
              54.134
     
     
    
  • If an axis is listed in a file with the attribute point_spacing = "even" , Ferret will now do a bit of sanity checking and if the axis is in fact irregular, issue a note and use the coordianates from the file rather than taking it to be regular.

    *** NOTE: Axis "XAXIS" is irregular. Ignoring erroneous point_spacing=even attribute.
    
  • 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