weatherdb 1.2.1__tar.gz → 1.2.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. {weatherdb-1.2.1 → weatherdb-1.2.3}/.gitlab-ci.yml +6 -8
  2. {weatherdb-1.2.1 → weatherdb-1.2.3}/CHANGES.md +12 -1
  3. {weatherdb-1.2.1 → weatherdb-1.2.3}/PKG-INFO +22 -3
  4. {weatherdb-1.2.1 → weatherdb-1.2.3}/docker/docker-compose.yaml +3 -1
  5. weatherdb-1.2.3/weatherdb/_version.py +1 -0
  6. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/cli.py +2 -1
  7. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/config/ConfigParser.py +14 -1
  8. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/station/GroupStation.py +7 -7
  9. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/station/StationBases.py +1 -1
  10. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/station/StationP.py +3 -3
  11. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/stations/GroupStations.py +3 -3
  12. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb.egg-info/PKG-INFO +22 -3
  13. weatherdb-1.2.1/weatherdb/_version.py +0 -1
  14. {weatherdb-1.2.1 → weatherdb-1.2.3}/.dockerignore +0 -0
  15. {weatherdb-1.2.1 → weatherdb-1.2.3}/.github/workflows/cleanup-cache.yml +0 -0
  16. {weatherdb-1.2.1 → weatherdb-1.2.3}/.github/workflows/python-publish.yml +0 -0
  17. {weatherdb-1.2.1 → weatherdb-1.2.3}/.github/workflows/python-test.yml +0 -0
  18. {weatherdb-1.2.1 → weatherdb-1.2.3}/.gitignore +0 -0
  19. {weatherdb-1.2.1 → weatherdb-1.2.3}/.gitlab/merge_request_templates/new_version.md +0 -0
  20. {weatherdb-1.2.1 → weatherdb-1.2.3}/.readthedocs.yaml +0 -0
  21. {weatherdb-1.2.1 → weatherdb-1.2.3}/LICENSE +0 -0
  22. {weatherdb-1.2.1 → weatherdb-1.2.3}/MANIFEST.in +0 -0
  23. {weatherdb-1.2.1 → weatherdb-1.2.3}/README.md +0 -0
  24. {weatherdb-1.2.1 → weatherdb-1.2.3}/docker/Dockerfile +0 -0
  25. {weatherdb-1.2.1 → weatherdb-1.2.3}/docker/docker-compose_test.yaml +0 -0
  26. {weatherdb-1.2.1 → weatherdb-1.2.3}/docker/start-docker-test.sh +0 -0
  27. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/requirements.txt +0 -0
  28. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/Changelog.md +0 -0
  29. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/License.rst +0 -0
  30. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/Methode.md +0 -0
  31. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/_static/custom.css +0 -0
  32. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/_static/favicon.ico +0 -0
  33. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/_static/logo.png +0 -0
  34. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/api.rst +0 -0
  35. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/cli.rst +0 -0
  36. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.broker.rst +0 -0
  37. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.config.rst +0 -0
  38. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.db.rst +0 -0
  39. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.rst +0 -0
  40. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.station.GroupStation.rst +0 -0
  41. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.station.StationBases.rst +0 -0
  42. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.station.StationET.rst +0 -0
  43. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.station.StationP.rst +0 -0
  44. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.station.StationPD.rst +0 -0
  45. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.station.StationT.rst +0 -0
  46. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.station.rst +0 -0
  47. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.stations.StationsBase.rst +0 -0
  48. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.stations.StationsET.rst +0 -0
  49. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.stations.StationsP.rst +0 -0
  50. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.stations.StationsPD.rst +0 -0
  51. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.stations.StationsT.rst +0 -0
  52. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.stations.rst +0 -0
  53. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/api/weatherdb.utils.rst +0 -0
  54. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/conf.py +0 -0
  55. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/index.rst +0 -0
  56. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/setup/Configuration.md +0 -0
  57. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/setup/Hosting.md +0 -0
  58. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/setup/Install.md +0 -0
  59. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/setup/Quickstart.md +0 -0
  60. {weatherdb-1.2.1 → weatherdb-1.2.3}/docs/source/setup/setup.rst +0 -0
  61. {weatherdb-1.2.1 → weatherdb-1.2.3}/pyproject.toml +0 -0
  62. {weatherdb-1.2.1 → weatherdb-1.2.3}/setup.cfg +0 -0
  63. {weatherdb-1.2.1 → weatherdb-1.2.3}/tests/test-data/DEM/COP-DEM_GLO-30-DGED__2023_1_clipped.tif +0 -0
  64. {weatherdb-1.2.1 → weatherdb-1.2.3}/tests/test-data/DEM/README.md +0 -0
  65. {weatherdb-1.2.1 → weatherdb-1.2.3}/tests/test-data/DEM/eula_F.pdf +0 -0
  66. {weatherdb-1.2.1 → weatherdb-1.2.3}/tests/test-data/regionalisation/DWD-grid_ma_1991_2020_DGM25_clipped.tif +0 -0
  67. {weatherdb-1.2.1 → weatherdb-1.2.3}/tests/test-data/regionalisation/HYRAS_ma_1991_2020_DGM25_clipped.tif +0 -0
  68. {weatherdb-1.2.1 → weatherdb-1.2.3}/tests/test-data/regionalisation/README.md +0 -0
  69. {weatherdb-1.2.1 → weatherdb-1.2.3}/tests/test-data/test-data-config.ini +0 -0
  70. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/__init__.py +0 -0
  71. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/alembic/README.md +0 -0
  72. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/alembic/alembic.ini +0 -0
  73. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/alembic/config.py +0 -0
  74. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/alembic/env.py +0 -0
  75. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/alembic/script.py.mako +0 -0
  76. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/alembic/versions/V1.0.0_initial_database_creation.py +0 -0
  77. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/alembic/versions/V1.0.2_more_charachters_for_settings+term_station_ma_raster.py +0 -0
  78. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/alembic/versions/V1.0.5_fix-ma-raster-values.py +0 -0
  79. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/alembic/versions/V1.0.6_update-views.py +0 -0
  80. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/broker.py +0 -0
  81. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/config/__init__.py +0 -0
  82. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/config/config_default.ini +0 -0
  83. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/db/__init__.py +0 -0
  84. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/db/connections.py +0 -0
  85. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/db/fixtures/RichterParameters.json +0 -0
  86. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/db/models.py +0 -0
  87. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/db/queries/get_quotient.py +0 -0
  88. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/db/views.py +0 -0
  89. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/station/StationET.py +0 -0
  90. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/station/StationPD.py +0 -0
  91. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/station/StationT.py +0 -0
  92. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/station/__init__.py +0 -0
  93. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/station/constants.py +0 -0
  94. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/stations/StationsBase.py +0 -0
  95. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/stations/StationsBaseTET.py +0 -0
  96. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/stations/StationsET.py +0 -0
  97. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/stations/StationsP.py +0 -0
  98. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/stations/StationsPD.py +0 -0
  99. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/stations/StationsT.py +0 -0
  100. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/stations/__init__.py +0 -0
  101. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/utils/TimestampPeriod.py +0 -0
  102. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/utils/__init__.py +0 -0
  103. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/utils/dwd.py +0 -0
  104. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/utils/geometry.py +0 -0
  105. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/utils/get_data.py +0 -0
  106. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb/utils/logging.py +0 -0
  107. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb.egg-info/SOURCES.txt +0 -0
  108. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb.egg-info/dependency_links.txt +0 -0
  109. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb.egg-info/entry_points.txt +0 -0
  110. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb.egg-info/requires.txt +0 -0
  111. {weatherdb-1.2.1 → weatherdb-1.2.3}/weatherdb.egg-info/top_level.txt +0 -0
