forked from earthobservations/wetterdienst
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use meaningful column names, starting with daily climate summary data
From "column_name_mapping.py" and "column_names_enumeration.py", we are seeing the intention to map meteorological short identifiers to more meaningful English long names. This complements the current implementation by providing appropriate mappings for daily climate summary data (kl) and also adds an appropriate test case for that. While being on it, we discovered that "_parse_dwd_data" as well as "collect_dwd_data" somehow wouldn't actually account for column names to be propagated, so we adjusted some spots on data frame handling. Trivia: - The test case has been marked as "remote" to be able to tell unit tests based on fixtures and full integration tests apart. - When massaging the data frame after parsing data from CSV, the "EOR" column gets dropped right away as it actually has no real value on downstream processing.
- Loading branch information
Showing
13 changed files
with
192 additions
and
73 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
[pytest] | ||
|
||
markers = | ||
remote: Tests accessing the internet. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,46 @@ | ||
""" mapping from german column names to english column names""" | ||
from numpy import datetime64 | ||
from python_dwd.enumerations.column_names_enumeration import DWDOrigColumns, DWDColumns | ||
from python_dwd.enumerations.column_names_enumeration import DWDOrigColumns, DWDMetaColumns, DWDDataColumns | ||
|
||
GERMAN_TO_ENGLISH_COLUMNS_MAPPING = { | ||
DWDOrigColumns.STATION_ID.value: DWDColumns.STATION_ID.value, | ||
DWDOrigColumns.DATE.value: DWDColumns.DATE.value, | ||
DWDOrigColumns.FROM_DATE.value: DWDColumns.FROM_DATE.value, | ||
DWDOrigColumns.TO_DATE.value: DWDColumns.TO_DATE.value, | ||
DWDOrigColumns.STATIONHEIGHT.value: DWDColumns.STATIONHEIGHT.value, | ||
DWDOrigColumns.LATITUDE.value: DWDColumns.LATITUDE.value, | ||
DWDOrigColumns.LATITUDE_ALTERNATIVE.value: DWDColumns.LATITUDE.value, | ||
DWDOrigColumns.LONGITUDE.value: DWDColumns.LONGITUDE.value, | ||
DWDOrigColumns.LONGITUDE_ALTERNATIVE.value: DWDColumns.LONGITUDE.value, | ||
DWDOrigColumns.STATIONNAME.value: DWDColumns.STATIONNAME.value, | ||
DWDOrigColumns.STATE.value: DWDColumns.STATE.value | ||
DWDOrigColumns.STATION_ID.value: DWDMetaColumns.STATION_ID.value, | ||
DWDOrigColumns.DATE.value: DWDMetaColumns.DATE.value, | ||
DWDOrigColumns.FROM_DATE.value: DWDMetaColumns.FROM_DATE.value, | ||
DWDOrigColumns.TO_DATE.value: DWDMetaColumns.TO_DATE.value, | ||
DWDOrigColumns.STATIONHEIGHT.value: DWDMetaColumns.STATIONHEIGHT.value, | ||
DWDOrigColumns.LATITUDE.value: DWDMetaColumns.LATITUDE.value, | ||
DWDOrigColumns.LATITUDE_ALTERNATIVE.value: DWDMetaColumns.LATITUDE.value, | ||
DWDOrigColumns.LONGITUDE.value: DWDMetaColumns.LONGITUDE.value, | ||
DWDOrigColumns.LONGITUDE_ALTERNATIVE.value: DWDMetaColumns.LONGITUDE.value, | ||
DWDOrigColumns.STATIONNAME.value: DWDMetaColumns.STATIONNAME.value, | ||
DWDOrigColumns.STATE.value: DWDMetaColumns.STATE.value, | ||
} | ||
|
||
GERMAN_TO_ENGLISH_COLUMNS_MAPPING_HUMANIZED = { | ||
# Daily climate summary | ||
DWDOrigColumns.FX.value: DWDDataColumns.FX.value, | ||
DWDOrigColumns.FM.value: DWDDataColumns.FM.value, | ||
DWDOrigColumns.RSK.value: DWDDataColumns.RSK.value, | ||
DWDOrigColumns.RSKF.value: DWDDataColumns.RSKF.value, | ||
DWDOrigColumns.SDK.value: DWDDataColumns.SDK.value, | ||
DWDOrigColumns.SHK_TAG.value: DWDDataColumns.SHK_TAG.value, | ||
DWDOrigColumns.NM.value: DWDDataColumns.NM.value, | ||
DWDOrigColumns.VPM.value: DWDDataColumns.VPM.value, | ||
DWDOrigColumns.PM.value: DWDDataColumns.PM.value, | ||
DWDOrigColumns.TMK.value: DWDDataColumns.TMK.value, | ||
DWDOrigColumns.UPM.value: DWDDataColumns.UPM.value, | ||
DWDOrigColumns.TXK.value: DWDDataColumns.TXK.value, | ||
DWDOrigColumns.TNK.value: DWDDataColumns.TNK.value, | ||
DWDOrigColumns.TGK.value: DWDDataColumns.TGK.value, | ||
} | ||
|
||
METADATA_DTYPE_MAPPING = { | ||
DWDColumns.STATION_ID.value: int, | ||
DWDColumns.FROM_DATE.value: datetime64, | ||
DWDColumns.TO_DATE.value: datetime64, | ||
DWDColumns.STATIONHEIGHT.value: float, | ||
DWDColumns.LATITUDE.value: float, | ||
DWDColumns.LONGITUDE.value: float, | ||
DWDColumns.STATIONNAME.value: str, | ||
DWDColumns.STATE.value: str | ||
DWDMetaColumns.STATION_ID.value: int, | ||
DWDMetaColumns.FROM_DATE.value: datetime64, | ||
DWDMetaColumns.TO_DATE.value: datetime64, | ||
DWDMetaColumns.STATIONHEIGHT.value: float, | ||
DWDMetaColumns.LATITUDE.value: float, | ||
DWDMetaColumns.LONGITUDE.value: float, | ||
DWDMetaColumns.STATIONNAME.value: str, | ||
DWDMetaColumns.STATE.value: str | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.