Project

General

Profile

News

Release of v1.3.6

Added by alexandre mary 6 months ago

Commit commit:ccb8424

Main advances:
  • Python3 support for GRIB, provided you have ecCodes 2.10.0 onwards
  • 3D plotting (requires vtk)
  • Diagnostics meta-resources

More detailed contents, since 1.3.3:

Fields:
  • 3D plotting (as_vtkGrid, plot3DContour, use_field_as_vccord and plot3DVolume)
  • method center added
  • getvalue_ij and getvalue_ll rewritten
  • interpolation bilinear instead of linear_spline when possible
  • extractsection and extractprofile added
  • bug correction for getvalue_ll (linear and cubic)
  • + and - operations: keep fid if same, compute a consistent validity, in consistent cases
Geometries:
  • domain_making: add possibility to set reference_lat for lambert
  • method eq_Hgeom
  • optimization and parallelization of several methods
  • plot3DLLImage, plot3DBluemarble
  • method vcoord_as_field
  • VGeometry: exclude_extralevels option for hybridH2altitude
  • profiles: flux and mass heights now contain extra levels
FA:
  • Field_Dict_FA.csv: correction for distinction between 0-3-4 and 0-3-5, for cloud water and ice crystal, default value for productDefinitionTemplateNumber
  • caches in find_fields_in_resource and inquire_field_dict
  • fieldencoding optionally updates fieldscompression dict
GRIB:
  • fid of GRIB messages more flexible according to product template number
  • fix for int keys in index
LFI:
  • optimization
  • moveOnMass option
  • default value for productDefinitionTemplateNumber
  • fid correction for misc fields read from LFI in true3d mode
netCDF:
  • minimal support when Xgrid and Ygrid are defined as 3D
Resources:
  • DiagnosticsResource
  • new format netCDFMNH
Technical:
  • update installation script (@cnrm) - incl. dissociate vortex and epygram
  • Python3/ecCodes2.10.0 adaptation
Miscellaneous:
  • numerous various fixes...
  • precipitation types colormapping (ptype, ptype0)
  • epyweb: Minimal support of GRIB2 files

Release of v1.3.3

Added by alexandre mary 10 months ago

Commit commit:660134f5

Contents, since 1.3.2:

Geometries:
  • domain_making update: I and E zones in pgd
  • hybridP_coord_to_3D_altitude_field()
  • vgrid site package; provide handy tools to generate vertical hybrid-pressure coordinates (A & B)
FA:
  • in place method modify_validity()
GRIB:
  • even better handling of the gribapi indexes bug (the former still led to "Too many open files error")
Technical:
  • installation script: install_epygram.py
Miscellaneous:
  • numerous various fixes...
  • doc: dependancies, colormaps, cheatsheet.pdf, epy_doc.py

Release of v1.3.2

Added by alexandre mary about 1 year ago

Commit commit:1cfe0f1

Contents, since 1.2.15:

epygram is now Python3-compatible, EXCEPT that neither gribapi nor ecCodes is...

Geometries:
  • new geometry RotatedLonLat
  • get rid of home-made module myproj (towards pyproj)
  • more consistent azimuth() between geometries (caution: non-reproducible with former method, available through plane_azimuth())
  • more consistent use of geoid in distance/linspace/azimuth (caution: non-reproducible with before)
  • Gauss grid: resolution_field_from_stretching
GRIB:
  • better handling of the gribapi indexes bug (the former led to "Too many open files error")
  • ecCodes support, with a switch to use gribapi/eccodes and default to ecCodes
NetCDF:
  • more options in the writing of fields
usevortex:
  • use vortex' ftppool for faster and more reliable transfers
Technical:
  • new ctypesForFortran.py mechanism for interfacing Fortran routines (arpifs4py)
  • stricter equality between objects, new function tolerant_equal()
  • rationalisation of init_env()
Miscellaneous:
  • GeoPoints format: more modular
  • numerous various fixes...
  • doc and Field_Dict_FA updates

Release of v1.2.15

Added by alexandre mary over 1 year ago

Commit commit:9b50175

Contents, since 1.2.10:

Functionalities:
change default colormap from seismic to RdBu_r, softer for the eyes...
more options to basemap
field.shave()
call to (e)trans_inq through SpectralGeometry object
ability to plot uniform fields with points/scatter
Gauss geometry resolution_field()
plotfield(): add rcparams control
mesh_area methods for projected grids
levelsnumber in H2D.plotfield() can be a discrete list of levels
function to compute gauss_latitudes()
function to compute 3D pressure field from hybrid-pressure coordinate and surface pressure

