Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ API Reference
fetchers/canada
fetchers/chile
fetchers/czech
fetchers/estonia
fetchers/france
fetchers/germany_berlin
fetchers/japan
Expand Down
5 changes: 5 additions & 0 deletions docs/fetchers/estonia.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Estonia Fetcher
===============

.. automodule:: rivretrieve.estonia
:members:
58 changes: 58 additions & 0 deletions examples/test_estonia_fetcher.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
import logging

import matplotlib.pyplot as plt

from rivretrieve import EstoniaFetcher, constants

logging.basicConfig(level=logging.INFO)

# Example EstModel gauge ID
gauge_ids = ["SJA8821000"]

# Variable to test
variable = constants.DISCHARGE_DAILY_MEAN

# Period to fetch
start_date = "2024-01-01"
end_date = "2024-03-31"

plt.figure(figsize=(12, 6))

fetcher = EstoniaFetcher()

for gauge_id in gauge_ids:
print(f"Fetching data for {gauge_id} from {start_date} to {end_date}...")

data = fetcher.get_data(
gauge_id=gauge_id,
variable=variable,
start_date=start_date,
end_date=end_date,
)

if not data.empty:
print(f"\nData retrieved for gauge {gauge_id}")
print(data.head())
print(f"Time series from {data.index.min()} to {data.index.max()}")

plt.plot(
data.index,
data[variable],
label=gauge_id,
marker="o",
)
else:
print(f"\nNo data found for {gauge_id}")

plt.xlabel(constants.TIME_INDEX)
plt.ylabel(f"{variable} (m³/s)")
plt.title(f"Estonia ({gauge_ids[0]}) — {variable} time series")
plt.legend()
plt.grid(True)
plt.tight_layout()

plot_path = "estonia_fetcher_plot.png"
plt.savefig(plot_path)
print(f"Plot saved to {plot_path}")

