Units

Contents

Units#

Overview#

Wetterdienst offers conversion of units based on the parameter type and a number of predefined units.

The default units per each unit type are shown below:

1from wetterdienst.model.unit import UnitConverter
2
3unit_converter = UnitConverter()
4unit_converter.targets
{'angle': Unit(name='degree', symbol='°'),
 'concentration': Unit(name='milligram_per_liter', symbol='mg/l'),
 'conductivity': Unit(name='siemens_per_meter', symbol='S/m'),
 'dimensionless': Unit(name='dimensionless', symbol='-'),
 'energy_per_area': Unit(name='joule_per_square_centimeter', symbol='J/cm²'),
 'power_per_area': Unit(name='watt_per_square_centimeter', symbol='W/cm²'),
 'length_short': Unit(name='centimeter', symbol='cm'),
 'length_medium': Unit(name='meter', symbol='m'),
 'length_long': Unit(name='kilometer', symbol='km'),
 'magnetic_field_intensity': Unit(name='magnetic_field_strength', symbol='A/m'),
 'fraction': Unit(name='decimal', symbol='-'),
 'precipitation': Unit(name='millimeter', symbol='mm'),
 'precipitation_intensity': Unit(name='millimeter_per_hour', symbol='mm/h'),
 'pressure': Unit(name='hectopascal', symbol='hPa'),
 'significant_weather': Unit(name='significant_weather', symbol='sign [0..95]'),
 'speed': Unit(name='meter_per_second', symbol='m/s'),
 'temperature': Unit(name='degree_celsius', symbol='°C'),
 'time': Unit(name='second', symbol='s'),
 'turbidity': Unit(name='nephelometric_turbidity', symbol='NTU'),
 'volume_per_time': Unit(name='cubic_meter_per_second', symbol='m³/s'),
 'wave_period': Unit(name='wave_period', symbol='1/s'),
 'wind_scale': Unit(name='beaufort', symbol='bft'),
 'degree_day': Unit(name='degree_celsius_day', symbol='°Cd')}

All available units per each unit type:

1from wetterdienst.model.unit import UnitConverter
2
3unit_converter = UnitConverter()
4unit_converter.units
{'angle': [Unit(name='degree', symbol='°'),
  Unit(name='radian', symbol='rad'),
  Unit(name='gradian', symbol='grad')],
 'concentration': [Unit(name='milligram_per_liter', symbol='mg/l'),
  Unit(name='gram_per_liter', symbol='g/l')],
 'conductivity': [Unit(name='microsiemens_per_centimeter', symbol='µS/cm'),
  Unit(name='microsiemens_per_meter', symbol='µS/m'),
  Unit(name='siemens_per_centimeter', symbol='S/cm'),
  Unit(name='siemens_per_meter', symbol='S/m')],
 'dimensionless': [Unit(name='dimensionless', symbol='-')],
 'energy_per_area': [Unit(name='joule_per_square_centimeter', symbol='J/cm²'),
  Unit(name='joule_per_square_meter', symbol='J/m²'),
  Unit(name='kilojoule_per_square_meter', symbol='kJ/m²')],
 'fraction': [Unit(name='decimal', symbol='-'),
  Unit(name='percent', symbol='%'),
  Unit(name='one_eighth', symbol='1/8')],
 'power_per_area': [Unit(name='watt_per_square_centimeter', symbol='W/cm²'),
  Unit(name='watt_per_square_meter', symbol='W/m²'),
  Unit(name='kilowatt_per_square_meter', symbol='kW/m²')],
 'length_short': [Unit(name='millimeter', symbol='mm'),
  Unit(name='centimeter', symbol='cm'),
  Unit(name='meter', symbol='m'),
  Unit(name='kilometer', symbol='km'),
  Unit(name='mile', symbol='mi'),
  Unit(name='nautical_mile', symbol='nmi')],
 'length_medium': [Unit(name='millimeter', symbol='mm'),
  Unit(name='centimeter', symbol='cm'),
  Unit(name='meter', symbol='m'),
  Unit(name='kilometer', symbol='km'),
  Unit(name='mile', symbol='mi'),
  Unit(name='nautical_mile', symbol='nmi')],
 'length_long': [Unit(name='millimeter', symbol='mm'),
  Unit(name='centimeter', symbol='cm'),
  Unit(name='meter', symbol='m'),
  Unit(name='kilometer', symbol='km'),
  Unit(name='mile', symbol='mi'),
  Unit(name='nautical_mile', symbol='nmi')],
 'magnetic_field_intensity': [Unit(name='magnetic_field_strength', symbol='A/m')],
 'precipitation': [Unit(name='millimeter', symbol='mm'),
  Unit(name='liter_per_square_meter', symbol='l/m²')],
 'precipitation_intensity': [Unit(name='millimeter_per_hour', symbol='mm/h'),
  Unit(name='liter_per_square_meter_per_hour', symbol='l/m²/h')],
 'pressure': [Unit(name='pascal', symbol='Pa'),
  Unit(name='hectopascal', symbol='hPa'),
  Unit(name='kilopascal', symbol='kPa')],
 'significant_weather': [Unit(name='significant_weather', symbol='sign [0..95]')],
 'speed': [Unit(name='meter_per_second', symbol='m/s'),
  Unit(name='kilometer_per_hour', symbol='km/h'),
  Unit(name='knots', symbol='kn'),
  Unit(name='beaufort', symbol='bft')],
 'temperature': [Unit(name='degree_celsius', symbol='°C'),
  Unit(name='degree_kelvin', symbol='K'),
  Unit(name='degree_fahrenheit', symbol='°F')],
 'time': [Unit(name='second', symbol='s'),
  Unit(name='minute', symbol='min'),
  Unit(name='hour', symbol='h')],
 'turbidity': [Unit(name='nephelometric_turbidity', symbol='NTU')],
 'volume_per_time': [Unit(name='liter_per_second', symbol='l/s'),
  Unit(name='cubic_meter_per_second', symbol='m³/s')],
 'wave_period': [Unit(name='wave_period', symbol='1/s')],
 'wind_scale': [Unit(name='beaufort', symbol='bft')],
 'degree_day': [Unit(name='degree_celsius_day', symbol='°Cd'),
  Unit(name='degree_kelvin_day', symbol='Kd'),
  Unit(name='degree_fahrenheit_day', symbol='°Fd')]}

To set a different unit, you can use the ts_unit_targets setting in the Settings class. The following example shows how to convert the temperature to Fahrenheit:

 1from wetterdienst import Settings
 2from wetterdienst.provider.dwd.observation import DwdObservationRequest
 3
 4settings = Settings(ts_unit_targets={"temperature": "degree_fahrenheit"})
 5request = DwdObservationRequest(
 6    parameters=[("daily", "kl", "temperature_air_mean_2m")],
 7    settings=settings
 8)
 9stations = request.filter_by_station_id(station_id="1048")
10values = stations.values.all()
11df = values.df
12df
shape: (28_103, 7)
station_idresolutiondatasetparameterdatevaluequality
strstrstrstrdatetime[μs, UTC]f64f64
"01048""daily""climate_summary""temperature_air_mean_2m"1934-01-01 00:00:00 UTC32.91.0
"01048""daily""climate_summary""temperature_air_mean_2m"1934-01-02 00:00:00 UTC31.821.0
"01048""daily""climate_summary""temperature_air_mean_2m"1934-01-03 00:00:00 UTC30.741.0
"01048""daily""climate_summary""temperature_air_mean_2m"1934-01-04 00:00:00 UTC29.121.0
"01048""daily""climate_summary""temperature_air_mean_2m"1934-01-05 00:00:00 UTC33.621.0
"01048""daily""climate_summary""temperature_air_mean_2m"2026-07-04 00:00:00 UTC60.621.0
"01048""daily""climate_summary""temperature_air_mean_2m"2026-07-05 00:00:00 UTC64.761.0
"01048""daily""climate_summary""temperature_air_mean_2m"2026-07-06 00:00:00 UTC63.681.0
"01048""daily""climate_summary""temperature_air_mean_2m"2026-07-07 00:00:00 UTC69.261.0
"01048""daily""climate_summary""temperature_air_mean_2m"2026-07-08 00:00:00 UTC64.221.0