fromVariable static method

Hourly? fromVariable(
  1. VariableWithValues v
)

Implementation

static Hourly? fromVariable(VariableWithValues v) => switch (v.variable) {
      Variable.apparent_temperature => Hourly.apparent_temperature,
      Variable.pressure_msl => Hourly.pressure_msl,
      Variable.surface_pressure => Hourly.surface_pressure,
      Variable.cloud_cover => Hourly.cloud_cover,
      Variable.cloud_cover_low => Hourly.cloud_cover_low,
      Variable.cloud_cover_mid => Hourly.cloud_cover_mid,
      Variable.cloud_cover_high => Hourly.cloud_cover_high,
      Variable.shortwave_radiation => Hourly.shortwave_radiation,
      Variable.direct_radiation => Hourly.direct_radiation,
      Variable.direct_normal_irradiance => Hourly.direct_normal_irradiance,
      Variable.diffuse_radiation => Hourly.diffuse_radiation,
      Variable.vapour_pressure_deficit => Hourly.vapour_pressure_deficit,
      Variable.cape => Hourly.cape,
      Variable.evapotranspiration => Hourly.evapotranspiration,
      Variable.et0_fao_evapotranspiration =>
        Hourly.et0_fao_evapotranspiration,
      Variable.precipitation => Hourly.precipitation,
      Variable.snowfall => Hourly.snowfall,
      Variable.precipitation_probability => Hourly.precipitation_probability,
      Variable.rain => Hourly.rain,
      Variable.showers => Hourly.showers,
      Variable.weather_code => Hourly.weather_code,
      Variable.snow_depth => Hourly.snow_depth,
      Variable.freezing_level_height => Hourly.freezing_level_height,
      Variable.visibility => Hourly.visibility,
      Variable.is_day => Hourly.is_day,
      Variable.global_tilted_irradiance => Hourly.global_tilted_irradiance,
      Variable.sunshine_duration => Hourly.sunshine_duration,
      Variable.surface_temperature => Hourly.surface_temperature,
      Variable.wave_height => Hourly.wave_height,
      Variable.wind_wave_height => Hourly.wind_wave_height,
      Variable.swell_wave_height => Hourly.swell_wave_height,
      Variable.wave_direction => Hourly.wave_direction,
      Variable.wind_wave_direction => Hourly.wind_wave_direction,
      Variable.swell_wave_direction => Hourly.swell_wave_direction,
      Variable.wave_period => Hourly.wave_period,
      Variable.wind_wave_period => Hourly.wind_wave_period,
      Variable.swell_wave_period => Hourly.swell_wave_period,
      Variable.wind_wave_peak_period => Hourly.wind_wave_peak_period,
      Variable.swell_wave_peak_period => Hourly.swell_wave_peak_period,
      Variable.ocean_current_velocity => Hourly.ocean_current_velocity,
      Variable.ocean_current_direction => Hourly.ocean_current_direction,
      Variable.pm10 => Hourly.pm10,
      Variable.pm2p5 => Hourly.pm2_5,
      Variable.carbon_monoxide => Hourly.carbon_monoxide,
      Variable.nitrogen_dioxide => Hourly.nitrogen_dioxide,
      Variable.sulphur_dioxide => Hourly.sulphur_dioxide,
      Variable.ozone => Hourly.ozone,
      Variable.ammonia => Hourly.ammonia,
      Variable.aerosol_optical_depth => Hourly.aerosol_optical_depth,
      Variable.dust => Hourly.dust,
      Variable.uv_index => Hourly.uv_index,
      Variable.uv_index_clear_sky => Hourly.uv_index_clear_sky,
      Variable.alder_pollen => Hourly.alder_pollen,
      Variable.birch_pollen => Hourly.birch_pollen,
      Variable.grass_pollen => Hourly.grass_pollen,
      Variable.mugwort_pollen => Hourly.mugwort_pollen,
      Variable.olive_pollen => Hourly.olive_pollen,
      Variable.ragweed_pollen => Hourly.ragweed_pollen,
      Variable.european_aqi => Hourly.european_aqi,
      Variable.european_aqi_pm2p5 => Hourly.european_aqi_pm2_5,
      Variable.european_aqi_pm10 => Hourly.european_aqi_pm10,
      Variable.european_aqi_nitrogen_dioxide =>
        Hourly.european_aqi_nitrogen_dioxide,
      Variable.european_aqi_ozone => Hourly.european_aqi_ozone,
      Variable.european_aqi_sulphur_dioxide =>
        Hourly.european_aqi_sulphur_dioxide,
      Variable.us_aqi => Hourly.us_aqi,
      Variable.us_aqi_pm2p5 => Hourly.us_aqi_pm2_5,
      Variable.us_aqi_pm10 => Hourly.us_aqi_pm10,
      Variable.us_aqi_nitrogen_dioxide => Hourly.us_aqi_nitrogen_dioxide,
      Variable.us_aqi_ozone => Hourly.us_aqi_ozone,
      Variable.us_aqi_sulphur_dioxide => Hourly.us_aqi_sulphur_dioxide,
      Variable.us_aqi_carbon_monoxide => Hourly.us_aqi_carbon_monoxide,
      Variable.temperature => switch (v.altitude) {
          2 => Hourly.temperature_2m,
          _ => null,
        },
      Variable.relative_humidity => Hourly.relative_humidity_2m,
      Variable.dew_point => Hourly.dew_point_2m,
      Variable.wind_gusts => Hourly.wind_gusts_10m,
      Variable.wind_speed => switch (v.altitude) {
          10 => Hourly.wind_speed_10m,
          80 => Hourly.wind_speed_80m,
          100 => Hourly.wind_speed_100m,
          120 => Hourly.wind_speed_120m,
          180 => Hourly.wind_speed_180m,
          _ => null,
        },
      Variable.wind_direction => switch (v.altitude) {
          10 => Hourly.wind_direction_10m,
          80 => Hourly.wind_direction_80m,
          100 => Hourly.wind_direction_100m,
          120 => Hourly.wind_direction_120m,
          180 => Hourly.wind_direction_180m,
          _ => null,
        },
      Variable.soil_temperature => switch (((v.depth), (v.depthTo))) {
          (0, 0) => Hourly.soil_temperature_0cm,
          (6, 6) => Hourly.soil_temperature_6cm,
          (18, 18) => Hourly.soil_temperature_18cm,
          (54, 54) => Hourly.soil_temperature_54cm,
          (0, 7) => Hourly.soil_temperature_0_to_7cm,
          (7, 28) => Hourly.soil_temperature_7_to_28cm,
          (28, 100) => Hourly.soil_temperature_28_to_100cm,
          (100, 255) => Hourly.soil_temperature_100_to_255cm,
          (0, 10) => Hourly.soil_temperature_0_to_10cm,
          (10, 40) => Hourly.soil_temperature_10_to_40cm,
          (40, 100) => Hourly.soil_temperature_40_to_100cm,
          (100, 200) => Hourly.soil_temperature_100_to_200cm,
          _ => null,
        },
      Variable.soil_moisture => switch (((v.depth), (v.depthTo))) {
          (0, 1) => Hourly.soil_moisture_0_to_1cm,
          (1, 3) => Hourly.soil_moisture_1_to_3cm,
          (3, 9) => Hourly.soil_moisture_3_to_9cm,
          (9, 27) => Hourly.soil_moisture_9_to_27cm,
          (27, 81) => Hourly.soil_moisture_27_to_81cm,
          (0, 7) => Hourly.soil_moisture_0_to_7cm,
          (7, 28) => Hourly.soil_moisture_7_to_28cm,
          (28, 100) => Hourly.soil_moisture_28_to_100cm,
          (100, 255) => Hourly.soil_moisture_100_to_255cm,
          (0, 10) => Hourly.soil_moisture_0_to_10cm,
          (10, 40) => Hourly.soil_moisture_10_to_40cm,
          (40, 100) => Hourly.soil_moisture_40_to_100cm,
          (100, 200) => Hourly.soil_moisture_100_to_200cm,
          _ => null,
        },
      _ => null,
    };