# print(fetcher.get_metadata().head())
7 changes: 6 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,9 @@ select = [
[tool.ruff.lint.per-file-ignores]
"rivretrieve/__init__.py" = ["F401"]
"rivretrieve/chile.py" = ["E501"] # The url is too long but can't be splitted.
"docs/conf.py" = ["E402"] # rivretrieve can't be imported before path is added.
"docs/conf.py" = ["E402"] # rivretrieve can't be imported before path is added.

[tool.pytest.ini_options]
testpaths = [
"tests",
]
1 change: 1 addition & 0 deletions rivretrieve/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from .canada import CanadaFetcher
from .chile import ChileFetcher
from .czech import CzechFetcher
from .estonia import EstoniaFetcher
from .france import FranceFetcher
from .germany_berlin import GermanyBerlinFetcher
from .japan import JapanFetcher
Expand Down
60 changes: 60 additions & 0 deletions rivretrieve/cached_site_data/estonia_sites.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
gauge_id,station_name,area,overlapArea,countryArea,calculationArea,distance,type,river,location,latitude,longitude,altitude,country,source
SJA0234000,Pärnu jõgi: Tahkuse,2047.12,0.0,2047.37,2047.12,41.39,HYDROLOGICAL,Pärnu jõgi,Tahkuse,58.5184912,24.9157694,,Estonia,EstModel JSON + GeoJSON
SJA1098000,Kunda jõgi: Sämi,420.81,0.0,420.82,420.81,24.59,HYDROLOGICAL,Kunda jõgi,Sämi,59.3730778,26.5827816,,Estonia,EstModel JSON + GeoJSON
SJA1133000,Vodja jõgi: Vodja,71.47,0.0,71.48,71.47,7.03,HYDROLOGICAL,Vodja jõgi,Vodja,58.9389825,25.6444588,,Estonia,EstModel JSON + GeoJSON
SJA1582000,Leivajõgi: Pajupea,84.37,0.0,84.37,84.37,2.36,HYDROLOGICAL,Leivajõgi,Pajupea,59.3809086,24.9689147,,Estonia,EstModel JSON + GeoJSON
SJA1593000,Esna jõgi: Põhjaka I,196.12,0.0,196.14,196.12,8.39,HYDROLOGICAL,Esna jõgi,Põhjaka I,58.8922222,25.6695539,,Estonia,EstModel JSON + GeoJSON
SJA2072000,Vääna jõgi: Hüüru,202.07,0.0,202.08,202.07,28.85,HYDROLOGICAL,Vääna jõgi,Hüüru,59.3802651,24.5349324,,Estonia,EstModel JSON + GeoJSON
SJA2129000,Purtse jõgi: Lüganuse,784.97,0.0,784.98,784.97,8.15,HYDROLOGICAL,Purtse jõgi,Lüganuse,59.3838602,27.0390659,,Estonia,EstModel JSON + GeoJSON
SJA2259000,Kääpa jõgi: Kääpa,263.73,0.0,263.76,263.73,11.33,HYDROLOGICAL,Kääpa jõgi,Kääpa,58.7006869,26.8490114,,Estonia,EstModel JSON + GeoJSON
SJA2401000,Avijõgi: Separa,388.36,0.0,388.39,388.36,4.05,HYDROLOGICAL,Avijõgi,Separa,58.9661517,27.0366758,,Estonia,EstModel JSON + GeoJSON
SJA2558000,Rannapungerja jõgi: Roostoja,318.64,0.0,318.66,318.64,12.7,HYDROLOGICAL,Rannapungerja jõgi,Roostoja,59.0237441,27.1056794,,Estonia,EstModel JSON + GeoJSON
SJA2718000,Narva jõgi: Vasknarva,47806.99,0.0,16290.23,47806.99,72.11,HYDROLOGICAL,Narva jõgi,Vasknarva,59.0010026,27.7403866,,Estonia,EstModel JSON + GeoJSON
SJA2731000,Pärnu jõgi: Oore,5130.72,0.0,5121.01,5130.72,25.82,HYDROLOGICAL,Pärnu jõgi,Oore,58.4632528,24.7676674,,Estonia,EstModel JSON + GeoJSON
SJA2835000,Õhne jõgi: Tõrva,272.25,0.0,261.32,272.25,39.21,HYDROLOGICAL,Õhne jõgi,Tõrva,58.0038061,25.9211191,,Estonia,EstModel JSON + GeoJSON
SJA3204000,Pedja jõgi: Tõrve,738.89,0.0,738.97,738.89,46.57,HYDROLOGICAL,Pedja jõgi,Tõrve,58.6024865,26.3748957,,Estonia,EstModel JSON + GeoJSON
SJA3413000,Väike Emajõgi: Tõlliste,1044.84,0.0,974.93,1044.84,37.39,HYDROLOGICAL,Väike Emajõgi,Tõlliste,57.8510685,26.1325177,,Estonia,EstModel JSON + GeoJSON
SJA3814000,Jägala jõgi: Kehra,1150.75,0.0,1150.75,866.07,26.23,HYDROLOGICAL,Jägala jõgi,Kehra,59.3443609,25.3404184,,Estonia,EstModel JSON + GeoJSON
SJA3959000,Vihterpalu jõgi: Vihterpalu,478.32,0.0,478.36,478.32,2.61,HYDROLOGICAL,Vihterpalu jõgi,Vihterpalu,59.2521098,23.8665502,,Estonia,EstModel JSON + GeoJSON
SJA4084000,Prandi jõgi: Tori,283.84,0.0,283.88,283.84,5.04,HYDROLOGICAL,Prandi jõgi,Tori,58.7994165,25.4764901,,Estonia,EstModel JSON + GeoJSON
SJA4331000,Sargvere peakraav: Põhjaka II,7.67,0.0,7.67,7.67,0.97,HYDROLOGICAL,Sargvere peakraav,Põhjaka II,58.8891385,25.6766976,,Estonia,EstModel JSON + GeoJSON
SJA4385000,Halliste jõgi: Riisa,1880.61,0.0,1870.5,1880.61,5.19,HYDROLOGICAL,Halliste jõgi,Riisa,58.4797269,24.9944344,,Estonia,EstModel JSON + GeoJSON
SJA4401000,Pärlijõgi / Pudisoo jõgi: Pudisoo,124.34,0.0,124.33,124.34,6.66,HYDROLOGICAL,Pärlijõgi / Pudisoo jõgi,Pudisoo,59.5087001,25.5947537,,Estonia,EstModel JSON + GeoJSON
SJA4444000,Keila jõgi: Keila,635.7,0.0,635.74,635.7,17.73,HYDROLOGICAL,Keila jõgi,Keila,59.3087907,24.4347064,,Estonia,EstModel JSON + GeoJSON
SJA4456000,Võhandu jõgi: Räpina,1132.34,0.0,1132.29,1118.16,12.16,HYDROLOGICAL,Võhandu jõgi,Räpina,58.0955844,27.4545805,,Estonia,EstModel JSON + GeoJSON
SJA4515000,Narva jõgi: Narva linn,56047.31,0.0,17148.92,56047.31,14.08,HYDROLOGICAL,Narva jõgi,Narva linn,59.3827528,28.2066506,,Estonia,EstModel JSON + GeoJSON
SJA4907000,Sauga jõgi: Nurme,550.07,0.0,550.14,550.07,10.14,HYDROLOGICAL,Sauga jõgi,Nurme,58.4463192,24.4977151,,Estonia,EstModel JSON + GeoJSON
SJA5230000,Võhandu jõgi: Kirumpää,584.78,0.0,584.75,584.78,91.11,HYDROLOGICAL,Võhandu jõgi,Kirumpää,57.8660219,26.9932844,,Estonia,EstModel JSON + GeoJSON
SJA5432000,Narva jõgi: Kuningaküla,47981.83,0.0,16409.06,47981.83,56.17,HYDROLOGICAL,Narva jõgi,Kuningaküla,59.1244541,27.8039372,,Estonia,EstModel JSON + GeoJSON
SJA5524000,Emajõgi: Rannu-Jõesuu,3366.41,0.0,3272.3,3366.41,99.36,HYDROLOGICAL,Emajõgi,Rannu-Jõesuu,58.3854623,26.1340336,,Estonia,EstModel JSON + GeoJSON
SJA5604000,Pühajõgi: Toila-Oru,215.23,0.0,215.23,215.23,0.77,HYDROLOGICAL,Pühajõgi,Toila-Oru,59.4231125,27.5300216,,Estonia,EstModel JSON + GeoJSON
SJA5928000,Piusa jõgi: Korela,743.82,0.0,521.79,741.32,14.37,HYDROLOGICAL,Piusa jõgi,Korela,57.8853395,27.7262554,,Estonia,EstModel JSON + GeoJSON
SJA6159000,Lõve jõgi: Uue-Lõve,142.52,0.0,142.54,142.52,2.89,HYDROLOGICAL,Lõve jõgi,Uue-Lõve,58.3565439,22.8340819,,Estonia,EstModel JSON + GeoJSON
SJA6279000,Pirita jõgi: Kloostrimetsa,1970.01,0.0,1970.01,843.12,5.07,HYDROLOGICAL,Pirita jõgi,Kloostrimetsa,59.4662913,24.8795184,,Estonia,EstModel JSON + GeoJSON
SJA6334000,Navesti jõgi: Aesoo,1048.86,0.0,1049.0,1048.86,13.95,HYDROLOGICAL,Navesti jõgi,Aesoo,58.5153039,25.0618244,,Estonia,EstModel JSON + GeoJSON
SJA6683000,Mustjõgi: Taheva,1765.68,0.0,978.23,1765.68,4.51,HYDROLOGICAL,Mustjõgi,Taheva,57.598463,26.3493756,,Estonia,EstModel JSON + GeoJSON
SJA6842000,Tänassilma jõgi: Tänassilma,306.5,0.0,306.53,306.5,17.49,HYDROLOGICAL,Tänassilma jõgi,Tänassilma,58.3949017,25.8221168,,Estonia,EstModel JSON + GeoJSON
SJA7196000,Elva jõgi: Elva,230.68,0.0,230.69,230.68,32.66,HYDROLOGICAL,Elva jõgi,Elva,58.2116205,26.434672,,Estonia,EstModel JSON + GeoJSON
SJA7233000,Luguse jõgi: Luguse,98.19,0.0,98.2,98.19,1.97,HYDROLOGICAL,Luguse jõgi,Luguse,58.8102604,22.712465,,Estonia,EstModel JSON + GeoJSON
SJA7331000,Emajõgi: Tartu,7849.21,0.0,7755.61,7849.21,41.5,HYDROLOGICAL,Emajõgi,Tartu,58.3800219,26.7261801,,Estonia,EstModel JSON + GeoJSON
SJA7595000,Saarjõgi: Kaansoo,177.86,0.0,177.89,177.86,1.0,HYDROLOGICAL,Saarjõgi,Kaansoo,58.5772033,25.2216984,,Estonia,EstModel JSON + GeoJSON
SJA7746000,Mustajõgi: Narva karjääri,293.52,0.0,293.53,293.52,6.8,HYDROLOGICAL,Mustajõgi,Narva karjääri,59.267274,27.857163,,Estonia,EstModel JSON + GeoJSON
SJA7798000,Loobu jõgi: Arbavere,245.55,0.0,245.55,245.55,32.83,HYDROLOGICAL,Loobu jõgi,Arbavere,59.4400408,25.963537,,Estonia,EstModel JSON + GeoJSON
SJA8056000,Tagajõgi: Tudulinna,240.17,0.0,240.19,240.17,3.76,HYDROLOGICAL,Tagajõgi,Tudulinna,59.0361091,27.0888724,,Estonia,EstModel JSON + GeoJSON
SJA8256000,Põltsamaa jõgi: Pajusi,1082.14,0.0,1082.25,1082.14,47.7,HYDROLOGICAL,Põltsamaa jõgi,Pajusi,58.7032473,25.9277924,,Estonia,EstModel JSON + GeoJSON
SJA8764000,Valgejõgi: Vanaküla,307.94,0.0,307.94,307.94,27.23,HYDROLOGICAL,Valgejõgi,Vanaküla,59.4677818,25.7892425,,Estonia,EstModel JSON + GeoJSON
SJA8796000,Porijõgi / Reola jõgi: Reola,240.5,0.0,240.52,240.5,10.16,HYDROLOGICAL,Porijõgi / Reola jõgi,Reola,58.273392,26.7421148,,Estonia,EstModel JSON + GeoJSON
SJA8799000,Velise jõgi: Valgu,121.48,0.0,121.5,121.48,42.02,HYDROLOGICAL,Velise jõgi,Valgu,58.8178888,24.6450127,,Estonia,EstModel JSON + GeoJSON
SJA8821000,Ahja jõgi: Ahja,896.51,0.0,896.54,896.51,25.55,HYDROLOGICAL,Ahja jõgi,Ahja,58.2094013,27.1125992,,Estonia,EstModel JSON + GeoJSON
SJA8903000,Tarvastu jõgi: Tarvastu,83.34,0.0,83.35,83.34,8.68,HYDROLOGICAL,Tarvastu jõgi,Tarvastu,58.2287415,25.8843678,,Estonia,EstModel JSON + GeoJSON
SJA8909000,Selja jõgi: Varangu,376.19,0.0,376.19,376.19,18.19,HYDROLOGICAL,Selja jõgi,Varangu,59.4722208,26.351557,,Estonia,EstModel JSON + GeoJSON
SJA9057000,Reiu jõgi: Laadi,543.83,0.0,536.07,543.83,14.57,HYDROLOGICAL,Reiu jõgi,Laadi,58.2674458,24.646769,,Estonia,EstModel JSON + GeoJSON
SJA9179000,Kasari jõgi: Kasari,2642.45,0.0,2642.76,2642.45,19.62,HYDROLOGICAL,Kasari jõgi,Kasari,58.7266338,23.9969306,,Estonia,EstModel JSON + GeoJSON
SJA9204000,Vigala jõgi: Konuvere,584.49,0.0,584.56,584.49,28.28,HYDROLOGICAL,Vigala jõgi,Konuvere,58.8077828,24.4128838,,Estonia,EstModel JSON + GeoJSON
SJA9683000,Audru jõgi: Audru,321.83,0.0,321.87,321.83,11.69,HYDROLOGICAL,Audru jõgi,Audru,58.4234552,24.3188628,,Estonia,EstModel JSON + GeoJSON
SJA9946000,Alajõgi: Alajõe,137.03,0.0,137.04,137.03,6.59,HYDROLOGICAL,Alajõgi,Alajõe,59.0308954,27.3929578,,Estonia,EstModel JSON + GeoJSON
SJB3766000,Pärnu jõgi: Särevere,572.14,0.0,572.2,553.17,101.81,HYDROLOGICAL,Pärnu jõgi,Särevere,58.7889981,25.4211102,,Estonia,EstModel JSON + GeoJSON
SJB4152000,Pärnu jõgi: Türi-Alliku,560.4,0.0,560.46,541.43,108.66,HYDROLOGICAL,Pärnu jõgi,Türi-Alliku,58.8302558,25.4730234,,Estonia,EstModel JSON + GeoJSON
SJB4324000,Leisi jõgi: Elu,52.58,0.0,52.58,52.58,8.68,HYDROLOGICAL,Leisi jõgi,Elu,58.5129301,22.6973784,,Estonia,EstModel JSON + GeoJSON
SJB4487000,Mustjõgi: Tulijärve,19.44,0.0,19.44,19.44,0.0,HYDROLOGICAL,Mustjõgi,Tulijärve,58.8845822,26.2397623,,Estonia,EstModel JSON + GeoJSON
SJB4488000,Linnussaare oja: Linnusaare,2.32,0.0,2.32,2.32,0.0,HYDROLOGICAL,Linnussaare oja,Linnusaare,58.8708136,26.1977787,,Estonia,EstModel JSON + GeoJSON
Loading
Loading