Skip to content

Commit

Permalink
Fix multiple parameter names
Browse files Browse the repository at this point in the history
Multiple parameters that were previously named *_indicator are now named *_index as was also given in the original name. Certain parameters were mixed up, where instead of precipitation form the precipitation index was given and vice versa. This is now correctly given.

Global radiation was at some point named incorrect as radiation_short_wave_direct and is now spelled correctly.
  • Loading branch information
gutzbenj committed Sep 8, 2022
1 parent 0b4e63f commit c8a4885
Show file tree
Hide file tree
Showing 8 changed files with 37 additions and 35 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.rst
Expand Up @@ -5,6 +5,10 @@ Development
***********

- Slightly adapt the conversion function to satisfy linter
- Fix parameter names:
- we now use consistently INDEX instead of INDICATOR
- index and form got mixed up with certain parameters, where actually index was measured/given but not the form
- global radiation was mistakenly named radiation_short_wave_direct at certain points, now it is named correctly

0.43.0 (05.09.2022)
*******************
Expand Down
2 changes: 1 addition & 1 deletion tests/provider/dwd/observation/test_api_metadata.py
Expand Up @@ -25,7 +25,7 @@ def test_dwd_observation_metadata_discover_parameters():
"origin": "mm",
"si": "kg / m ** 2",
},
"precipitation_form": {"origin": "-", "si": "-"},
"precipitation_index": {"origin": "-", "si": "-"},
}
}
assert json.dumps(expected) in json.dumps(parameters)
Expand Down
2 changes: 1 addition & 1 deletion tests/ui/explorer/test_explorer.py
Expand Up @@ -209,7 +209,7 @@ def test_app_data_values(wetterdienst_ui, dash_tre):

# Verify data.
assert data["columns"] == ["station_id", "dataset", "parameter", "date", "value"]
assert len(data["data"]) == 13200
assert len(data["data"]) > 13000


@pytest.mark.slow
Expand Down
7 changes: 3 additions & 4 deletions wetterdienst/metadata/parameter.py
Expand Up @@ -69,7 +69,7 @@ class Parameter(Enum):
CLOUD_TYPE_LAYER2 = "CLOUD_TYPE_LAYER2"
CLOUD_TYPE_LAYER3 = "CLOUD_TYPE_LAYER3"
CLOUD_TYPE_LAYER4 = "CLOUD_TYPE_LAYER4"
CLOUD_COVER_TOTAL_INDICATOR = "CLOUD_COVER_TOTAL_INDICATOR"
CLOUD_COVER_TOTAL_INDEX = "CLOUD_COVER_TOTAL_INDEX"
# ---- distance ----
CLOUD_HEIGHT_LAYER1 = "CLOUD_HEIGHT_LAYER1"
CLOUD_HEIGHT_LAYER2 = "CLOUD_HEIGHT_LAYER2"
Expand Down Expand Up @@ -134,8 +134,7 @@ class Parameter(Enum):
PRECIPITATION_HEIGHT_LIQUID_MAX = "PRECIPITATION_HEIGHT_LIQUID_MAX"
# ---- type ----
PRECIPITATION_FORM = "PRECIPITATION_FORM" # what type of precipitation, snow, ice?
PRECIPITATION_INDICATOR = "PRECIPITATION_INDICATOR" # True or False
PRECIPITATION_INDICATOR_WR = "PRECIPITATION_INDICATOR_WR"
PRECIPITATION_INDEX = "PRECIPITATION_INDEX" # True or False
# ---- duration ----
PRECIPITATION_DURATION = "PRECIPITATION_DURATION"
# ---- probability ----
Expand Down Expand Up @@ -479,7 +478,7 @@ class Parameter(Enum):

