Backwards Incompatible Changes
- The `helpers.write_geotiff()` function has been updated to support
files smaller than 256x256. It also no longer supports specifying
the time index. Before passing data in, use
`xarray_data.isel(time=<my_time_index>)`. (\277)
- Removed product matching options from `datacube dataset update`
(\445). No matching is needed in this case as all datasets are
already in the database and are associated to products.
- Removed `--match-rules` option from `datacube dataset add` (\447)
- The seldom-used `stack` keyword argument has been removed from
`Datcube.load`. (\461)
- The behaviour of the time range queries has changed to be compatible
with standard Python searches (eg. time slice an xarray). Now the
time range selection is inclusive of any unspecified time units.
(\440)
- Example 1:
`time=('2008-01', '2008-03')` previously would have returned all
data from the start of 1st January, 2008 to the end of 1st of
March, 2008. Now, this query will return all data from the start
of 1st January, 2008 and 23:59:59.999 on 31st of March, 2008.
- Example 2:
To specify a search time between 1st of January and 29th of
February, 2008 (inclusive), use a search query like
`time=('2008-01', '2008-02')`. This query is equivalent to using
any of the following in the second time element:
`('2008-02-29')`
`('2008-02-29 23')`
`('2008-02-29 23:59')`
`('2008-02-29 23:59:59')`
`('2008-02-29 23:59:59.999')`
Changes
- A `--location-policy` option has been added to the `datacube dataset
update` command. Previously this command would always add a new
location to the list of URIs associated with a dataset. It's now
possible to specify `archive` and `forget` options, which will mark
previous location as archived or remove them from the index
altogether. The default behaviour is unchanged. (\469)
- The masking related function `describe_variable_flags()` now returns
a pandas DataFrame by default. This will display as a table in
Jupyter Notebooks. (\422)
- Usability improvements in `datacube dataset [add|update]` commands
(\447, \448, \398)
- Embedded documentation updates
- Deprecated `--auto-match` (it was always on anyway)
- Renamed `--dtype` to `--product` (the old name will still work,
but with a warning)
- Add option to skip lineage data when indexing (useful for saving
time when testing) (\473)
- Enable compression for metadata documents stored in NetCDFs
generated by `stacker` and `ingestor` (\452)
- Implement better handling of stacked NetCDF files (\415)
- Record the slice index as part of the dataset location URI,
using `part=<int>` syntax, index is 0-based
- Use this index when loading data instead of fuzzy searching by
timestamp
- Fall back to the old behaviour when `part=<int>` is missing and
the file is more than one time slice deep
- Expose the following dataset fields and make them searchable:
- `indexed_time` (when the dataset was indexed)
- `indexed_by` (user who indexed the dataset)
- `creation_time` (creation of dataset: when it was processed)
- `label` (the label for a dataset)
(See \432 for more details)
Bug Fixes
- The `.dimensions` property of a product no longer crashes when
product is missing a `grid_spec`. It instead defaults to `time,y,x`
- Fix a regression in `v1.6rc1` which made it impossible to run
`datacube ingest` to create products which were defined in `1.5.5`
and earlier versions of ODC. (\423, \436)
- Allow specifying the chunking for string variables when writing
NetCDFs (\453)