Skip to content

Commit

Permalink
added more variables
Browse files Browse the repository at this point in the history
  • Loading branch information
Jan Griesfeller committed Feb 18, 2025
1 parent 661950e commit 68dc057
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 5 deletions.
7 changes: 6 additions & 1 deletion src/pyaro_readers/actrisebas/ActrisEbasReader.py
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,12 @@ def _read(
for s_idx, site_name in enumerate(urls_to_dl):
for f_idx, url in enumerate(urls_to_dl[site_name]):
logger.info(f"reading file {url}")
tmp_data = xr.open_dataset(url)
try:
tmp_data = xr.open_dataset(url)
except Exception as e:
logger.error(f"failed to read {url} with error {e}")
assert url
continue
# check for time filter by looking into
# np.datetime64(tmp_data.attrs["time_coverage_start"].split()[0])
# and
Expand Down
23 changes: 23 additions & 0 deletions src/pyaro_readers/actrisebas/definitions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,13 @@ ebas_component = ["sulphur_dioxide"]
ebas_matrix = ["air",]
standard_names = ["mass_concentration_of_sulphur_dioxide_expressed_as_sulphur_in_air", ]

[variables.concSso2]
actris_variable = ["sulfur dioxide mass concentration"]
actris_matrix = ["gas phase"]
ebas_component = ["sulphur_dioxide"]
ebas_matrix = ["air",]
standard_names = ["mass_concentration_of_sulphur_dioxide_expressed_as_sulphur_in_air", ]

[variables.vmrso2]
actris_variable = ["sulfur dioxide mass concentration"]
actris_matrix = ["gas phase"]
Expand All @@ -89,6 +96,22 @@ ebas_component = ["pm10_mass"]
ebas_matrix = ["pm10",]
standard_names = ["mass_concentration_of_pm10_ambient_aerosol_particles_in_air", ]

[variables.concpm1]
actris_variable = ["aerosol particle mass concentration"]
#actris_variable = ["aerosol particle number concentration"]
actris_matrix = ["particle phase"]
ebas_component = ["pm1_mass"]
ebas_matrix = ["pm1",]
standard_names = ["mass_concentration_of_pm1_ambient_aerosol_particles_in_air", ]

[variables.concpm25]
actris_variable = ["aerosol particle mass concentration"]
#actris_variable = ["aerosol particle number concentration"]
actris_matrix = ["particle phase"]
ebas_component = ["pm25_mass"]
ebas_matrix = ["pm25",]
standard_names = ["mass_concentration_of_pm2p5_ambient_aerosol_particles_in_air", ]

#[variables.]
#actris_variable = [""]
#actris_matrix = [""]
Expand Down
14 changes: 10 additions & 4 deletions tests/test_ActrisEbasReader.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import unittest
import urllib.request
import logging

import pyaro
import pyaro.timeseries
Expand All @@ -8,6 +9,8 @@
TEST_URL = "https://prod-actris-md.nilu.no/Version"
VOCABULARY_URL = "https://prod-actris-md.nilu.no/V"

logger = logging.getLogger(__name__)


class TestActrisEbasTimeSeriesReader(unittest.TestCase):
engine = "actrisebas"
Expand All @@ -21,7 +24,9 @@ class TestActrisEbasTimeSeriesReader(unittest.TestCase):
# pyaerocom_vars_to_read = ["vmrso2"]

# pyaerocom_vars_to_read = ["concso4t"]
pyaerocom_vars_to_read = ["concpm10"]
# pyaerocom_vars_to_read = ["concpm10"]
# pyaerocom_vars_to_read = ["concpm25"]
pyaerocom_vars_to_read = ["concpm1"]

station_filter = pyaro.timeseries.Filter.StationFilter(
["Birkenes II", "Jungfraujoch", "Ispra", "Melpitz", "Westerland"], []
Expand All @@ -38,7 +43,8 @@ class TestActrisEbasTimeSeriesReader(unittest.TestCase):
#"start_include": [("2019-01-01 00:00:00", "2023-12-24 00:00:00")]

# filters on "start_include"
time_filter = pyaro.timeseries.Filter.TimeBoundsFilter([("2019-01-01 00:00:00", "2019-12-31 23:59:59")])
# time_filter = pyaro.timeseries.Filter.TimeBoundsFilter([("2019-01-01 00:00:00", "2019-12-31 23:59:59")])
time_filter = pyaro.timeseries.Filter.TimeBoundsFilter([("2014-01-01 00:00:00", "2019-12-31 23:59:59")])

def test_api_online(self, url=TEST_URL):
try:
Expand Down Expand Up @@ -71,7 +77,7 @@ def test_api_reading_small_data_set(self):
filters=filters,
) as ts:
self.assertGreaterEqual(len(ts.variables()), 1)
self.assertGreaterEqual(len(ts.stations()), 2)
self.assertGreaterEqual(len(ts.stations()), 1)
self.assertGreaterEqual(len(ts._data[ts.variables()[0]]), 100)
self.assertGreaterEqual(len(ts.data(ts.variables()[0])), 100)
self.assertGreaterEqual(len(ts.variables()), 1)
Expand All @@ -90,7 +96,7 @@ def test_api_reading_pyaerocom_naming(self):
engine = pyaro.list_timeseries_engines()[self.engine]
with engine.open(TEST_URL, filters=filters) as ts:
self.assertGreaterEqual(len(ts.variables()), 1)
self.assertGreaterEqual(len(ts.stations()), 2)
self.assertGreaterEqual(len(ts.stations()), 1)
self.assertGreaterEqual(len(ts._data[ts.variables()[0]]), 1000)
self.assertGreaterEqual(len(ts.data(ts.variables()[0])), 1000)
self.assertIn("revision", ts.metadata())
Expand Down

0 comments on commit 68dc057

Please sign in to comment.