Code Monkey home page Code Monkey logo

bcn-rainfall-models's People

Contributors

github-actions[bot] avatar paul-florentin-charles avatar

Watchers

 avatar

bcn-rainfall-models's Issues

Compute Standardized Precipitation Index (SPI) for different monthly periods

Check this link.
From the above link:

  • SPIs for short accumulation periods (e.g., SPI-1 to SPI-3) are indicators for immediate impacts
    such as reduced soil moisture, snowpack, and flow in smaller creeks;
  • SPIs for medium accumulation periods (e.g., SPI-3 to SPI-12) are indicators for reduced stream
    flow and reservoir storage; and
  • SPIs for long accumulation periods (SPI-12 to SPI-48) are indicators for reduced reservoir and
    groundwater recharge, for example

Compute dispersion of data

Find an already existing (variance) or build a function to retrieve the "dispersion" of rainfall data for the whole dataframe or within an optional specific timeframe.

As per usual, the function would most likely be a class function of YearlyRainfall.

It could be useful for monthly or seasonal data, to find which are the most unpredictable and which are the stablest ones.

Manage API errors

Following errors ought to be managed:

  • Time mode is monthly but no month is set
  • Time mode is seasonal but no season is set

Flasgger -> FastAPI

Flasgger, unfortunately, does not seem to be compatible with most recent versions of Python.
We could simply use FastAPI to set up our API, and keep Flask later as a back supporting our front version.

Make a generic plot function

Code a generic plot function that would take a label for the X values and an array of labels for all the Y values to plot.
Optional parameters to decide the kind of plot (curve, scatter, histo, etc.) , colors and more are to be added as well.

Modify Month/Season enums

Make them as strings for easier treatment via Fast API
-> Will imply to change how MonthlyRainfall/SeasonalRainfall models are instantiated.

Build a small API prototype

More a project than an actual issue

  • Use Flask combined with Flasgger (support for Swagger with Flask)
  • API should be as light as possible
  • API should allow retrieving rainfall data according to several criteria
    • after a defined year
    • by year/season/month
    • ...
  • API should allow computing on rainfall data
    • K-Means
    • Linear Regression
    • ...
  • API should retrieve data as plots & CSVs

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.