|
1 |
| -# Usage |
| 1 | +# `daylight-evapotranspiration` Python Package |
2 | 2 |
|
3 | 3 | This package provides a set of functions for upscaling instantaneous or daily energy balance and meteorological data to daily evapotranspiration (ET) estimates. Below is a summary of each function and its usage:
|
4 | 4 |
|
5 | 5 | [](https://github.com/gregory-halverson-jpl/daily-evapotranspiration-upscaling/actions/workflows/ci.yml)
|
6 | 6 |
|
7 |
| -The `daily-evapotranspiration-upscaling` Python package provides utilities for upscaling energy balance and meteorological data to daily ET, supporting raster, numpy array, and scalar inputs. It is designed for remote sensing, land surface modeling, and geospatial analysis. |
| 7 | + |
| 8 | +The `daylight-evapotranspiration` Python package provides utilities for upscaling energy balance and meteorological data to daily ET, supporting raster, numpy array, and scalar inputs. It is designed for remote sensing, land surface modeling, and geospatial analysis. |
8 | 9 |
|
9 | 10 | [Gregory H. Halverson](https://github.com/gregory-halverson-jpl) (they/them)<br>
|
10 | 11 |
|
11 | 12 | NASA Jet Propulsion Laboratory 329G
|
12 | 13 |
|
13 | 14 | ## Installation
|
14 | 15 |
|
15 |
| -This package is available on PyPI as `daily-evapotranspiration-upscaling` (with dashes): |
| 16 | + |
| 17 | +This package is available on PyPI as `daylight-evapotranspiration`: |
16 | 18 |
|
17 | 19 | ```bash
|
18 |
| -pip install daily-evapotranspiration-upscaling |
| 20 | +pip install daylight-evapotranspiration |
19 | 21 | ```
|
20 | 22 |
|
21 | 23 | ## Usage
|
22 | 24 |
|
23 |
| -Import this package as `daily_evapotranspiration_upscaling` (with underscores): |
| 25 | + |
| 26 | +Import this package as `daylight_evapotranspiration`: |
24 | 27 |
|
25 | 28 | ```python
|
26 |
| -import daily_evapotranspiration_upscaling |
| 29 | +import daylight_evapotranspiration |
27 | 30 | ```
|
28 | 31 |
|
29 | 32 | ### 1. `celcius_to_kelvin(T_C)`
|
30 |
| -- **Description:** Convert Celsius to Kelvin. |
| 33 | +- **Description:** Convert Celsius to Kelvin. Implements $T_K = T_C + 273.15$ (IUPAC Green Book). |
31 | 34 | - **Parameters:** `T_C` (float, array, or raster): Temperature in Celsius.
|
32 | 35 | - **Returns:** Temperature in Kelvin.
|
33 | 36 |
|
34 | 37 | ### 2. `lambda_Jkg_from_Ta_K(Ta_K)`
|
35 |
| -- **Description:** Calculate latent heat of vaporization from air temperature (Kelvin). |
| 38 | +- **Description:** Calculate latent heat of vaporization from air temperature (Kelvin) using Henderson-Sellers (1984): $(2.501 - 0.002361 \times (T_a - 273.15)) \times 10^6$ J/kg. |
36 | 39 | - **Parameters:** `Ta_K` (float, array, or raster): Air temperature in Kelvin.
|
37 | 40 | - **Returns:** Latent heat of vaporization (J/kg).
|
38 | 41 |
|
39 | 42 | ### 3. `lambda_Jkg_from_Ta_C(Ta_C)`
|
40 |
| -- **Description:** Calculate latent heat of vaporization from air temperature (Celsius). |
| 43 | +- **Description:** Calculate latent heat of vaporization from air temperature (Celsius). Converts to Kelvin, then applies Henderson-Sellers (1984). |
41 | 44 | - **Parameters:** `Ta_C` (float, array, or raster): Air temperature in Celsius.
|
42 | 45 | - **Returns:** Latent heat of vaporization (J/kg).
|
43 | 46 |
|
44 | 47 | ### 4. `calculate_evaporative_fraction(LE, Rn, G)`
|
45 |
| -- **Description:** Compute evaporative fraction from latent heat flux, net radiation, and soil heat flux. |
| 48 | +- **Description:** Compute evaporative fraction (EF) from latent heat flux, net radiation, and soil heat flux: $EF = LE / (Rn - G)$ (Shuttleworth, 1993). |
46 | 49 | - **Parameters:**
|
47 |
| - - `LE` (float, array, or raster): Latent heat flux (W/m²) |
48 |
| - - `Rn` (float, array, or raster): Net radiation (W/m²) |
49 |
| - - `G` (float, array, or raster): Soil heat flux (W/m²) |
| 50 | + - `LE` (float, array, or raster): Latent heat flux (W/m²) |
| 51 | + - `Rn` (float, array, or raster): Net radiation (W/m²) |
| 52 | + - `G` (float, array, or raster): Soil heat flux (W/m²) |
50 | 53 | - **Returns:** Evaporative fraction (unitless).
|
51 | 54 |
|
52 |
| -### 5. `daily_ET_from_daily_LE(LE_daylight, ...)` |
53 |
| -- **Description:** Estimate daily ET from daily latent heat flux (LE) and supporting parameters. |
| 55 | +### 5. `daylight_ET_from_daylight_LE(LE_daylight_Wm2, daylight_hours=None, DOY=None, lat=None, datetime_UTC=None, geometry=None, lambda_Jkg=2450000.0)` |
| 56 | +- **Description:** Estimate daylight ET (kg) from daylight latent heat flux (LE) and supporting parameters. Uses $ET = (LE_{daylight} \times \text{daylight seconds}) / \lambda$ (Monteith, 1965). |
54 | 57 | - **Parameters:** See function docstring for details.
|
55 |
| -- **Returns:** Daily evapotranspiration (mm/day). |
| 58 | +- **Returns:** Daylight evapotranspiration (kg). |
56 | 59 |
|
57 |
| -### 6. `daily_ET_from_instantaneous(LE_instantaneous, Rn_instantaneous, G_instantaneous, DOY, lat, hour_of_day, ...)` |
58 |
| -- **Description:** Estimate daily ET from instantaneous measurements of latent heat flux, net radiation, and soil heat flux. |
| 60 | +### 6. `daylight_ET_from_instantaneous_LE(LE_instantaneous_Wm2, Rn_instantaneous_Wm2, G_instantaneous_Wm2, day_of_year=None, lat=None, hour_of_day=None, sunrise_hour=None, daylight_hours=None, time_UTC=None, geometry=None, lambda_Jkg=2450000.0)` |
| 61 | +- **Description:** Upscale instantaneous latent heat flux to daylight ET using EF and integrated net radiation (Verma et al., 1982; Anderson et al., 2007). |
59 | 62 | - **Parameters:**
|
60 |
| - - `LE_instantaneous` (float, array, or raster): Instantaneous latent heat flux (W/m²) |
61 |
| - - `Rn_instantaneous` (float, array, or raster): Instantaneous net radiation (W/m²) |
62 |
| - - `G_instantaneous` (float, array, or raster): Instantaneous soil heat flux (W/m²) |
63 |
| - - `DOY` (int): Day of year |
64 |
| - - `lat` (float): Latitude in degrees |
65 |
| - - `hour_of_day` (float): Local solar time (hours) |
66 |
| -- **Returns:** Daily evapotranspiration (mm/day). |
| 63 | + - `LE_instantaneous_Wm2` (float, array, or raster): Instantaneous latent heat flux (W/m²) |
| 64 | + - `Rn_instantaneous_Wm2` (float, array, or raster): Instantaneous net radiation (W/m²) |
| 65 | + - `G_instantaneous_Wm2` (float, array, or raster): Instantaneous soil heat flux (W/m²) |
| 66 | + - `day_of_year` (int): Day of year |
| 67 | + - `lat` (float): Latitude in degrees |
| 68 | + - `hour_of_day` (float): Local solar time (hours) |
| 69 | + - Additional parameters: see function docstring |
| 70 | +- **Returns:** Daylight evapotranspiration (kg). |
67 | 71 |
|
68 | 72 | # References
|
69 | 73 |
|
| 74 | +- Henderson-Sellers, B. (1984). A new formula for latent heat of vaporization of water as a function of temperature. QJRMS, 110(466), 1186-1190. |
| 75 | +- Shuttleworth, W.J. (1993). Evaporation models: A review. Agricultural and Forest Meteorology, 61(1-2), 13-35. |
| 76 | +- Monteith, J.L. (1965). Evaporation and environment. Symposia of the Society for Experimental Biology, 19, 205-234. |
| 77 | +- Verma, S.B., et al. (1982). Remote sensing of evapotranspiration for Nebraska Sandhills. Agricultural Meteorology, 26, 1-10. |
| 78 | +- Anderson, M.C., et al. (2007). A two-source time-integrated model for estimating surface energy fluxes using thermal infrared remote sensing. Remote Sensing of Environment, 112(1), 213-229. |
70 | 79 | - Allen, R.G., Pereira, L.S., Raes, D., Smith, M., 1998. Crop evapotranspiration-Guidelines for computing crop water requirements-FAO Irrigation and drainage paper 56. FAO, Rome, 300(9).
|
71 | 80 | - Bastiaanssen, W.G.M., Menenti, M., Feddes, R.A., Holtslag, A.A.M., 1998. A remote sensing surface energy balance algorithm for land (SEBAL): 1. Formulation. Journal of hydrology, 212, 198-212.
|
72 | 81 | - Duffie, J. A., & Beckman, W. A. (2013). Solar Engineering of Thermal Processes (4th ed.). Wiley.
|
|
0 commit comments