kaust-halo / geeet Goto Github PK
View Code? Open in Web Editor NEWEvapotranspiration (ET) models for use in python and with integration into Google Earth Engine
Home Page: https://kaust-halo.github.io/geeet/
License: MIT License
Evapotranspiration (ET) models for use in python and with integration into Google Earth Engine
Home Page: https://kaust-halo.github.io/geeet/
License: MIT License
Currently there is an issue when attempting to use geeet.eepredefined.join.landsat_ecmwf
with the ECMWF/ERA5_LAND/HOURLY
image collection. The resulting image collection is unexpectedly empty.
Minimal reproducible example:
import geeet, ee
ee.Initialize()
met_imgc = ee.ImageCollection('ECMWF/ERA5_LAND/HOURLY').filterDate("2015-01-01", "2015-01-10")
sat_imgc = ee.ImageCollection("LANDSAT/LC08/C02/T1_L2").filterBounds(ee.Geometry.Point(30,30)).filterDate("2015-01-01", "2015-01-10")
print(sat_imgc.size().getInfo()) # 1 image in the collection
print(met_imgc.size().getInfo()) # 216 images in the collection
imgc = geeet.eepredefined.join.landsat_ecmwf(sat_imgc, met_imgc)
print(imgc.size().getInfo()) # 0 -- the collection is empty.
Expected output:
imgc
should have one image with datetime 20150104T08
.
This will make it easier to map the functions to ee.ImageCollections
, which can only work with functions that work on a single image. For numpy arrays, the single input can be a list of numpy arrays, but the functions will need to specify the order in which to get the inputs, rather than by using keywords. This has already been implemented for the new geeet.common.relative_humidity
function.
An error occurred when running geeet-main\examples\notebooks\03_eepredefined_landsat_era5. After analyzing the reason, it was found that https://earthengine.googleapis.com/v1/projects/earthengine-legacy/value:compute?prettyPrint=false&alt=json could not be opened. How to solve this problem?
The TSEB model requires an iterative procedure to update any negative soil latent heat flux values. As a first prototype, the geeet.tseb.tseb_series
function uses a simple "for loop". The use of for loops is discouraged in google earth engine, because it is a client-side operation which makes the model overly complex. Currently, it works as is if we restrict it to a small number of iterations (e.g. 5).
To fix this, we can use the .iterate
method. I have prepared a very simple prototype of how this would work here. We can use this as a starting point to replace the current code to make it more gee-friendly.
When I used this geeet and the TSEB model to calculate the regional ET, I found the obtained results:
Looking forward to your reply !
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.