STIC-JPL 1.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,103 @@
1
+ Metadata-Version: 2.4
2
+ Name: STIC-JPL
3
+ Version: 1.6.0
4
+ Summary: Surface Temperature Initiated Closure (STIC) Evapotranspiration Model Python Implementation
5
+ Author-email: Gregory Halverson <gregory.h.halverson@jpl.nasa.gov>, Kaniska Mallick <kaniska.mallick@list.lu>, Madeleine Pascolini-Campbell <madeleine.a.pascolini-campbell@jpl.nasa.gov>, "Claire S. Villanueva-Weeks" <claire.s.villanueva-weeks@jpl.gov>
6
+ Project-URL: Homepage, https://github.com/JPL-Evapotranspiration-Algorithms/STIC-JPL
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: Operating System :: OS Independent
9
+ Requires-Python: >=3.10
10
+ Description-Content-Type: text/markdown
11
+ Requires-Dist: BESS-JPL>=1.21.0
12
+ Requires-Dist: check-distribution
13
+ Requires-Dist: colored-logging
14
+ Requires-Dist: daylight-evapotranspiration>=1.3.4
15
+ Requires-Dist: ECOv002-calval-tables>=1.11.0
16
+ Requires-Dist: ECOv002-CMR>=1.0.5
17
+ Requires-Dist: ECOv002-granules>=1.0.3
18
+ Requires-Dist: ECOv003-granules
19
+ Requires-Dist: GEOS5FP>=1.1.1
20
+ Requires-Dist: monte-carlo-sensitivity
21
+ Requires-Dist: numpy
22
+ Requires-Dist: pandas
23
+ Requires-Dist: pytictoc
24
+ Requires-Dist: rasters>=1.4.6
25
+ Requires-Dist: seaborn
26
+ Requires-Dist: SEBAL-soil-heat-flux
27
+ Requires-Dist: solar-apparent-time>=1.5.3
28
+ Requires-Dist: verma-net-radiation>=1.1.0
29
+ Provides-Extra: dev
30
+ Requires-Dist: build; extra == "dev"
31
+ Requires-Dist: pytest>=6.0; extra == "dev"
32
+ Requires-Dist: pytest-cov; extra == "dev"
33
+ Requires-Dist: jupyter; extra == "dev"
34
+ Requires-Dist: pytest; extra == "dev"
35
+ Requires-Dist: twine; extra == "dev"
36
+
37
+ # `STIC-JPL`
38
+ ## Surface Temperature Initiated Closure (STIC) Evapotranspiration Model Python Implementation
39
+
40
+ [![CI](https://github.com/JPL-Evapotranspiration-Algorithms/STIC/actions/workflows/ci.yml/badge.svg)](https://github.com/JPL-Evapotranspiration-Algorithms/STIC/actions/workflows/ci.yml)
41
+
42
+ This repository contains the python implementation for the Surface Temperature Initiated Closure (STIC) evapotranspiration model, used by the ECOsystem Spaceborne Thermal Radiometer Experiment on Space Station (ECOSTRESS) and Surface Biology and Geology (SBG) missions.
43
+
44
+ This software package is a Python implementation of the Surface Temperature Initiated Closure (STIC) version 1.3 model designed to implement LST to solve the aerodynamic temperature, which is critical for ET modeling. The original STIC model produced by Kaniska Mallick (Mallick et al. 2015; 2018; 2022) was re-implemented from MATLAB code to Python by Gregory Halverson and Madeleine Pascolini-Campbell. The software was developed under a research grant by the NASA Research Opportunities in Space and Earth Sciences (ROSES) program. It is intended for use by the Hyperspectral Thermal Emission Spectrometer (HyTES), MODIS/ASTER (MASTER) Airborne Simulator, Ecosystem Spaceborne Thermal Radiometer Experiment on Space Station (ECOSTRESS) mission and as a precursor for the Surface Biology and Geology (SBG) mission.
45
+
46
+ The software was developed as part of a research grant by the NASA Research Opportunities in Space and Earth Sciences (ROSES) program. It was designed for use by the Hyperspectral Thermal Emission Spectrometer (HyTES), MODIS/ASTER (MASTER) Airborne Simulator, Ecosystem Spaceborne Thermal Radiometer Experiment on Space Station (ECOSTRESS) mission as a precursor for the Surface Biology and Geology (SBG) mission. It may also be useful for general remote sensing and GIS projects in Python. This package can be utilized for remote sensing research in Jupyter notebooks and deployed for operations in data processing pipelines.
47
+
48
+ The software is being released according to the SPD-41 open-science requirements of NASA-funded ROSES projects.
49
+
50
+ Gregory H. Halverson (they/them)<br>
51
+ [gregory.h.halverson@jpl.nasa.gov](mailto:gregory.h.halverson@jpl.nasa.gov)<br>
52
+ Lead developer<br>
53
+ NASA Jet Propulsion Laboratory 329G
54
+
55
+ Kaniska Mallick (he/him)<br>
56
+ [kaniska.mallick@list.lu](mailto:kaniska.mallick@list.lu)<br>
57
+ Algorithm inventor<br>
58
+ Luxembourg Institute of Science and Technology
59
+
60
+ Tian Hu (he/him)<br>
61
+ [tian.hu@list.lu](mailto:tian.hu@list.lu)<br>
62
+ Algorithm developer<br>
63
+ Luxembourg Institute of Science and Technology
64
+
65
+ Madeleine Pascolini-Campbell (she/her)<br>
66
+ [madeleine.a.pascolini-campbell@jpl.nasa.gov](mailto:madeleine.a.pascolini-campbell@jpl.nasa.gov)<br>
67
+ Algorithm developer<br>
68
+ NASA Jet Propulsion Laboratory 329F
69
+
70
+ Claire Villanueva-Weeks (she/her)<br>
71
+ [claire.s.villanueva-weeks@jpl.nasa.gov](mailto:claire.s.villanueva-weeks@jpl.nasa.gov)<br>
72
+ Code maintenance<br>
73
+ NASA Jet Propulsion Laboratory 329G
74
+
75
+ ## Installation
76
+
77
+ Use the pip package manager to install the `STIC-JPL` PyPi package with dashes in the name.
78
+
79
+ ```
80
+ pip install STIC-JPL
81
+ ```
82
+
83
+ ## Usage
84
+
85
+ Import the `STIC_JPL` function from the `STIC_JPL` package with underscores in the name.
86
+
87
+ ```
88
+ from STIC_JPL import STIC_JPL
89
+ ```
90
+
91
+ See the [ECOSTRESS example](ECOSTRESS%20Example.ipynb) notebook for usage.
92
+
93
+ See the [STIC sensitivity](STIC%20Sensitivity.ipynb) notebook for sensitivity analysis.
94
+
95
+ ## References
96
+
97
+ Mallick, K., Boegh, E., Trebs, I., Alfieri, J. G., Kustas, W. P., Prueger, J. H., ... & Jarvis, A. J. (2015). Reintroducing radiometric surface temperature into the P enman‐M onteith formulation. Water Resources Research, 51(8), 6214-6243. https://doi.org/10.1002/2014WR016106
98
+
99
+ Mallick, K., Toivonen, E., Trebs, I., Boegh, E., Cleverly, J., Eamus, D., ... & Garcia, M. (2018). Bridging Thermal Infrared Sensing and Physically‐Based Evapotranspiration Modeling: From Theoretical Implementation to Validation Across an Aridity Gradient in Australian Ecosystems. Water Resources Research, 54(5), 3409-3435. https://doi.org/10.1029/2017WR021357
100
+
101
+ Mallick, K., Baldocchi, D., Jarvis, A., Hu, T., Trebs, I., Sulis, M., ... & Kustas, W. P. (2022). Insights Into the Aerodynamic Versus Radiometric Surface Temperature Debate in Thermal‐Based Evaporation Modeling. Geophysical Research Letters, 49(15), e2021GL097568. https://doi.org/10.1029/2021GL097568
102
+
103
+
@@ -0,0 +1,33 @@
1
+ STIC_JPL/ECOv002-cal-val-STIC-JPL-inputs.csv,sha256=sd5u6iQwUoOcz_moYdsdislV2MjhnpDZ82p7C3m_v_E,1390959
2
+ STIC_JPL/ECOv002-cal-val-STIC-JPL-outputs.csv,sha256=xSoWulmbvgL4VShAtUwmwV-OHSIUQk6jDp7K7hHvHeM,1610174
3
+ STIC_JPL/ECOv002_calval_STIC_inputs.py,sha256=kDtnAfDNE3yI790gcXCEAr2L1DjiHDLC6lwljAydAf4,606
4
+ STIC_JPL/FVC_from_NDVI.py,sha256=QiALDwRVoOmG9XLfQHZQhAfi8B7QuKc2cae6RIi9yYI,1852
5
+ STIC_JPL/LAI_from_NDVI.py,sha256=XgBIEtFG_sSAzNpb-v2E3rQ1HFoxw4gHhviQoiTVAPU,2529
6
+ STIC_JPL/STIC_JPL.py,sha256=2ibIJXyYmXuTI5ZHDSOJeIwmfY89NC2urIRsAK62dC4,226
7
+ STIC_JPL/__init__.py,sha256=u2k8EwOE8w44eFguL4MHJOuoaO_57Kqah82oLEujn54,94
8
+ STIC_JPL/canopy_air_stream.py,sha256=UYp3l7mt0XH4SqvCGZhRzCIL-v7-Rvxxfm-C81lheSU,1637
9
+ STIC_JPL/celcius_to_kelvin.py,sha256=QZ1gA8BHBHbdlgn1v8tEMG17yY2r-SCBnaHrGXySItg,316
10
+ STIC_JPL/closure.py,sha256=TRJm-CyW-VU1NS-zLZ_K1urjc1o0hKzu5fkO5cHrHZc,4243
11
+ STIC_JPL/constants.py,sha256=h_s30DhZgySVAuFQ97icMw3sJ_HU-iMtfDrDK765ms0,738
12
+ STIC_JPL/exceptions.py,sha256=GjGArqFDypNkD-LQf_W4kpAZ8B4xwDYTlx8DKPd809k,115
13
+ STIC_JPL/generate_STIC_inputs.py,sha256=Vwuqq-PLiH2IBd1v0Vt2TVbdIRK8D1zU_uMgReCefmQ,2382
14
+ STIC_JPL/initialize_with_solar.py,sha256=P-22Wn8-sdvh2o4LGb9XfbCdXGWcOxdWwMzEYfx2Nfo,3759
15
+ STIC_JPL/initialize_without_solar.py,sha256=M_7QfP2pr2w5sQO7UOW1GPqxpmQkjmsQ526BgYVVALk,4675
16
+ STIC_JPL/iterate_with_solar.py,sha256=T9DezL59xaV63o6f7_ouCGcQwPi1dIvhlJB26TMGuDo,6373
17
+ STIC_JPL/iterate_without_solar.py,sha256=09RERpN6tdZr6ORDhMwEFXwx8941vyn1HMJQ-Q_bY6s,6140
18
+ STIC_JPL/model.py,sha256=e7NoUMAB7Yq3EFXtzA_mkPL0gXpVqu_lxwBvGztILs4,19149
19
+ STIC_JPL/net_radiation.py,sha256=Uwudsazul8V-x5t8KQLi3wpYi-wjMwT__eqZCRV2bIw,1187
20
+ STIC_JPL/process_STIC_table.py,sha256=GBiCgp_qOjYFDwpug9b85B2mxzc9uZypSSiIo9Nu1tE,5379
21
+ STIC_JPL/root_zone_initialization.py,sha256=3JVKNDt3ebIiGVfuhBawjKs-BicNwkbfMprkzSxd4Cg,1581
22
+ STIC_JPL/root_zone_iteration.py,sha256=1XOMFE3-TdJZzUU5vouflUO4NKaZwAW6s1KJrNez3Es,3787
23
+ STIC_JPL/soil_moisture_initialization.py,sha256=wWhAmvNT8tAIm_Sul8mEj6VdNuj7K14TBGUjKfqJrso,5610
24
+ STIC_JPL/soil_moisture_iteration.py,sha256=QJXOPMxxwIIskpx9zLkXUPfuhWgFPUBcRnGhZo2UjAw,6493
25
+ STIC_JPL/verify.py,sha256=qhinSzvJilKyYYO4VrIZyfgrghtQo1_E5nbDcFamgdM,3057
26
+ STIC_JPL/version.py,sha256=mh4rY2VxcqltBQ-_Lm9uho8UbAkmfwHPdpZSE69bqz8,74
27
+ tests/test_import_STIC.py,sha256=MeONu3l_YowKsZoQrRxq-KadODljbHgc6Ch4GaFu7VE,48
28
+ tests/test_import_dependencies.py,sha256=p0U2oqmPlXXRBYkpQRKprt1_sI18x7exgiNBXQyAeSY,384
29
+ tests/test_verify.py,sha256=hGOoidqfKfwO6jBFu8Ej8M5LexW3Cduz3Q5lPKu0g3Q,151
30
+ stic_jpl-1.6.0.dist-info/METADATA,sha256=gJSoZwz02MQiQqboKlNwVpKvnPI6-j1UDOcy56qBlrI,5923
31
+ stic_jpl-1.6.0.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
32
+ stic_jpl-1.6.0.dist-info/top_level.txt,sha256=G0P03_U7fStsniYyHsBHy254cXAwOcA-H_xvSgbNpRM,15
33
+ stic_jpl-1.6.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.10.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ STIC_JPL
2
+ tests
@@ -0,0 +1,2 @@
1
+ def test_import_STIC_JPL():
2
+ import STIC_JPL
@@ -0,0 +1,18 @@
1
+ import pytest
2
+
3
+ # List of dependencies
4
+ dependencies = [
5
+ "colored_logging",
6
+ "ECOv002_CMR",
7
+ "ECOv002_granules",
8
+ "GEOS5FP",
9
+ "numpy",
10
+ "pandas",
11
+ "rasters",
12
+ "solar_apparent_time"
13
+ ]
14
+
15
+ # Generate individual test functions for each dependency
16
+ @pytest.mark.parametrize("dependency", dependencies)
17
+ def test_dependency_import(dependency):
18
+ __import__(dependency)
tests/test_verify.py ADDED
@@ -0,0 +1,5 @@
1
+ import pytest
2
+ from STIC_JPL import verify
3
+
4
+ def test_verify():
5
+ assert verify(), "Model verification failed: outputs do not match expected results."