FA:
bugfix in FA-Gauss writing
guess field type (H2D/Misc) if not in Field Dict
more control on limitation of FA compression (customizable in config)

GRIB:
ability to read spectral fields (spherical harmonics)
workaround a bug in gribapi indexes
workaround 'pv' key absence

NetCDF:
regular_lonlat grid_mapping and resolution consistency

EPYWEB:
Epyweb fixes and updated defaults

usevortex:
fixes for FTP and session memory leak
quiet_get() context manager

domain_maker:
domain_maker reorganized in order to be used from Olive (clim_3to1 configuration)
departments option
margin in lonlat-included domain generation, customizable in config

Technical:
more unit-tests
movings to bronx site-package along vortex

Miscellaneous:
Doc and Notebooks update
Numerous various fixes
update Field_Dict_FA (visibility)

Release of v1.2.10

Added by alexandre mary almost 2 years ago

Commit commit:0e2352a

Contents, since 1.2.0:

Functionalities
Extract a subzone, keeping projection properties: field.extract_subarray()
Update of geometry.plotgeometry()
Factorization of functions in domain_maker
Histograms of fields: field.hist() + epy_hist.py
Option epy_stats.py --only_maxdiff/--oxd
Horizontaly averaged profiles (FA, epy_profile.py)
Grid-to-grid resampling: field.resample() and .resample_on_regularll()

FA
Ability to read/write GRIB2-encoded fields in FA (using grib_api), with an arpifs4py.so from cy42_op1 onwards

netCDF
On-the-fly options in writing: writefield(adhoc_behaviour=...)
Flattening

EPYWEB
Mode filesystem
Numerous various fixes

usevortex
Points/profiles extraction to netCDF: usevortex.extractor()

Technical
Unit-tests
Preparation to future compatibility with Python3
Support for LFI on MF-Bull

Miscellaneous
Numerous various fixes
Field data accessors, made cleaner
Various other cleanings
Update of the documentation
Notebooks in Tutorial

Release of v1.2.0

Added by alexandre mary over 2 years ago

Commit commit:e0dcee6

netCDF
Several improvements w.r.t. convention CF-1.6 and geometry.
(Almost full-) Compatibility with the forthcoming SURFEX v8.1 netCDF outputs.

EPYWEB
Integration of EPYWEB: a Vortex+Epygram HTML interface for plotting fields from MF operational suites and OLIVE experiments.

Other new features
Pre-staging mode in usevortex
Function fields.psikhi2uv()
Function util.datetimerange()
Computation of wind direction

Miscellaneous
Porting fixes for Mageia6
More flexible colormaps scalings (as radar)

And a quantity of fixes !...

Release of v1.1.3

Added by alexandre mary over 2 years ago

Commit commit:b53faebc

Advanced netCDF support:
Read/write from/to netCDF files well better handled (examples to come).
Support for any kind of fields, including temporal dimension (from a single Point to a 4D field).
Facility: any field can be dumped to a netCDF file, thanks to the dump_to_nc() method.

Fields' internal data is 4D
Although rather transparent to the user, the internal data storage of fields is now always 4D. This modification brings great simplification in many places.
The getdata()/setdata() methods are hereby essential to use, with the optional d4=True.

Better handling of time dimension in fields
Corrections, modifications linked to previous item, and possibility to extract a time index or extend time dimension with another field (cf. methods).

Animation of fields
Fields with a temporal dimension now propose a plotanimation() method, that create a matplotlib animation, that can be saved to a MP4 file.

"Special resources": or how to get 3D/4D fields from 2D resource(s)
A new proxy function to create easily "special resources" (epygram.resources.special_resource()), that enable to:
- make 3D fields from a resource containing a series of horizontal fields distributed on the vertical;
- make 2D fields + temporal dimension from a series of 1-time resources;
- combination of both.

Better handling of matplotlib's figures and axes in plotfield()
Enables to have multiple plots on the same figure, and a more trustful superposition of plots.

Derivatives for Gauss grid fields (arpifs4py)
Similarly to the cartesian grids, through the compute_xy_spderivatives() method.

    (1-7/7)

    Also available in: Atom