diff --git a/arpav_ppcv/operations.py b/arpav_ppcv/operations.py
index 7f73399f..bb9c1b43 100644
--- a/arpav_ppcv/operations.py
+++ b/arpav_ppcv/operations.py
@@ -6,6 +6,7 @@
import httpx
import pandas as pd
+import pymannkendall as mk
import pyproj
import shapely
import shapely.io
@@ -28,6 +29,102 @@
logger = logging.getLogger(__name__)
+def get_observation_time_series(
+ session: sqlmodel.Session,
+ variable: observations.Variable,
+ station: observations.Station,
+ month: int,
+ temporal_range: str,
+ smoothing_strategies: list[base.ObservationDataSmoothingStrategy] = [ # noqa
+ base.ObservationDataSmoothingStrategy.NO_SMOOTHING
+ ],
+ include_decade_data: bool = False,
+ mann_kendall_parameters: base.MannKendallParameters | None = None,
+) -> tuple[
+ pd.DataFrame,
+ Optional[pd.DataFrame],
+ Optional[pd.DataFrame],
+ Optional[dict[str, str]],
+]:
+ start, end = _parse_temporal_range(temporal_range)
+ raw_measurements = database.collect_all_monthly_measurements(
+ session=session,
+ station_id_filter=station.id,
+ variable_id_filter=variable.id,
+ month_filter=month,
+ )
+ df = pd.DataFrame(m.model_dump() for m in raw_measurements)
+ base_name = variable.name
+ df = df[["value", "date"]].rename(columns={"value": base_name})
+ df["time"] = pd.to_datetime(df["date"], utc=True)
+ df = df[["time", base_name]]
+ df.set_index("time", inplace=True)
+ if start is not None:
+ df = df[start:]
+ if end is not None:
+ df = df[:end]
+ unsmoothed_col_name = "__".join(
+ (base_name, base.ObservationDataSmoothingStrategy.NO_SMOOTHING.value)
+ )
+ df[unsmoothed_col_name] = df[base_name]
+ info = {}
+
+ if include_decade_data:
+ decade_df = df.groupby((df.index.year // 10) * 10).mean()
+ decade_df = decade_df.drop(columns=[base_name])
+ decade_df["time"] = pd.to_datetime(decade_df.index.astype(str), utc=True)
+ decade_df.set_index("time", inplace=True)
+ decade_df = decade_df.rename(
+ columns={unsmoothed_col_name: f"{base_name}__DECADE_MEAN"}
+ )
+ else:
+ decade_df = None
+
+ if mann_kendall_parameters is not None:
+ mk_col = f"{base_name}__MANN_KENDALL"
+ mk_start = str(mann_kendall_parameters.start_year or df.index[0].year)
+ mk_end = str(mann_kendall_parameters.end_year or df.index[-1].year)
+ mk_df = df[mk_start:mk_end].copy()
+ mk_result = mk.original_test(mk_df[base_name])
+ mk_df[mk_col] = (
+ mk_result.slope * (mk_df.index.year - mk_df.index.year.min())
+ + mk_result.intercept
+ )
+ mk_df = mk_df.drop(columns=[base_name, unsmoothed_col_name])
+ info.update(
+ {
+ "mann_kendall": {
+ "trend": mk_result.trend,
+ "h": mk_result.h,
+ "p": mk_result.p,
+ "z": mk_result.z,
+ "tau": mk_result.Tau,
+ "s": mk_result.s,
+ "var_s": mk_result.var_s,
+ "slope": mk_result.slope,
+ "intercept": mk_result.intercept,
+ }
+ }
+ )
+ else:
+ mk_df = None
+
+ for smoothing_strategy in smoothing_strategies:
+ if (
+ smoothing_strategy
+ == base.ObservationDataSmoothingStrategy.MOVING_AVERAGE_5_YEARS
+ ):
+ col_name = "__".join((base_name, smoothing_strategy.value))
+ df[col_name] = df[base_name].rolling(window=5, center=True).mean()
+
+ df = df.drop(
+ columns=[
+ base_name,
+ ]
+ )
+ return df, decade_df, mk_df, info if len(info) > 0 else None
+
+
def get_coverage_time_series(
settings: ArpavPpcvSettings,
session: sqlmodel.Session,
diff --git a/arpav_ppcv/schemas/base.py b/arpav_ppcv/schemas/base.py
index 74dc8254..3a72de4a 100644
--- a/arpav_ppcv/schemas/base.py
+++ b/arpav_ppcv/schemas/base.py
@@ -1,8 +1,15 @@
+import dataclasses
import enum
import pydantic
import sqlmodel
+@dataclasses.dataclass
+class MannKendallParameters:
+ start_year: int | None = None
+ end_year: int | None = None
+
+
class Season(enum.Enum):
WINTER = "WINTER"
SPRING = "SPRING"
diff --git a/arpav_ppcv/webapp/api_v2/routers/coverages.py b/arpav_ppcv/webapp/api_v2/routers/coverages.py
index 9e74c809..99f0890c 100644
--- a/arpav_ppcv/webapp/api_v2/routers/coverages.py
+++ b/arpav_ppcv/webapp/api_v2/routers/coverages.py
@@ -38,6 +38,11 @@
from ....schemas.coverages import CoverageInternal
from ... import dependencies
from ..schemas import coverages as coverage_schemas
+from ..schemas.base import (
+ TimeSeries,
+ TimeSeriesItem,
+ TimeSeriesList,
+)
logger = logging.getLogger(__name__)
@@ -246,9 +251,7 @@ async def wms_endpoint(
raise HTTPException(status_code=400, detail="Invalid coverage_identifier")
-@router.get(
- "/time-series/{coverage_identifier}", response_model=coverage_schemas.TimeSeriesList
-)
+@router.get("/time-series/{coverage_identifier}", response_model=TimeSeriesList)
def get_time_series(
db_session: Annotated[Session, Depends(dependencies.get_db_session)],
settings: Annotated[ArpavPpcvSettings, Depends(dependencies.get_settings)],
@@ -266,9 +269,9 @@ def get_time_series(
)
),
] = False,
- coverage_data_smoothing: Annotated[list[CoverageDataSmoothingStrategy], Query()] = [
+ coverage_data_smoothing: Annotated[list[CoverageDataSmoothingStrategy], Query()] = [ # noqa
ObservationDataSmoothingStrategy.NO_SMOOTHING
- ], # noqa
+ ],
observation_data_smoothing: Annotated[
list[ObservationDataSmoothingStrategy], Query()
] = [ObservationDataSmoothingStrategy.NO_SMOOTHING], # noqa
@@ -392,7 +395,7 @@ def get_time_series(
},
)
series.extend(station_series)
- return coverage_schemas.TimeSeriesList(series=series)
+ return TimeSeriesList(series=series)
else:
raise HTTPException(status_code=400, detail="Invalid coverage_identifier")
else:
@@ -406,7 +409,7 @@ def _serialize_dataframe(
ObservationDataSmoothingStrategy | CoverageDataSmoothingStrategy
],
extra_info: Optional[dict[str, str]] = None,
-) -> list[coverage_schemas.TimeSeries]:
+) -> list[TimeSeries]:
series = []
for series_name, series_measurements in data_.to_dict().items():
name_prefix, smoothing_strategy = series_name.rpartition("__")[::2]
@@ -419,11 +422,9 @@ def _serialize_dataframe(
else:
measurements = []
for timestamp, value in series_measurements.items():
- measurements.append(
- coverage_schemas.TimeSeriesItem(value=value, datetime=timestamp)
- )
+ measurements.append(TimeSeriesItem(value=value, datetime=timestamp))
series.append(
- coverage_schemas.TimeSeries(
+ TimeSeries(
name=series_name,
values=measurements,
info={
diff --git a/arpav_ppcv/webapp/api_v2/routers/observations.py b/arpav_ppcv/webapp/api_v2/routers/observations.py
index 92f3073b..33b43875 100644
--- a/arpav_ppcv/webapp/api_v2/routers/observations.py
+++ b/arpav_ppcv/webapp/api_v2/routers/observations.py
@@ -1,12 +1,19 @@
import logging
-from typing import Annotated
+import math
+from typing import (
+ Annotated,
+ Optional,
+)
import fastapi
+import pandas as pd
import pydantic
+from arpav_ppcv.schemas.base import ObservationDataSmoothingStrategy
from fastapi import (
APIRouter,
Depends,
Header,
+ Path,
Request,
Query,
)
@@ -15,11 +22,19 @@
from fastapi.exceptions import HTTPException
from sqlmodel import Session
-from .... import database
+from .... import (
+ database as db,
+ operations,
+)
from ....schemas import base
from ... import dependencies
from ..schemas import observations
from ..schemas.geojson import observations as observations_geojson
+from ..schemas.base import (
+ TimeSeries,
+ TimeSeriesItem,
+ TimeSeriesList,
+)
logger = logging.getLogger(__name__)
router = APIRouter()
@@ -56,9 +71,7 @@ def list_stations(
"""List known stations."""
filter_kwargs = {}
if variable_name is not None:
- if (
- db_var := database.get_variable_by_name(db_session, variable_name)
- ) is not None:
+ if (db_var := db.get_variable_by_name(db_session, variable_name)) is not None:
filter_kwargs.update(
{
"variable_id_filter": db_var.id,
@@ -67,14 +80,14 @@ def list_stations(
)
else:
raise HTTPException(status_code=400, detail="Invalid variable name")
- stations, filtered_total = database.list_stations(
+ stations, filtered_total = db.list_stations(
db_session,
limit=list_params.limit,
offset=list_params.offset,
include_total=True,
**filter_kwargs,
)
- _, unfiltered_total = database.list_stations(
+ _, unfiltered_total = db.list_stations(
db_session, limit=1, offset=0, include_total=True
)
if accept == "application/json":
@@ -111,7 +124,7 @@ def get_station(
db_session: Annotated[Session, Depends(dependencies.get_db_session)],
station_id: pydantic.UUID4,
):
- db_station = database.get_station(db_session, station_id)
+ db_station = db.get_station(db_session, station_id)
return observations.StationReadListItem.from_db_instance(db_station, request)
@@ -122,13 +135,13 @@ def list_variables(
list_params: Annotated[dependencies.CommonListFilterParameters, Depends()],
):
"""List known variables."""
- variables, filtered_total = database.list_variables(
+ variables, filtered_total = db.list_variables(
db_session,
limit=list_params.limit,
offset=list_params.offset,
include_total=True,
)
- _, unfiltered_total = database.list_variables(
+ _, unfiltered_total = db.list_variables(
db_session, limit=1, offset=0, include_total=True
)
return observations.VariableList.from_items(
@@ -150,7 +163,7 @@ def get_variable(
db_session: Annotated[Session, Depends(dependencies.get_db_session)],
variable_id: pydantic.UUID4,
):
- db_variable = database.get_variable(db_session, variable_id)
+ db_variable = db.get_variable(db_session, variable_id)
return observations.VariableReadListItem.from_db_instance(db_variable, request)
@@ -165,7 +178,7 @@ def list_monthly_measurements(
):
"""List known monthly measurements."""
if station_code is not None:
- db_station = database.get_station_by_code(db_session, station_code)
+ db_station = db.get_station_by_code(db_session, station_code)
if db_station is not None:
station_id = db_station.id
else:
@@ -173,14 +186,14 @@ def list_monthly_measurements(
else:
station_id = None
if variable_name is not None:
- db_variable = database.get_variable_by_name(db_session, variable_name)
+ db_variable = db.get_variable_by_name(db_session, variable_name)
if db_variable is not None:
variable_id = db_variable.id
else:
raise ValueError("Invalid variable name")
else:
variable_id = None
- monthly_measurements, filtered_total = database.list_monthly_measurements(
+ monthly_measurements, filtered_total = db.list_monthly_measurements(
db_session,
limit=list_params.limit,
offset=list_params.offset,
@@ -189,7 +202,7 @@ def list_monthly_measurements(
month_filter=month,
include_total=True,
)
- _, unfiltered_total = database.list_monthly_measurements(
+ _, unfiltered_total = db.list_monthly_measurements(
db_session, limit=1, offset=0, include_total=True
)
return observations.MonthlyMeasurementList.from_items(
@@ -211,7 +224,7 @@ def get_monthly_measurement(
db_session: Annotated[Session, Depends(dependencies.get_db_session)],
monthly_measurement_id: pydantic.UUID4,
):
- db_monthly_measurement = database.get_monthly_measurement(
+ db_monthly_measurement = db.get_monthly_measurement(
db_session, monthly_measurement_id
)
return observations.MonthlyMeasurementReadListItem.from_db_instance(
@@ -232,7 +245,7 @@ def list_seasonal_measurements(
):
"""List known seasonal measurements."""
if station_code is not None:
- db_station = database.get_station_by_code(db_session, station_code)
+ db_station = db.get_station_by_code(db_session, station_code)
if db_station is not None:
station_id = db_station.id
else:
@@ -240,14 +253,14 @@ def list_seasonal_measurements(
else:
station_id = None
if variable_name is not None:
- db_variable = database.get_variable_by_name(db_session, variable_name)
+ db_variable = db.get_variable_by_name(db_session, variable_name)
if db_variable is not None:
variable_id = db_variable.id
else:
raise ValueError("Invalid variable name")
else:
variable_id = None
- measurements, filtered_total = database.list_seasonal_measurements(
+ measurements, filtered_total = db.list_seasonal_measurements(
db_session,
limit=list_params.limit,
offset=list_params.offset,
@@ -256,7 +269,7 @@ def list_seasonal_measurements(
season_filter=season,
include_total=True,
)
- _, unfiltered_total = database.list_seasonal_measurements(
+ _, unfiltered_total = db.list_seasonal_measurements(
db_session, limit=1, offset=0, include_total=True
)
return observations.SeasonalMeasurementList.from_items(
@@ -278,9 +291,7 @@ def get_seasonal_measurement(
db_session: Annotated[Session, Depends(dependencies.get_db_session)],
seasonal_measurement_id: pydantic.UUID4,
):
- db_measurement = database.get_seasonal_measurement(
- db_session, seasonal_measurement_id
- )
+ db_measurement = db.get_seasonal_measurement(db_session, seasonal_measurement_id)
return observations.SeasonalMeasurementReadListItem.from_db_instance(
db_measurement, request
)
@@ -296,7 +307,7 @@ def list_yearly_measurements(
):
"""List known yearly measurements."""
if station_code is not None:
- db_station = database.get_station_by_code(db_session, station_code)
+ db_station = db.get_station_by_code(db_session, station_code)
if db_station is not None:
station_id = db_station.id
else:
@@ -304,14 +315,14 @@ def list_yearly_measurements(
else:
station_id = None
if variable_name is not None:
- db_variable = database.get_variable_by_name(db_session, variable_name)
+ db_variable = db.get_variable_by_name(db_session, variable_name)
if db_variable is not None:
variable_id = db_variable.id
else:
raise ValueError("Invalid variable name")
else:
variable_id = None
- measurements, filtered_total = database.list_yearly_measurements(
+ measurements, filtered_total = db.list_yearly_measurements(
db_session,
limit=list_params.limit,
offset=list_params.offset,
@@ -319,7 +330,7 @@ def list_yearly_measurements(
variable_id_filter=variable_id,
include_total=True,
)
- _, unfiltered_total = database.list_yearly_measurements(
+ _, unfiltered_total = db.list_yearly_measurements(
db_session, limit=1, offset=0, include_total=True
)
return observations.YearlyMeasurementList.from_items(
@@ -341,7 +352,91 @@ def get_yearly_measurement(
db_session: Annotated[Session, Depends(dependencies.get_db_session)],
yearly_measurement_id: pydantic.UUID4,
):
- db_measurement = database.get_yearly_measurement(db_session, yearly_measurement_id)
+ db_measurement = db.get_yearly_measurement(db_session, yearly_measurement_id)
return observations.YearlyMeasurementReadListItem.from_db_instance(
db_measurement, request
)
+
+
+@router.get(
+ "/time-series/{station_code}/{variable_name}/{month}", response_model=TimeSeriesList
+)
+def get_time_series(
+ db_session: Annotated[Session, Depends(dependencies.get_db_session)],
+ station_code: str,
+ month: Annotated[int, Path(ge=1, le=12)],
+ variable_name: str,
+ datetime: Optional[str] = "../..",
+ smoothing: Annotated[list[base.ObservationDataSmoothingStrategy], Query()] = [ # noqa
+ base.ObservationDataSmoothingStrategy.NO_SMOOTHING
+ ],
+ include_decade_data: bool = False,
+ include_mann_kendall_trend: bool = False,
+ mann_kendall_start_year: Optional[int] = None,
+ mann_kendall_end_year: Optional[int] = None,
+):
+ if (db_station := db.get_station_by_code(db_session, station_code)) is not None:
+ if (
+ db_variable := db.get_variable_by_name(db_session, variable_name)
+ ) is not None:
+ if include_mann_kendall_trend:
+ mann_kendall = base.MannKendallParameters(
+ start_year=mann_kendall_start_year,
+ end_year=mann_kendall_end_year,
+ )
+ else:
+ mann_kendall = None
+ obs_df, decade_df, mk_df, info = operations.get_observation_time_series(
+ db_session,
+ variable=db_variable,
+ station=db_station,
+ month=month,
+ temporal_range=datetime,
+ smoothing_strategies=smoothing,
+ include_decade_data=include_decade_data,
+ mann_kendall_parameters=mann_kendall,
+ )
+ series = []
+ if include_decade_data and decade_df is not None:
+ series.extend(_serialize_dataframe(decade_df))
+
+ if include_mann_kendall_trend and mk_df is not None:
+ series.extend(
+ _serialize_dataframe(mk_df, info=(info or {}).get("mann_kendall"))
+ )
+
+ exclude_pattern = (
+ ObservationDataSmoothingStrategy.NO_SMOOTHING.value
+ if ObservationDataSmoothingStrategy.NO_SMOOTHING not in smoothing
+ else None
+ )
+ series.extend(
+ _serialize_dataframe(
+ obs_df,
+ exclude_series_name_pattern=exclude_pattern,
+ )
+ )
+ return TimeSeriesList(series=series)
+ else:
+ raise HTTPException(status_code=400, detail="Invalid variable identifier")
+ else:
+ raise HTTPException(status_code=400, detail="Invalid station identifier")
+
+
+def _serialize_dataframe(
+ df: pd.DataFrame,
+ exclude_series_name_pattern: str | None = None,
+ info: dict[str, str] | None = None,
+) -> list[TimeSeries]:
+ series = []
+ for series_name, series_measurements in df.to_dict().items():
+ if (
+ exclude_series_name_pattern is None
+ or exclude_series_name_pattern not in series_name
+ ):
+ measurements = []
+ for timestamp, value in series_measurements.items():
+ if not math.isnan(value):
+ measurements.append(TimeSeriesItem(value=value, datetime=timestamp))
+ series.append(TimeSeries(name=series_name, values=measurements, info=info))
+ return series
diff --git a/arpav_ppcv/webapp/api_v2/schemas/base.py b/arpav_ppcv/webapp/api_v2/schemas/base.py
index baccf3b7..3b1ae56f 100644
--- a/arpav_ppcv/webapp/api_v2/schemas/base.py
+++ b/arpav_ppcv/webapp/api_v2/schemas/base.py
@@ -1,3 +1,4 @@
+import datetime as dt
import logging
import typing
@@ -45,6 +46,21 @@ class ListLinks(pydantic.BaseModel):
last: str | None = None
+class TimeSeriesItem(pydantic.BaseModel):
+ value: float
+ datetime: dt.datetime
+
+
+class TimeSeries(pydantic.BaseModel):
+ name: str
+ values: list[TimeSeriesItem]
+ info: typing.Optional[dict[str, str | int | float | bool]] = None
+
+
+class TimeSeriesList(pydantic.BaseModel):
+ series: list[TimeSeries]
+
+
class WebResourceList(base_schemas.ResourceList):
meta: ListMeta
links: ListLinks
diff --git a/arpav_ppcv/webapp/api_v2/schemas/coverages.py b/arpav_ppcv/webapp/api_v2/schemas/coverages.py
index ea991de9..5ac85497 100644
--- a/arpav_ppcv/webapp/api_v2/schemas/coverages.py
+++ b/arpav_ppcv/webapp/api_v2/schemas/coverages.py
@@ -1,6 +1,4 @@
-import datetime as dt
import uuid
-from typing import Optional
import pydantic
from fastapi import Request
@@ -118,18 +116,3 @@ class ConfigurationParameterList(WebResourceList):
items: list[ConfigurationParameterReadListItem]
list_item_type = ConfigurationParameterReadListItem
path_operation_name = "list_configuration_parameters"
-
-
-class TimeSeriesItem(pydantic.BaseModel):
- value: float
- datetime: dt.datetime
-
-
-class TimeSeries(pydantic.BaseModel):
- name: str
- values: list[TimeSeriesItem]
- info: Optional[dict[str, str]] = None
-
-
-class TimeSeriesList(pydantic.BaseModel):
- series: list[TimeSeries]
diff --git a/poetry.lock b/poetry.lock
index e6cc5c9b..a7bf40cc 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -2262,6 +2262,7 @@ description = "LOESS: smoothing via robust locally-weighted regression in one or
optional = false
python-versions = "*"
files = [
+ {file = "loess-2.1.2-py3-none-any.whl", hash = "sha256:105f12daa0fdff5185855ae57c2d3f25420fb30b475ae3f4078843a5c61699b9"},
{file = "loess-2.1.2.tar.gz", hash = "sha256:f0c1e83e70c5f9b95da635495c0ec555cf7c225186f7e6d978ed7c20d2f3828a"},
]
@@ -3041,6 +3042,7 @@ description = "PlotBin: Plotting Binned Maps and Other Utilities"
optional = false
python-versions = "*"
files = [
+ {file = "plotbin-3.1.5-py3-none-any.whl", hash = "sha256:99b42dcff5fcc1930c0a24230113379eb913fa1702c2e377b169b793d9113b6f"},
{file = "plotbin-3.1.5.tar.gz", hash = "sha256:9fb2d86bd887eaaad9612dea306f57fed5bcb4252a54d8ff040beb9bb1645410"},
]
@@ -3394,6 +3396,21 @@ files = [
plugins = ["importlib-metadata"]
windows-terminal = ["colorama (>=0.4.6)"]
+[[package]]
+name = "pymannkendall"
+version = "1.4.3"
+description = "A python package for non-parametric Mann-Kendall family of trend tests."
+optional = false
+python-versions = "*"
+files = [
+ {file = "pymannkendall-1.4.3-py3-none-any.whl", hash = "sha256:7d988efffae26c12c04b95f77042b946c8581da7526d94b2bbfb7416fb55681f"},
+ {file = "pymannkendall-1.4.3.tar.gz", hash = "sha256:f9e3bbbb583b5285d15082aa0007825e5bea4dde9858d2e7ca81ee6f1e378e82"},
+]
+
+[package.dependencies]
+numpy = "*"
+scipy = "*"
+
[[package]]
name = "pyopenssl"
version = "24.0.0"
@@ -5178,4 +5195,4 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"]
[metadata]
lock-version = "2.0"
python-versions = "^3.10"
-content-hash = "a68fdc62c692336235c72313861151b3f75eed2b91f41a03bcb9df15887706ee"
+content-hash = "ebba6e34e7fdc3303e4637baf4665584cd2189fe26876342fefa3e9b2cb62af2"
diff --git a/pyproject.toml b/pyproject.toml
index d672ecc5..450bada2 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -56,6 +56,7 @@ jinja2 = "^3.1.4"
pyyaml = "^6.0.1"
alembic-postgresql-enum = "^1.2.0"
loess = "^2.1.2"
+pymannkendall = "^1.4.3"
[tool.poetry.group.dev]
diff --git a/tests/notebooks/generic.ipynb b/tests/notebooks/generic.ipynb
index 5e5f4b4a..936b2074 100644
--- a/tests/notebooks/generic.ipynb
+++ b/tests/notebooks/generic.ipynb
@@ -42,31 +42,21 @@
},
{
"cell_type": "code",
- "execution_count": 2,
- "id": "4528e9d8-18b5-4579-b80e-423ce6bd5620",
+ "execution_count": 4,
+ "id": "a59ab0ae-00cd-4bb4-88d7-75b5d1f19d49",
"metadata": {},
"source": [
- "station = db.get_station_by_code(session, \"93\")"
+ "measurements, _ = db.list_seasonal_measurements(session)"
],
"outputs": []
},
{
"cell_type": "code",
"execution_count": 8,
- "id": "dc76a07a-af67-43bf-b66f-c6c7310416d9",
+ "id": "d4f70628-8b3f-4060-bf44-3bbd929f8784",
"metadata": {},
"source": [
- "station.model_dump()"
- ],
- "outputs": []
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "id": "2753c89b-2aa2-40ea-aa64-a30fc3b7f359",
- "metadata": {},
- "source": [
- "float(\"b\")"
+ "measurements[0].variable.name"
],
"outputs": []
}
diff --git a/tests/notebooks/observation-time-series.ipynb b/tests/notebooks/observation-time-series.ipynb
new file mode 100644
index 00000000..e4f8a6a7
--- /dev/null
+++ b/tests/notebooks/observation-time-series.ipynb
@@ -0,0 +1,629 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "8e32eb01-5900-4224-8b3a-dec0f3791fc4",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import httpx\n",
+ "import pandas as pd\n",
+ "import pymannkendall as mk\n",
+ "import sqlmodel\n",
+ "\n",
+ "from arpav_ppcv import (\n",
+ " config,\n",
+ " database,\n",
+ " operations,\n",
+ ")\n",
+ "from arpav_ppcv.schemas.base import (\n",
+ " ObservationDataSmoothingStrategy,\n",
+ " MannKendallParameters,\n",
+ ")\n",
+ "\n",
+ "settings = config.get_settings()\n",
+ "session = sqlmodel.Session(database.get_engine(settings))\n",
+ "\n",
+ "variable = database.get_variable_by_name(session, \"TDd\")\n",
+ "station = database.get_station_by_code(session, \"93\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "id": "233ab640-9ac4-4fe0-b4b3-31e177cb67b1",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df, decade_df, mk_df = operations.get_observation_time_series(\n",
+ " session,\n",
+ " variable,\n",
+ " station,\n",
+ " month=1,\n",
+ " temporal_range=\"../..\",\n",
+ " smoothing_strategies=[ObservationDataSmoothingStrategy.MOVING_AVERAGE_5_YEARS],\n",
+ " include_decade_data=True,\n",
+ " mann_kendall_parameters=MannKendallParameters(start_year=1990, end_year=2000)\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "65b0cbc2-58be-4001-9653-bd0386ae2283",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " TDd__NO_SMOOTHING | \n",
+ " TDd__MOVING_AVERAGE_5_YEARS | \n",
+ "
\n",
+ " \n",
+ " time | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 1987-01-01 00:00:00+00:00 | \n",
+ " -1.568 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " 1988-01-01 00:00:00+00:00 | \n",
+ " 2.160 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " 1989-01-01 00:00:00+00:00 | \n",
+ " 1.945 | \n",
+ " 0.8258 | \n",
+ "
\n",
+ " \n",
+ " 1990-01-01 00:00:00+00:00 | \n",
+ " 1.338 | \n",
+ " 1.3102 | \n",
+ "
\n",
+ " \n",
+ " 1991-01-01 00:00:00+00:00 | \n",
+ " 0.254 | \n",
+ " 1.0706 | \n",
+ "
\n",
+ " \n",
+ " 1992-01-01 00:00:00+00:00 | \n",
+ " 0.854 | \n",
+ " 1.0838 | \n",
+ "
\n",
+ " \n",
+ " 1993-01-01 00:00:00+00:00 | \n",
+ " 0.962 | \n",
+ " 0.7676 | \n",
+ "
\n",
+ " \n",
+ " 1994-01-01 00:00:00+00:00 | \n",
+ " 2.011 | \n",
+ " 1.0226 | \n",
+ "
\n",
+ " \n",
+ " 1995-01-01 00:00:00+00:00 | \n",
+ " -0.243 | \n",
+ " 1.3646 | \n",
+ "
\n",
+ " \n",
+ " 1996-01-01 00:00:00+00:00 | \n",
+ " 1.529 | \n",
+ " 1.4942 | \n",
+ "
\n",
+ " \n",
+ " 1997-01-01 00:00:00+00:00 | \n",
+ " 2.564 | \n",
+ " 1.4082 | \n",
+ "
\n",
+ " \n",
+ " 1998-01-01 00:00:00+00:00 | \n",
+ " 1.610 | \n",
+ " 1.4064 | \n",
+ "
\n",
+ " \n",
+ " 1999-01-01 00:00:00+00:00 | \n",
+ " 1.581 | \n",
+ " 1.3988 | \n",
+ "
\n",
+ " \n",
+ " 2000-01-01 00:00:00+00:00 | \n",
+ " -0.252 | \n",
+ " 0.9648 | \n",
+ "
\n",
+ " \n",
+ " 2001-01-01 00:00:00+00:00 | \n",
+ " 1.491 | \n",
+ " 0.7618 | \n",
+ "
\n",
+ " \n",
+ " 2002-01-01 00:00:00+00:00 | \n",
+ " 0.394 | \n",
+ " 0.4034 | \n",
+ "
\n",
+ " \n",
+ " 2003-01-01 00:00:00+00:00 | \n",
+ " 0.595 | \n",
+ " 0.5188 | \n",
+ "
\n",
+ " \n",
+ " 2004-01-01 00:00:00+00:00 | \n",
+ " -0.211 | \n",
+ " 0.1224 | \n",
+ "
\n",
+ " \n",
+ " 2005-01-01 00:00:00+00:00 | \n",
+ " 0.325 | \n",
+ " 0.7362 | \n",
+ "
\n",
+ " \n",
+ " 2006-01-01 00:00:00+00:00 | \n",
+ " -0.491 | \n",
+ " 1.1780 | \n",
+ "
\n",
+ " \n",
+ " 2007-01-01 00:00:00+00:00 | \n",
+ " 3.463 | \n",
+ " 1.2914 | \n",
+ "
\n",
+ " \n",
+ " 2008-01-01 00:00:00+00:00 | \n",
+ " 2.804 | \n",
+ " 1.1462 | \n",
+ "
\n",
+ " \n",
+ " 2009-01-01 00:00:00+00:00 | \n",
+ " 0.356 | \n",
+ " 1.3888 | \n",
+ "
\n",
+ " \n",
+ " 2010-01-01 00:00:00+00:00 | \n",
+ " -0.401 | \n",
+ " 0.9488 | \n",
+ "
\n",
+ " \n",
+ " 2011-01-01 00:00:00+00:00 | \n",
+ " 0.722 | \n",
+ " 0.7450 | \n",
+ "
\n",
+ " \n",
+ " 2012-01-01 00:00:00+00:00 | \n",
+ " 1.263 | \n",
+ " 1.2782 | \n",
+ "
\n",
+ " \n",
+ " 2013-01-01 00:00:00+00:00 | \n",
+ " 1.785 | \n",
+ " 1.7888 | \n",
+ "
\n",
+ " \n",
+ " 2014-01-01 00:00:00+00:00 | \n",
+ " 3.022 | \n",
+ " 1.9400 | \n",
+ "
\n",
+ " \n",
+ " 2015-01-01 00:00:00+00:00 | \n",
+ " 2.152 | \n",
+ " 1.5592 | \n",
+ "
\n",
+ " \n",
+ " 2016-01-01 00:00:00+00:00 | \n",
+ " 1.478 | \n",
+ " 1.7454 | \n",
+ "
\n",
+ " \n",
+ " 2017-01-01 00:00:00+00:00 | \n",
+ " -0.641 | \n",
+ " 1.2822 | \n",
+ "
\n",
+ " \n",
+ " 2018-01-01 00:00:00+00:00 | \n",
+ " 2.716 | \n",
+ " 1.4598 | \n",
+ "
\n",
+ " \n",
+ " 2019-01-01 00:00:00+00:00 | \n",
+ " 0.706 | \n",
+ " 0.9954 | \n",
+ "
\n",
+ " \n",
+ " 2020-01-01 00:00:00+00:00 | \n",
+ " 3.040 | \n",
+ " 1.5892 | \n",
+ "
\n",
+ " \n",
+ " 2021-01-01 00:00:00+00:00 | \n",
+ " -0.844 | \n",
+ " 1.5994 | \n",
+ "
\n",
+ " \n",
+ " 2022-01-01 00:00:00+00:00 | \n",
+ " 2.328 | \n",
+ " 1.9414 | \n",
+ "
\n",
+ " \n",
+ " 2023-01-01 00:00:00+00:00 | \n",
+ " 2.767 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " 2024-01-01 00:00:00+00:00 | \n",
+ " 2.416 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " TDd__NO_SMOOTHING TDd__MOVING_AVERAGE_5_YEARS\n",
+ "time \n",
+ "1987-01-01 00:00:00+00:00 -1.568 NaN\n",
+ "1988-01-01 00:00:00+00:00 2.160 NaN\n",
+ "1989-01-01 00:00:00+00:00 1.945 0.8258\n",
+ "1990-01-01 00:00:00+00:00 1.338 1.3102\n",
+ "1991-01-01 00:00:00+00:00 0.254 1.0706\n",
+ "1992-01-01 00:00:00+00:00 0.854 1.0838\n",
+ "1993-01-01 00:00:00+00:00 0.962 0.7676\n",
+ "1994-01-01 00:00:00+00:00 2.011 1.0226\n",
+ "1995-01-01 00:00:00+00:00 -0.243 1.3646\n",
+ "1996-01-01 00:00:00+00:00 1.529 1.4942\n",
+ "1997-01-01 00:00:00+00:00 2.564 1.4082\n",
+ "1998-01-01 00:00:00+00:00 1.610 1.4064\n",
+ "1999-01-01 00:00:00+00:00 1.581 1.3988\n",
+ "2000-01-01 00:00:00+00:00 -0.252 0.9648\n",
+ "2001-01-01 00:00:00+00:00 1.491 0.7618\n",
+ "2002-01-01 00:00:00+00:00 0.394 0.4034\n",
+ "2003-01-01 00:00:00+00:00 0.595 0.5188\n",
+ "2004-01-01 00:00:00+00:00 -0.211 0.1224\n",
+ "2005-01-01 00:00:00+00:00 0.325 0.7362\n",
+ "2006-01-01 00:00:00+00:00 -0.491 1.1780\n",
+ "2007-01-01 00:00:00+00:00 3.463 1.2914\n",
+ "2008-01-01 00:00:00+00:00 2.804 1.1462\n",
+ "2009-01-01 00:00:00+00:00 0.356 1.3888\n",
+ "2010-01-01 00:00:00+00:00 -0.401 0.9488\n",
+ "2011-01-01 00:00:00+00:00 0.722 0.7450\n",
+ "2012-01-01 00:00:00+00:00 1.263 1.2782\n",
+ "2013-01-01 00:00:00+00:00 1.785 1.7888\n",
+ "2014-01-01 00:00:00+00:00 3.022 1.9400\n",
+ "2015-01-01 00:00:00+00:00 2.152 1.5592\n",
+ "2016-01-01 00:00:00+00:00 1.478 1.7454\n",
+ "2017-01-01 00:00:00+00:00 -0.641 1.2822\n",
+ "2018-01-01 00:00:00+00:00 2.716 1.4598\n",
+ "2019-01-01 00:00:00+00:00 0.706 0.9954\n",
+ "2020-01-01 00:00:00+00:00 3.040 1.5892\n",
+ "2021-01-01 00:00:00+00:00 -0.844 1.5994\n",
+ "2022-01-01 00:00:00+00:00 2.328 1.9414\n",
+ "2023-01-01 00:00:00+00:00 2.767 NaN\n",
+ "2024-01-01 00:00:00+00:00 2.416 NaN"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "id": "574e423c-35f1-4c1f-a1eb-5295c8b187df",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " TDd__DECADE_MEAN | \n",
+ "
\n",
+ " \n",
+ " time | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 1980 | \n",
+ " 0.845667 | \n",
+ "
\n",
+ " \n",
+ " 1990 | \n",
+ " 1.246000 | \n",
+ "
\n",
+ " \n",
+ " 2000 | \n",
+ " 0.847400 | \n",
+ "
\n",
+ " \n",
+ " 2010 | \n",
+ " 1.280200 | \n",
+ "
\n",
+ " \n",
+ " 2020 | \n",
+ " 1.941400 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " TDd__DECADE_MEAN\n",
+ "time \n",
+ "1980 0.845667\n",
+ "1990 1.246000\n",
+ "2000 0.847400\n",
+ "2010 1.280200\n",
+ "2020 1.941400"
+ ]
+ },
+ "execution_count": 24,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "decade_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "id": "3e36aae5-4152-48e0-afd2-9d3d1ff9dbe1",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "2020"
+ ]
+ },
+ "execution_count": 28,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "decade_df.index[-1]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "id": "d1a6a1b8-af91-4a9a-9903-9f6994f44e75",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Timestamp('2020-01-01 00:00:00+0000', tz='UTC')"
+ ]
+ },
+ "execution_count": 29,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.to_datetime(str(decade_df.index[-1]), utc=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "id": "51b72ee0-f82e-4143-996d-0addf0dbee9c",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "decade_df[\"time\"] = pd.to_datetime(decade_df.index.astype(str), utc=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "id": "77c2cc57-0d83-4468-a394-af6e7d583477",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "decade_df.set_index(\"time\", inplace=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "id": "89a4b581-d370-4fce-a291-52aa2b731085",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'TDd__DECADE_MEAN': {Timestamp('1980-01-01 00:00:00+0000', tz='UTC'): 0.8456666666666667,\n",
+ " Timestamp('1990-01-01 00:00:00+0000', tz='UTC'): 1.246,\n",
+ " Timestamp('2000-01-01 00:00:00+0000', tz='UTC'): 0.8474,\n",
+ " Timestamp('2010-01-01 00:00:00+0000', tz='UTC'): 1.2802,\n",
+ " Timestamp('2020-01-01 00:00:00+0000', tz='UTC'): 1.9414000000000002}}"
+ ]
+ },
+ "execution_count": 32,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "decade_df.to_dict()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "673f39fb-d87a-4436-b2fc-6437041f8cd4",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " TDd__MANN_KENDALL | \n",
+ "
\n",
+ " \n",
+ " time | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 1990-01-01 00:00:00+00:00 | \n",
+ " 1.168 | \n",
+ "
\n",
+ " \n",
+ " 1991-01-01 00:00:00+00:00 | \n",
+ " 1.202 | \n",
+ "
\n",
+ " \n",
+ " 1992-01-01 00:00:00+00:00 | \n",
+ " 1.236 | \n",
+ "
\n",
+ " \n",
+ " 1993-01-01 00:00:00+00:00 | \n",
+ " 1.270 | \n",
+ "
\n",
+ " \n",
+ " 1994-01-01 00:00:00+00:00 | \n",
+ " 1.304 | \n",
+ "
\n",
+ " \n",
+ " 1995-01-01 00:00:00+00:00 | \n",
+ " 1.338 | \n",
+ "
\n",
+ " \n",
+ " 1996-01-01 00:00:00+00:00 | \n",
+ " 1.372 | \n",
+ "
\n",
+ " \n",
+ " 1997-01-01 00:00:00+00:00 | \n",
+ " 1.406 | \n",
+ "
\n",
+ " \n",
+ " 1998-01-01 00:00:00+00:00 | \n",
+ " 1.440 | \n",
+ "
\n",
+ " \n",
+ " 1999-01-01 00:00:00+00:00 | \n",
+ " 1.474 | \n",
+ "
\n",
+ " \n",
+ " 2000-01-01 00:00:00+00:00 | \n",
+ " 1.508 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " TDd__MANN_KENDALL\n",
+ "time \n",
+ "1990-01-01 00:00:00+00:00 1.168\n",
+ "1991-01-01 00:00:00+00:00 1.202\n",
+ "1992-01-01 00:00:00+00:00 1.236\n",
+ "1993-01-01 00:00:00+00:00 1.270\n",
+ "1994-01-01 00:00:00+00:00 1.304\n",
+ "1995-01-01 00:00:00+00:00 1.338\n",
+ "1996-01-01 00:00:00+00:00 1.372\n",
+ "1997-01-01 00:00:00+00:00 1.406\n",
+ "1998-01-01 00:00:00+00:00 1.440\n",
+ "1999-01-01 00:00:00+00:00 1.474\n",
+ "2000-01-01 00:00:00+00:00 1.508"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "mk_df"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.8"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/tests/notebooks/timeseries-observations-demo.ipynb b/tests/notebooks/timeseries-observations-demo.ipynb
new file mode 100644
index 00000000..d5e1219b
--- /dev/null
+++ b/tests/notebooks/timeseries-observations-demo.ipynb
@@ -0,0 +1,203 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "1c84df8e-9d6a-4bb7-9b30-968e11bdb47f",
+ "metadata": {},
+ "source": [
+ "# Observations timeseries demo\n",
+ "\n",
+ "In this notebook we use the backend API to retrieve a time series with observations data and then plot it."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "79050d6c-1899-47b9-8d8e-d6f28bdcdb58",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "%matplotlib widget\n",
+ "\n",
+ "import httpx\n",
+ "import matplotlib.pyplot as plt\n",
+ "import pandas as pd\n",
+ "\n",
+ "station_code = \"91\"\n",
+ "variable_name = \"TDd\"\n",
+ "month = 1\n",
+ "date_range = \"../..\"\n",
+ "mann_kendall_start = 2003\n",
+ "mann_kendal_end = 2008\n",
+ "\n",
+ "api_url = f\"http://webapp:5001/api/v2/observations/time-series/{station_code}/{variable_name}/{month}\"\n",
+ "\n",
+ "\n",
+ "def _parse_to_dataframe(time_series: dict):\n",
+ " df = pd.DataFrame.from_records(time_series[\"values\"])\n",
+ " df[\"datetime\"] = pd.to_datetime(df[\"datetime\"])\n",
+ " df.set_index(\"datetime\", inplace=True)\n",
+ " return df "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "id": "b296c605-af4f-4212-819c-454cc7cd01bb",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "raw_response = httpx.get(\n",
+ " api_url,\n",
+ " params={\n",
+ " \"datetime\": date_range,\n",
+ " \"include_decade_data\": True,\n",
+ " \"smoothing\": [\n",
+ " \"NO_SMOOTHING\",\n",
+ " \"MOVING_AVERAGE_5_YEARS\",\n",
+ " ],\n",
+ " \"include_mann_kendall_trend\": True,\n",
+ " \"mann_kendall_start_year\": mann_kendall_start,\n",
+ " \"mann_kendall_end_year\": mann_kendal_end,\n",
+ " }\n",
+ ")\n",
+ "raw_response.raise_for_status()\n",
+ "\n",
+ "raw_series = raw_response.json()[\"series\"]\n",
+ "\n",
+ "series = {s[\"name\"]: s for s in raw_series}\n",
+ "dfs = {v[\"name\"]: _parse_to_dataframe(v) for v in series.values()}"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a39724be-fb1b-4fff-9a92-b5a4c0d70ae6",
+ "metadata": {},
+ "source": [
+ "### Plotting"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "id": "9b1ddd10-6e0e-478f-babe-464e16dc07d3",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "88b83b9bdde944859e52c6424358c43d",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "image/png": "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",
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ " Figure\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ " "
+ ],
+ "text/plain": [
+ "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "fig, ax = plt.subplots()\n",
+ "\n",
+ "raw_measurements_line, = ax.plot(dfs[f\"{variable_name}__NO_SMOOTHING\"], label=f\"{variable_name}__NO_SMOOTHING\")\n",
+ "raw_measurements_line.set_linestyle(\":\")\n",
+ "raw_measurements_line.set_marker(\".\")\n",
+ "\n",
+ "alread_plotted = (\n",
+ " f\"{variable_name}__NO_SMOOTHING\",\n",
+ ")\n",
+ "for name, df in dfs.items():\n",
+ " if \"decade\" in name.lower():\n",
+ " ax.step(df.index, df[df.columns[0]], label=name)\n",
+ " elif name not in alread_plotted:\n",
+ " ax.plot(df, label=name, marker=\".\")\n",
+ "\n",
+ "\n",
+ "ax.legend()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "id": "ad36d2cb-c748-4076-944c-fffecf3c5818",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "ax.clear()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "id": "bf028683-54c8-4fd4-a333-c050c7cea409",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'trend': 'no trend',\n",
+ " 'h': 0.0,\n",
+ " 'p': 0.2596563563704499,\n",
+ " 'z': 1.1272037239532693,\n",
+ " 'tau': 0.4666666666666667,\n",
+ " 's': 7.0,\n",
+ " 'var_s': 28.333333333333332,\n",
+ " 'slope': 1.076,\n",
+ " 'intercept': -8.8985}"
+ ]
+ },
+ "execution_count": 21,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "series[\"TDd__MANN_KENDALL\"][\"info\"]"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.8"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}