Git Product home page Git Product logo

geeet's People

Contributors

ikramelhazdour avatar lopezvoliver avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

geeet's Issues

Empty collection using geeet.eepredefined.join.landsat_ecmwf

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.

Modify function arguments to work with a single image.

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.

Replace for loop in TSEB iterative procedure.

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.

Questions about iteration

When I used this geeet and the TSEB model to calculate the regional ET, I found the obtained results:

  1. Tc=Ts
  2. the minimum value of LEc and LEs was negative.
  3. the minimum value of ETd was also negative.
    Then I checked the code and found that you had set the maximum number of iterations to be 5. But after 5 iterations my results were not satisfactory. So I changed the code in tseb.py so that max_iterations = 5, which ensures that PT is positive, which ensures that alphaPT is positive. But when I run it again, the result is the same as before. How can I solve it ?
    In addition, in this geeet, the condition to stop the iteration is that LEs is positive. Should we add a condition that L converges to a stable value ?

Looking forward to your reply !

K43BLHHZ1DHMK8G6NI E)UW

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.