Source code for hydromt_wflow.workflows.soilparams

"""Functions for individual soil parameters."""

import numpy as np
import xarray as xr


[docs] def ksathorfrac( da: xr.DataArray, ds_like: xr.Dataset, resampling_method: str, ) -> xr.DataArray: """Create KsatHorfrac map. Based on the data properties of the WflowModel. Parameters ---------- da : xr.DataArray KsathorFrac values, i.e. an xarray.DataArray containing the values from \ the predefined KsatHorFrac map. ds_like : xr.Dataset Dataset at model resolution. resampling_method : str Scale method when up- or downscaling. Returns ------- xr.DataArray A xarray DataArray containing the scaled KsatHorFrac values. """ # Transfer data to a logaritmic scale da = np.log10(da) # Reproject the data da = da.raster.reproject_like( ds_like, method=resampling_method, ) # Scale the data back to normal values da = np.power(10, da) # Fill all nodata holes in the map da = da.interpolate_na(dim=da.raster.x_dim, method="linear") da = da.interpolate_na( dim=da.raster.x_dim, method="nearest", fill_value="extrapolate" ) # Set the default no fill value for doubles da = da.fillna(-9999.0) da.raster.set_nodata(-9999.0) # Return as a dataset to be used for 'set_grid' return da