# VISIBILITY
# ---- distance ----
VISIBILITY_RANGE_INDICATOR = "VISIBILITY_INDICATOR"
VISIBILITY_RANGE_INDEX = "VISIBILITY_RANGE_INDEX"
VISIBILITY_RANGE = "VISIBILITY_RANGE" # through clouds, fog, etc
# ---- probability ----
PROBABILITY_VISIBILITY_BELOW_1000_M = "PROBABILITY_VISIBILITY_BELOW_1000_M"
Expand Down
4 changes: 2 additions & 2 deletions wetterdienst/provider/dwd/observation/api.py
Expand Up @@ -225,12 +225,12 @@ def _tidy_up_df(self, df: pd.DataFrame, dataset) -> pd.DataFrame:
DwdObservationParameter.HOURLY.CLOUD_TYPE.CLOUD_TYPE_LAYER3_ABBREVIATION.value,
DwdObservationParameter.HOURLY.CLOUD_TYPE.CLOUD_TYPE_LAYER4_ABBREVIATION.value,
# Cloudiness
DwdObservationParameter.HOURLY.CLOUDINESS.CLOUD_COVER_TOTAL_INDICATOR.value,
DwdObservationParameter.HOURLY.CLOUDINESS.CLOUD_COVER_TOTAL_INDEX.value,
# Solar
DwdObservationParameter.HOURLY.SOLAR.END_OF_INTERVAL.value,
DwdObservationParameter.HOURLY.SOLAR.TRUE_LOCAL_TIME.value,
# Visibility
DwdObservationParameter.HOURLY.VISIBILITY.VISIBILITY_RANGE_INDICATOR.value,
DwdObservationParameter.HOURLY.VISIBILITY.VISIBILITY_RANGE_INDEX.value,
# Weather
DwdObservationParameter.HOURLY.WEATHER_PHENOMENA.WEATHER_TEXT.value,
]
Expand Down
7 changes: 3 additions & 4 deletions wetterdienst/provider/dwd/observation/metadata/field_types.py
Expand Up @@ -50,7 +50,6 @@
# solar
DwdObservationParameter.HOURLY.SOLAR.QUALITY.value,
# sun
# DwdObservationParameter.HOURLY.SUNSHINE_DURATION.QUALITY.value,
# visibility
DwdObservationParameter.HOURLY.VISIBILITY.QUALITY.value,
# wind
Expand Down Expand Up @@ -106,13 +105,13 @@
STRING_PARAMETERS = {
# hourly
# cloud_type
DwdObservationParameter.HOURLY.CLOUD_TYPE.CLOUD_COVER_TOTAL_INDICATOR.value,
DwdObservationParameter.HOURLY.CLOUD_TYPE.CLOUD_COVER_TOTAL_INDEX.value,
DwdObservationParameter.HOURLY.CLOUD_TYPE.CLOUD_TYPE_LAYER1_ABBREVIATION.value,
DwdObservationParameter.HOURLY.CLOUD_TYPE.CLOUD_TYPE_LAYER2_ABBREVIATION.value,
DwdObservationParameter.HOURLY.CLOUD_TYPE.CLOUD_TYPE_LAYER3_ABBREVIATION.value,
DwdObservationParameter.HOURLY.CLOUD_TYPE.CLOUD_TYPE_LAYER4_ABBREVIATION.value,
# cloudiness
DwdObservationParameter.HOURLY.CLOUDINESS.CLOUD_COVER_TOTAL_INDICATOR.value,
DwdObservationParameter.HOURLY.CLOUDINESS.CLOUD_COVER_TOTAL_INDEX.value,
# visibility
DwdObservationParameter.HOURLY.VISIBILITY.VISIBILITY_RANGE_INDICATOR.value,
DwdObservationParameter.HOURLY.VISIBILITY.VISIBILITY_RANGE_INDEX.value,
}
30 changes: 15 additions & 15 deletions wetterdienst/provider/dwd/observation/metadata/parameter.py
Expand Up @@ -15,24 +15,24 @@ class PRECIPITATION(Enum):
PRECIPITATION_HEIGHT = "rs_01"
PRECIPITATION_HEIGHT_DROPLET = "rth_01"
PRECIPITATION_HEIGHT_ROCKER = "rwh_01"
PRECIPITATION_FORM = "rs_ind_01" # int
PRECIPITATION_INDEX = "rs_ind_01" # int

