Recent Releases of cis
cis - v1.7.5
CIS 1.7.5 fixes
- Fix ungridded collocation ignoring method options (#37)
- Also update syntax to conform to new numpy standard fancy indexing
- Minor test fix for a change in Iris error Type
Full Changelog: https://github.com/cedadev/cis/compare/1.7.4a...1.7.5
- Python
Published by duncanwp over 3 years ago
cis - v1.7.4
CIS 1.7.4 fixes
- Updated for Python 3.9 support
- Support
Iris3.1 andcfunits3.0 updates - Circleci project setup by @duncanwp in https://github.com/cedadev/cis/pull/36
- Added code coverage metrics to try and improve coverage
- Assorted bug fixes and tidying up by @adamcpovey in https://github.com/cedadev/cis/pull/34
Full Changelog: https://github.com/cedadev/cis/compare/1.7.3...1.7.4a
- Python
Published by duncanwp about 4 years ago
cis - v1.7.3
CIS 1.7.3 fixes
- Unpinned numpy versions since iris doesn't need this now. This will make conda dependency resolution easier
- Fixed a bug in ungridded aggregation when checking for masked sample values #30
- Added an automatic PyPi action to keep the pip version up-to-date
- Python
Published by duncanwp about 5 years ago
cis - v1.7.3-alpha2
CIS 1.7.3 fixes
- Unpinned numpy versions since iris doesn't need this now. This will make conda dependency resolution easier
- Fixed a bug in ungridded aggregation when checking for masked sample values #30
- Added an automatic PyPi action to keep the pip version up-to-date
- Python
Published by duncanwp about 5 years ago
cis - v1.7.3-alpha1
CIS 1.7.3 fixes
- Unpinned numpy versions since iris doesn't need this now. This will make conda dependency resolution easier
- Fixed a bug in ungridded aggregation when checking for masked sample values #30
- Added an automatic PyPi action to keep the pip version up-to-date
- Python
Published by duncanwp about 5 years ago
cis - v1.7.0
CIS 1.7 features
- Extended the definition of the MODIS_L3 plugin to include monthly files.
- Added plugins AerosolCCIL3 and CloudCCIL3 to read Level 3 CCI products.
- Extended the Aeronet plugin to read files from:
- The Version 3 Direct Sun Algorithm,
- The Maritime Aerosol Network,
- All versions of the Spectral Decomposition Algorithm,
- The AllSitesTimes_*.dat files now distributed under the "Download All Sites" link.
Incompatible changes
- Renamed the plugins AerosolCCI and CloudCCI to AerosolCCIL2 and CloudCCIL2 to be consistent with MODIS.
- Updated to Iris 2.0.0 and pyHDF 0.9.0 (removing previous workarounds).
- Gridded / gridded collocation of time coordinates is no longer supported since iris no longer allows the determination of whether a point lies within a bounded region for datetime-like objects
Bugs fixed
- In a PP file, if a var_name contains spaces the plugin will now attempt to replace them with underscores.
- Python
Published by duncanwp about 7 years ago
cis - v1.6.0
CIS 1.6 features
- Implemented ungridded - ungridded collocation performance improvements (#9)
- Improved reading of NCAR-RAF style NetCDF files
- Performance improvement when reading many (100s of) NetCDF files
- Improved support for reading CALIOP L2 data
Bugs fixed
- In previous versions of CIS cartographic weights were calculated for all collapse operations regardless of the dimensions being collapsed. This may have given unexpected values in some cases. CIS now only calculates weights when collapsing over latitude.
- Plot colourbars are now associated with the plot axes rather than the figure, which makes it easier to make multi-axes plots with CIS.
- Fixed an issue where
UngriddedData.copy()didn't copy metadata - [JASCIS-373] getvariablenames now gets passed the product argument from readdatalist
- Fix #11 by relying on shapely exception which moved
- [JASCIS-375] Ensure the mask is retained when expanding coordinates from 1d to 2d
- The Cloudsat reader no longer expands coordinate arrays for 1-d datasets (such as ice-water path)
- Python
Published by duncanwp about 8 years ago
cis - v1.5.3
Bug fixes
- Fixed a (potentially serious) bug in unit parsing which would convert any string to lowercase.
- [JASCIS-367] Make the name() method more consistent between gridded and ungridded data
- Minor fix when reading variables from PP files with spaces in the name
- Python
Published by duncanwp almost 9 years ago
cis - v1.5.2
New features
- Gridded and ungridded datasets can now be subset to an arbitrary lat/lon (shapely) shape.
Bug fixes
- Slicing and copying Coords now preserves the axis attribute
- Fixed an issue where subsetting gridded data over multiple coordinates sometimes resulted in an error
- CIS will now catch errors when writing out metadata values which might have special types and can't be safely cast (e.g. VALID_RANGE).
- Minor fix for log scale color bars
- Minor fix for parsing the command aliases
- Minor fix for creating data lists from iterators
- Python
Published by duncanwp about 9 years ago
cis - v1.5.0
CIS 1.5 features
- The biggest change is that CIS can now be used as a Python library, all of the command line tools are now easily available through Python. This allows commands to be run sequentially in memory, slicing of gridded or ungridded datasets and easy integration with other Python packages such as Iris and Pandas.
- Taylor diagrams - CIS is now able to plot Taylor diagrams which are an excellent way of quantitatively comparing two or more (collocated) datasets
- All map plots are now able to be plotted in any of the available Cartopy projections, see http://scitools.org.uk/cartopy/docs/latest/crs/projections.html for a full list.
Incompatible changes
- Since aggregation of gridded datasets has quite a different set of options as compared to the aggregation of
ungridded datasets, the
aggregatecommand has been deprecated for gridded datasets. It is still supported through command line for the time being, but will be removed in future releases. Please use thecollapsecommand instead.
Bugs fixed
- [JASCIS-268] The plotting routines have been re-architected to allow easier testing and extension.
- [JASCIS-357] Added deprecation for the aggregation of gridded datasets
- [JASCIS-329] Metadata objects now attempt to use cf_units for all units, but will fall back to strings if needed. In future releases we may insist on plugins providing standard units.
- Python
Published by duncanwp over 9 years ago
cis - v1.4.0
CIS 1.4 features
- CIS now includes full support for Python => 3.4, as well as Python 2.7
- New verbose and quiet flags allow for control over how much CIS commands output to the screen. The default verbosity has also changed so that by default only warnings and errors will be output to the screen. The full debug output remains for the cis.log file.
- Significant optimizations have been made in gridded -> ungridded collocation which should now be considerably faster. Also, when collocating multiple gridded source datasets the interpolation indices are now cached internally leading to further time savings.
- Any
valid_rangeattributes in supported NetCDF or HDF files (including MODIS, CALIOP and CloudSat) files are now automatically respected by CIS. All data values outside of the valid range are masked. Data from NetCDF files withvalid_minorvalid_maxattributes is also masked appropriately. - CloudSat
missingandmissopattributes are now read and combined to mask out values which don't conform to the inequality defined. - [JASCIS-342] The extrapolation modes are now consistent across both gridded->gridded and gridded->ungridded collocation modes. The default is no extrapolation (gridded->gridded would previously extrapolate). This can still be overridden by the user.
- [JASCIS-128] If the output file already exists the user is now prompted to overwrite it. This prompt can be disabled by using the --force-overwrite argument, or setting the
CIS_FORCE_OVERWRITEenvironment variable to 'TRUE'.
Incompatible changes
- To accommodate the new verbose flags (-v) the info command now takes a single datagroup argument, and optional variable names, as reflected in the updated documentation.
- CIS no longer prepends ungridded output files with 'cis-'. Instead CIS creates a global attribute in the output file called source which contains 'CIS
'. This is checked in the updated CIS plugin when reading any NetCDF file.
Note - While this is much neater going forward and will hopefully save a lot of head scratching it will mean CIS is unable to read old files produced by CIS automatically. All commands can be forced to use the CIS product by including the product=cis keyword argument. Alternatively you can update the data file manually using the following command:
ncatted -O -a source,global,a,c,"CIS" in.nc
Bugs fixed
- [JASCIS-34] MODIS L3 data is now correctly treated as gridded data.
- [JASCIS-345] Product regular expression matching now matches the whole string rather than just the start.
- [JASCIS-360] Collocation now correctly applies the 'missingdataformissingsample' logic for all collocations.
- [JASCIS-361] Fixed the CloudSat scale and offset transformation so that they are now applied correctly.
- [JASCIS-281] Fixed a caching error when aggregating multiple ungridded datasets which could lead to incorrect values
- CIS no longer crashes when the CISPLUGINHOME path cannot be found
- Python
Published by duncanwp over 9 years ago
cis - v1.3.1
This minor release fixes a number of small issues, particularly around plotting.
CIS 1.3.1 updates
- JASCIS-231 & JASCIS-209 - CIS now better determines the yaxis when the user specifies the xaxis as 'time' so that overlaying multiple time series is easy
- JASCIS-283 - An issue with setting xmin or xmax using datetimes
- A minor fix to the AerosolCCI product
- Updates to support Iris 1.9.0
- Python
Published by duncanwp about 10 years ago
cis - v1.3.0
CIS 1.3 features
- Some significant optimisations have been made in reading Caliop, CCI and Aeronet datasets, there have also been speed improvements for ungridded data subsetting
- New Pandas interface allows the easy creation of DataFrames through the 'asdataframe' method on Gridded or Ungridded data. Pandas is an extensive python library providing many powerful data analysis algorithms and routines.
- Compatibility updates for newer versions of Numpy and SciPy. The minimum require version of SciPy is now 0.16.0
- Swapped out Basemap plotting routines for Cartopy. This removed a dependancy (as Cartopy was already required by Iris), and has given us more flexibility for plotting different projections in the future
- Plots now automatically try to use the most appropriate resolution background images for plots over coastlines NASA blue marble images.
- 'scatter_overlay' plots have been completely removed (they have been deprecated for the last two versions), the same functionality can be achieved through the more generic 'overlay' plots.
- Update to the UngriddedData.coord() and .coords() API to match the changes in IRIS >=1.8. This allows users to also
search for coordinates by supplying a
Coordinstance to compare against. Currently this only compares standard names, but this may be extended in the future.
Bugs fixed
- JASCIS-279 - This release removes the basemap dependency and means we can use a much newer version of GEOS which doesn't clash with the SciTools version
- JASCIS-267 - Fixed ASCII file reading to be compatible with Numpy 1.9
- JASCIS-259 - Fixed Stats unit tests to reflect updates in SciPy (>0.15.0) linear regression routines for masked arrays
- JASCIS-211 - Subsetting now accepts variable names (rather than axes shorthands) more consistently, the docs have been updated to make the dangers of relying on axes shorthands clear and an error is now thrown if a specific subset coordinate is not found.
- JASCIS-275 - The ungridded subsetting is now done array-wise rather than element wise giving large performance improvements
- Python
Published by duncanwp about 10 years ago
cis - v1.2.0
CIS 1.2 features
- All new
cis infocommand provides much more detailed information about ungridded data variables and enables multiple variables to be output at a time. - Updated a number of routines to take advantage of Iris 1.8 features. In particular gridded-gridded collocation using the nearest neighbour kernel should be significantly faster. Iris 1.8 is now the minimum version required for CIS.
- Gridded-ungridded collocation now supports collocation from cubes with hybrid height or hybrid pressure coordinates for both nearest neighbour and linear interpolation kernels.
- Built-in support for reading multiple HadGEM .pp files directly.
- All new API and plugin development documentation, including a number of tutorials
Bugs fixed
- JASCIS-253 - Any ungridded points which contain a NaN in any of its coordinate values will now be ignored by CIS
- JASCIS-250 - Multiple HadGEM files can now be read correctly through the new data plugins.
- JASCIS-197 - Gridded-gridded collocation now respects scalar coordinates
- JASCIS-199 - Aggregation now correctly uses the bounds supplied by the user, even when collapsing to length one coordinates.
- Speed improvement to the ungridded-gridded collocation using linear interpolation
- Several bug fixes for reading multiple GASSP ship files
- Renamed and restructured the collocation modules for consistency
- Many documentation spelling and formatting updates
- Many code formatting updates for PEP8 compliance
- Python
Published by duncanwp over 10 years ago
cis - v1.1.1
This minor release primarily contained bug fixes and documentation updates.
Bugs fixed
- JASCIS-181 - Updated eval documentation
- JASCIS-239 - Documented the requirement of PyHamCrest for running tests
- JASCIS-249 - CIS will now accept variables and filenames (such as Windows paths) which include a colon as long as they are escaped with a backslash. E.g.
cis plot my_var:C\:\my_file.nc. - Occaisonly HDF will exit when reading an invalid HDF file without throwing any exceptions. To protect against this the HDF reader will now insist on an .hdf extension for any files it reads.
- Python
Published by duncanwp over 10 years ago
cis - v1.1.0
CIS 1.1 features
- JASMIN-CIS is now called CIS, and the packages, modules and documentation have been renamed accordingly.
- Conda packages are now available to allow much easier installation of CIS, and across more platforms: Linux, OSX and Windows.
- PyHDF is now an optional dependency. This makes the installation of CIS on e.g. Windows much easier when HDF reading is not required.
Bugs fixed
- JASCIS-243 - Error when reading multiple GASSP aircraft files
- JASCIS-139 - Updated ungridded aggregation to rename any variables which clash with coordinate variables, as this breaks during the output otherwise.
- Compatibility fixes for Numpy versions >1.8 and Python-NetCDF versions >1.1.
- Fix Caliop pressure units which were stored as hPA, but need to be hPa to conform to CF.
- The integration test data has been moved completely out of the repository - making the download quicker and less bloated. It's location can be specified by setting the CISDATAHOME environment variable.
- A test runner has been created to allow easy runnning of the unit and integration test.
- Python
Published by duncanwp over 10 years ago
cis - End of Phase 3
This is the final release for CIS Phase 3.
Included in this release:
- Default colocator and kernels provided
- Eval command requires units to be specified
- Eval allows attributes to be set against the variable
- Output stacktraces to log only
- GASSP bugfixes
- Plotting bugfixes
See JIRA for full list of bug fixes
- Python
Published by matt-kendall almost 11 years ago
cis - Phase 3 Sprint 9 (Interim)
Included in this release:
- Mutliple GASSP files with different timestamps correctly loaded
- Multiple GASSP station data can be read
- GASSP station altitude attributes with units can be parsed
- Fix for histogram2d
- Stats and eval flatten ungridded data
See JIRA for full list of bug fixes
- Python
Published by matt-kendall almost 11 years ago
cis - Phase 3 Sprint 8
Included in this release:
- Ungridded aggregation leaves collapsed coordinates as length one with min/max bounds
- Stats only calculates dataset means and standard deviations at points non-missing in both datasets.
- Bugfixes (see JIRA for full list).
- Python
Published by matt-kendall almost 11 years ago
cis - Phase 3 Sprint 8 (Interim)
Included in this release:
- Support for reading NetCDF4 Hierarchical groups
- Lotus submission capability
- Numerous bugfixes (see JIRA for full list).
- Python
Published by matt-kendall about 11 years ago
cis - Phase 3 Sprint 7
Included in this release:
- Improved colocation and aggregation performance
- Moments kernel gives colocation and aggregation statistics
- More examples in documentation.
- Numerous bugfixes (see JIRA for full list).
- Python
Published by matt-kendall about 11 years ago
cis - Phase 3 Sprint 6
Included in this release:
- New Statistical comparison command
cis stat- produces detailed statistical output from comparing two compatible netCDF variables in the same or different files. - New Evaluate command
cis eval- allows evaluation of user provided expressions on compatible CIS datasets e.g. for averaging, quality control, interpolation... - More multivariable support (for colocation and aggregation)
- Support for GASSP data
- Assorted bugfixes.
- Python
Published by matt-kendall about 11 years ago
cis - Phase 3 Sprint 4
Contains new features and bug fixes including multivariable support for subsetting and aggregation.
- Python
Published by matt-kendall about 11 years ago