@@ -16,7 +16,7 @@ test_single:
16
16
  - if: $CI_PIPELINE_SOURCE == "merge_request_event"
17
17
  image: "python:$PYTHON_VERSION"
18
18
  services:
19
- - name: postgis/postgis:16-3.4
19
+ - name: timescale/timescaledb-ha:pg17
20
20
  alias: postgres
21
21
  command: ["postgres", "-c", "fsync=off"]
22
22
  before_script:
@@ -44,12 +44,11 @@ test_single:
44
44
  - $WEATHERDB_TEST_ARTIFACT_DIR/*
45
45
  interruptible: true
46
46
  variables:
47
- PYTHON_VERSION: 3.8
48
- PYTHON_VERSION_ESCAPED: $PY_VERSION | replace(".", "_")
47
+ PYTHON_VERSION: 3.12
49
48
  PIP_CACHE_DIR: $CI_PROJECT_DIR/.cache/pip
50
49
  POSTGRES_USER: postgres
51
50
  POSTGRES_PASSWORD: postgres
52
- POSTGRES_DB: test_db_$PYTHON_VERSION_ESCAPED
51
+ POSTGRES_DB: test_db_$PYTHON_VERSION
53
52
  POSTGRES_HOST_AUTH_METHOD: trust
54
53
  WEATHERDB_DB_HOST: postgres
55
54
  WEATHERDB_DB_PORT: 5432
@@ -78,7 +77,7 @@ test_matrix:
78
77
  extends: test_single
79
78
  parallel:
80
79
  matrix:
81
- - PY_VERSION: ["3.9","3.10","3.11","3.12","3.13"]
80
+ - PY_VERSION: ["3.8", "3.9","3.10","3.11","3.13"]
82
81
  variables:
83
82
  PYTHON_VERSION: $PY_VERSION
84
83
 
@@ -93,8 +92,7 @@ test_download_rasters:
93
92
  variables:
94
93
  PYTHON_VERSION: $PY_VERSION
95
94
  parallel:
96
- matrix:
97
- - PY_VERSION: ["3.9","3.10","3.11","3.12","3.13"]
95
+ matrix: !reference [test_matrix, parallel, matrix ]
98
96
 
99
97
  build:
100
98
  stage: build
@@ -102,7 +100,7 @@ build:
102
100
  - if: $CI_COMMIT_TAG =~ /^[Vv]*\d+\.\d+\.\d+$/
103
101
  dependencies:
104
102
  - test_matrix
105
- image: python:3.11
103
+ image: python:3.12
106
104
  script:
107
105
  - python -m pip install --upgrade pip --root-user-action=ignore
108
106
  - python -m pip install setuptools wheel build setuptools-scm --root-user-action=ignore
@@ -1,8 +1,19 @@
1
1
  # Change-log
2
2
 
3
+ ## Version 1.2.3
4
+
5
+ - fix: dropping stations
6
+ - fix: test environment as DWD kicked station 2388
7
+ - docker: optimize image with timescaledb image instead of postgis
8
+
9
+ ## Version 1.2.2
10
+
11
+ - config: define utf-8 as default encoding for config files
12
+ - fix: GroupStation(s).create_ts parameter "paras"="n" should be "p", changes create_roger_ts conversion for roger_toolbox
13
+
3
14
  ## Version 1.2.1
4
15
 
5
- - fix: filllup linear regression did not take configuration value and therefor did never work
16
+ - fix: fillup linear regression did not take configuration value and therefor did never work
6
17
  - config: change LINEAR_INTERPOLATION_LIMIT to be a category
7
18
  - cli: add version parameter
8
19
  - multiprocessing: make process count configurable through user configuration
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: weatherdb
3
- Version: 1.2.1
3
+ Version: 1.2.3
4
4
  Summary: This is a package to work with and to create the Weather Database which handles, checks, fills and corrects DWD Weather Station data.
5
5
  Author-email: Max Schmit <max.schmit@hydrology.uni-freiburg.de>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -693,8 +693,27 @@ Classifier: Intended Audience :: Science/Research
693
693
  Classifier: Natural Language :: English
694
694
  Requires-Python: <3.14,>=3.8
695
695
  Description-Content-Type: text/markdown
696
- Provides-Extra: optionals
697
696
  License-File: LICENSE
697
+ Requires-Dist: geopandas
698
+ Requires-Dist: shapely>=2
699
+ Requires-Dist: pandas
700
+ Requires-Dist: numpy
701
+ Requires-Dist: progressbar2
702
+ Requires-Dist: rasterio
703
+ Requires-Dist: sqlalchemy>2.0
704
+ Requires-Dist: psycopg2-binary
705
+ Requires-Dist: GeoAlchemy2
706
+ Requires-Dist: alembic
707
+ Requires-Dist: requests
708
+ Requires-Dist: keyring
709
+ Requires-Dist: keyrings.alt; sys_platform == "linux"
710
+ Requires-Dist: rasterstats
711
+ Requires-Dist: click
712
+ Requires-Dist: setuptools>=61.0
713
+ Requires-Dist: setuptools_scm
714
+ Provides-Extra: optionals
715
+ Requires-Dist: coloredlogs; extra == "optionals"
716
+ Requires-Dist: colorama; extra == "optionals"
698
717
 
699
718
  # WeatherDB - module
700
719
 
@@ -38,11 +38,13 @@ services:
38
38
  target: /src/tests
39
39
 
40
40
  db:
41
- image: postgis/postgis:16-3.4
41
+ image: timescale/timescaledb-ha:pg17 # about 1 minute faster for tests
42
+ # image: postgis/postgis:17-3.4
42
43
  environment:
43
44
  POSTGRES_DB: weatherdb
44
45
  POSTGRES_USER: postgres
45
46
  POSTGRES_PASSWORD_FILE: /run/secrets/db_password
47
+ shm_size: '2g'
46
48
  ports:
47
49
  - 5454:5432
48
50
  volumes:
@@ -0,0 +1 @@
1
+ __version__ = "1.2.3"
@@ -76,7 +76,8 @@ def upgrade_db_schema(revision):
76
76
 
77
77
  @cli.command(short_help="Create User configuration file.")
78
78
  @click.option('--file', '-f',
79
- type=click.Path(), default="ask", show_default=True,
79
+ type=click.Path(resolve_path=True, dir_okay=False, file_okay=True),
80
+ default="ask", show_default=True,
80
81
  help="The file to save the user configuration to.")
81
82
  @click.option('--on-exists', '-e',
82
83
  type=str, default="ask", show_default=True,
@@ -36,11 +36,24 @@ class ConfigParser(configparser.ConfigParser):
36
36
  self._user_listeners = []
37
37
 
38
38
  # read the configuration files
39
- self.read(self._DEFAULT_CONFIG_FILE)
39
+ self.read(self._DEFAULT_CONFIG_FILE, encoding="utf-8")
40
40
  self._read_main_config()
41
41
  self.load_user_config(raise_undefined_error=False)
42
42
  self.load_environment_variables()
43
43
 
44
+ def read(self, filenames, encoding="utf-8"):
45
+ """Read and parse a list of filenames.
46
+
47
+ Parameters
48
+ ----------
49
+ filenames : list or str
50
+ A list of filenames or a single filename to read.
51
+ encoding : str, optional
52
+ The encoding of the file.
53
+ The default is None.
54
+ """
55
+ super().read(filenames=filenames, encoding=encoding)
56
+
44
57
  def add_listener(self, section, option, callback):
45
58
  """Add a callback function to be called when a configuration option is changed.
46
59
 
@@ -163,7 +163,7 @@ class GroupStation(object):
163
163
  The default is True.
164
164
  paras : list of str or str, optional
165
165
  Give the parameters for which to get the meta information.
166
- Can be "n", "t", "et" or "all".
166
+ Can be "p", "t", "et" or "all".
167
167
  If "all", then every available station parameter is returned.
168
168
  The default is "all"
169
169
  add_na_share : bool, optional
@@ -298,7 +298,7 @@ class GroupStation(object):
298
298
  ----------
299
299
  paras : list of str or str, optional
300
300
  Give the parameters for which to get the meta information.
301
- Can be "n", "t", "et" or "all".
301
+ Can be "p", "t", "et" or "all".
302
302
  If "all", then every available station parameter is returned.
303
303
  The default is "all"
304
304
  **kwargs : dict, optional
@@ -398,8 +398,8 @@ class GroupStation(object):
398
398
  agg_to="10 min", r_r0=r_r0, split_date=True,
399
399
  nas_allowed=False,
400
400
  add_t_min=add_t_min, add_t_max=add_t_max,
401
- file_names={"N":"PREC.txt", "T":"TA.txt", "ET":"PET.txt"},
402
- col_names={"N":"PREC", "ET":"PET",
401
+ file_names={"P":"PREC.txt", "T":"TA.txt", "ET":"PET.txt"},
402
+ col_names={"P":"PREC", "ET":"PET",
403
403
  "T":"TA", "T_min":"TA_min", "T_max":"TA_max",
404
404
  "Jahr":"YYYY", "Monat":"MM", "Tag":"DD",
405
405
  "Stunde":"hh", "Minute":"mm"},
@@ -443,7 +443,7 @@ class GroupStation(object):
443
443
  If only one kind is asked for, then the columns get renamed to only have the parameter name as column name.
444
444
  paras : list of str or str, optional
445
445
  Give the parameters for which to get the meta information.
446
- Can be "n", "t", "et" or "all".
446
+ Can be "p", "t", "et" or "all".
447
447
  If "all", then every available station parameter is returned.
448
448
  The default is "all"
449
449
  agg_to : str, optional
@@ -484,12 +484,12 @@ class GroupStation(object):
484
484
  The default is True.
485
485
  file_names : dict, optional
486
486
  A dictionary with the file names for the different parameters.
487
- e.g.{"N":"PREC.txt", "T":"TA.txt", "ET":"ET.txt"}
487
+ e.g.{"P":"PREC.txt", "T":"TA.txt", "ET":"ET.txt"}
488
488
  If an empty dictionary is given, then the standard names are used.
489
489
  The default is {}.
490
490
  col_names : dict, optional
491
491
  A dictionary with the column names for the different parameters.
492
- e.g.{"N":"PREC", "T":"TA", "ET":"ET", "Jahr":"YYYY", "Monat":"MM", "Tag":"DD", "Stunde":"HH", "Minute":"MN"}
492
+ e.g.{"P":"PREC", "T":"TA", "ET":"ET", "Jahr":"YYYY", "Monat":"MM", "Tag":"DD", "Stunde":"HH", "Minute":"MN"}
493
493
  If an empty dictionary is given, then the standard names are used.
494
494
  The default is {}.
495
495
  keep_date_parts : bool, optional
@@ -595,7 +595,7 @@ class StationBase:
595
595
  DROP TABLE IF EXISTS timeseries."{self.id}_{self._para}";
596
596
  DELETE FROM meta_{self._para} WHERE station_id={self.id};
597
597
  DELETE FROM station_ma_raster WHERE station_id={self.id} and parameter='{self._para}';
598
- DELETE FROM station_ma_timeseries WHERE station_id={self.id} and parameter='{self._para}';
598
+ DELETE FROM station_ma_timeserie WHERE station_id={self.id} and parameter='{self._para}';
599
599
  INSERT INTO dropped_stations(station_id, parameter, why, timestamp)
600
600
  VALUES ('{self.id}', '{self._para}', '{why}', NOW())
601
601
  ON CONFLICT (station_id, parameter)
@@ -240,8 +240,8 @@ class StationP(StationPBase):
240
240
  @db_engine.deco_create_privilege
241
241
  def _create_timeseries_table(self):
242
242
  """Create the timeseries table in the DB if it is not yet existing."""
243
- sql_add_table = '''
244
- CREATE TABLE IF NOT EXISTS timeseries."{stid}_{para}" (
243
+ sql_add_table = f'''
244
+ CREATE TABLE IF NOT EXISTS timeseries."{self.id}_{self._para}" (
245
245
  timestamp timestamp PRIMARY KEY,
246
246
  raw int4,
247
247
  qn smallint,
@@ -250,7 +250,7 @@ class StationP(StationPBase):
250
250
  filled_by int2,
251
251
  corr int4
252
252
  );
253
- '''.format(stid=self.id, para=self._para)
253
+ '''
254
254
  with db_engine.connect() as con:
255
255
  con.execute(sqltxt(sql_add_table))
256
256
  con.commit()
@@ -46,7 +46,7 @@ class GroupStations(object):
46
46
  if isinstance(paras, str) and paras != "all":
47
47
  paras = [paras,]
48
48
 
49
- valid_paras=["n", "t", "et"]
49
+ valid_paras=["p", "t", "et"]
50
50
  if isinstance(paras, str) and (paras == "all"):
51
51
  return valid_paras
52
52
  else:
@@ -502,8 +502,8 @@ class GroupStations(object):
502
502
  agg_to="10 min", r_r0=r_r0, stids=stids,
503
503
  split_date=True, nas_allowed=False,
504
504
  add_t_min=add_t_min, add_t_max=add_t_max,
505
- file_names={"N":"PREC.txt", "T":"TA.txt", "ET":"PET.txt"},
506
- col_names={"N":"PREC", "ET":"PET",
505
+ file_names={"P":"PREC.txt", "T":"TA.txt", "ET":"PET.txt"},
506
+ col_names={"P":"PREC", "ET":"PET",
507
507
  "T":"TA", "T_min":"TA_min", "T_max":"TA_max",
508
508
  "Jahr":"YYYY", "Monat":"MM", "Tag":"DD",
509
509
  "Stunde":"hh", "Minute":"mm"},
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: weatherdb
3
- Version: 1.2.1
3
+ Version: 1.2.3
4
4
  Summary: This is a package to work with and to create the Weather Database which handles, checks, fills and corrects DWD Weather Station data.
5
5
  Author-email: Max Schmit <max.schmit@hydrology.uni-freiburg.de>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -693,8 +693,27 @@ Classifier: Intended Audience :: Science/Research
693
693
  Classifier: Natural Language :: English
694
694
  Requires-Python: <3.14,>=3.8
695
695
  Description-Content-Type: text/markdown
696
- Provides-Extra: optionals
697
696
  License-File: LICENSE
697
+ Requires-Dist: geopandas
698
+ Requires-Dist: shapely>=2
699
+ Requires-Dist: pandas
700
+ Requires-Dist: numpy
701
+ Requires-Dist: progressbar2
702
+ Requires-Dist: rasterio
703
+ Requires-Dist: sqlalchemy>2.0
704
+ Requires-Dist: psycopg2-binary
705
+ Requires-Dist: GeoAlchemy2
706
+ Requires-Dist: alembic
707
+ Requires-Dist: requests
708
+ Requires-Dist: keyring
709
+ Requires-Dist: keyrings.alt; sys_platform == "linux"
710
+ Requires-Dist: rasterstats
711
+ Requires-Dist: click
712
+ Requires-Dist: setuptools>=61.0
713
+ Requires-Dist: setuptools_scm
714
+ Provides-Extra: optionals
715
+ Requires-Dist: coloredlogs; extra == "optionals"
716
+ Requires-Dist: colorama; extra == "optionals"
698
717
 
699
718
  # WeatherDB - module
700
719
 
@@ -1 +0,0 @@
1
- __version__ = "1.2.1"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes