Reinforcement Learning
stable-baselines3
deep-reinforcement-learning
agricultural-ai
weather-modelling
curriculum-learning
edge-ai
Instructions to use DHDRL/monsoon-rl with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- stable-baselines3
How to use DHDRL/monsoon-rl with stable-baselines3:
from huggingface_sb3 import load_from_hub checkpoint = load_from_hub( repo_id="DHDRL/monsoon-rl", filename="{MODEL FILENAME}.zip", ) - Notebooks
- Google Colab
- Kaggle
Update zone_observation.py
Browse files- zone_observation.py +16 -3
zone_observation.py
CHANGED
|
@@ -83,9 +83,10 @@ class AlertLevel(Enum):
|
|
| 83 |
|
| 84 |
@unique
|
| 85 |
class DataSource(Enum):
|
| 86 |
-
ERA5_REANALYSIS
|
| 87 |
-
OPENMETEO_LIVE
|
| 88 |
-
|
|
|
|
| 89 |
SATELLITE_NDVI = "satellite_ndvi" # Sentinel-2 / Landsat NDVI tile
|
| 90 |
SATELLITE_PRECIP = "satellite_precip" # IMERG / CHIRPS retrieval (schema v3+)
|
| 91 |
SATELLITE_SOIL = "satellite_soil" # SMAP L3/L4 retrieval (schema v3+)
|
|
@@ -1428,6 +1429,18 @@ if __name__ == "__main__":
|
|
| 1428 |
cfg_era5_back.force_data_source == DataSource.ERA5_REANALYSIS,
|
| 1429 |
"ForecastConfig force_data_source=ERA5 round-trip"
|
| 1430 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1431 |
cfg_new = ForecastConfig(
|
| 1432 |
forecast_backend="openmeteo",
|
| 1433 |
use_climatology_anomalies=True,
|
|
|
|
| 83 |
|
| 84 |
@unique
|
| 85 |
class DataSource(Enum):
|
| 86 |
+
ERA5_REANALYSIS = "era5_reanalysis" # ECMWF ERA5 via CDS or Open-Meteo
|
| 87 |
+
OPENMETEO_LIVE = "openmeteo_live" # Open-Meteo forecast API (free tier)
|
| 88 |
+
OPENMETEO_ARCHIVE = "openmeteo_archive" # Open-Meteo historical archive API
|
| 89 |
+
BMKG_STATION = "bmkg_station" # Indonesian met agency station data
|
| 90 |
SATELLITE_NDVI = "satellite_ndvi" # Sentinel-2 / Landsat NDVI tile
|
| 91 |
SATELLITE_PRECIP = "satellite_precip" # IMERG / CHIRPS retrieval (schema v3+)
|
| 92 |
SATELLITE_SOIL = "satellite_soil" # SMAP L3/L4 retrieval (schema v3+)
|
|
|
|
| 1429 |
cfg_era5_back.force_data_source == DataSource.ERA5_REANALYSIS,
|
| 1430 |
"ForecastConfig force_data_source=ERA5 round-trip"
|
| 1431 |
)
|
| 1432 |
+
_assert(DataSource.OPENMETEO_ARCHIVE.value == "openmeteo_archive",
|
| 1433 |
+
"OPENMETEO_ARCHIVE enum member missing")
|
| 1434 |
+
_assert(DataSource.OPENMETEO_ARCHIVE.is_observational(),
|
| 1435 |
+
"OPENMETEO_ARCHIVE must be observational")
|
| 1436 |
+
_assert(DataSource.OPENMETEO_ARCHIVE != DataSource.OPENMETEO_LIVE,
|
| 1437 |
+
"ARCHIVE and LIVE must be distinct sources")
|
| 1438 |
+
cfg_arch = ForecastConfig(force_data_source=DataSource.OPENMETEO_ARCHIVE)
|
| 1439 |
+
cfg_arch_back = ForecastConfig.from_dict(cfg_arch.to_dict())
|
| 1440 |
+
_assert(
|
| 1441 |
+
cfg_arch_back.force_data_source == DataSource.OPENMETEO_ARCHIVE,
|
| 1442 |
+
"ForecastConfig force_data_source=OPENMETEO_ARCHIVE round-trip"
|
| 1443 |
+
)
|
| 1444 |
cfg_new = ForecastConfig(
|
| 1445 |
forecast_backend="openmeteo",
|
| 1446 |
use_climatology_anomalies=True,
|