hydromt_wflow.WflowSbmModel.setup_temp_pet_forcing#
- WflowSbmModel.setup_temp_pet_forcing(temp_pet_fn: str | Dataset, pet_method: str = 'debruin', press_correction: bool = True, temp_correction: bool = True, wind_correction: bool = True, wind_altitude: int = 10, reproj_method: str = 'nearest_index', fillna_method: str | None = None, dem_forcing_fn: str | DataArray | None = None, skip_pet: bool = False, chunksize: int | None = None, lapse_rate: float = -0.0065) None[source]#
Generate gridded temperature and reference evapotranspiration forcing.
If temp_correction is True, the temperature will be reprojected and downscaled to model resolution using the elevation lapse rate. For better accuracy, you can provide the elevation grid of the climate data in dem_forcing_fn. If not present, the upscaled elevation grid of the wflow model is used (‘land_elevation’).
If skip_pet is False, reference evapotranspiration (PET) is computed. Temperature and pressure can be downscaled prior to computation. Wind speed is assumed at 2 m and can be corrected from another height using wind_altitude.
Available PET methods: {‘debruin’, ‘makkink’, ‘penman-monteith_rh_simple’, ‘penman-monteith_tdew’}
Important notes for Penman-Monteith methods:
Requires daily temp_min and temp_max
Use ‘makkink’ or ‘debruin’ for sub-daily forcing
Depending on the methods, temp_pet_fn should contain temperature ‘temp’ [°C], pressure ‘press_msl’ [hPa], incoming shortwave radiation ‘kin’ [W/m2], outgoing shortwave radiation ‘kout’ [W/m2], wind speed ‘wind’ [m/s], relative humidity ‘rh’ [%], dew point temperature ‘temp_dew’ [°C], wind speed either total ‘wind’ or the U- ‘wind10_u’ [m/s] and V- ‘wind10_v’ components [m/s].
Adds model layers:
pet: reference evapotranspiration [mm]
temp: temperature [°C]
Required setup methods:
- Parameters:
temp_pet_fn (str | xarray.Dataset) –
Name or path of RasterDataset source with variables to calculate temperature and reference evapotranspiration.
Required variable: ‘temp’ [°C]
- Required variables for ‘debruin’:
’press_msl’ [hPa], ‘kin’ [W/m2], ‘kout’ [W/m2]
- Required variables for ‘makkink’:
’press_msl’ [hPa], ‘kin’ [W/m2]
- Required variables for ‘penman-monteith_rh_simple’:
’temp_min’ [°C], ‘temp_max’ [°C], ‘rh’ [%], ‘kin’ [W/m2], and wind defined as either total ‘wind’ [m/s] or the components ‘wind10_u’ [m/s] and ‘wind10_v’ [m/s]
- Required variables for ‘penman-monteith_tdew’:
’temp_min’ [°C], ‘temp_max’ [°C], ‘temp_dew’ [°C], ‘kin’ [W/m2], ‘press_msl’ [hPa], and wind defined as either total ‘wind’ [m/s] or the components ‘wind10_u’ [m/s] and ‘wind10_v’ [m/s]
pet_method ({'debruin', 'makkink', 'penman-monteith_rh_simple',) – ‘penman-monteith_tdew’}, optional Reference evapotranspiration method, by default ‘debruin’. Requires the pyet package for Penman-Monteith methods.
press_correction (bool, optional) – If True, pressure and temperature are corrected using elevation lapse rate, by default True.
temp_correction (bool, optional) – If True, pressure and temperature are corrected using elevation lapse rate, by default True.
dem_forcing_fn (str | xr.DataArray, optional) –
Elevation data source covering the meteorological forcing domain.
Required variable: ‘elevtn’ [m+REF]
wind_correction (bool, optional) – If True, wind speed is corrected to 2 m altitude using wind_altitude, by default True.
wind_altitude (int, optional) – Altitude of wind speed variable [m], by default 10.
skip_pet (bool, optional) – If True, calculate temperature only.
reproj_method (str, optional) – Reprojection method from rasterio.enums.Resampling, by default ‘nearest_index’.
fillna_method (str, optional) – Method to fill NaN cells within the active model domain in the temperature data (e.g. ‘nearest’). By default None.
chunksize (int, optional) – Chunksize on time dimension for processing data (not for saving to disk!). If None the data chunksize is used, this can however be optimized for large/small catchments. By default None.
lapse_rate (float, optional) – Lapse rate of temperature [C m-1] (default: -0.0065)