Recent Releases of CIS
CIS - v1.7.9
What's Changed
- Fix vstack by @duncanwp in https://github.com/cedadev/cis/pull/45
Full Changelog: https://github.com/cedadev/cis/compare/1.7.8...1.7.9
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp over 1 year ago

CIS - v1.7.8
Minor numpy interface update.
Full Changelog: https://github.com/cedadev/cis/compare/1.7.7...1.7.8
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp almost 2 years ago

CIS - v1.7.7
Minor fix for latest bumpy version.
Full Changelog: https://github.com/cedadev/cis/compare/1.7.6...1.7.7
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp almost 2 years ago

CIS - v1.7.6
What's Changed
- Converting np.float to float by @duncanwp in https://github.com/cedadev/cis/pull/41
Full Changelog: https://github.com/cedadev/cis/compare/1.7.5...1.7.6
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp almost 2 years ago

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
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp over 2 years ago

CIS - v1.7.4
CIS 1.7.4 fixes
- Updated for Python 3.9 support
- Support
Iris
3.1 andcfunits
3.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
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp over 3 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
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp about 4 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
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp about 4 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
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp about 4 years ago

CIS - v1.7.2
CIS 1.7.2 fixes
- We no-longer officially support Python 2.7. We won't yet explicitly remove Python 2.7 features but we no longer
test against Python 2 and won't fix issues relating to it. - Support for Pandas 1.1
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp over 4 years ago

CIS - v1.7.0
CIS 1.7 features
- Extended the definition of the MODIS_L3 plugin to include monthly files.
- Added plugins Aerosol_CCI_L3 and Cloud_CCI_L3 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 All_Sites_Times_*.dat files now distributed under the "Download All Sites" link.
Incompatible changes
- Renamed the plugins Aerosol_CCI and Cloud_CCI to Aerosol_CCI_L2 and Cloud_CCI_L2 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.
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp over 6 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] get_variable_names now gets passed the product argument from read_data_list
- 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)
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp over 7 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
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp about 8 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
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp about 8 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, theaggregate
command 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 thecollapse
command 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.
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp over 8 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_range
attributes 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_min
orvalid_max
attributes is also masked appropriately. - CloudSat
missing
andmissop
attributes 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_OVERWRITE
environment 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 'missing_data_for_missing_sample' 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 CIS_PLUGIN_HOME path cannot be found
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp over 8 years ago

CIS - v1.3.3
Aggregation of gridded data now supports partially collapsing multi-dimensional coordinates. Also fixed a bug to do with multiple variable aggregation where the masks of each variable are different (JASCIS-281).
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp about 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
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp over 9 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 'as_data_frame' 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 aCoord
instance 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
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp over 9 years ago

CIS - v1.2.0
CIS 1.2 features
- All new
cis info
command 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
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp over 9 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.
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp over 9 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 CIS_DATA_HOME environment variable.
- A test runner has been created to allow easy runnning of the unit and integration test.
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by duncanwp over 9 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
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by matt-kendall about 10 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
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by matt-kendall about 10 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).
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by matt-kendall about 10 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).
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by matt-kendall about 10 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).
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by matt-kendall about 10 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.
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by matt-kendall over 10 years ago

CIS - Phase 3 Sprint 4
Contains new features and bug fixes including multivariable support for subsetting and aggregation.
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by matt-kendall over 10 years ago