PRECIPITATION_HEIGHT = PRECIPITATION.PRECIPITATION_HEIGHT
PRECIPITATION_HEIGHT_DROPLET = PRECIPITATION.PRECIPITATION_HEIGHT_DROPLET
PRECIPITATION_HEIGHT_ROCKER = PRECIPITATION.PRECIPITATION_HEIGHT_ROCKER
PRECIPITATION_FORM = PRECIPITATION.PRECIPITATION_FORM
PRECIPITATION_INDEX = PRECIPITATION.PRECIPITATION_INDEX

# 5_minutes
class MINUTE_5(DatasetTreeCore): # noqa
# precipitation
class PRECIPITATION(Enum):
QUALITY = "qn_5min"
PRECIPITATION_FORM = "rs_ind_05" # int
PRECIPITATION_INDEX = "rs_ind_05" # int
PRECIPITATION_HEIGHT = "rs_05"
PRECIPITATION_HEIGHT_DROPLET = "rth_05"
PRECIPITATION_HEIGHT_ROCKER = "rwh_05"

PRECIPITATION_FORM = PRECIPITATION.PRECIPITATION_FORM
PRECIPITATION_INDEX = PRECIPITATION.PRECIPITATION_INDEX
PRECIPITATION_HEIGHT = PRECIPITATION.PRECIPITATION_HEIGHT
PRECIPITATION_HEIGHT_DROPLET = PRECIPITATION.PRECIPITATION_HEIGHT_DROPLET
PRECIPITATION_HEIGHT_ROCKER = PRECIPITATION.PRECIPITATION_HEIGHT_ROCKER
Expand Down Expand Up @@ -75,7 +75,7 @@ class PRECIPITATION(Enum):
QUALITY = "qn"
PRECIPITATION_DURATION = "rws_dau_10"
PRECIPITATION_HEIGHT = "rws_10"
PRECIPITATION_INDICATOR_WR = "rws_ind_10" # int
PRECIPITATION_INDEX = "rws_ind_10" # int

# solar
class SOLAR(Enum):
Expand Down Expand Up @@ -113,7 +113,7 @@ class WIND(Enum):
# precipitation
PRECIPITATION_DURATION = PRECIPITATION.PRECIPITATION_DURATION
PRECIPITATION_HEIGHT = PRECIPITATION.PRECIPITATION_HEIGHT
PRECIPITATION_INDICATOR_WR = PRECIPITATION.PRECIPITATION_INDICATOR_WR
PRECIPITATION_INDEX = PRECIPITATION.PRECIPITATION_INDEX

# solar
RADIATION_SKY_SHORT_WAVE_DIFFUSE = SOLAR.RADIATION_SKY_SHORT_WAVE_DIFFUSE
Expand All @@ -139,7 +139,7 @@ class TEMPERATURE_AIR(Enum): # noqa
class CLOUD_TYPE(Enum): # noqa
QUALITY = "qn_8"
CLOUD_COVER_TOTAL = "v_n" # int
CLOUD_COVER_TOTAL_INDICATOR = "v_n_i" # str
CLOUD_COVER_TOTAL_INDEX = "v_n_i" # str
CLOUD_TYPE_LAYER1 = "v_s1_cs" # int
CLOUD_TYPE_LAYER1_ABBREVIATION = "v_s1_csa" # str
CLOUD_HEIGHT_LAYER1 = "v_s1_hhs"
Expand All @@ -160,7 +160,7 @@ class CLOUD_TYPE(Enum): # noqa
# cloudiness
class CLOUDINESS(Enum):
QUALITY = "qn_8"
CLOUD_COVER_TOTAL_INDICATOR = "v_n_i" # str
CLOUD_COVER_TOTAL_INDEX = "v_n_i" # str
CLOUD_COVER_TOTAL = "v_n" # int

