-------------------
New Features
~~~~~~~~~~~~
- Add a new function called ``get_map_vrt`` for getting DEM
within a bounding box and saving it as a ``VRT`` file. This
function has low memory usage and is useful for cases where
the DEM is needed for a large area. Moreover, even for usual
use cases it can be much faster than ``get_dem`` since it
loads the data lazily, at the cost of higher disk usage.
- In the ``get_map`` function, check if the input geometry is
within the bounds of the 3DEP's WMS service and if not, raise
an exception.
- In the ``fill_depressions`` function add a new argument called
``outlets`` for specifying outlet detection method: At the edge
of all cells (``edge``) or only the minimum elevation edge cell
(``min``; default).
- Significantly improve the performance of ``check_3dep_availability``
function by minimizng the number of requests to the service and
sending all requests asynchronously. Also, the returned ``dict`` now
uses ``Failed`` for those resolutions where the service fails to
return a valid response. It will remove the failed responses from
the cache, so next time the function is called, it will try to
get only the failed resolutions.
- Add four new options to ``add_elevation``: ``mask`` for passing a
mask and ``resolution`` for specifying the resolution of the source
DEM, and ``x_dim`` and ``y_dim`` for passing the names of spatial
dimensions in the input dataset. The ``mask`` option is useful for
cases where the input ``xarray.DataArray`` or ``xarray.Dataset`` has
a mask and the user wants to use that mask for the elevation data as well.
The ``resolution`` option is useful for cases where the user wants
to get the elevation data at a higher resolution that will be
downsampled by bilinear interpolation to the resolution of the input
``xarray.DataArray`` or ``xarray.Dataset``. The default is
``resolution=None`` which means the resolution of the input
``xarray.DataArray`` or ``xarray.Dataset`` will be used. The ``x_dim``
and ``y_dim`` options are useful for cases where the input
``xarray.DataArray`` or ``xarray.Dataset`` has different names for
spatial dimensions than ``x`` and ``y``. The default is ``x_dim="x"``
and ``y_dim="y"``.
Breaking Changes
~~~~~~~~~~~~~~~~
- In the ``elevation_profile`` function remove the ``res`` argument
and use 10-m resolution DEM from 3DEP. Also, add two new attributes
to the output ``xarray.Dataset``: ``source`` for the dataset to
state the data source used and ``units`` for the ``distance`` variable
to state the units of the distance, which is meters.
Internal Changes
~~~~~~~~~~~~~~~~
- Improve initial load time by moving ``import pyflwdir`` to the
``fill_depressions`` function.
Bug Fixes
~~~~~~~~~
- Decrease the number of pixels per request from 10e6 to 8e6 to reduce the
request load (:issue_3dep:`65`).