Skip to content

Commit e4f574f

Browse files
authored
Merge pull request #81 from Open-ET/tmax-deprecate
Removing Tmax dependency
2 parents 62e3c5a + 7213540 commit e4f574f

File tree

7 files changed

+143
-776
lines changed

7 files changed

+143
-776
lines changed

CONTRIBUTING.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Thank you for your interest in supporting the OpenET SSEBop project.
77
Versioning
88
==========
99

10-
The OpenET SSEBop project is currently in Beta and the version numbers will be "0.0.X" until a non-Beta release is made.
10+
The OpenET SSEBop project is working toward a version 1.0 release that will natively support being run globally. Until that time the model will be making 0.X releases for a changes that are expected to change output values, and 0.X.Y release for any minor patch updates that are not expected to change output values.
1111

1212
Coding Conventions
1313
==================
@@ -30,7 +30,7 @@ Create the conda environment:
3030

3131
.. code-block:: console
3232
33-
conda create --name openet python=3.9
33+
conda create --name openet python=3.11
3434
3535
Activate the environment:
3636

README.rst

Lines changed: 7 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -70,24 +70,6 @@ Example
7070
et_reference = ee.Image('IDAHO_EPSCOR/GRIDMET/20170716').select('etr')
7171
et_actual = et_fraction.multiply(et_reference)
7272
73-
Custom Input Image
74-
------------------
75-
76-
SSEBop images can also be built manually by instantiating the class with an ee.Image with the following bands: 'lst' (land surface temperature [K]) and 'ndvi' (normalized difference vegetation index). The input image must have 'system:index' and 'system:time_start' properties (described above).
77-
78-
.. code-block:: python
79-
80-
import openet.ssebop as ssebop
81-
82-
input_img = (
83-
ee.Image([ee.Image(lst), ee.Image(ndvi)])
84-
.rename(['lst', 'ndvi'])
85-
.set({
86-
'system:index': 'LC08_044033_20170716',
87-
'system:time_start': ee.Date.fromYMD(2017, 7, 16).millis()})
88-
)
89-
et_fraction = ssebop.Image(input_img).et_fraction
90-
9173
Example Notebooks
9274
=================
9375

@@ -100,13 +82,6 @@ Detailed Jupyter Notebooks of the various approaches for calling the OpenET SSEB
10082
Ancillary Datasets
10183
==================
10284

103-
Maximum Daily Air Temperature (Tmax)
104-
------------------------------------
105-
The daily maximum air temperature (Tmax) is essential for establishing the maximum ET limit (cold boundary) as explained in Senay2017_.
106-
Support for source options includes CIMIS, GRIDMET, DAYMET, and other custom Image Collections. See the model Image class docstrings for more information.
107-
108-
Default Asset ID: *projects/usgs-ssebop/tmax/daymet_v4_mean_1981_2010* (Daily median from 1981-2010)
109-
11085
Land Surface Temperature (LST)
11186
------------------------------
11287
Land Surface Temperature is currently calculated in the SSEBop approach two ways:
@@ -118,25 +93,21 @@ Temperature Difference (dT)
11893
The SSEBop ET model uses dT as a predefined temperature difference between Thot and Tcold for each pixel.
11994
In SSEBop formulation, hot and cold limits are defined on the same pixel; therefore, dT actually represents the vertical temperature difference between the surface temperature of a theoretical bare/dry condition of a given pixel and the air temperature at the canopy level of the same pixel as explained in Senay2018_. The input dT is calculated under "gray-sky" conditions and assumed not to change from year to year, but is unique for each day and location.
12095

121-
Default Asset ID: *projects/usgs-ssebop/dt/daymet_median_v6*
96+
Default Asset ID: *projects/usgs-ssebop/dt/daymet_median_v7*
12297

123-
Temperature Correction (*c factor*)
98+
Cold Boundary Temperature (Tcold)
12499
-----------------------------------
125-
In order to correspond the maximum air temperature with cold/wet limiting environmental conditions, the SSEBop model uses a temperature correction coefficient (*c factor*, sometimes labeled interchangeably as Tcorr) uniquely calculated for each Landsat scene.
126-
This temperature correction component is uniquely developed for SSEBop using a Forcing and Normalizing Operation (FANO) method featuring a linear relation between a normalized land surface temperature difference and NDVI difference using the dT parameter and a proportionality constant.
127-
128-
**Note:** *Tcorr* refers to the pixel-based ratio of LST_cold and Tmax while *c factor* is a statistical value that represents a region such as a 5-km grid size (or larger) value.
100+
In order to determine the theoretical LST corresponding to cold/wet limiting environmental conditions (Tcold), the
101+
SSEBop model uses a Forcing and Normalizing Operation (FANO) method, featuring a linear relation between a normalized
102+
land surface temperature difference and NDVI difference using the dT parameter and a proportionality constant.
129103

130104
More information on parameter design and model improvements using the FANO method can be found in Senay2023_. Additional SSEBop model algorithm theoretical basis documentation can be found `here <https://www.usgs.gov/media/files/landsat-4-9-collection-2-level-3-provisional-actual-evapotranspiration-algorithm>`__.
131105

132-
The 'FANO' parameter (default) can be implemented dynamically for each Landsat scene within the SSEBop Image object using the following Tcorr source:
133-
134106
.. code-block:: python
135107
136108
model_obj = model.Image.from_landsat_c2_sr(
137109
ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044033_20170716'),
138-
tcorr_source='FANO',
139-
)
110+
)
140111
141112
The FANO parameterization allows the establishment of the cold boundary condition regardless of vegetation cover density, improving the performance and operational implementation of the SSEBop ET model in sparsely vegetated landscapes, dynamic growing seasons, and varying locations around the world.
142113

@@ -153,7 +124,7 @@ Dependencies
153124
============
154125

155126
* `earthengine-api <https://github.com/google/earthengine-api>`__
156-
* `openet-core <https://github.com/Open-ET/openet-core-beta>`__
127+
* `openet-core <https://github.com/Open-ET/openet-core>`__
157128

158129
OpenET Namespace Package
159130
========================

0 commit comments

Comments
 (0)