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.
- The "Downloads" pages in the on-line documentation are updated and consolidated.
- 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:
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 ...
- 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.