# dew_point
Expand Down Expand Up @@ -191,7 +191,7 @@ class MOISTURE(Enum):
class PRECIPITATION(Enum):
QUALITY = "qn_8"
PRECIPITATION_HEIGHT = "r1"
PRECIPITATION_INDICATOR = "rs_ind" # int
PRECIPITATION_INDEX = "rs_ind" # int
PRECIPITATION_FORM = "wrtr" # int

# pressure
Expand Down Expand Up @@ -231,7 +231,7 @@ class SUN(Enum):
# visibility
class VISIBILITY(Enum):
QUALITY = "qn_8"
VISIBILITY_RANGE_INDICATOR = "v_vv_i" # str
VISIBILITY_RANGE_INDEX = "v_vv_i" # str
VISIBILITY_RANGE = "v_vv" # int

# weather_phenomena
Expand Down Expand Up @@ -308,7 +308,7 @@ class URBAN_WIND(Enum): # noqa

# cloudiness
CLOUD_COVER_TOTAL = CLOUDINESS.CLOUD_COVER_TOTAL
CLOUD_COVER_TOTAL_INDICATOR = CLOUDINESS.CLOUD_COVER_TOTAL_INDICATOR
CLOUD_COVER_TOTAL_INDEX = CLOUDINESS.CLOUD_COVER_TOTAL_INDEX

# dew_point
TEMPERATURE_DEW_POINT_MEAN_200 = DEW_POINT.TEMPERATURE_DEW_POINT_MEAN_200
Expand All @@ -323,7 +323,7 @@ class URBAN_WIND(Enum): # noqa

# precipitation
PRECIPITATION_HEIGHT = PRECIPITATION.PRECIPITATION_HEIGHT
PRECIPITATION_INDICATOR = PRECIPITATION.PRECIPITATION_INDICATOR
PRECIPITATION_INDEX = PRECIPITATION.PRECIPITATION_INDEX
PRECIPITATION_FORM = PRECIPITATION.PRECIPITATION_FORM

# pressure
Expand All @@ -348,7 +348,7 @@ class URBAN_WIND(Enum): # noqa
SUNSHINE_DURATION = SUN.SUNSHINE_DURATION

# visibility
VISIBILITY_RANGE_INDICATOR = VISIBILITY.VISIBILITY_RANGE_INDICATOR
VISIBILITY_RANGE_INDEX = VISIBILITY.VISIBILITY_RANGE_INDEX
VISIBILITY_RANGE = VISIBILITY.VISIBILITY_RANGE

# weather phenomena
Expand Down Expand Up @@ -501,7 +501,7 @@ class SOLAR(Enum):
QUALITY = "qn_592"
RADIATION_SKY_LONG_WAVE = "atmo_strahl"
RADIATION_SKY_SHORT_WAVE_DIFFUSE = "fd_strahl"
RADIATION_SKY_SHORT_WAVE_DIRECT = "fg_strahl"
RADIATION_GLOBAL = "fg_strahl"
SUNSHINE_DURATION = "sd_strahl"

# water_equiv
Expand Down Expand Up @@ -557,7 +557,7 @@ class WEATHER_PHENOMENA(Enum): # noqa
# solar
RADIATION_SKY_LONG_WAVE = SOLAR.RADIATION_SKY_LONG_WAVE
RADIATION_SKY_SHORT_WAVE_DIFFUSE = SOLAR.RADIATION_SKY_SHORT_WAVE_DIFFUSE
RADIATION_SKY_SHORT_WAVE_DIRECT = SOLAR.RADIATION_SKY_SHORT_WAVE_DIRECT
RADIATION_GLOBAL = SOLAR.RADIATION_GLOBAL

