An open API service indexing awesome lists of open source software.

https://github.com/networkscientist/meteoshrooms

MeteoShrooms calculates key metrics to predict mushroom occurences with MeteoSwiss OGD and visualize them on a dashboard with a map.
https://github.com/networkscientist/meteoshrooms

dashboard data-science fungi meteorology modelling mushroom python

Last synced: 6 months ago
JSON representation

MeteoShrooms calculates key metrics to predict mushroom occurences with MeteoSwiss OGD and visualize them on a dashboard with a map.

Awesome Lists containing this project

README

          

= MeteoShrooms

image:https://img.shields.io/pypi/v/meteoshrooms?style=flat-square[PyPI - Version]
image:https://github.com/networkscientist/meteoshrooms/actions/workflows/run_tests_ci.yml/badge.svg["Tests",link=https://github.com/networkscientist/meteoshrooms/actions/workflows/run_tests_ci.yml] image:https://img.shields.io/pypi/l/meteoshrooms?style=flat-square[PyPI - License]image:https://img.shields.io/github/stars/networkscientist/meteoshrooms[GitHub Repo stars]

image:https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json[Ruff]

:toc: auto
:icons: font

ifdef::env-github[]
:tip-caption: :bulb:
:note-caption: :information_source:
:important-caption: :heavy_exclamation_mark:
:caution-caption: :fire:
:warning-caption: :warning:
endif::[]

With _MeteoShrooms_, you can keep track of the perfect conditions for mushroom hunting.
We take Open Government Data (OGD) from the official Swiss Meteorological Service MeteoSwiss to calculate key metrics.

image::assets/meteoshrooms_start_page.png[]

[NOTE]
====
Contributors Welcome!
See https://github.com/networkscientist/meteoshrooms/blob/master/docs/CONTRIBUTING.adoc[Contributing Guidelines] for more info...
====

== Motivation

While hunting mushrooms happens in nature, a lot of the planning can be carried out beforehand.

Where are possible areas to find king boletes?

Should you leave the house right now or are you already too late?

And will your current small basket be large enough or is it time to invest in something bigger?

Meteorological data, time series of past findings as well as other datasets can give us valuable insights.

== Concept

=== Overarching Vision

The main goal is to develop a model to predict mushrooms occurences using OGD data.
I suggest starting with _meteo_ data by https://www.meteoswiss.admin.ch/services-and-publications/service/open-data.html[MeteoSwiss], _soil_ properties (see for example https://data.geo.admin.ch/browser/index.html[data.geo.admin.ch] or https://opendata.swiss/de[opendata.swiss]) and using open _mushroom observation data_ from https://www.gbif.org/[GBIF].

=== Spatial

Currently, the _MeteoShrooms_ project is focussed on Switzerland, as the Swiss meteorological agency https://www.meteoswiss.admin.ch[MeteoSwiss] has started to provide access to their data as https://www.meteoswiss.admin.ch/services-and-publications/service/open-data.html[Open Government Data (OGD)].

=== Technical

A main aim is to have sound results calculated efficiently.
Therefore, Python _Polars_ is used for calculations, wherever possible.
Its _LazyFrames_ optimize the workflow.
Data quality is validated through _Pandera_.
Compressed _Parquet_-Files save storage space and up-/download bandwith.

Currently, the repository hosts all parts of the modelling process: 1. Data Preparation, 2. Model Calculations and 3. Data Presentation:

. Data Preparation: Download data from OGD sources and bring them into form needed for next step.
Ensure data quality,
. Model Calculations: Perform the calculations to generate predictions from observed data,
. Data Presentation: Show results on map and/or dashboard.
Include documentation of sources and methodology.

[source,mermaid]
....
flowchart TD
ground[(Ground Properties)] --> prep
meteo[(Meteo Data)] --> prep
mush[(Mushroom Observations)] --> prep
prep[Prepare Data] --> train
train[Train AI Model] --> calc
train --> model@{ shape: lean-l , label: AI Model}
calc[Calculate Model Predictions] --> present
present[Present Results]
....

=== Visualization

Metrics and time series visulizations are currently hosted as a Streamlit dashboard, so https://meteoshrooms.streamlit.app[check it out].

== Roadmap

For a more detailed overview, see either https://github.com/networkscientist/meteoshrooms/issues[Issues] or the detailed https://github.com/users/networkscientist/projects/7[Project Planner], where the project is managed.