Virtual Products
Add [Virtual Products](https://datacube-core.readthedocs.io/en/latest/dev/virtual-products.html#virtual-products) for multi-product loading.
(522, 597, 601, 612, 644, 677, 699, 700)
Changes to Data Loading
The internal machinery used when loading and reprojecting data, has been
completely rewritten. The new code has been tested, but this is a
complicated and fundamental part of code and there is potential for
breakage.
When loading reprojected data, the new code will produce slightly
different results. We don't believe that it is any less accurate than
the old code, but you cannot expect exactly the same numeric results.
Non-reprojected loads should be identical.
This change has been made for two reasons:
1. The reprojection is now core Data Cube, and is not the
responsibility of the IO driver.
2. When loading lower resolution data, DataCube can now take advantage
of available overviews.
<!-- end list -->
- New futures based IO driver interface (686)
Other Changes
- Allow specifying different resampling methods for different data
variables of the same Product. (551)
- Allow all reampling methods supported by rasterio. (622)
- Bug fix (Index out of bounds causing ingestion failures)
- Support indexing data directly from HTTP/HTTPS/S3 URLs (607)
- Renamed the command line tool `datacube metadata_type` to `datacube
metadata` (692)
- More useful output from the command line `datacube
{product|metadata} {show|list}`
- Add optional `progress_cbk` to `dc.load(_data)` (702), allows user
to monitor data loading progress.
- Thread-safe netCDF access within `dc.load` (705)
Performance Improvements
- Use single pass over datasets when computing bounds (660)
- Bugfixes and improved performance of `dask`-backed arrays (547,
664)
Documentation Improvements
- Improve [API Reference](https://datacube-core.readthedocs.io/en/latest/dev/api/index.html#api-reference) documentation.
Deprecations
- From the command line, the old query syntax for searching within
vague time ranges, eg: `2018-03 < time < 2018-04` has been removed.
It is unclear exactly what that syntax should mean, whether to
include or exclude the months specified. It is replaced by `time in
[2018-01, 2018-02]` which has the same semantics as `dc.load` time
queries. (709)