# water_equiv
SNOW_DEPTH_EXCELLED = WATER_EQUIVALENT.SNOW_DEPTH_EXCELLED
Expand Down
16 changes: 8 additions & 8 deletions wetterdienst/provider/dwd/observation/metadata/unit.py
Expand Up @@ -23,7 +23,7 @@ class PRECIPITATION(UnitEnum):
OriginUnit.MILLIMETER.value,
SIUnit.KILOGRAM_PER_SQUARE_METER.value,
)
PRECIPITATION_FORM = (
PRECIPITATION_INDEX = (
OriginUnit.DIMENSIONLESS.value,
SIUnit.DIMENSIONLESS.value,
)
Expand All @@ -33,7 +33,7 @@ class MINUTE_5(DatasetTreeCore): # noqa
# precipitation
class PRECIPITATION(UnitEnum):
QUALITY = OriginUnit.DIMENSIONLESS.value, SIUnit.DIMENSIONLESS.value
PRECIPITATION_FORM = (
PRECIPITATION_INDEX = (
OriginUnit.DIMENSIONLESS.value,
SIUnit.DIMENSIONLESS.value,
)
Expand Down Expand Up @@ -121,7 +121,7 @@ class PRECIPITATION(UnitEnum):
OriginUnit.MILLIMETER.value,
SIUnit.KILOGRAM_PER_SQUARE_METER.value,
)
PRECIPITATION_INDICATOR_WR = (
PRECIPITATION_INDEX = (
OriginUnit.DIMENSIONLESS.value,
SIUnit.DIMENSIONLESS.value,
)
Expand Down Expand Up @@ -167,7 +167,7 @@ class TEMPERATURE_AIR(UnitEnum): # noqa
class CLOUD_TYPE(UnitEnum): # noqa
QUALITY = OriginUnit.DIMENSIONLESS.value, SIUnit.DIMENSIONLESS.value
CLOUD_COVER_TOTAL = OriginUnit.ONE_EIGHTH.value, SIUnit.PERCENT.value
CLOUD_COVER_TOTAL_INDICATOR = (
CLOUD_COVER_TOTAL_INDEX = (
OriginUnit.DIMENSIONLESS.value,
SIUnit.DIMENSIONLESS.value,
)
Expand Down Expand Up @@ -215,7 +215,7 @@ class CLOUD_TYPE(UnitEnum): # noqa
# cloudiness
class CLOUDINESS(UnitEnum):
QUALITY = OriginUnit.DIMENSIONLESS.value, SIUnit.DIMENSIONLESS.value
CLOUD_COVER_TOTAL_INDICATOR = (
CLOUD_COVER_TOTAL_INDEX = (
OriginUnit.DIMENSIONLESS.value,
SIUnit.DIMENSIONLESS.value,
)
Expand Down Expand Up @@ -271,7 +271,7 @@ class PRECIPITATION(UnitEnum):
OriginUnit.MILLIMETER.value,
SIUnit.KILOGRAM_PER_SQUARE_METER.value,
)
PRECIPITATION_INDICATOR = (
PRECIPITATION_INDEX = (
OriginUnit.DIMENSIONLESS.value,
SIUnit.DIMENSIONLESS.value,
)
Expand Down Expand Up @@ -354,7 +354,7 @@ class SUN(UnitEnum):
# visibility
class VISIBILITY(UnitEnum):
QUALITY = OriginUnit.DIMENSIONLESS.value, SIUnit.DIMENSIONLESS.value
VISIBILITY_RANGE_INDICATOR = (
VISIBILITY_RANGE_INDEX = (
OriginUnit.DIMENSIONLESS.value,
SIUnit.DIMENSIONLESS.value,
)
Expand Down Expand Up @@ -633,7 +633,7 @@ class SOLAR(UnitEnum):
OriginUnit.JOULE_PER_SQUARE_CENTIMETER.value,
SIUnit.JOULE_PER_SQUARE_METER.value,
)
RADIATION_SKY_SHORT_WAVE_DIRECT = (
RADIATION_GLOBAL = (
OriginUnit.JOULE_PER_SQUARE_CENTIMETER.value,
SIUnit.JOULE_PER_SQUARE_METER.value,
)
Expand Down

0 comments on commit c8a4885

Please sign in to comment.