pyepwmorph 3.3.0__tar.gz → 3.4.0__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.
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/PKG-INFO +7 -21
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/README.md +6 -20
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/tools/amy.py +13 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/tools/amy_meteoswiss.py +12 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyproject.toml +1 -1
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/.gitignore +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/LICENSE +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/__init__.py +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/data/__init__.py +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/data/amy_diffuse_table.parquet +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/data/ch2025_monthly.parquet +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/data/ch2025_stations.parquet +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/models/__init__.py +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/models/access.py +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/models/assemble.py +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/models/ch2025.py +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/models/coordinate.py +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/models/custom.py +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/morph/__init__.py +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/morph/procedures.py +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/tools/__init__.py +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/tools/cache.py +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/tools/configuration.py +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/tools/io.py +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/tools/psychrometrics.py +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/tools/solar.py +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/tools/utilities.py +0 -0
- {pyepwmorph-3.3.0 → pyepwmorph-3.4.0}/pyepwmorph/tools/workflow.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyepwmorph
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.4.0
|
|
4
4
|
Summary: A python package to enable simple and easy gathering of climate model data and morphing of EPW files
|
|
5
5
|
Project-URL: Homepage, https://github.com/justinfmccarty/pyepwmorph
|
|
6
6
|
Project-URL: Issues, https://github.com/justinfmccarty/pyepwmorph/issues
|
|
@@ -154,26 +154,12 @@ CH2025 data: MeteoSwiss & ETH Zurich (2025), Climate CH2025 - Daily Datasets, CC
|
|
|
154
154
|
|
|
155
155
|
### Measured data (actual meteorological year)
|
|
156
156
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
table = amy_meteoswiss.read_meteoswiss_ogd("ogd-smn_sma_t_historical_2020-2029.csv") # UTC, hour-ending
|
|
165
|
-
location = amy_meteoswiss.meteoswiss_location("ogd-smn_meta_stations.csv", "SMA")
|
|
166
|
-
report = amy.station_table_to_epw(
|
|
167
|
-
table, location, 2025, "zurich_fluntern_2025.epw",
|
|
168
|
-
source_name="MeteoSwiss Zurich-Fluntern", attribution=amy_meteoswiss.ATTRIBUTION,
|
|
169
|
-
)
|
|
170
|
-
print(report.to_text())
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
Other networks only need a table with the documented columns and
|
|
174
|
-
`timestamp_label` / `table_utc_offset` set to match their clock. Direct and
|
|
175
|
-
diffuse irradiance and sky cover are derived when the station does not measure
|
|
176
|
-
them (the report and the EPW header say how).
|
|
157
|
+
Moved to [weather-file-builder](https://github.com/justinfmccarty/weather_file_builder)
|
|
158
|
+
(2.1 and later), together with ISO 15927-4 typical years from station data:
|
|
159
|
+
`weather_file_builder.amy.station_table_to_epw` and
|
|
160
|
+
`weather_file_builder.station_tmy.station_table_to_tmy_epw`.
|
|
161
|
+
`pyepwmorph.tools.amy` still works in 3.4 but warns on import and will be
|
|
162
|
+
removed in 4.0.
|
|
177
163
|
|
|
178
164
|
## Climate scenarios
|
|
179
165
|
|
|
@@ -115,26 +115,12 @@ CH2025 data: MeteoSwiss & ETH Zurich (2025), Climate CH2025 - Daily Datasets, CC
|
|
|
115
115
|
|
|
116
116
|
### Measured data (actual meteorological year)
|
|
117
117
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
table = amy_meteoswiss.read_meteoswiss_ogd("ogd-smn_sma_t_historical_2020-2029.csv") # UTC, hour-ending
|
|
126
|
-
location = amy_meteoswiss.meteoswiss_location("ogd-smn_meta_stations.csv", "SMA")
|
|
127
|
-
report = amy.station_table_to_epw(
|
|
128
|
-
table, location, 2025, "zurich_fluntern_2025.epw",
|
|
129
|
-
source_name="MeteoSwiss Zurich-Fluntern", attribution=amy_meteoswiss.ATTRIBUTION,
|
|
130
|
-
)
|
|
131
|
-
print(report.to_text())
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
Other networks only need a table with the documented columns and
|
|
135
|
-
`timestamp_label` / `table_utc_offset` set to match their clock. Direct and
|
|
136
|
-
diffuse irradiance and sky cover are derived when the station does not measure
|
|
137
|
-
them (the report and the EPW header say how).
|
|
118
|
+
Moved to [weather-file-builder](https://github.com/justinfmccarty/weather_file_builder)
|
|
119
|
+
(2.1 and later), together with ISO 15927-4 typical years from station data:
|
|
120
|
+
`weather_file_builder.amy.station_table_to_epw` and
|
|
121
|
+
`weather_file_builder.station_tmy.station_table_to_tmy_epw`.
|
|
122
|
+
`pyepwmorph.tools.amy` still works in 3.4 but warns on import and will be
|
|
123
|
+
removed in 4.0.
|
|
138
124
|
|
|
139
125
|
## Climate scenarios
|
|
140
126
|
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
"""Build an EPW from measured weather station data (an actual meteorological year).
|
|
2
2
|
|
|
3
|
+
.. deprecated:: 3.4.0
|
|
4
|
+
Moved to ``weather_file_builder.amy`` (weather-file-builder 2.1). This
|
|
5
|
+
copy is frozen and will be removed in pyepwmorph 4.0.
|
|
6
|
+
|
|
3
7
|
A typical meteorological year stitches months from many years. An *actual*
|
|
4
8
|
meteorological year (AMY) is one real calendar year of measurements, which is
|
|
5
9
|
what building energy model calibration needs. This module turns a table of
|
|
@@ -72,6 +76,7 @@ Short gaps are interpolated and long gaps raise an error (see
|
|
|
72
76
|
import datetime as _dt
|
|
73
77
|
import logging
|
|
74
78
|
import unicodedata
|
|
79
|
+
import warnings as _warnings
|
|
75
80
|
from dataclasses import dataclass, field
|
|
76
81
|
from functools import lru_cache
|
|
77
82
|
from importlib.resources import files
|
|
@@ -84,6 +89,14 @@ import pvlib
|
|
|
84
89
|
from pyepwmorph.tools import psychrometrics
|
|
85
90
|
from pyepwmorph.tools.io import EPW_COLUMN_NAMES
|
|
86
91
|
|
|
92
|
+
_warnings.warn(
|
|
93
|
+
"pyepwmorph.tools.amy is deprecated and will be removed in pyepwmorph 4.0. "
|
|
94
|
+
"It has moved to weather-file-builder (pip install 'weather-file-builder>=2.1'): "
|
|
95
|
+
"use weather_file_builder.amy.",
|
|
96
|
+
DeprecationWarning,
|
|
97
|
+
stacklevel=2,
|
|
98
|
+
)
|
|
99
|
+
|
|
87
100
|
logger = logging.getLogger(__name__)
|
|
88
101
|
|
|
89
102
|
#: Column contract. ``agg`` is how sub-hourly values become hourly values.
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
"""MeteoSwiss open data (ogd-smn) adapter for :mod:`pyepwmorph.tools.amy`.
|
|
2
2
|
|
|
3
|
+
.. deprecated:: 3.4.0
|
|
4
|
+
Moved to ``weather_file_builder.amy_meteoswiss``. Removed in pyepwmorph 4.0.
|
|
5
|
+
|
|
3
6
|
Reads the automatic station files that MeteoSwiss publishes at
|
|
4
7
|
https://opendatadocs.meteoswiss.ch/ (10-minute ``..._t_...`` and hourly
|
|
5
8
|
``..._h_...`` CSVs, semicolon separated) and renames their parameter codes to
|
|
@@ -15,10 +18,19 @@ attribution wording).
|
|
|
15
18
|
"""
|
|
16
19
|
|
|
17
20
|
import logging
|
|
21
|
+
import warnings as _warnings
|
|
18
22
|
from typing import Optional
|
|
19
23
|
|
|
20
24
|
import pandas as pd
|
|
21
25
|
|
|
26
|
+
_warnings.warn(
|
|
27
|
+
"pyepwmorph.tools.amy_meteoswiss is deprecated and will be removed in pyepwmorph 4.0. "
|
|
28
|
+
"It has moved to weather-file-builder (pip install 'weather-file-builder>=2.1'): "
|
|
29
|
+
"use weather_file_builder.amy_meteoswiss.",
|
|
30
|
+
DeprecationWarning,
|
|
31
|
+
stacklevel=2,
|
|
32
|
+
)
|
|
33
|
+
|
|
22
34
|
logger = logging.getLogger(__name__)
|
|
23
35
|
|
|
24
36
|
#: Attribution line for the EPW header.
|
|
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
|
|
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
|
|
File without changes
|